- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EcNet实时数据库设备驱动接口协议规范.doc
EcNet实时数据库设备驱动接口协议规范
版 本:1.01 (2007-5-9正式版,版本值0x101)
作 者:蒋勇
版本说明:1.01在1.0的基础上增加了带时标的回调函数,兼容1.0标准
一 总体设计
工控软件的设备驱动软件必须要简单可靠,接口统一,有足够的灵活性供驱动程序自由发挥。
本版是在以前版本的基础上,总结以前版本的经验和不足而设计的。
1、参考COM模式,但不采用COM实现,目的是便于开发驱动,降低开发难度,不需要COM库支持。
2、驱动采用正规DLL模式实现,类厂(借COM的术语)和驱动对象在同一个DLL中实现。
3、通过接口函数来创建驱动实例,驱动实例为结构指针,由驱动接口函数负责分配内存。因此支持一个驱动程序运行多个实例。比如可以用opcdrv.dll驱动在实时库中建立多个opc设备,opc1,opc2,opc2等。
4、驱动配置为动态大小,大小和格式由驱动程序自己确定。
5、数据的转换和驱动彻底分离,不管驱动的事,由实时库完成。
6、实时库和驱动各自分配的内存各自释放,减少程序可能出错的因素。
设备驱动程序采用正规DLL方式编写,使用时动态加载这些DLL驱动程序,对每个设备DLL驱动采用统一规范的接口函数,驱动程序通过对这些标准的接口函数提供功能实现代码,从而实现驱动程序的特定功能。
二 数据结构
2.1设备实例句柄TAG_ECDHANDEL
typedef struct tagECDHandle {
void *pDriverObj;
DWORD dwDriverType;
void *pParam;
DWORD dwRes;
char szDriverName[32];
DWORD dwRes1;
DWORD dwRes2;
DWORD dwRes3;
DWORD dwRes4;
DWORD dwRes5;
DWORD dwRes6;
DWORD dwRes7;
DWORD dwRes8;
}TAG_ECDHANDEL, *ECDHANDLE;
void *pDriverObj
用于保存该设备驱动实例相关的类实例对象指针,当不采用面向对象的开发时,可以填写一个能区别本驱动所创建实例的唯一的整数。这个指针由驱动程序的类厂创建。
DWORD dwDriverType
驱动程序提供数据访问服务的方式:
0:轮询方试
1:回调方试(目前仅支持回调方式 )
由驱动程序填写。
void *pParam
宿主程序(指实时库程序)存放的参数,由宿主填写,驱动程序不要修改。
DWORD dwRes
保留,必须填0
char szDriverName[32]
设备实例名称,即为这是属性中的数据源名称,由宿主填写,驱动程序不要修改。
DWORD dwRes1 ~ dwRes8
保留,必须填0
2.2驱动程序信息结构ECDINFO
typedef struct tagECDINFO { // 驱动程序信息结构 szie= 512
unsigned long dwEcdVer; //ECD规范版本,用16进值表示,1.0表示为0X0100
//用于以后ECD规范升级
char szVersion[28]; // 版本号比如 V1.0.0 Buil char szCategory[96]; // 设备驱动分类,以“.”符号作为分类符,比如
// “PLC.欧姆龙.串行”表示了如下 的设备驱动分支:
// +PLC
// +欧姆龙
// +串行
char szProducer[32]; // 设备生产厂家,比如“欧姆龙”
char szDriverName[32]; // 设备驱动名称,比如“OMRON”
char szCommDesc[32]; // 通讯描述,比如“TCP”
char szDriverFileName[32]; // 驱动文件名,将用于内部驱动识别,必须设置,并且唯一
char szNote[256]; // 说明
}ECDINFO, *LPECDINFO;
由驱动程序填写,定长512字节。指类厂的信息,不是具体实例的信息。
2.3驱动实例中数据项值结构ECDITEMVAL
typedef struct tagECDItemVal { // 驱动实例中数据项值结构 size=8bytes
union {
char cVal;
unsigned char
您可能关注的文档
- AE快捷键全集.doc.doc
- AIC-2412通用型无线数传模块.doc
- AMR文件格式总结.doc
- AS331D用户手册.doc
- ASHRAE189&90.1在LEED认证体系之应用.ppt
- AT&T购并T-MobileUSA电信业者高度控制产业链.ppt
- AT_RFMOD06xxxx射频基站模块开发使用说明.doc
- B点的三种形态图例.doc
- CableModem缆线数据机介绍.doc
- CAMREC软件简介.doc
- 森林群落发育及演替.ppt
- 2025届江苏省苏州市工业园区中考一模数学卷(含解析).pdf
- 高中历史选择题考试技术(四)考试技巧之逻辑判断 用“全面”的观点 高考历史做题方法指导.pptx
- 10,2酸和碱的中和反应课件--九年级化学人教版下册.pptx
- 2025届江苏省泰州市兴化市中考一模数学试卷(附解析).docx
- 2025届江苏省扬州市中考一模数学试卷.docx
- 2025届江苏省泰州市靖江市中考一模数学试卷(附解析).docx
- 9.3 力与运动的关系 -八年级物理下册课件(苏科版).pptx
- 2025届江苏省中考数学一模试卷(附解析).docx
- 2025年江苏省常熟市中考第一次适应性考试数学试卷(附解析).docx
最近下载
- 丧葬礼仪《丧帖诸称呼总目列论.docx
- 中南标准11ZJ901室外装修及配件.pdf
- 湖南省“一起考”大联考2024-2025学年高三下学期第一次模拟考试 物理试卷(含解析).docx VIP
- 药师考试《历年真题》测试试卷(附答案).pdf VIP
- pH值分析原始记录表.doc
- 主题班会:上课睡觉的危害.ppt VIP
- 2023年四川省南充市中考数学真题含参考答案及评分标准.pdf
- DB34_T5069-2017:屈曲约束支撑结构技术规程.pdf VIP
- 赣州市章贡区传统武术的发展现状调查与分析.docx VIP
- 2025年落实“大学习、 大培训、 大考试”培训题库(含答案) .pdf VIP
文档评论(0)