还剩2页未读,继续阅读
文本内容:
三菱FX系列PLC编程口通信协议总览三菱FX系列PLC编程口通信协议总览该协议实际上适用于PLC编程端口以及FX-232AW模块的通信通讯格式命令 命令码 目标设备DEVI__ READ CMD 0 XYMSTCDDEVI__ WRITE CMD 1 XYMSTCDFOR__ ONCMD 7 XYMSTCFOR__ OFF CMD 8 XYMSTC传输格式: RS232C波特率: 9600bps奇偶: even校验: 累加方式(和校验)字符: ASCII16进制代码 ENQ 05H 请求ACK 06H PLC正确响应NAK 15H PLC错误响应STX 02H 报文开始ETX 03H 报文结束帧格式STX CMD DATA ...... DATA ETX SUMupper SUMlower例子STX CMD ADDRESS BYTES ETX SUM02H 30H 31H30H46H36H 30H34H 03H 37H34HSUM=CMD+......+ETX;30h+31h+30h+46h+36h+30h+34h+03h=74h;累加和超过两位取低两位
1、DEVI__ READ(读出软设备状态值)计算机向PLC发送始 命令 首地址 位数 终 和校验STX CMD GROUP ADDRESS BYTES ETX SUM例子从D123开始读取4个字节数据02h 30h 31h30h46h36h 30h34h 03h 37h34h地址算法:address=address*2+1000h再转换成ASCII31h30h46h36hPLC返回STX 1ST DATA 2ND DATA ..... LAST DATA ETX SUM注最多可以读取64个字节的数据例子从指定的存储器单元读到3584这个数据02h 33h 35h 38h 34h 03h 44h36h
2、DEVI__ WRITE(向PLC软设备写入值)始 命令 首地址 位数 数据 终 和校验STX CMD GROUP ADDRESS BYTES 1ST DATA 2ND DATA ...... LAST DATA ETX SUM例子向D123开始的两个存储器中写入1234ABCD02h 31h 31h30h46h36h 30h34h 33h34h31h32h43h44h41h42h 03h 34h39hPLC返回ACK 06H 接受正确NAK 15H 接受错误
3、位设备强制置位/复位FOR__ ON置位始 命令 地址 终 和校验STX CMD ADDRESS ETX SUM02h 37h address 03h sumFOR__ OFF复位始 命令 地址 终 和校验STX CMD ADDRESS ETX SUM02h 38h address 03h sum PLC返回ACK06H 接受正确NAK15H 接受错误设备强制中的地址公式:Address=Address/8+100h说明
1.帧中的BYTES表示需要读取或者写入的字节数
2.地址算法上有说明
3.累加和是从STX后面一个字节开始累加到ETX的和三菱FX系列PLC编程口通信源代码fx_comm.h FX系列PLC四种通信模式的特性 首先讲讲FX系列PLC的通信方式 FX系列PLC根据使用的通信模块与协议不同,分为以下四种通信模式
1、PLC的N:N通信方式
2、PLC双机并__信方式
3、PLC与计算机专有协议通信方式无须梯形图,电脑直接读写操纵PLC
4、PLC与计算机无协议通信方式梯形图RS指令方式,可自定义通信协议 以下将详细列出各通信模式的特性 N:N网络 PLC并联 专用协议计算机连接 无协议通信传输标准 RS485 RS485/RS422 RS485/RS422或RS232传输距离 500m RS485/RS422:500mRS232:15m连接数量 8站 1:1 1:NN=16 1:1通信方式 半双工 FXFX2cFXon:半双工FX2n: 全双工数据长度 固定 7bit/8bit校验 无/奇/偶停止位 1bit/2bit波特率 38400bps 19200bps 300/600/1200/2400/4800/9600/19200头字符 固定 无/有效尾字符 控制线 ------ 协议 --- 格式1/格式4 无和校验 固定 无/有效 适用机型 FX2nFXon FX2nFXFX2c FX2nFXonFXFX2cFX系列PLC专用协议通信指令一览 以下将详细列出PLC专用协议通信的指令指令 注释 BR 以1点为单位,读出位元件的状态 WR 以16点为单位,读出位元件的状态,或以1字为单位,读出字元件的值 BW 以1点为单位,写入位元件的状态 WW 以16点为单位,写入位元件的状态,或以1字为单位,写入值到字元件 BT 以1点为单位,SET/RESET 位元件 WT 以16点为单位,SET/RESET 位元件,或写入值到字元件 RR 控制PLC运行RUN RS 控制PLC停止STOP PC 读出PLC设备类型 TT 连接测试 注位元件包括XYMS以及TC的线圈等; 字元件包括DTCKnXKnYK__等FX系列PLC专用协议通信指令格式详解约定说明ENQ为请求标志,ASCII值5VB中以chr5表示; ACK为正确标志,ASCII值6VB中以chr6表示; STX为请求标志,ASCII值2VB中以chr2表示; EXT为请求标志,ASCII值3VB中以chr3表示; 表格中红色字为需要求和效验的部分; 和效验为每一项的ASCII值的总和转换成十六进制后区低两位; 站号、PLC号、元件数量、和效验都是以十六进制表示; 等待延时为0-150毫秒以十六进制0H-FH表示,如100ms为AH
1、批量读出位元件--BR指令 格式 1 2 3 4 5 6 7 8 15 16 17PC侧 ENQ 站号 PLC号 BR 延时 首地址 数量 和效验 ACK 站号 PLC号PLC侧 STX 站号 PLC号 数据 EXT 和效验 9 10 11 12 13 14 [注] 上述中
1、PLC号系统默认为FF;
2、首地址 应以十进制表示,如首地址X0018表示从X寄存器的第18地址单元开始读取I/O量;
3、数量表示读取的I/O量个数;
4、和效验是指从站号到数量之间的各代码的ASCII码的累加和;
5、PLC侧的响应码中和效验是指从站号到EXT之间的各代码的ASCII码的累加和
6、可以读出X、Y和M寄存器的内容例如要读出站号为0的Fx2n系列PLC的X00到X08共9点的状态值,延时100ms假设采用Communication For__tD8120的For__t 1 方式:注 释: 请求 站号 PLC号 命令 延时 元件首地址元件数量 和效验代 码: ENQ 0 0 F F B R A X 0 0 0 0 0 9 4 2ASCII码: 05H 30H 30H46H 46H 42H 52H 41H 58H 30H 30H 30H 30H 30H 35H 34H 32H 您只要将以上代码以字符串形式(VB中可以表示为CHR5 00FFBRAX00000942)发送到PLC,就会有正确的回应信息,如下 注 释: 头 站号 PLC号 元件首地址 尾 和效验代 码: STX 0 0 F F 0 0 1 1 0 1 1 0 1 EXT 0 5ASCII码: 02H 30H 30H 46H 46H 30H 30H 31H 31H 30H 31H 31H 30H 31H 03H 30H 35H 若发送码有误,则有以下回应注 释: 头 站号 PLC号 和效验代 码: NAK 0 0 F F 0 6ASCII码: 15H 30H 30H 46H 46H 30H 36H
2、批量读出字元件--WR指令 格式 1 2 3 4 5 6 7 8 15 16 17PC侧 ENQ 站号 PLC号 WR 延时 首地址 数量 和效验 ACK 站号 PLC号PLC侧 STX 站号 PLC号 数据 EXT 和效验 9 10 11 12 13 14 该命令使用方法与1BR命令相同,不再赘述
3、批量写入位元件--BW指令 格式 1 2 3 4 5 6 7 8 9 PC侧 ENQ 站号 PLC号 BW 延时 首地址 数量 写入值 和效验 PLC侧 ACK 站号 PLC号 10 11 12
4、批量写入字元件--WW指令(M寄存器100单元置1) 格式01FFWWAM01000100010C 1 2 3 4 5 6 7 8 9 PC侧 ENQ 站号 PLC号 WW 延时 首地址 数量 写入值 和效验 PLC侧 05H 01 FF A M0100 01 0001 0C ACK 站号 PLC号 10 11 12。