深圳市日业电气有限公司
CM530变频器与三菱FX3U PLC通讯例程说明
(资料编号:V1304161001)
CM530系列变频器提供RS485通信接口,并采用MODBUS通信协议,用户可以通过计算机或PLC实现集中控制,设定变频器运行命令,修改或读取功能码参数,读取变频器的工作状态或故障信息。
三菱PLC要与CM530系列变频器进行MODBUS RTU通信,需要配备一块FX3U-485-BD模块或者专用MODBUS 通信的FX3U-485ADP(-MB)模块。使用前者的时候,只能通过无协议方式进行通信;而使用后者,可以使用MODBUS通信的便利指令,在此,仅对无协议通讯进行说明,使用便利指令通信的请参考相关用户手册。
使用无协议通信方式时,要在程序中定义串行通信的信息内容及使用的通信格式。其中包括:主机轮询(或广播)格式,主机的编码方法;内容包括:要求动作的功能码,传输数据和错误校验等。从机响应也采用相同的结构,内容包括:动作确认,返回数据和错误校验等。如果从机在接收信息时发生错误,或不能完成主机要求的动作,它将发起一个故障信息作为响应反馈给主机。通信协议详细内容请参考CM530用户手册第八章。
输入端子说明:X0正转启动,X1减速停机,X2反转启动。此三个输入端接入点动开关。
此通信程序可分为初始化通信口,报文格式设定,循环发送控制命令,CRC校验计算四部分,以下对各部分进行详细说明。
深圳市日业电气有限公司
一、 初始化
行1:设定通信格式为波特率9600BPS,8位数据,偶校验,1位停止位
行2:设定为8位传输模式 行3:通讯逾时100MS 二、 报文格式设定
D20-D23分别设定从机地址为1,写数据,参数地址为H2000; D24和D25为功能码参数值,高字节都为0,低字节分别由X0,X1,X2控制,当D25为1时,正转启动变频器;为6时,减速停机;为2时,反转启动。
深圳市日业电气有限公司
三、 循环发送控制命令
M8012为100ms脉冲输出信号,使程序每100ms发送一次控制命令,保持通信。P0 子程序为CRC校验计算子程序。D20-D27为报文内容,D50开始的地址单元存放接收的数据。M8123为接收完成标志位,若要对接收的数据进行处理,可在接收完成后对D50开始的数据进行处理。
深圳市日业电气有限公司
四、 CRC校验子程序
使用RTU帧格式,消息包括了基于CRC的校验方法的错误检测域。CRC域检测了整个消息内容。CRC域是两个字节,包含16位的二进制值。它由传输设备计算后加入到消息中。接收设备重新计算收到的CRC,并与接收到的CRC域中的值进行比较,如果两个CRC值不相等,则说明传输错误。
CRC是先存入0XFFFF,然后调用一个过程将消息中连续的8位字节与当前寄存器中的值进行处理。仅每个字符中的8位数据对CRC有效,起始位和停止位以及奇偶校验位均无效。
CRC产生过程中,每个8位字符都单独与寄存器内容相异或(XOR),结果向最低有效位方向移动,最高有效位以0填充。LSB被提取出来检测,如果LSB为1寄存器单独和预置的值相异或,如果LSB为0,则不进行。整个过程要重复8次。在最后一位(第8位)完成后,下一个8位字节又单独和寄存器的当前值相异或。最终寄存器中的值,是消息中所有字节都执行后的CRC值。
CRC添加到消息中时,低字节先加入,然后加入高字节。
深圳市日业电气有限公司
⑴
D30为CRC值寄存器,V0为变址寄存器,进入子程序,先对这两个值进行初始化。
D20-D25为需要计算CRC的有效字节,因此大循环执行6次。
(1) 分解CRC的高低字节,分别将低字节存于D31,高字
⑵
⑶
⑷
深圳市日业电气有限公司
节存于D32,并将CRC低字节与发送字节相异或,异或后清理高字节,并与原来的高字节(D32)合并,再返回CRC寄存器。
(2) 提取最低位,高位补0,M8022为进位标志位,若最低位为1,CRC值与0XA001异或,为0则进行一位检测。
(3) 变址寄存器加1,对下一个8位字节进行上述运算。 (4) CRC寄存器的高低字节分开,低字节加入到消息帧的D26中,高字节加入到D27中。子程序返回。