本文简要介绍了PLC(可编程控制器)的性能、特点,介绍了可编程控制器作为下位机在电缆自动生产线检测控制系统中的应用、可编程控制器与计算机(上位机)的通讯与程序设计、两者之间进行数据交换的硬件连接方式,提出了一种保证数据交换的正确性和可靠性的方法,从而解决了电缆自动生产线检测控制系统中通读数据易出错的问题。
一、引言
随着工业生产自动化水平的不断加快,对控制系统提出了愈来愈严格的要求。随着大规模集成电路广泛应用,控制系统本身也得到长足发展,已由原来的分立元件、继电器控制,发展成为大规模集成电路的微机控制。控制方式也由原来的分散控制发展为集中控制。正是在这种发展的需求下,可编程控制器应运而生。由于可编程控制器(PLC)具有体积小、抗干扰能力强、组态灵活等优点,因而在工业控制系统中得到非常广泛的应用。
在电缆自动生产线检测控制系统中,可编程控制器主要用作下位机,检测各状态点的状态,直接控制系统的启、停和其他控制单元的投切,并将各点的状态送给上位机——计算机,计算机综合可编程控制器和其他设设备的数据,作出相应的处理和显示。关于整个系统的设计与实现另文介绍,本文主要介绍该系统中用作下位机的可编程控制器的作用、与计算机的通讯及程序设计方法。
二、可编程控制器的性能特点
用于控制系统中的可编程控制器是以循环扫描的方式工作,它不断读取输入点的状态,然后按照既定的控制方式进行逻辑运算,将结果从输出端送出,从而达到控制的目的。它是由工业专用微型计算机、输入/
输出继电器、保护及抗干扰隔离电路等组成的微机控制装置,具有顺序、周期性工作的特性。由于它具有可编程的功能,且其基本输入/输出点全部使用开关量,因而完全可以替代继电器控制系统和由分立元件构成的控制系统。从应用角度来看,可编程控制器具有如下特点:
1、可靠性高:可编程控制器的输入/
输出端口均采用继电器或光耦合器件,即基本输入/
输出点均为开关量,同时附加有隔离和抗干扰措施,使其具有很高的抗干扰能力,因而能在比较恶劣的环境下可靠工作。
2、体积小:在制造时采用了大规模集成电路和微处理器,用软件编程替代了硬连线,达到了小型化,便于安装。
3、通用性好:可编程控制器采用了模式化结构,一般有CPU模块、电源模块、通讯模块、PID模块、模拟输入/
输出模块等。用这些模块可以灵活地组成各种不同的控制系统。对不同的控制系统,只需选取不同的模块设计相应的程序即可。
4、使用方便、灵活:对于不同的控制系统,当控制对象及输入/
输出硬件结构选定后,若要改变控制方式或对控制对象作一些改动,只需修改相应程序即可,无须对系统连线作较大的修改。从而减少了现场调试的工作量,提高了工作效率。
三、用作下位机的可编程控制器
由于可编程控制器具有上述特点,因而在检测和控制系统中得到广泛应用。但因其专用性太强以及受输入/
输出节点数的限制,在由可编程控制器构成的系统中,可编程控制器主要用来完成组合逻辑与时序逻辑的输入/
输出控制。另外,由于可编程控制器无法以比较灵活的方式显示当前各个输入/
输出点的状态,不能以多种方式提供整个系统的运行情况,因而,在用可编程控制器构成比较大的检测控制系统时,一般用可编程控制器完成信号的采集和控制,比较复杂的数据处理、图形显示、人机界面等由计算机来完成。
在电缆自动生产线检控系统中,可编程控制器作为下位机用来控制各种电机、风机的启、停,调速器的投切,读取各控制点的状态,然后将各点的状态输入到上位机——计算机。计算机处理可编程控制器和其他设备的信息,以图表的方式显示,使操作者对生产线的工作状态一目了然。计算机和可编程控制器的硬件连接及可编程控制器与各控制端、状态点的连接如图1所示。
图1
可编程控制器接线示意图
图1中,输入到可编程控制器的检测点可分为按键类和光电开关类。按键类主要有:启动、停止、帮助、诊断、查询、复位按键等。光电开关类主要有:张力轮位置、张力杆位置、左右托位置、左右盘位置、抓勾位置、左右防护位置、排线位置、排架位置、光电开关等。可编程控制器的输出用来控制循环水、退火水、吹干风机及各种电机的启停等。
可编程控制器不断读取输入端,按既定的控制方式对输入端的状态进行逻辑运算,然后将运算结果经输出端输出(即进行控制),从而保证生产线的可靠、连续运行,同时将本系统的状态按某种协议反映给上位机,上位机处理可编程控制器和其它设备的信息,作出响应,并以图表的方式显示,使操作者能随时掌握生产线的工作状态,以便在需要时进行调试。
四、通讯连接及程序设计
上位机和下位机进行数据交换的方式有很多,如网络方式、485方式、RS232方式等。由于在电缆生产线中,上、下位机之间距离较近,因而我们选用了RS232方式,其硬件连接如图2所示。
图2
可编程控制器与计算机连接示意图
图2是我们使用三菱公司的FX2可编程控制器与计算机的连接方法。可编程控制器端使用了FX
- 232ADP串行通讯模块,即可编程控制器与计算机之间以RS232方式进行数据交换。当可编程控制器与计算机的距离比较远时,也可以485方式进行数据交换,只要在计算机中插一个485接口板,并将可编程控制器的ADP
- 232模块换成485模块即可。
1、可编程控制器通讯程序设计
在可编程控制器与计算机通讯之前,必须设置相互认可的参数,这些参数有:波特率、停止位和奇偶校验位等。可编程控制器通讯参数通过寄存器D8120的位组合方式来选择,其各位定义如下:
b0
数据长度:=
0
,7位;
= 1,
8位
b2b1
校验:
= 00,无校验;
= 01,奇校验;
= 10,
偶校验
b3
停止位:
= 0,
1位;
= 1,
2位
b7b6b5b4
波特率;
= 0011,
300 bps;
= 0100,
600 bps;
= 0101,
1200 bps;
= 0110,
2400 bps;
= 0111,
4800 bps;
= 1000,
9600 bps;
= 1001,
19200 bps;
可编程控制器通讯适配器FX
- 232ADP的命令为Ram
ò n,其中S设定了传送数据的缓冲区首址,m为从首地址开始的第m个顺序单元,D为接收数据的缓冲区首址,n为接收数据的n个顺序单元。可编程控制器完成一次传送的程序流程如图3
所示。
图3
可编程控制器发送数据流程
M8000是当PLC运行时,处于接通状态的特殊辅助继电器。
可编程控制器是以循环扫描的方式工作(如图4
(b)所示),即按顺序反复地执行一条一条指令。如图4(b)所示,IN为一组输入指令,即一组将接点状态读入可编程控制器的指令,MEM为一组记录接点状态的指令,CAL为若干条完成控制所需的计算、处理指令,OUT为执行控制和一组输出指令,TRN为若干条向串行口发送数据的指令,依次反复执行IN、MEN、CAL、OUT、TRN,从而完成控制和数据交换的任务。由此可见,可编程控制器从串行口送出的数据是一个分段连续的数据流,如图4
(a)所示。
(a)
可编程控制器发送的数据流
(b)
可编程控制的工作流程
图4
图中Dn(n=1,
2……N)为连续从串行口输出的N个数据,在TRN之外的时间里串行口并不工作。这样,当计算机在接收可编程控制器的数据时,就需作如下考虑:
1)
首先应找到数据流的首部,因为计算机对可编程控制器的访问具有很大的随机性,当计算机在读串行口时,有可能读到的是数据流中的任何一个数据,因而,只有找到数据流的首部,然后读到的数据才是正确的、完整的数据。
2)
计算机读串行口时,应有足够的等待时间,如果计算机读串行口时,恰好读到的是数据2(D2),由于本次读到的数据不是完整的,因此计算机大约需要等可编程控制器的一个扫描周期才能读到一组完整的数据。
2、计算机通讯程序设计
在设计电缆自动生产线检测控制系统时,我们已明确了可编程控制器向计算机发哪些数据,即计算机读可编程控制器数据的个数M已知,因此可以用该数据个数M来判断所读数据是否完整。初始化串行口就是将可编程
控制器和计算机串行口的波特率、停止位、校验位、数据位等设置为相同。为了使计算机能够准确找到数据流的首部,我们根据该数据流的特点和可能出现的情况,定义了03FFFF为数据流的首部,即可编程控制器发送的第一个数据为03,第二个数据为FF,第三个数据为FF,然后依次发送可编程控制器的数据。计算机读取数据时,首先检查读到的是不是03,如果是03,再读下一个数据并检查是否为FF,若是,再读下一个数据并检查是不是FF,若是,则认为读到了数据流的首部,接着读取数据,如果上述任意一项检查不符,则认为没有读到数据流的首部,再重复上述检查,直至读到数据流的首部为止。这样既保证了数据交换的正确性,也保证了数据交换的完整性。
综上所述,我们在分析了可编程控制器的工作流程、串行口工作方式和系统工作情况的基础上,设计了数据流的首标志,设定了传送数据的个数,以此来判断计算机所读取数据的位置及数据的完整性,并以这种方式设计了通讯程序,实际证明效果良好。
五、结论
本文简要介绍了可编程控制器的性能、特点,在电缆自动生产线中将可编程控制器与计算机以RS
- 232的方式连接,并设计了相应程序。按照这种连接和设计,我们完成了计算机与可编程控制器的通讯,实现了电缆生产线的检测控制系统,实际运行良好。