0 引言
在过程控制中,由于工业现场非常分散,I/O点数众多,各种仪表的工作环境非常恶劣,采用数据采集卡和LabVIEW开发平台来完成现场的数据采集和控制显然不可取。考虑到过程控制中的过程参数变化不是很快,而PLC恰恰可以克服数据采集卡在过程控制中的不足,并且具有较高的性价比,因而采取以PLC为下位机,以装有LabVIEW软件的工控机为上位机开发平台。通过RS-232和RS-485串口与PLC通信,实现对工业现场的监控与现场数据的分析。本文根据这个思想设计了一个工业远程监控系统,上位机采用PC机,下位机采用西门子PLC S7-200。介绍了一种在LabVIEW 8.6平台上开发PC机和PLC实时监控的软件的编程方法,在此基础上构建了基于PLC的主从式虚拟仪器测控系统。
1 系统构成与自由口通信模式
1.1 PC与PLC的通信方式
S7-200 CPU上的通信口是与RS-485兼容的9针D型连接器。PLC还提供了实现RS-485与PC机上RS-232相连接的PC/PPI电缆,可以方便地实现S7系列PLC与PC之间的硬件连接。图1是PC与PLC通信的示意图,利用主机上的232串口,通过RS232-RS485转换模块与PLC相连。系统中如果应用多个PLC模块或其他具有RS485串行通信能力的设备,亦可方便地联网或构成网络测控系统。
1.2 PC与PLC的通信协议
西门子S7-200系列的PLC可以在四种通信模式下工作:PPI、MPI、PROFIBUS-DP和自由口通信模式。自由口通信模式是由用户程序来控制CPU的串口通信。用户可以利用发送/接收中断、发送/接收指令来控制通信的操作,实现与打印机、条形码阅读器等设备的通信。
本文主机与PLC之间串行通信采用的是自由通信协议。该协议采用主从结构的通信方式,传输模式是RTU,适用于半双工的RS485总线。协议规定总线上有一个主机,多个从机,每个从机分配惟一的地址。工作时可以采用命令应答的通信方式,每一种命令帧对应着一种应答帧。主机向要访问的从机发出命令帧,地址匹配的从机做出响应,向主机发出命令帧对应的应答帧。自由通信协议中,为命令帧定义了许多功能码,不同的功能码要求从机进行不同的响应。PLC在将传感器信号转换为数据后将其存储在变量存储区的固定区域。此时PLC的串口一直处于接收状态,直到接收到来自上位机的读命令后,转为发送状态,将变量存储区中的数据通过串口发送给上位机。考虑到收发切换有一定的时间间隔,所以必须延迟一段时间再转为发送数据。
1.3 自由口模式的注意事项
自由口模式通信要注意以下问题:
(1)CPU通信口工作在自由口模式时,通信口就不支持其它通信协议。CPU停止时,自由口不能工作,编程软件就可以与CPU通信。
(2)此通信模式下,发送和接收指令是程序的核心指令,用户程序不能直接控制通讯芯片而必须通过操作系统。
(3)用户程序中应考虑电缆的切换时间。CPU接收到RS-232设备的请求到它发送响应的延迟时间必须大于等于电缆的切换时间,可用定时中断实现切换延时。
(4)在自由口模式下,通信双方的通信参数是由用户自行设定的,通信双方的波特率一定要设置相同。另外,在PLC网络中主站个数越少,通信速度越快:波特率越大,通信速度也越快,但抗干扰能力降低。因此对于本系统这种单主站的网络,要注意波特率不宜设置得过大。