点击【 大 中 小 】,可以选择字体的大小,以便你阅读.
1 引言
随着PLC网络通讯功能的不断增强,PLC与PC组成的集散控制系统被广泛应用。过程控制中的过程参数变化不是很快,PLC可以构建出可靠灵活的实时数据监控系统,并且具有较高的性价比,因而项目采取以PLC为下位机,以装有LabVIEW软件的PC机为上位机开发平台,利用VISA技术实现与PLC通讯,实现对工业现场的监控与现场数据的分析。这样可以利用LabVIEW软件强大的数据处理功能和良好的人机交互环境通过简单的编程实现实时监控的功能。
2 总体设计方案
我们采用主计算机通过PPI电缆与西门子PLC相连,以达到主机能实时监控设备工作状态的要求,以及对各种数据进行采集和对设备的开关进行控制。其中触摸屏可以挂在任意的一台PLC上,以对系统的要求进行相应的设置。
这些主机再通过TCP/IP网络和计算机中心的总机连接起来,以达到设备的运行状态都能传输到计算机中心,以及设备的动态参数都能在其他计算机中实时显示。图1为总体设计框图[1]。
图1 总体设计框图
3 LabVIEW与PLC的串口通信
LabVIEW是美国NI公司的图形化工业过程测控开发平台,它内置信号采集、测量分析与数据显示功能,摒弃了传统开发工具的复杂性,提供强大功能的同时还保证了系统灵活性。LabVIEW广泛的数据采集、分析与显示功能集中在了同一个环境中,用户可以在自己的平台上无缝地集成一套完整的应用方案。LabVIEW使用图形化编程语言编程,具有界面友好、开发周期短等优点,广泛应用于仪器控制、数据采集、数据分析和数据显示等领域。所以,在计算机上我们采用它来实现对设备运行状态的监控,同时也可以对各种数据进行采集显示。一方面,在主机上做一个界面实时显示设备运行的状态,另一方面,将这些状态信息通过TCP/IP网络传输到计算机中心,以及网络上其他的计算机。
用LabView编程步骤为:(1)初始化串口,利用VISA Configure Serial Port.vi设置双方通讯的端口号、波特率、数据位、停止位、奇偶校验等,注意在LabVIEW7.1中串口号是在VISA resource name中设置的;(2)把要发送的数据按PLC命令帧的格式打包,包括计算帧校验序列FCS;(3)利用VISA Write.vi写端口,把整个命令帧发送到串口;(4)延时等待PLC的应答帧到达串口;(5)利用VISA Read.vi读串口,读取PLC的应答帧;(6)把读取的应答帧解包,读取相应的数据[2]。
上位机与PLC组成的实时监控系统如图2所示。系统具备如下功能:(1)连续循环扫描PC与PLC之间的发送、接受命令状态,使用Labview的While循环即可;
图2 串口通信程序框图
(2)上位机读PLC数据;(3)上位机向PLC发送命令而不影响PLC正在控制运行的现场设备。
4 基于TCP/IP的远程监测
DataSocket是NI公司提供的一项网络测控系统开发技术,它基于Micromsoft的COM和ActiceX技术,源于TCP/IP协议并对其进行了高度封装,面向测量和自动化应用,用于共享和发布实时数据,是一种易用的高性能数据交换编程接口。它能有效地支持本地计算机上不同应用程序对特定数据的同时应用[3]。
本系统由运行在控制现场的服务器计算机监控系统和运行在网络上的客户端的监控系统组成。如图3是服务器方框图,首先使用了Listen.vi循环监听信号。然后使用了TCP Write.vi,TCP Read.vi把现场采集到的数据从服务器发送给客户机。最后是使用了TCP CloseConnection.vi关闭连接[4]。
图3 服务器方框图
客户机的完整框图如图4所示。首先根据Port和Address信息打开TCP连接,其次在For循环体内首先从服务器上读出每次所传的长度,继而读出数据,并在控制而板上显示出来,然后判断是否需要断开连接,最后做出判断并进入下一循环或结束循环,最后并闭TCP连接。在客户机没有读到任何数据时判断,是否有STOP命令进入,若无则进入下一循环,继续读取数据。