2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 工控软件——驱动框架

工控软件——驱动框架

时间:2022-11-20 06:27:49

相关推荐

工控软件——驱动框架

驱动框架

常规工控软件中,驱动为最底层的逻辑,与硬件直接进行通信。各家设计不同,我只阐述我们软件平台的驱动框架,也许可给读者一点灵感。

一般情况下,这三种通信方式足够了。无论是对于CVD镀膜设备,还是匀胶显影等机台,MFC可能走串口,机器人可能走网口,IO模块可能走赫优讯板卡,台达板卡,倍福板卡等等,但都是走PCI卡槽。

通信类型举例

串口(ModBus RTU):

根据ModBus RTU协议构建发送命令。根据ModBus RTU协议解析返回命令。构建函数进行CRC计算和校验。根据协议中结束符来对命令进行操作和检查。

如:从机地址为2,保持寄存器从1开始,读取连续三个寄存器的内容。

发:

收:

网口(自定义协议):

自定义协议的难易程度不好说,完全根据硬件厂家的定义来说。有的厂家写的通信协议看起来晦涩难懂,有的厂家则是通俗好理解。

网口的设计与串口相同

根据协议构建发送命令。根据协议解析返回命令。构建函数进行CRC计算和校验。根据协议中结束符来对命令进行操作和检查。

如:读取某Load Port的版本信息

发:GVER+回车换行

收:GVER:info+回车换行(其中info为版本信息,即用户想要获取的部分)

PCI

对于PCI主站卡来说,一般情况下,厂家都会有封装好的函数对主站卡进行设置,读取和写入。设计者只需要根据其函数说明和Demo来进行设计开发即可。其大概思路:

创建一个线程来对主站卡的输入模块进行轮询获取。创建一个线程来对主站卡的输出模块的输入部分进行轮询获取。创建一个线程来相应上位机写操作的要求,并对输出模块进行写入操作。从主站卡读取的信息存放于缓存区,上位机读取时直接从缓存区读。上位机进行写操作时,即刻调用写函数,以保证写的及时性。线程的轮询时间要小于主站卡对从站信号的采集周期。读写要有互斥锁。(其实串口和网口也要有读写锁,只不过可以放到更上一层的逻辑中,比较灵活,看个人设计)

Windows下的串口与网口主要通信函数

串口:

网口

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。