SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf
1.1 统一的IO接口
开发一套设备驱动同时具备串口和网络通讯能力,通讯接口在逻辑上是统一的,在此基础上串口和网络也有自己的IO通讯特点,根据不同的通讯方式,可以把IIOChannel实例转换成ISessionSocket或ISessionCom实例。如下图:
1.2 通讯要求
一个请求命令分两次发送,每次发送数据时的串口校验位不同。先发送地址信息,这时串口的配置为Baud,m,8,1;再发送请求命令信息,这时的串口配置为Baud,s,8,1。这样完成一次请求数据的命令。如下图:
1.3 重写通讯接口
设备驱动继承SuperIO.Device.RunDevice1抽象类,里边有一个虚函数Send(IIOChannel io, byte[] sendbytes),io参数为通讯操作实例,sendbytes参数为要发送的数据信息,可以重写这个接口函数,完成特殊的发送数据要求。如下图:
接收完数据,需要把串口设置修改成默认的配置,避免影响其他设备驱动的通讯,如下图:
作者QQ:504547114
交流QQ群:54256083
官方网址:http://www.bmpj.net
- 1楼张文的博客
- 可否适用Modbus协议 或有示例可参考。
- Re: 唯笑志在
- @张文的博客,引用可否适用Modbus协议 或有示例可参考。,,Modbus本身也是byte数据包,可以把Modbus协议转换成中间的协议驱动,进行通讯,没有问题,Modbus tcp也是适用的。