引言:
设备驱动程序(I/O Server)是组态软件与PLC、智能仪表等设备交互通讯的桥梁,由于组态软件面向的就是开放式测控设备,因此建立PC与设备间的通讯链路不存在理论上的障碍。各种测控设备也越来越多地采用标准通讯接口,使设备与PC间及设备间的互联通讯越来越简便。
一、设备驱动程序在组态软件中所处地位及数据流图
nload="javascript:if(>500)=500" align=center border=0>
如图1所示, I/O Server直接负责从设备采集实时数据并将操作命令下达给设备, I/O Server的可靠性将直接影响组态软件的性能。在大多数情况下,I/O Server是与设备相关的,即针对某种设备的驱动程序不能驱动其它种类的设备。一般,设备制造商会提供PC与设备间进行数字通讯的接口协议和物理接口标准。物理接口标准规定使用何种通讯介质、链路层的接口标准,如RS232、RS485、以太网等;接口协议规定通讯双方约定的命令及数据响应格式、数据校验方式等。I/O Server主要是按照接口协议的规定向设备发送数据请求命令,对返回收据进行拆包,从中分离出所需数据(即组态的数据连接项和设备状态数据)。多数设备的通讯接口协议都有若干条读写命令,分别用来读写设备上不同类别的数据,而每一条命令又可以读写同类别的多条数据,具体能读写几条是由接口协议规定的。使用组态软件做I/O数据连接的工程技术人员不必了解这些细节,只需按照I/O Server的说明书组态数据库变量与设备数据项的对应关系即可。I/O Server首先要将组态的数据连接项按照接口协议的要求按照类别分好,把通过一次读写操作能够处理的数据连接项存放在一起,称做一个数据包。I/O Server主要以数据包为单位进行数据处理,这样会大大提高通讯效率。
一般设备的接口协议都会提供设备状态信息的访问方法,即组态软件可以直接读取设备的状态信息;如果接口协议不含有设备状态信息的访问方法,I/O Server只能将通讯的状态信息送给实时数据库和界面系统,如通讯超时、设置数据成功等。I/O Server的通讯状态信息将作为系统报警显示在界面系统的系统报警窗中。
二、设备驱动程序完成的主要功能
1、从I/O设备采集所需数据进行链路维护
I/O Server要将来自设备的数据转换成实时数据库需要的数据类型(实数、整型数、字符或字符串型等),同时要对越界数据做合理解释,以避免操作人员得到错误的数据。例如,有的设备以“0xFFFF”(十六进制)表示回路断开,有的设备以“----”(ASCII)表示数据超过上限等等。
为提高数据的采集效率和数据安全,要将所有数据连接项划分成只读、只写、可读写三种类型,以防止误写、误读的发生。
一个I/O Server可以同时处理多个同类设备,如果其中某个设备出现故障不能响应通讯,则I/O Server要花费多余的时间等待其响应,从而减慢了整个系统的响应周期。因此对于故障设备,I/O Server要减少访问频次,以免影响整个系统的数据刷新周期,当故障设备恢复正常后再将设备的采集周期恢复原值。
2、执行来自操作员的I/O命令管理输出队列
界面系统要对送给I/O设备的命令数据进行第一步检查,检查数据类型是否正确,数据是否越界。实时数据库对数据进行第二阶段检查,主要检查越界情况。I/O Server对来自操作员的I/O命令要针对设备的特殊要求逐级做合法性检查,也是最严格的检查,如首先检查是否只读数据,再检查数值是否越界(如串级回路的回路方式:0表示自动,1表示手动,2表示串级,其它数据则为非法的越界数据)等。
3、与实时数据库系统进行无缝连接
I/O Server与实时数据库间应采用进程间通讯、直接内存映射、OLE方式或其它更为有效的内部通讯方式,较采用第三方的DDE设备驱动程序或OPC Server具有更高的通讯效率,同时可以迅速报告设备的故障信息,产生系统报警。
I/O Server对来自设备的数据可以进行初步预处理,在一段时间内数值没有发生变化的数据可以不向实时数据库传送或减少传送次数,以进一步提高数据通讯的效率。
4、设备驱动程序能够连接的设备种类
(1) DCS、PLC等控制设备。
(2)带数字通讯接口(RS232/RS422/RS485、以太网、现场总线等)的智能仪表,如流量计等计量设备、报警器等安防设备、遥测传感设备。
(3)PC总线工业计算机设备。
(4)带开放接口的基于PC的数据处理系统。
5、设备驱动程序的技术指标
(1)采样周期
采样周期取决I/O Server调度效率,但实时数据库的数据刷新速度则不只是由I/O Server决定的,还与设备的响应速度、挂接的设备数量等因素有关。一般的串行设备当波特率为9600bps时,数据通讯速度可以保证不低于900字节/秒。
(2)回写数据速度
经常需要由操作员向设备下发控制指令,如修改回路状态、运算系数及对控制过程实施人为干预等
6、使用设备驱动程序的注意事项
(1)及时处理来自I/O Server的系统报警,I/O Server发出的报警都是重要的系统报警,如设备掉电、物理链路损坏、通讯适配器故障等,必须及时处理,否则会引起更为严重的后果。
(2)正确设置I/O Server的采样周期,因为有些设备如果采样周期太快会引起设备死机或工作不正常,如果采样周期设置太慢又会影响数据刷新速度。
(3)I/O Server必须设置安全密码,以防止非法退出。
(4)界面系统的回写数据频率不要大于采样周期的3倍,因为I/O Server都是写优先的,当实时数据库有回写数据的任务时,I/O Server会优先处理,而将采集任务作为次要任务拖后处理。当实时数据库频繁不断地将大量回写数据送给I/O Server时,I/O Server将无暇进行数据采集,只能疲于应付数据回写任务。