- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实时数据库和驱动程序开发接口-解析
实时数据库与驱动程序开发接口
V1.0 2006/12/29发布
引言
根据整个组态的结构描述,在驱动程序与实时数据库之间交换的内容包括采集的实时数据及由实时数据库向驱动发送的控制命令串,驱动程序要求实时数据库或其他驱动支持的功能。
实现方式
具体的实现方式是能过共享内存的方式进行数据传送。系统驱动所使用的共享内存全部编号使用,编号从0开始顺序递增,不同的驱动使用不同的共享内存编号,一般一个驱动使用一个共享内存,特殊情况下一个驱动可以使用一个以上的共享内存号。系统提供若干函数对共享内存的创建及使用进行支持。并且提供完整的温巡驱动程序,使用纯C语言编写。二次开发人员可以阅读,参照完成其他驱动的编写工作。另外对每一个驱动的开发需要在drive目录下建立一个单独的文件存储驱动的应用程序与设置文件.以omron为例,需在drive下建立omron目录.对每一个驱动程序写一个readme.txt文件和一个config.txt文件来描述开发的目的及驱动的用法及驱动程序的参数设置.
系统占用的共享享内存编号有如下几个, 其他程序请不要占用.
100 声音驱动使用
102 短信程序使用
103 电话语音报警使用
web驱动使用
驱动程序编写说明
共享内存的分配
命令标志
命令接收区
数据区
上传结构变量个数
上传结构变量内容
下传结构变量个数
下传结构变量内容
数据区
驱动程序采集的量一般分为两种形式一种是实时数据量如遥信,遥测与遥脉等.
另一种类型是结构量,如SOE, 保护动作记录等。
实时数据量采用 0 - 1999进行编号, 驱动程序开发人员可自行安排其中的某一段为遥信,遥测或遥脉, 例如 0 - 100 为遥信, 101-200 为遥脉, 201 - 300 为遥测.对于遥信多的,将更多的编号分配给遥信,对于遥测多的将更多的编号分配给遥测。采集上来的量在组态的参数配置中按驱动编写的情况进行配置.
上传结构变量
结构型变量采用如下方法进行传送,系统提供若干个结构串位置,当将指定形式的若干个结构串放入结构串中时,同时将串个数告诉实时数据库。则实时数据库程序读入所有的串,并根据指定的格式进行存盘操作或命令操作。结构串的格式一般为一个特征码附加若干有效字串参数。
命令区
驱动程序从实时数据库中接收的内容一般是命令串,命令串中包括命令特征码及命令附带的数据,当收到退出命令时驱动程序应自动安全地退出. 退出命令是命令字符串 EXIT。
下行结构变量
下传结构变量一般是由实时数据库传送到驱动程序的下行结构变量。接收下行结构变量的程序一般有声音报警,电话报警,及调度程序等。
类接口说明
支持函数文件列表
1)ramdrive.h
2)ramdrive.c
使用步骤
1)使用方法bool CreateRam( int ramid );
完成共享内存的建立,参数为数据共享区的编号.
2)设置实时数据
void SetValue( int id, int iValue )
id 编号 iValue 实时值
3)设置结构串
void SetStruct( int iNum , char * chStruct )
iNum 串内容编号 chStruct 串内容
4)设置结构串个数, 当实时数据库读完之后会置0
void SetStructNum( int iStructNum )
iStructNum 结构串个数
实时数据库接收的命令
命令组成: 一般是一个标识开头,跟随着是一些参数
Synax0 = CONC 站号 开出号
Descr0 = 发出一个控制命令
Synax1 = COND 站号 命令编号 数字串
Descr1 = 发出一个带数字的控制命令
Synax2 = CONS 站号 命令编号 使用字符串代替参数设置内的内容下发
Descr2 = 发送指定的字符串下去 字符串中可能有空格
Synax3 = CONVALUE 站号 命令编号 数字串
Descr3 = 用于定值更改,会保存原始定值. 有默认取默认值,无则根据关联取出默认值, 如都没有则空出等输入
Synax4 = ASSIGNSYS 编号 值 save
Descr4 = 给系统总线上的某一个量赋值
Synax5 = SQL SQL语句
Descr5 = 执行一个可执行的sql语句
Synax6 = SOE yyyy mm dd hh mm ss ms ramid istate
Descr6 = 执行一个SOE语句 年 月 日 时 分 秒 微秒 遥信在共享内存内的编号 动作后的状态值
Synax7 = BPACT netaddr gztype yyyy mm dd hh mm ss ms data1 data2
您可能关注的文档
- 基于MATLAB数据结构和算法_线性表部分.ppt
- 基于JOSSOWEB单点登录设计和实现.pdf
- 基于LNS LonWorks 网络管理工具设计和实现.pdf
- 基于Lasso和支持向量机粮食价格预测_喻胜华.pdf
- 基于OVAL新型漏洞评估系统.pdf
- 基于MIDPHTTP协议编程与其应用.pdf
- 基于PHP网页聊天室设计和实现.doc
- 基于OCAR挖掘数据库异常检测模型.pdf
- 基于MVC模式Struts框架研究和应用.pdf
- 基于RFID GIS物联网肉品跟踪与追溯系统设计和实现.pdf
- 第18讲 第17课 西晋的短暂统一和北方各族的内迁.docx
- 第15讲 第14课 沟通中外文明的“丝绸之路”.docx
- 第13课时 中东 欧洲西部.doc
- 第17讲 第16 课三国鼎立.docx
- 第17讲 第16课 三国鼎立 带解析.docx
- 2024_2025年新教材高中历史课时检测9近代西方的法律与教化含解析新人教版选择性必修1.doc
- 2024_2025学年高二数学下学期期末备考试卷文含解析.docx
- 山西版2024高考政治一轮复习第二单元生产劳动与经营第5课时企业与劳动者教案.docx
- 第16讲 第15课 两汉的科技和文化 带解析.docx
- 第13课 宋元时期的科技与中外交通.docx
文档评论(0)