【工业串口和网络软件通讯平台(SuperIO)教程】八.SuperIO通讯机制与设备驱动对接的说明

SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf

1.1    通讯机制说明

通讯的总体机制采用呼叫应答方式,就是上位机软件主动发送请求数据命令,下位机终端接收到命令后,并校验成功,返回相应的数据。

(1)串口通讯机制包括:轮询模式。

串口总线涉及到一对一的通讯、一对多的通讯,为了避免总线上数据的冲突问题以及环境干扰的问题,在保障通讯稳定性的前提下,只采用轮询通讯机制。一个设备发送、接收完成数据后,才进行下一个设备的通讯。但是这种通讯效率比较低,如果要提高通讯效率,可以增加串口服务器,在SuperIO平台上实现一个串口对应多台现场设备进行通讯,也就是把现场的所有设备平衡负载到不同的串口上。

(2)网络通讯机制包括:轮询模式、并发模式和自控模式。

       轮询模式与串口通讯机制中的轮询模式相同,但是对于网络通讯时,这个操作模式的效率是非常低,不能体现网络通讯的优势。基于这样的考虑,在轮询模式的基础上,增加了并发模式和自控模式。

并发模式,由SuperIO的内部来协调实现,通过调用IRunDevice设备接口的GetSendBytes函数获得发送的命令包,集中发送所有设备的数据。接收数据部分采用异步监听方式,接收相应设备的数据。并发模式的通讯周期由SuperIO平台统一进行调度,不能自主控制请求数据的周期,在此基础上增加了自控模式。

自控模式,二次开发者在开发设备驱动时,可以定时通过OnSendDataHandler发送请求数据命令,接收数据部分采用异步监听方式,接收相应设备的数据,做到即时请求即时响应。

另外一种情况,现场硬件终端会主动发送状态字数据给上位机软件,这时候就需要能够主动监听接收数据事件,这是轮询模式做不到的。遇到这类情况,建议使用自控模式进行通讯。

1.2    通讯机制与设备驱动对接

SuperIO包括两大部分:通讯部分和设备驱动部分。

(1)    通讯部分如何与设备驱动协调工作?两部分主要是通过IRunDevice接口实现两部分之间的协调工作,线程、异步、同步等机制由SuperIO内部来完成。

(2)    通讯部分接收到数据后如何传输到相应的设备上?轮询模式不存在这个问题,主要涉及到并发模式和自控模式,因为这两部分采用的是异步监听数据的方式。解决这个问题有两种方式:第一种、通过接收协议驱动获得设备ID来识别相应的设备。第二种、通过设备设置的IP地址来识别相应的设备。现在的SuperIO平台采用的是第二种方式。

(3)    并发模式和自控模式如何实现通讯中断状态?在链路不通的情况下,发送请求命令,没有返回相应的数据,也不过触发运行设备的接口,所以通讯状态也不会改变,也不会做出任何反应。解决这个问题的方式是,发送请求数据命令超过3次,每次都没有返回相应的数据,就会触发运行设备接口,来完成运行设备的整个流程。

作者QQ:504547114

交流QQ群:54256083

官方网址:http://www.bmpj.net

源文章地址:http://www.bmpj.net/index.php?m=article&f=view&id=8

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-23 21:03:55

【工业串口和网络软件通讯平台(SuperIO)教程】八.SuperIO通讯机制与设备驱动对接的说明的相关文章

【工业串口和网络软件通讯平台(SuperIO)教程】六.二次开发导出数据驱动

SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1    导出数据接口的作用 在数据集成系统项目中,要么是自已集成其他厂家的设备,要么是其他厂家集成自己家的设备,在没有统一的标准前提下,就会有各种集成数据的格式.为了满足此类的场景,为设备输出数据专门设计了接口,开发者可以继承该接口,设备在处理完数据后,会把数据自动传输到该接口,可以按规定的数据格式进行输出了. 1.2    接口功能说明 开发设备输出接口,主要考虑到在集成项目中,集成过程中或被集成

【工业串口和网络软件通讯平台(SuperIO)教程】七.二次开发服务驱动

SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1    服务接口的作用 围绕着设备驱动模块采集的数据,根据需求提供多种应用服务,例如:数据上传服务.数据请求服务.4-20mA服务.短信服务.LED服务以及OPC服务等.保障数据实时性.稳定性的前提下,服务接口可以提供丰富的功能服务机制,方便开发者进行二次开发. 1.2    接口功能说明 开发设备输出接口,主要考虑到在集成项目中,集成过程中或被集成过程的各种数据格式的输出.需要继承SuperIO.

【工业串口和网络软件通讯平台(SuperIO)教程】二.架构和组成部分

1.1    架构结构图 1.1.1    层次示意图 1.1.2    模型对象示意图 1.2    IO管理器 IO管理器是对串口和网络通讯链路的管理.调度.针对串口和网络通讯链路的特点.在IO管理器接口的基础上派生出串口管理和网络管理. 1.2.1    串口管理 串口管理对创建串口IO实例.串口IO的打开.串口IO的关闭以及释放资源作出及时响应.以及IO操作实例的管理. 1.2.2    网络管理 当设备採用网络通讯模式的时候.设备的工作模式分为:Tcp Server和TcpClient

工业串口和网络软件通讯平台-快速构建自己的平台和开发设备

工业串口和网络软件通讯平台 _x86_x64:下载平台软件.开发包.开发手册.开发事例 公司网址:http://www.bmpj.net 下载地址(软件平台架构.开发组件.开发包.辅助工具): http://pan.baidu.com/s/1gdhDDUr 软件特点 1)能够很快的构建自己的通讯平台软件,包括主程序. 2)设备模块化开发,通过配制文件挂载,即可在平台软件下运行. 3)设备模块同时支持串口通讯方式和网络通讯方式,通讯方式自由切换. 4)设备协议无关性,可以把第三方协议转换成自定义的

【工业串口和网络软件通讯平台(SuperIO)教程】九.重写通讯接口函数,实现特殊通讯方式

SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1    统一的IO接口 开发一套设备驱动同时具备串口和网络通讯能力,通讯接口在逻辑上是统一的,在此基础上串口和网络也有自己的IO通讯特点,根据不同的通讯方式,可以把IIOChannel实例转换成ISessionSocket或ISessionCom实例.如下图: 1.2     通讯要求 一个请求命令分两次发送,每次发送数据时的串口校验位不同.先发送地址信息,这时串口的配置为Baud,m,8,1:再发

【发布】工业串口和网络软件通讯平台(SuperIO v2.2.4)

SuperIO 下载:本站下载 百度网盘 更新说明: 1.修复无法把数据输出给IAppService的问题,以及无法触发删除操作事件. 2.侦听端口,可以设置. 3.设备接口,增加Object属性,方便平台使用. 4.中断时间改为轮询模式中断时间. 转载地址:http://www.bmpj.net/article-1-1.html 一.SuperIO 的特点: 1)支持二次开发,快速构建自己的通讯数据采集平台软件 2)快速构建设备驱动.协议驱动.命令缓冲.自定义参数和实时数据 3)快速二次开发图

工业串口和网络软件通讯平台(SuperIO 2.0)发布

下载:SuperIO 2.0(开发手册.Demo.组件包) 官网:进入 交流群:54256083 SuperIO 2.0版本正式发布.把SCL正式更改名称为SuperIO. 一.此次升级主要包括两个方面: 构架的软件界面更友好. 修改核心代码,包括:设备管理器.IO管理器和控制器.设备调度管理器等重构. 二.SuperIO 2.0版本升级内容包括: 代码的整体架构更清晰.合理: 运行效率和性能方面有了很大提升: 更方便的用C#进行二次开发: TCP通讯方式的时间,增加了并发模式,同时支持并发和轮

工业串口和网络软件通讯平台(SuperIO 2.1)更新发布

SuperIO2.1下载 一.SuperIO 的特点: 1)    能够很快的构建自己的通讯平台软件,包括主程序. 2)   设备模块化开发,通过配制文件挂载,即可在平台软件下运行. 3)   设备模块同时支持COM和TCP两种通讯方式,可以自由切换. 4)   设备协议无关性,可以把第三方协议转换成自定义的协议方式. 5)   设备命令缓冲器,可以设置命令发送的优先级别. 6)   接口自定义输出数据格式,供自己或其他厂家进行数据集成. 7)   接口自定义UI展示,以表格.动态图形化显示数据

《ServerSuperIO Designer IDE使用教程》- 5.树形结构管理设备驱动,小版本更新。发布:v4.2.3.1版本

v4.2.3.1 更新内容:1.选择和管理设备驱动,增加树状结构显示.2.优化ide代码,核心代码没有改动.下载地址:官方下载 5. 树形结构管理设备驱动,小版本更新 5.1    概述 此次升级主要是对增加设备驱动的树形结构显示,方便按类选择设备驱动.涉及到增加设备驱动和管理设备驱动两个功能.此次是小版本更新,不影响以前版本的使用. 5.2    树形结构管理设备驱动 增加设备驱动功能,按树形结构选择.现阶段主要驱动包括:Modbus Serial.Modbus Tcp.SuperLink(网