韩迎辉(常州轻工职业技术学院,江苏 常州 213164)
交流调速在工业中的发展十分迅速,变频器调速控制系统已广泛应用于机械、冶金、化工、包装等各个行业,在电气传动控制中已普遍应用。
随着工业自动化水平提高,对变频器的数据通讯要求已经成为控制系统的必然趋势,与传统的I/O方式硬接点、D/A输出控制方式相比较,通讯控制具有硬件连接简单、给定精度高、能进行复杂数据交换等优点。变频器采用通讯控制可以实现车间级的电气传动现场总线网络控制。
本文结合涂布生产线放卷装置的变频器通讯程序设计,为确保变频器通讯控制的可靠性,必须要综合考虑到硬件和软件方面。在硬件系统上可以考虑采用滤波、屏蔽、隔离、接地、增设终端匹配电阻等措施,此处不再赘述,本文主要阐述PLC通讯程序软件方面的可靠性设计。
放卷设备是涂布机的关键设备,其基本结构由A、B双工位放卷轴和压紧辊组成。图1为系统组成框图:
图1 通讯控制系统框图
放卷装置在卷轴切换时PLC需将初始卷径传给变频器,变频器运行过程中也要将实时卷径、线速度等参数反馈给PLC,PLC与变频器必须采用RS485通讯控制,否则难以实现放卷控制所需的数据传递。
放卷装置的通讯系统硬件配置为:汇川MD330变频器加RS485通讯卡、可编程控制器采用三菱FX3U PLC外接FX3U-485-BD通讯模块。
PLC与MD330变频器通讯硬件接线简单,将通讯模块上的RDA与SDA端子短接,RDB和SDB端子短接,RDA接变频器485+,RDB接变频器485-,屏蔽双绞线接地,根据需要接驳终端匹配电阻。
本系统两台变频器接入RS485总线,采用以PLC为主站,两个变频器为从站的“单主多从”主从方式控制网。这样上位机便能通过RS485通信线和各变频器信息交换进行控制操作。
PLC初始化时将通讯格式参数D8120设置为H0C99时:即数据长度为8位,停止位1位,无标题符和终结符,无奇偶校验N,波特率19200bps 。通讯设置无校验,可以减少硬件上的数据通讯拦截,提高通讯响应。由于PLC与变频器距离不远,较高的波特率可以减少通讯时间。
设置的通信超时时间D8129=K1,在D8129中默认单位是10ms,所以超时设置为10ms。PLC与变频器的通讯参数应当一致,其中通讯地址不能重复。PLC初始化程序如图2所示:
图2 初始化梯形图
由于工业现场不可避免的存在各种干扰,通讯过程中也可能受到强烈干扰而导致数据错误,所以必须对RS485发送和接收的通讯过程进行严格的校验,以保证数据传输的可靠性。为提高通讯的可靠,需要设计合理的通讯系统结构。程序结构框图如图3所示。
本文涉及的PLC与MD330变频器总共有6个通讯数据:A/B轴初始卷径、A/B轴实际卷径、A/B轴线速度。如何合理安排好这些数据的通讯收发,是关键要素,否则会影响通讯的可靠性。
(1)通讯数据优先级和次序
图3 通讯程序结构框图
A/B轴实际卷径、A/B轴线速度这4个数据要不断的定时轮询,而A/B轴初始卷径这2个数据是不定期的随机通讯,但这2个数据的通讯优先级比轮询数据要高。
PLC采用定时轮询的方法轮流读取4个数据:可以设定一个时间周期,每隔0.1秒进行一个数据的读取,通讯波特率是19200bps,经过示波器测量通讯波形分析在此波特率下,PLC发一帧8个字节数据所需小于5ms,考虑到变频器接收、处理、回送数据及通讯延时,每次这样的完整收发过程应不大于20ms左右,间隔时间正常情况下是完全足够的。要注意下位机一般不会立即响应,理论上19.2K的波特率下收发周期10ms,实际很难实现。
轮询的定时间隔不宜过小,只要满足生产设备的数据更新要求即可,不需要过分追求数据更新速度。这样的定时轮询在抗干扰方面是有明显效果的,因为在0.1秒的间隔时间内,只有约20ms时间在双向数据通讯,其他约80ms时间是通讯休眠沉默期,这样通讯受到干扰的几率大大降低,有效的提高了通讯的安全可靠性。
(2)定时轮询梯形图
数据轮询的次序也不能忽视,经实际通讯测试,同一地址的不同数据访问不宜连续,可以交替访问:先读取A轴卷径,然后读B轴卷径,再读A轴线速度,最后读B轴线速度。这种方法比连续读取A轴2个数据,再连读B轴2个数据,通讯更可靠。因为,连续读取A轴数据时,前后通讯数据帧中的地址码不变,反而容易产生通讯错误。图4为定时轮询梯形图。
(3)轮询之外的随机通讯
在PLC正常轮询A/B放卷轴的过程中,会随机性的要求设定A/B轴的初始卷径,必须要合理安排这2个随机通讯数据的要求。既不能等太久时间,否则影响控制的实时性要求,但也不能在当前轮询通讯数据未完成的情况下立即响应,导致通讯效率降低。
图4 定时轮询梯形图
当要求传送随机的初始卷径时,如果当前轮询的数据通讯未完成,必须等当前轮询的数据通讯结束后,打断下一个轮询通讯立即发送初始卷径,只有等初始卷径发送给变频器完成后才能继续开始轮询。本文提出了一种通讯插队方法,梯形图如图5所示:
图5 随机通讯梯形图
程序中增加了写A、B轴初始卷径命令辅助继电器M150、M160,一旦M150或M160有效,会立即终止正常的定时轮询通讯,但不能打断当前尚未完成正在进行的某个定时轮询通讯,必须要等当前的轮询通讯完成后,才能立即进行插队的通讯任务。M150、M160与轮询的M92、M95、M300、M320是互斥的。当然,要插队的2个通讯任务彼此间也是互斥的。
(4)通讯时序图
图6是PLC在19200bps发送一帧数据的通讯时序图,在编程时务必注意通讯时长和间隔,否则无法正常和下位机变频器进行RS485通讯。
通过PLC编程自测发送一帧数据大致需要5ms左右,与示波器测量相似。
通讯双方遵照相同的总线协议。每帧数据格式为:地址码、命令码、数据长度、所需数据、CRC效验码等。利用三菱PLC的RS指令无协议通讯编程可实现MODBUS RTU协议的通讯。
RS指令能实现RS485串行口发送和接收数据,其指令格式为[RS S m D n],数据格式在D8120中设定。RS指令的编程标志位M8122为发送请求标志、M8123是接收处理完标志。其中M8122发送启动仅需置位一次,但RS指令需要驱动直至发送和接收都完成。发送完成后M8122会自动清零,接收完成或超时溢出则M8123会置位。处理完接收数据后,软件需对M8123及时清零。
图6 一帧数据通讯时序图
在一次完整的通讯过程中,RS指令必须保持一直有效,直至发送和接收数据完成。在接收数据的过程中,如在D8129指定的时间内数据接收,则超时标志M8129变为ON,表明接收异常结束,则M8123置位。
根据MD330变频器的MODBUS通讯协议要求,设计针对该协议的通讯程序流程。合理的软件算法保证了PLC和MD330变频器准确无误的传递数据。每个数据的PLC通讯程序流程图7所示:
图7 PLC通讯程序流程图
PLC发送一帧通讯数据的梯形图如图8所示:
图8 发送通讯数据梯形图
通讯程序中M98辅助继电器的作用是将通讯指令RS执行时间延后一个扫描周期,使前后2帧数据通讯过程有短暂间隔时间,防止前后数据帧在线路上的重叠碰撞,保证通讯的可靠性。M93为发送限制,防止M8122一直为ON,导致通讯出错。
程序增加了通讯限时定时器T70,延时时间是0.2秒,其作用是防止当前通讯任务失败后,PLC能自动退出该访问数据部分的通讯,及时访问其他设备,不至于产生通讯卡阻死锁现象。通过示波器实际测量,在变频器无应答的情况下,PLC每隔200ms轮流发送一帧数据,不会停顿在某一处,进一步提高了通讯的容错能力。图9为实测通讯无响应波形:
图9 通讯轮询实测波形
注意PLC每次都要在发送数据前明确的给所有的被发送的数据赋值,尽量不要利用初始化脉冲对有的数据仅一次性赋值,以后每次通讯不再赋值,这样会给通讯带来隐患,在强干扰环境下,PLC的内存数据寄存器可能会受到干扰,导致初始化赋值更改,致使通讯出错。
某些应用场合,甚至要求PLC对通讯接收到的数据立即转存,同时将直接收到的数据清空。可以说,这种方式的接收数据,也可以提高通讯的质量。
由于工业现场存在各种干扰,PLC和变频器数据通讯完成后,为保证通讯的可靠有效,除了设计合理的通讯流程结构和程序外,还必须对接收的数据进行严格的通讯检验、故障自检以及其他附加措施。
(1)通讯数据校验
本文提出的校验方法如下:对通讯的地址码和校验码均进行验证,通过双重校验合格的数据才会接收下来被采信,参与后续的数据处理。否则,未通过校验的数据被丢弃。
图10 通讯数据校验梯形图
通过块比较指令BKCMP,先对接收到的地址码D110、D111这2个寄存器和先前RS指令发送出去的目标地址码D100、D101进行比对,如果相同表明通讯接收到的地址正确无误,如果地址码不对,说明通讯出错,本次接收到的数据无效。地址码核对无误后,PLC再对接收到的前6个数据计算CRC校验码,PLC计算出的CRC效验码和通讯线路实际收到的CRC效验码进行比较,如果一致,说明本次收到的数据是完全正确的。
只有通过地址和CRC码比对后的数据才进行后续处理,这样有效的保证了PLC与变频器在工业现场通讯的可靠性,极大的降低了通讯数据错误。
(2)通讯故障检测
在PLC程序设计中,增加了通讯故障报警信号。思路是:如果每个通讯任务都能正常通讯,在1秒时间内,均能执行几次,设置一个通讯指示继电器,每次正常通讯后,对其进行取反,这样通讯指示继电器应该是一个交替信号,对该继电器进行判断,如果不是交替信号,说明通讯故障,可发出通讯故障报警信号。
另外,还可以利用PLC自身提供的通讯辅助标志位M8128、M8129进行通讯诊断编程。
(3) 自动多次握手
如果有个别通讯数据非常重要,可以设计一次通讯失败后自动再次发起主动握手通讯,达到一定时间或次数仍然无法通讯就发出报警信号。自动握手次数也可根据需要设定,但不宜过多,否则影响其它数据的通讯。
由于通讯程序的设计采用了多种可靠性措施,使PLC与变频器在复杂的涂布机工业环境下,能够正常传递各种数据,保证了通讯数据的可靠和正确,提高了控制系统的品质。
通过在现场的实际使用情况,采用以上方法的变频器通讯系统能有效的抵抗绝大多数的干扰,剔除受到干扰的非正常数据,高效地保证了通讯过程的正常可靠,下位机出现故障也能诊断出并能忽略该故障,不会影响其它数据通讯。
该通讯软件程序经受了实践的检验,得到了涂布机设备制造商和运行企业的认可。本文阐述的技术方法在变频器通讯应用的工业领域具有很好的技术推广价值。
[1]李江全, 王建平. 三菱FX系列PLC数据通信及测控应用 [M]. 北京: 电子工业出版社, 2011.
[2]唐志文. PLC与变频器的RS485通讯 [J]. 变频器世界, 2005, 1.
[3]罗宏权. 基于RS485通讯的软件结构设计 [J]. 纺织机械, 2006, (3).
[4]张祖光. RS485通讯在拉丝机变频控制中的应用 [J]. 玻璃纤维, 2008, (3).
[5]瞿选益. 谈三菱FX系列PLC与D系列变频器的RS_485通讯[J]. 科技资讯,2013, 24.
[6]夏雨. 基于三菱可编程控制器无协议通讯的应用 [J]. 可编程控制器与工厂自动化, 2006 (02).
[7]张智明. 基于RS-485的变频器与PLC的通讯技术的研究 [J]. 现代制造工程. 2005 (12).