自定义脚本撰写包含以下几类函数:
❖setEnviron(functionContainer):传递主程序的回调函数供使用,之后通过functionContainer.function()来调用相应的函数,我们已经提供了默认实现,将functionContainer赋值给全局变量functions,之后的函数调用可以通过functions来使用。
❖initRule():初始化函数,可在其中进行初始化工作。
❖finiRule():清理函数。
❖如果插件需要操作事件,可以在initRule和finiRule里注册和注销事件(注册和注销事件参见可调用的函数),并提供事件回调:
def onEvent(event, szAreeas)
参数说明:
⟡szAreas:事件的报警区
⟡event:传进来的事件对象,它是一个字典类型,包括下列属性:
"almID":ID
"eventLoginName":登陆名
"appName":产生事件的应用名称
"tag":对应的tag名称
"tagDescription":tag秒数
"msg":事件消息内容
"className":类名
"subSystemName":子系统名
"sec":时间戳秒数
"usec":时间戳微秒数
❖如果插件需要操作报警,可以在initRule和finiRule里注册和注销报警(注册和注销报警参见可调用的函数),并提供报警回调:
def onAlarm(alarm, szAreas)
参数说明:
⟡szAreas:事件的报警区
⟡alarm:传进来的报警对象,它是一个字典类型,包括下列属性:
"almID":ID
"valueType":数据值类型
"valueSize":数据值长度
"value":数据值
"nodeName":报警节点名
"tagName":报警变量名
"tagDesc":报警变量描述
"confirmPerson":确认人
"egu":egu类型
"className":类名
"subSystemName":子系统名
"category":报警目录
"type":报警类型
"priority":报警优先级
"status":报警状态
"occurSec":报警产生时间戳秒数
"occurUsec":报警产生时间戳微秒数
"confirmSec":报警确认时间戳秒数
"confirmUsec":报警确认时间戳微秒数
"recoverSec":报警恢复时间戳秒数
"recoverUsec":报警恢复时间戳微秒数
"repetition":报警重复次数
❖如果插件需要操作定时器,可以在initRule里注册定时器(注册定时器参见可调用的函数),并提供定时回调,这种情况往往用在数据转储中:
def onTimer(sec, usec, id)
参数说明:
⟡sec:时间戳秒数
⟡usec:时间戳微秒数
⟡id:定时器号,注册定时器时传入,方便用户区分不同的定时器。
getTimeRepr(sec, usec):传入秒数和微秒数,返回对应的字符串描述。
❖regEvent(strAreasFilters):注册事件,参数为报警区过滤条件,返回句柄
❖unRegEvent(hProvider):取消事件注册,参数为注册时得到的句柄
❖regAlarm(strAreasFilter):注册报警,参数为报警区过滤条件,返回句柄
❖unRegAlarm(hProvider)):取消报警注册,参数为注册时得到的句柄
❖execSql(name, sql):执行sql语句,参数为数据存储目标(与sqltransfer配置文件中相对应)和sql语句
❖createTable(name, sql)):建表语句,参数为数据存储目标(与sqltransfer配置文件中相对应)和sql语句
❖regTimer(act, long nInterval, long nOffset, int bIsOffsetOfNow ):注册定时器,参数为定时器号(用户确定,来区分注册的不同定时器)、周期、相位、是否是当前偏差
❖regGroup():注册rda的group,返回group句柄
❖addTag2Group(hProvider, strTagName, strFieldName):往group里加数据块,参数为group句柄,变量名称,属性名称,返回对应的句柄
❖addTag2GroupEx(hProvider, strFieldName):往group里加数据块,参数为group句柄,变量全名,返回对应的句柄
❖unRegGroup(hProvider):注销group,参数为group句柄
❖readGroup(hProvider)):读取group,参数为group句柄
❖readValueByHandle(hProvider, hTag):读取数据值,参数为group句柄和tag句柄,返回一个字典,其中"ret"属性为返回码,"value"为数据值的字符串表示。
❖readValueByName(tagField):读取数据值,参数为变量全称,返回一个字典,其中"ret"属性为返回码,"value"为数据值的字符串表示。
❖readVTQByHandle(hProvider, hTag):读取数据详细值,参数为group句柄和tag句柄,返回一个字典,其中"ret"属性为返回码,"value"为数据值的字符串表示,"quaity"表示数据质量,"timeSec"是时间戳的秒数,"timeUsec"是时间戳的微秒数。
❖getRMStatus():获取冗余状态。