资源预览内容
第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
亲,该文档总共5页全部预览完了,如果喜欢就下载吧!
资源描述
1实时数据库与驱动程序开发接口V1.0 2006/12/29 发布1 引言根据整个组态的结构描述,在驱动程序与实时数据库之间交换的内容包括采集的实时数据及由实时数据库向驱动发送的控制命令串,驱动程序要求实时数据库或其他驱动支持的功能。2 实现方式具体的实现方式是能过共享内存的方式进行数据传送。系统驱动所使用的共享内存全部编号使用,编号从 0 开始顺序递增,不同的驱动使用不同的共享内存编号,一般一个驱动使用一个共享内存,特殊情况下一个驱动可以使用一个以上的共享内存号。系统提供若干函数对共享内存的创建及使用进行支持。并且提供完整的温巡驱动程序,使用纯 C 语言编写。二次开发人员可以阅读,参照完成其他驱动的编写工作。另外对每一个驱动的开发需要在 drive 目录下建立一个单独的文件存储驱动的应用程序与设置文件.以 omron 为例,需在 drive 下建立 omron 目录.对每一个驱动程序写一个 readme.txt 文件和一个 config.txt 文件来描述开发的目的及驱动的用法及驱动程序的参数设置. 系统占用的共享享内存编号有如下几个, 其他程序请不要占用.100 声音驱动使用102 短信程序使用103 电话语音报警使用80 web 驱动使用3 驱动程序编写说明共享内存的分配命令标志命令接收区数据区上传结构变量个数上传结构变量内容下传结构变量个数下传结构变量内容23.1 数据区驱动程序采集的量一般分为两种形式一种是实时数据量如遥信,遥测与遥脉等.另一种类型是结构量,如 SOE, 保护动作记录等。实时数据量采用 0 - 1999 进行编号, 驱动程序开发人员可自行安排其中的某一段为遥信,遥测或遥脉, 例如 0 - 100 为遥信, 101-200 为遥脉, 201 - 300 为遥测.对于遥信多的,将更多的编号分配给遥信,对于遥测多的将更多的编号分配给遥测。采集上来的量在组态的参数配置中按驱动编写的情况进行配置.3.2 上传结构变量结构型变量采用如下方法进行传送,系统提供若干个结构串位置,当将指定形式的若干个结构串放入结构串中时,同时将串个数告诉实时数据库。则实时数据库程序读入所有的串,并根据指定的格式进行存盘操作或命令操作。结构串的格式一般为一个特征码附加若干有效字串参数。3.3 命令区驱动程序从实时数据库中接收的内容一般是命令串,命令串中包括命令特征码及命令附带的数据,当收到退出命令时驱动程序应自动安全地退出. 退出命令是命令字符串 EXIT。3.4 下行结构变量下传结构变量一般是由实时数据库传送到驱动程序的下行结构变量。接收下行结构变量的程序一般有声音报警,电话报警,及调度程序等。4 类接口说明4.1 支持函数文件列表1)ramdrive.h2)ramdrive.c4.2 使用步骤1)使用方法 bool CreateRam( int ramid );完成共享内存的建立,参数为数据共享区的编号.2)设置实时数据void SetValue( int id, int iValue )id 编号 iValue 实时值33)设置结构串void SetStruct( int iNum , char * chStruct )iNum 串内容编号 chStruct 串内容4)设置结构串个数, 当实时数据库读完之后会置 0void SetStructNum( int iStructNum )iStructNum 结构串个数4.3 实时数据库接收的命令命令组成: 一般是一个标识开头,跟随着是一些参数Synax0 = CONC 站号 开出号Descr0 = 发出一个控制命令Synax1 = COND站号 命令编号 数字串Descr1 = 发出一个带数字的控制命令Synax2 = CONS 站号 命令编号 使用字符串代替参数设置内的内容下发Descr2 = 发送指定的字符串下去 字符串中可能有空格Synax3 = CONVALUE 站号 命令编号 数字串Descr3 = 用于定值更改,会保存原始定值. 有默认取默认值,无则根据关联取出默认值, 如都没有则空出等输入Synax4 = ASSIGNSYS 编号 值 saveDescr4 = 给系统总线上的某一个量赋值Synax5 = SQL SQL 语句Descr5 = 执行一个可执行的 sql 语句Synax6 = SOE yyyy mm dd hh mm ss ms ramid istateDescr6 = 执行一个 SOE 语句 年 月 日 时 分 秒 微秒 遥信在共享内存内的编号 动作后的状态值Synax7 = BPACT netaddr gztype yyyy mm dd hh mm ss ms data1 data2 data3 data4 data5 data6 Descr7 = 保护动作语句 网络地址 故障类型 年 月 日 时 分 秒 微秒 故障数据 1 故障数据 2 故障数据 3 故障数据 4 故障数据 5 故障数据 6Synax8 = CMDTORUN CMDSTRDescr8 = 给上位机的命令 CMDSTR 为命令脚本4例如:CMDSTR 为 DisplayMsg Hello ! 则在上位界面程序的状态栏显示 Hello !例如:OPENDLG 为在上位机弹出指定的对话框Synax9 = DDL ymramid timetype dataj dataf datap datag datasDescr9 = 传送电度表量的语句 电度表量编号 时间种类 尖 峰 平 谷 总对于时间类型 0 本月 1 上月 2 上上月Synax10 = REMOTE remotetype ctlno ctltypeDescr10 = 调度上送命令REMOTE 远程命令标志 固定使用remotetype 远程命令类型 0 远方遥控 1 升降命令ctlno 遥控号/对象号ctltype 开关/升降错 开关的代码分别为 0 1 升降错 的代码分别为 0 1 2 例如:REMOTE 0 1 1 意义为遥控号为 1 控制内容为关Synax11 = EVENT netaddr eventtype evnetcode yyyy mm dd hh mm ss ms ParmDescr11 = 设备事件消息命令EVENT 事件关键字netaddr 设备网络地址 相关设置表格:保护单元描述 保护单元地址eventtype 事件类型代码 相关设置表格:事件类型evnetcode 事件代码 相关设置表格:事件代码yyyy mm dd hh mm ss ms 事件时间Parm 事件参数 中间可以有空格多余一个空格会缩为一个空格例如:EVENT 0 1 1 2007 3 27 08 30 33 132 parm0 parm1分析流程:根据设备网络地址 设备类型 (通过保护单元地址设置)根据设备类型,事件类型,事件代码 代码意义 (通过事件代码表格)Synax12 = DZ filenameDescr12 = 保护定值传送命令定值接口文件放在组态的 temp 子目录下。通常为 c:ctconfigtemp或/usr/local/ctconfig/temp 目录。向实时库传送时,只需要放入文件名即可不要带路径接口文件定义如下:使用纯文本文件。addr 1 /保护地址5zoneno 0 /保护定值区号 0-3 对于压板类型固定设为 -1,以此标记设定为压板 data 0 1 10.1 /定值序号为 0 性质 1 为投入 值为 10.1data 1 1 11.2 /定值序号为 1 性质 1 为投入 值为 11.2data 2 1 12.3 /定值序号为 2 性质 1 为投入 值为 12.3data 3 1 13.4 /定值序号为 3 性质 1 为投入 值为 13.4查看指定的保护定值使用 exec 命令。exec browsedz.exeSynax13 = displayalarmDescr13 = 驱动要求界面强制显示指定的报警信息displayalarm iStationid, iDataKind, iid berror date time stationdescr alarmdescr alarmkind tellother devicename displayalarm 关键字iStationid, iDataKind, iid 点编号berror 0 故障标志 黄色闪烁 1 事故标志 红色闪烁date time 日期 时间stationdescr 站点描述alarmdescr 报警内容描述alarmkind 报警类型tellother 是否在网络上传输devicename 采集设备描述, 表示从哪个设备上过来的报警4.4 下行信息语法此语法供调度类型的驱动程序接收CDTSOE yyyy mm dd hh mm ss ms stationid yxid state SOE 语句 年 月 日 时 分 秒 毫秒 遥信站号 遥信编号 动作后状态CDTBPACT netaddr gztype yyyy mm dd hh mm ss ms 保护动作语句 网络地址 故障类型 年 月 日 时 分 秒 毫秒CDTEVENT eventtype evnetcode yyyy mm dd hh mm ss ms 事件动作语句 网络地址 事件类型 事件代码 年 月 日 时 分 秒 毫秒
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号