摘 要:详细介绍施耐德Premium系列PLC与乔治CVI拧紧扳手控制器进行MODBUS通讯,包括通讯硬件配置、参数配置,CVI MODBUS通讯协议,拧紧扳手控制器数据读写,以及MODBUS通讯诊断。
关键字:MODBUS 协议 波特率 PCMCIA
1.引言
在汽车行业的各种装配线中,拧紧机是装配线上一个最常用的机床和工具,而拧紧扳手控制器往往通过PLC通讯来进行控制,通讯虽然具有技术性强、接线少、线路简洁等优点,但在查找故障时,搞不清通讯的原理、协议和数据读写方法,则很难寻找、分析和判断故障,甚至无从下手,常常在装配线上控制器通讯出现故障时,耽误很长时间,严重影响生产,因此研究PLC与CVI拧紧控制器进行MODBUS通讯具有非常重要的现实指导意义。
2. 配置
2.1 通讯硬件配置
PLC通过CPU上的TSX SCP 114 PCMCIA通讯卡经由线路分支器TSX SCA50连接到拧紧扳手控制器的右侧25针RSB接口。
硬件:
PCMCIA卡:TSX SCP 114
通讯连接电缆:TSX SCP CM 4030 或TSX SCY CM6030(接TSXSCY21601通讯模块)
线路分支器:TSX SCA50
RSB接口,RS485连接,针脚定义如下:
7 0V
11 RT+(DA)
19 RT-(DB)
2.2 PLC配置
本项目PLC采用的是施耐德Premium,软件用PL7 PRO,在“Hardware configuration”中,双击CPU模块的“comm”通讯接口或TSX 20601模块,在通道框内选择“CHANNEL1”,选择所需通讯的通讯卡类型“TSX SCP114 RS485 MP PCMCIA CARD”;
在类型框选择“MASTER”,并选择通讯重试的次数和应答延时;再配置所需其它通讯参数,如选择波特率19200、8个数据位、1个停止位、偶校验。如图1:
图1
2.3 拧紧扳手控制器配置
拧紧扳手控制器采用CVIPC2000软件进行配置。
①串行连接参数配置:
点击Parameters Controller Serial ports 进入串行连接参数配置窗口,点击RSB Port菜单,对外设、串口类型、波特率、数据位、停止位、奇偶校验等进行配置,如图2。
Associated peripheral: PLC
Serial port type: RS485i
Baudrate: 9600
Number of data bitss: 8
Number of stop bits: 1
Parity: none/even/odd
图2
②PLC MODBUS连接配置:
主要配置通讯方式、主/从选择、地址设置等,配置路径及配置如下。
点击 Parameters Controller Peripherals进入外设配置窗口,点击PLC菜单:
在PLC框中选择 JBUS/MODBUS、slave、slave number: 10 (可自行定义),associated port在RSB port串行连接配置后此处会显示为RSB port;
在fieldbus board框中配置: No、slave、network addess: 3、选Cylic、memory transfer:勾选上
设置如图3。
图3
3.CVI MODBUS通讯协议
3.1 命令/状态(二进制输入/输出和网络)
以下表格为所要读写的CVI拧紧控制器的输入输出状态和相关命令。
二进制输入:
一个站包含14个二进制输入,这些数据是物理输入的状态,它们为只读方式,如表1。
表1:
可根据需要对输入状态进行判断和诊断。
二进制输出:
一个站包含15个二进制输出,这些数据是物理输出的状态,它们为只读方式,如表2。
表2:
当合格循环的次数等于设置合格循环的次数时,“循环OK数量”输出为1,即总拧紧OK。
网络输入:
一个站包含14个二进制输入,其中有6个通过网络可用,即SCY(循环启动)、Dir(方向)、RPRq(报告请求)、ES(急停)、reset(复位)、Fail.ACK.(故障确认) ,如表3。
表3:
3.2 结果
拧紧结果包括一般报告、趋势、扭矩、角度、扭矩率等,如表4。
表4:
3.3 选项
通过选项可输出各种所需拧紧结果数据格式。
拧紧扳手控制器默认结果数据格式:
结果值掩码选择,读写地址为0x7829,缺省值W10=7(扭矩+角度+扭矩率)
结果格式,读写地址为0x782A,缺省值W11=0(ASCII字符格式)
结果存储映像类型,读写地址为0x782B,缺省值W12=1 (终值+拧紧趋势值)
输出拧紧结果数据格式如表5:
表5
4.拧紧扳手控制器数据读取
要读取拧紧控制器的数据,首先要掌握PLC的读取命令及其格式,PLC读取数据命令为:READ_VAR(地址,目标类型,目标首址, 目标数量,数据接收区, 返回码)
地址:地址的格式为ADR( { 网络 . 工作站 } 机架号 . 模块号 . 通道号 . 目标地址即从站地址 ),但禁止使用以下地址:{ 网络 . 工作站 } APP,{ 网络 . 工作站 } APP.num和广播地址。
目标类型:在MODBUS通讯方式,目标类型只能为%M:内部位、%MW:内部字。
目标首址:要读目标的首地址、即第一个地址。
目标数量:要读目标的指定长度,即个数。
数据接收区:要读目标的值放到该区域,这些数据是连续存放的。
返回码:读操作的状态及错误码。
16#00: 读操作正确
16#01: 操作错误
16#02: 应答不正确
16#03: 应答长度不符合
下面以扳手控制器1号扳手为例进行数据读取,扳手控制器接在PLC CPU模块的TSX SCP114上,故通讯地址为0号模块(槽),CPU中配置通讯的通道号为1,CVI扳手的地址设为10。
4.1 拧紧扳手控制器输出状态读取
拧紧扳手控制器的输出状态有15个位,这里主要是读取扳手控制器准备好、拧紧OK、拧紧NOK等信号,读取命令如表6。
表6
该指令读0号模块1号通道10号地址,数据(即控制器的输出状态)地址为128(80H)的1个字到%MW1601中,读操作状态返回到%MW1640、%MW1641、%MW1642、%MW1643中。
4.2 拧紧扳手控制器拧紧结果读取
拧紧扳手控制器的拧紧结果,包括一般报告、趋势、扭矩、角度、扭矩率,本项目主要是读两个拧紧扳手的扭矩值和角度值。
下面读取1号扳手拧紧扭矩结果,扭矩读出命令为READ_VAR(ADR#0.1.10,'%MW',6145,3,%MW6000:3,%MW6500:4),该指令读0号模块1号通道10号地址,数据(即扭矩)地址为6145(1801H)的3个字到%MW6000、%MW6001、%MW6002中,读操作状态返回到%MW6500、%MW6501、%MW6502、%MW6503中。返回状态信息主要查看第一个字,其含义见上面说明。两个拧紧扳手的扭矩和角度读取方法相同,改变读取地址即可,数据格式默认为ASCII码,表7为读出的结果。
表7:
在PLC中监控变量的值时,要注意变量值的格式,表中十进制8224=2020H=’ ‘。
5. 拧紧扳手控制器数据写入
PLC写入命令为:WRITE_VAR(地址,目标类型,目标首址, 目标数量, 要写的数据, 返回码)
地址:地址的格式为ADR( { 网络 . 工作站 } 机架号 . 模块号 . 通道号 . 目标地址即从站地址 ),但禁止使用以下地址:{ 网络 . 工作站 } APP,{ 网络 . 工作站 } APP.num和广播地址。
目标类型:在MODBUS通讯方式,目标类型只能为%M:内部位、%MW:内部字。
目标首址:要写目标的首地址、即控制器内部的数据存放地址。
目标数量:要写目标的指定长度,即个数。
要写的数据:要写到目标的值放在该区域,这些数据是连续存放的。
返回码:写操作的状态及错误码。
16#00: 写操作正确
16#01: 操作错误
16#02: 应答不正确
拧紧扳手控制器数据的写入,主要是写控制命令到拧紧扳手控制器,如选择拧紧程序、反转拧松、拧紧扳手控制器复位、清零,它们的写入操作一样,仅要写的值不一样,其值根据需要确定,如要选择5号拧紧程序,则值为37(25H),反转拧松则为96(60H),复位则为512(200H),清零则为0,写入命令如表8。
表8:
该指令写0号模块1号通道10号地址,把%MW1694一个字的值写到地址为132(84H)的控制器中,写操作状态返回到%MW1610、%MW1611、%MW1612、%MW1613中。改变%MW1694的值就可把各种命令写入扳手控制器中。
6. 通讯诊断
在通讯时,通讯诊断非常重要,我们可以通过SCP 114 PCMCIA通讯卡进行诊断。TSX SCP 114 PCMCIA卡上有两个LED指示灯,一个是红色故障灯“ERR”,亮时表示出错,正常情况下熄灭。另一个为黄色通讯灯“COM”,表示线路的通讯状况,有通讯即读写数据时闪烁,读写完后熄灭;无通讯即不读写数据时熄灭。如果无通讯时,黄灯不停地闪烁,属于通讯不正常。两个LED灯的状态诊断如表9。诊断同时还可以查看通讯读写时的返回码,并根据返回码进一步确定通讯故障。尤其要特别注意的是通讯线路的屏蔽接地非常重要。
表9:
7. 结语
CVI控制器使用广泛,其MODBUS通讯应用技术性强,许多自动化人员对其不了解,碰到通讯问题非常棘手,通过上述通讯应用的详细介绍,必将给广大CVI控制器设计和维修人员提供非常实用的技术指导。
如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com