通讯程序设计在自动化系统的应用越来越广泛,例如plc与操作界面的数据交换,通过通讯对变频器的控制,plc的连网等等。WWW.PLCJS.COM——可编程控制器技术门户
要想实现plc的通讯编程,首先所选的plc必须有强大的通讯能力,就是说plc的操作系统能够支持多种通讯格式,通常一种品牌的plc如果能够提供给用户更多的编程自由度,那么这种品牌的技术开发能力就越强大,大多数品牌只能提供固定格式的通讯格式或协议,这就大大局限了plc与其他智能设备的数据交换。plcjs.技.术_网
我们的plc产品具有RS232和光电隔离的RS485两个自由通讯口,两个通讯口可以同时收发数据,几乎可以适应所有通讯格式,可以提供CRC和BCC等多种校验方式。WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
以一台PLC通过485通讯控制多个某品牌的变频器为例:WW.W_PLC※JS_C,OM-PL,C-技.术_网
如果该变频器的波特率是9600b/s,8个数据位,奇校验,1个停止位。那么首先必须在plc的嵌入C窗口的初始化代码区编程一个通讯口设置语句:Set485Port(9600,o,8,1);仅仅一个语句就完成了对485通讯口的编程。plcjs.技.术_网
由于485通讯必须设定主从关系,这里是plc控制多台变频器,所以plc必须设置为主,因此还需在初始化代码区增加一个地址和主从设定语句:SetAddress(1,MASTER);事实上,对于主控制器来说,地址已经失去意义。WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
通讯口已经设置完毕,下面就是如何根据要求将数据发送给变频器。WWW.PLCJS.COM——可编程控制器技术门户
例如一组8字节控制数据如下所示:WWW_PL※CJS_COM-PLC-技.术_网
01h ---->变频器编号P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
03h ---->命令P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
21h ---->两字节参数地址WWW_P※LCJS_CO※M-PLC-技-.术_网
02hWWW_PLCJS@_COM%-PLC-技.术_网
00h ---->两字节参数P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
02hW1WW_P4LCJS_COM-PLC-技.术_网
CRC --->两字节CRC校验马WWW_PLCJS_COM-PLC-技.术_网
CRC P.L.C.技.术.网——可编程控制器技术门户
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
PLC程序:P.L.C.技.术.网——可编程控制器技术门户
Set485TBAddPointer(0);WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
AddNumberTo485TB(0x1);WWW_P※LCJS_CO※M-PLC-技-.术_网
AddNumberTo485TB(0x3);WW.W_PLC※JS_C,OM-PL,C-技.术_网
AddNumberTo485TB(0x21);P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
AddNumberTo485TB(0x2);P.L.C.技.术.网——可编程控制器技术门户
AddNumberTo485TB(0x0);WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
AddNumberTo485TB(0x2);WW.W_PLCJS_COM-PLC-技.术_网
AddCRCTo485TB();WWW.PLCJS.COM——可编程控制器技术门户
Start485Transmit();WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
三菱FX系列PLC编程口通信协议总览P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
该协议实际上适用于PLC编程端口以及 FX-232AW 模块的通信。感谢网友visualboy提供。W1WW_P4LCJS_COM-PLC-技.术_网
通讯格式:WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
命令 命令码 目标设备 WWW_PLCJS@_COM%-PLC-技.术_网
DEVICE READ CMD "0" X,Y,M,S,T,C,D WWW_P※LCJS_CO※M-PLC-技-.术_网
DEVICE WRITE CMD "1" X,Y,M,S,T,C,D WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
FORCE ON CMD " 7" X,Y,M,S,T,C ——可——编——程——控-制-器-技——术——门——户
FORCE OFF CMD "8" X,Y,M,S,T,C WWW_PLCJS@_COM%-PLC-技.术_网
传输格式: RS232CWWW_PLCJS@_COM%-PLC-技.术_网
波特率: 9600bpsWWW_PLCJS_COM-PLC-技.术_网
奇偶: evenWWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
校验: 累加方式(和校验)WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
字符: ASCII WWW_PL※CJS_COM-PLC-技.术_网
16进制代码: WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
ENQ 05H 请求 P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
ACK 06H PLC正确响应 WWcW_PLCJS_COM-PLC-技.术_网
NAK 15H PLC错误响应 WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
STX 02H 报文开始 WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
ETX 03H 报文结束
W1WW_P4LCJS_COM-PLC-技.术_网
帧格式:
plcjs.技.术_网
STX CMD DATA ...... DATA ETX SUM(upper) SUM(lower) WW.W_PLC※JS_C,OM-PL,C-技.术_网
例子:WW.W_PLC※JS_C,OM-PL,C-技.术_网
STX ,CMD ,ADDRESS, BYTES, ETX, SUMWW.W_PLC※JS_C,OM-PL,C-技.术_网
02H, 30H, 31H,30H,46H,36H, 30H,34H, 03H, 37H,34HWWW_PLC※JS_COM-PmLC-技.术_网
SUM=CMD+......+ETX;plcjs.技.术_网
30h+31h+30h+46h+36h+30h+34h+03h=74h;WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
累加和超过两位取低两位plcjs.技.术_网
命令格式WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
1、 DEVICE READ(读出软设备状态值)WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
计算机向PLC发送:WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
始 命令 首地址 位数 终 和校验WWW.PLCJS.COM——可编程控制器技术门户
STX CMD GROUP ADDRESS BYTES ETX SUMWW.W_PLC※JS_C,OM-PL,C-技.术_网
例子:从D123开始读取4个字节数据WWW_PLC※JS_COM-PmLC-技.术_网
02h 30h 31h,30h,46h,36h 30h,34h 03h 37h,34hWWW.PLCJS.COM——可编程控制器技术门户
地址算法:address=address*2+1000hWWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
再转换成ASCIIWWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
31h,30h,46h,36hWWW_P※LCJS_CO※M-PLC-技-.术_网
PLC返回W1WW_P4LCJS_COM-PLC-技.术_网
STX 1ST DATA 2ND DATA ..... LAST DATA ETX SUM——可——编——程——控-制-器-技——术——门——户
注:最多可以读取64个字节的数据WWW.PLCJS.COM——可编程控制器技术门户
例子:从指定的存储器单元读到3584这个数据WWW_P※LCJS_COM-PLC-)技.术_网