输入到可编程控制器的检测点可分为按键类和光电开关类。按键类主要有:启动、停止、帮助、诊断、查询、复位按键等。光电开关类主要有:张力轮位置、张力杆位置、左右托位置、左右盘位置、抓勾位置、左右防护位置、排线位置、排架位置、光电开关等。可编程控制器的输出用来控制循环水、退火水、吹干风机及各种电机的启停等。
可编程控制器不断读取输入端,按既定的控制方式对输入端的状态进行逻辑运算,然后将运算结果经输出端输出(即进行控制),从而保证生产线的可靠、连续运行,同时将本系统的状态按某种协议反映给上位机,上位机处理可编程控制器和其它设备的信息,作出响应,并以图表的方式显示,使操作者能随时掌握生产线的工作状态,以便在需要时进行调试。
四、通讯连接及程序设计
上位机和下位机进行数据交换的方式有很多,如网络方式、485方式、RS232方式等。由于在电缆生产线中,上、下位机之间距离较近,因而我们选用了RS232方式,我们使用三菱公司的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个顺序单元。M8000是当PLC运行时,处于接通状态的特殊辅助继电器。
可编程控制器是以循环扫描的方式工作(如图4
(b)所示),即按顺序反复地执行一条一条指令。如图4(b)所示,IN为一组输入指令,即一组将接点状态读入可编程控制器的指令,MEM为一组记录接点状态的指令,CAL为若干条完成控制所需的计算、处理指令,OUT为执行控制和一组输出指令,TRN为若干条向串行口发送数据的指令,依次反复执行IN、MEN、CAL、OUT、TRN,从而完成控制和数据交换的任务。由此可见,可编程控制器从串行口送出的数据是一个分段连续的数据流,在TRN之外的时间里串行口并不工作。这样,当计算机在接收可编程控制器的数据时,就需作如下考虑:
1)
首先应找到数据流的首部,因为计算机对可编程控制器的访问具有很大的随机性,当计算机在读串行口时,有可能读到的是数据流中的任何一个数据,因而,只有找到数据流的首部,然后读到的数据才是正确的、完整的数据。
2)
计算机读串行口时,应有足够的等待时间,如果计算机读串行口时,恰好读到的是数据2(D2),由于本次读到的数据不是完整的,因此计算机大约需要等可编程控制器的一个扫描周期才能读到一组完整的数据。
2、计算机通讯程序设计
在设计电缆自动生产线检测控制系统时,我们已明确了可编程控制器向计算机发哪些数据,即计算机读可编程控制器数据的个数M已知,因此可以用该数据个数M来判断所读数据是否完整。初始化串行口就是将可编程
控制器和计算机串行口的波特率、停止位、校验位、数据位等设置为相同。为了使计算机能够准确找到数据流的首部,我们根据该数据流的特点和可能出现的情况,定义了03FFFF为数据流的首部,即可编程控制器发送的第一个数据为03,第二个数据为FF,第三个数据为FF,然后依次发送可编程控制器的数据。计算机读取数据时,首先检查读到的是不是03,如果是03,再读下一个数据并检查是否为FF,若是,再读下一个数据并检查是不是FF,若是,则认为读到了数据流的首部,接着读取数据,如果上述任意一项检查不符,则认为没有读到数据流的首部,再重复上述检查,直至读到数据流的首部为止。这样既保证了数据交换的正确性,也保证了数据交换的完整性。
综上所述,我们在分析了可编程控制器的工作流程、串行口工作方式和系统工作情况的基础上,设计了数据流的首标志,设定了传送数据的个数,以此来判断计算机所读取数据的位置及数据的完整性,并以这种方式设计了通讯程序,实际证明效果良好。
五、结论
本文简要介绍了可编程控制器的性能、特点,在电缆自动生产线中将可编程控制器与计算机以RS -
232的方式连接,并设计了相应程序。按照这种连接和设计,我们完成了计算机与可编程控制器的通讯,实现了电缆