LabVIEW与PLC串控制系统设计方案8
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于LabVIEW与PLC的串级控制系统设计
摘要:详细介绍了采用RS232串口完成LabVIEW与PLC之间通讯,并利用该方法,设计了一种基于LabVIEW与PLC的串级控制系统。实验结果表明:控制系统
已达到了预期的设计效果。
关键词:LabVIEW;PLC;串级控制;串口通讯
The design of a cascade control system based on LabVIEW and PLC
XIE Jian jun,WANG Hong meng,XU Chun mei
(Power and Mechanical Engineering School of Wuhan University,Hube i Wuhan 430072,China)
Abstract:This article discusses an approac h to the realization of the RS232 serial transfer between LabVIEW and PLC.The ap p roach is used to design a cascade control system based on LabVIEW and PLC.The re sult of experiments shows that a satisfactory solution
is reached.
Key words:LabVIEW;PLC;cascade control;serial transfer
在过程控制中,由于工业现场非常分散,I/O点数众多,各种仪表的工作环境非常恶劣,采用数据采集卡和LabVIEW开发平台来完成现场的数据采集和控制显然不可取。考虑到过程控制中的过程参数变化不是很快,而PLC恰恰可以克服数据采集卡在过程控制中的不足,并且具有较高的性能比,因而采取以PLC 为下位机,以装有LabVI EW软件的工控机为上位机开发平台,通过RS232或RS485串口与PLC通讯,实现对工业现场的监控与现场数据的分析。这样可以利用LabVIEW软件强大的数据处理功能和良好的人机交互环境通过简单的编程实现
上位机的SCADA功能。
1系统的基本结构
现以实验室中的双容水箱对象为例来构建基于LabVIEW与PLC的过程控制系统。系统结构如图1所示。系统采用OMRON公司C200HG系列的PLC为下位机,用RS232型电缆将HO ST LINK模块直接连到装有LabVIEW的工控机的串口上。
2PLC与上位机连接系统的通讯
上位机与PLC之间的通信实际上是计算机与PLC通信模块HOST LINK之间交换命令和响应的过程。上位机具有初始传送优先权,所有通讯均由上位机启动,不需要PLC编写通信程序,HOST LINK能够对上位机发送来的字符串进行分析,检查数据格式,分析指令代码,然后根据指令代码进行相应的操作,并向上位机发出响应信号。通知上位机已完成或反映通信的错误,如奇偶校验错误、FCS错误、代码错误等。在一次交换中传输的命令格式和应答数据称之为一帧。命令
帧要通过用户编写的上位机通讯程序实现,PLC的上位链(HostLink )单元会根据上位机发来的命令帧自动生成响应帧返回给上位机。
2.1命令帧格式
上位机命令格式如下:
其中@表示一帧的开始。节点号是上位机按该号来识别PLC。识别码是含有两个字符的上位机链接命令代码,它表示上位机要对PLC进行何种操作,其识别码的含义见文献[4]。“正文”包括起始字和字数,起始字指的是要读写通道的起始地址,字数是指要读写的通道个数。FCS设置两个字符帧检查顺序码,FCS 码由上位机计算,并设置在命令帧里。它主要是用来保证在传送一帧数据时,在终止符前安排一个FCS码,以检查在传送数据时,是否发生错误。FCS码的具体算法是:从一帧数据的开始到帧正文结束(FCS之前)所有数据字符的ASCI I 码执行“异或”操作的结果,此结果是一个8位二进制数,然后分别把其高4位和低4位转换成两个16进制数并看成ASCII码。终止符是“*”,“回车”符表示命令
的结束。
2.2应答帧格式
应答帧是由PLC自动返回的,其应答格式如下:
其中“结束码”是两位16进制数,它是PLC返回给上位机的通讯错误代码,其中00表示通讯无错误,不同错误代码的含义可参考编程手册。“正文”中每4
位16进制表示一个通道的数据。
2.3LabVIEW与PLC通讯的实现
(1)PLC上位机链接设置
采用RS232C端口时,需要置DM6645的12~15位为0,PLC的节点号设置在DM6648的00~07位。文中采用OMRON C200 PLC的默认设置。即在CPU的DIP 开关J脚置OFF的情况下,PLC与上位机之间采用如下参数进行通讯:
启动位:1位;数据长度:7位;停止位:2位;奇偶校验:偶校验;波特
率:9 600 b/s。
(2)LabVIEW中串口通讯的步骤
LabVIEW共有5个串行通讯节点,包括初始化端口(Serial Port Init.vi)、串口写(S erial P ort Write.vi)、串口读(Serial Port Read.vi)、检测串口输入缓存中的字节数(Bytes at Serial Port.vi)、串口中断(Serial Port Break.vi)等功能,各个节点端口参数表见文献[2]。
在LabVIEW的程序中可采用下列步骤实现与PLC之间的通讯:
①初始化串口,设置双方通讯的端口号、波特率、数据位、停止位、奇偶校
验等;
②把要发送的数据按PLC命令帧的格式打包,包括计算帧校验序列FCS;
③写端口,把整个命令帧发送到串口;
④延时等待PLC的应答帧到达串口;
⑤读串口,读取PLC的应答帧;
⑥把读取的应答帧解包,读取相应的数据。
(3)LabVIEW中串口通讯的实现
①初始化串口,按照PLC串口通讯的要求,通过Serial Port Init.vi节点设定,端口号设为0,即设定上位机的串口COM1与PLC通讯,若设其他串口,端口号依此类推;波特率设为9 600 b/s;数据位为7位;停止位设定为2位;
奇偶校验设定为2,即对数据帧进行偶校验。
②对PLC数据帧计算FCS并把数据帧打包,其子程序如图2所示: