6ES7222-1BD22-0XA0方法说明
“自由通讯”的意思是:上位可以依据下位给出的协议,按照该协议对下位进行存取操作。用在触摸屏或者PLC上就是:通讯命令完全交由宏指令(对HMI而言)或者梯形图(对PLC而言)来完成。
这里要举的例子就是用永宏自由通讯(FUN151 MD1模式)实现对MODBUS_RTU通讯(MODBUS_RTU协议内容网上可以下载)。我觉得RTU的比较难的在于CRC校验的实现,当然永宏本身是有 CRC16 指令的,这样可以省去CRC生成算法,但在一些没有CRC指令的PLC上面,就需要自己编写了,这里来编写CRC算法。
CRC算法说明,大概就是下面这几个意思:
1.设置CRC寄存器,并给其赋值FFFF(hex)。
2.将数据的个8-bit字符与16位CRC寄存器的低8位进行异或,并把结果存入CRC寄存器。
3.CRC寄存器向右移一位,MSB补零,移出并检查LSB。
4.如果LSB为0,重复第三步;若LSB为1,CRC寄存器与多项式码相异或。
5.重复第3与第4步直到8次移位全部完成。此时一个8-bit数据处理完毕。
6.重复第2至第5步直到所有数据全部处理完成,终CRC寄存器的内容即为CRC值。
“自由通讯”的意思是:上位可以依据下位给出的协议,按照该协议对下位进行存取操作。用在触摸屏或者PLC上就是:通讯命令完全交由宏指令(对HMI而言)或者梯形图(对PLC而言)来完成。
这里要举的例子就是用永宏自由通讯(FUN151 MD1模式)实现对MODBUS_RTU通讯(MODBUS_RTU协议内容网上可以下载)。我觉得RTU的比较难的在于CRC校验的实现,当然永宏本身是有 CRC16 指令的,这样可以省去CRC生成算法,但在一些没有CRC指令的PLC上面,就需要自己编写了,这里来编写CRC算法。
CRC算法说明,大概就是下面这几个意思:
1.设置CRC寄存器,并给其赋值FFFF(hex)。
2.将数据的个8-bit字符与16位CRC寄存器的低8位进行异或,并把结果存入CRC寄存器。
3.CRC寄存器向右移一位,MSB补零,移出并检查LSB。
4.如果LSB为0,重复第三步;若LSB为1,CRC寄存器与多项式码相异或。
5.重复第3与第4步直到8次移位全部完成。此时一个8-bit数据处理完毕。
6.重复第2至第5步直到所有数据全部处理完成,终CRC寄存器的内容即为CRC值。
举例:对 02H 03H 07H D0H 00H 03H 这6个数据进行CRC校验。我们可以事先用winproladder算出这6个数据的CRC校验值或者在通讯表格里面,拖动选中需要进行CRC校验的寄存器号,也可以得出CRC值,如下图
现在通过编程来计算CRC了,我把这个过程做成子程序,并且命名为 CRC,说明
1. R100=FFFFH(CRC寄存器),在CRC运算前,事先被赋值;
2. V 指针,在CRC运算前,先被清零;
3. 02H 03H 07H D0H 00H 03H 被放在 R6003 ~R6008 这6个寄存器内。
再来看看主程序部分
通过监视页观察 CRC结果
由于CRC校验结果是高低位对调的,这里把CRC累加器的值对应存放到需要存储CRC结果的寄存器就可以了。
永宏的B1/B1z系列PLC之前不能使用CRC16指令,所以之前的CRC结果比较麻烦,但现在winproladder V3.20里面,B1/B1z已经支持该指令,并且也可以进行浮点运算了。
般模型
印刷开槽模切机一般由以下几个部分组成:
(1) 送纸部:电控部分采用PLC、触摸屏和变频器。操作员可在触摸屏设定纸张的长、宽等相关数据,调整前挡板、侧挡板的位置,使得后续的各部定位准确,取得良好的印刷、模切效果。
(2) 印刷部:由多个单色印刷部组成,均采用PLC与触摸屏控制。彩色原稿经过电子分色制版成反面图像,然后通过印刷机进行印刷,将水墨从印刷机网纹辊上转移到印刷版上,再将水墨从印刷版上转移到瓦楞纸板上。通过套色、叠色得到正面的图像,实现原稿样箱的复制。在触摸屏上可以调整印刷位置,印压滚筒的深度等。
(3) 开槽部:对印刷好的纸板进行压线开槽的工序。各刀具的位置通过触控画面可调。
(4) 模切部:模切的相位可通过触摸屏调整设定,由PLC程序控制,配合高速脉冲计数,取得的开模效果。
技术难点
由印刷开槽模切机具备的功能来看,它对所采用的PLC提出了以下的挑战。
(1) 位置检测比较多,位置信号是通过编码器给PLC的www.plcs.cn,因此对PLC的高速计数器的数量有要求。如送纸部有6个编码器,印刷部各站有8个编码器,开槽部和模切部各有7个。虽然反馈脉冲的频率不高,但一般计数器是无法胜任的。
(2) 各站之间需要作数据通讯,如各站的故障信息,位置参数与当前值,生产参数,互锁信号等等。这些数据的收发,有的是主站与从站之间的,也有的是从站与从站之间的。因此通讯部分的控制程序设计是一个难点。
(3) 各个站都需要控制变频器,一般用通讯方式控制。因此对通讯口的数量有要求。
(4) 程序量较大。
永宏方案
永宏PLC是台湾永宏电机股份有效公司研发生产的小型PLC,近20年的专注研发,永宏FBs系列的性能与品质在小型PLC上睥睨业界,甚至可媲美中型PLC。
FBs系列的MC高功能型主机,具备以下高端性能:
(1) 单机大支持5个通讯口,支持RS-232,RS485,USB和以太网接口。
(2) 单机支持8个高速计数器,4个硬件高速计数器的输入频率为单独200kHz,4个软件高速计数器的输入频率为总和5kHz。
(3) 单机支持4轴高速脉冲数出,大输出频率为200kHz。
(4) 单机支持16点 中断输入,本体的输入点具有信号捕捉功能。
(5) 全系列具有20k步的程序容量。
系统结构图:
使用PLC通讯控制变频器是一种经济可靠的控制方式,目前为常见的是MODBUS与自由协议这两种通讯形式。前者编程简单,但变频器必须支持MODBUS协议,有很大的局限性。后者虽然编程复杂,但却可以实现用户自定义的通信协议去连接多种智能设备。自由口通信方式是永宏PLC的一个很有特色的功能,它使永宏PLC可以与任何通信协议公开的其他设备、控制器进行通信。本文主要针对PLC自由口通讯在控制变频器过程中如何任意修改变频器频率这一难点,提出一些见解和方案。
2技术要点
自由协议通讯是通过串行通讯来实现的,串口通讯重要的是波特率,数据位,停止位和奇偶校验。对于需要通讯的上下位机来讲,这些参数必须一致:
1. 波特率:通讯速度参数,表示每秒传送Bit的个数。
2.数据位:衡量通讯中实际数据位的参数,标准的ASCII码0-127为7位。扩展的ASCII码0-258为8位。
3. 停止位:用于表示单个数据包的后一位,既是传输结束的标志,又是计算机校正时钟同步的参数。
4.奇偶校验:串行通讯中一种简单的检错方式,分奇,偶,高,低和无校验五种。
除上述参数需要保持一致外,自由口通讯还要注意SUMCHECK即总和校验,在PLC自由口控制变频器过程中,PLC要指挥变频器完成不同的功能和动作,就会有各种各样不同的数据,数据不同总和也就不同,因此本文通过以下实例来叙述永宏PLC在自由通讯中总和校验以及任意频率写入变频器的处理方法。
3系统组成:
3.1硬件系统
硬件系统由永宏FBS系列PLC,通讯板FBS-CB5与士林SS系列变频器组成。见下图:
图1 永宏PLC控制士林变频器自由口通讯实物图
系统接线示意图:
图2 永宏PLC控制士林变频器自由口通讯接线示意图
3.2通讯协议说明
变频器通讯协议
变频器采用士林SS系列变频器,上位机与士林变频器间之数据通信的通讯规则与数据格式如下:
图3 士林变频器通讯规则示意图
数据使用十六进制,上位机与变频器自动转换成ASCII码做通信,变频器至上位机之资料送信要求
(资料写入)
格式A
(数据读取)
格式B
永宏PLC通讯指令
永宏提供FUN151(Cbbbb)通讯联机便利指令来完成与智能型外围通过通讯方式作联机整合应用。其中FUN151(Cbbbb)通讯指令的MD1模式是自由协议主动通讯模式,即自由口通讯协议。
FUN151(Cbbbb)通讯指令的MD1模式说明:
4 PLC通讯控制变频器功能的实现
控制思路:将变频器运行所需的各项数据分别传送到永宏FUN151(Cbbbb)通讯指令的SR+0到SR+N寄存器中,其中总和校验与频率数据写入的数据经过处理后传入寄存器即可。程序见下图:
4.1 永宏FUN151(Cbbbb)通讯指令程序
4.2 变频器运行所需的各项数据的传入程序
4.3 变频器运行频率处理程序
频率数据通过文本或者人机界面写入数据至PLC的寄存器D0时,首先需将其转换为ASCII码,如上图所示通过永宏FUN64号指令将D0变化为ASCII码,FUN64号指令会将数据转换后存储在D10-D134个寄存器中,此时将D12与D13传送到FUN150号指令中变频器频率参数寄存器中即可。
4.4 各项数据总和校验的处理程序
将变频器所需数据通过永宏FUN24号指令运算的出总和,再通过永宏FUN64指令将其转换为ASCII码取低2为传送至FUN150指令的SUMCHECK即总和校验寄存器。
4.5 变频器通讯参数的设置
除上述程序外,变频器正确的通讯参数设置也是正常通讯的关键因素,具体参数设置如下:
控制方式来源:1(Pr31)为通讯控制
波特率:;9600(Pr32);
站号:3(Pr36);
数据位: 8BIT(Pr48);
停止位:1停止位(Pr49);
校验:无校验(Pr50);
CR校验(Pr51)
将波特率、停止位、数据位、校验设定与PLC端的Por2口一致,其他参数根据需要做调整。
5 结论
本文通过实例叙述了永宏PLC自由口通讯的使用方法和自由口通讯任意修改变频器频率功能实现的方法,弥补了工业控制中所遇到的不具备MODBUS等统一通讯协议的变频器通讯应用的局限性,使PLC控制变得更加灵活,具有一定的推广价值,同时也说明了永宏PLC通讯功能的强大与易用性。