资源描述:
《三菱plc编程口协议》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、最近做一个PC通过编程口与FX PLC通讯的程序,在网上找好久,内部软元件的地址还是找不全。没办法,只好使用串口监视软件分析 GX Developer PLC编程软件发送的代码三菱FX系列PLC编程口通信协议总览该协议实际上适用于PLC编程端口以及 FX-232AW 模块的通信。感谢网友visualboy提供。通讯格式:命令 命令码 目标设备 DEVICE READ CMD "0" X,Y,M,S,T,C,D DEVICE WRITE CMD "1" X,Y,M,S,T,C,D FORCE ON CMD " 7" X,Y,M,S,T,C FORCE OFF CMD
2、 "8" X,Y,M,S,T,C 传输格式: RS232C波特率: 9600bps奇偶: even校验: 累加方式(和校验)字符: ASCII 16进制代码: ENQ 05H 请求 ACK 06H PLC正确响应 NAK 15H PLC错误响应 STX 02H 报文开始 ETX 03H 报文结束 帧格式:STX CMD DATA ...... DATA ETX SUM(upper) SUM(lower) 例子:STX ,CMD ,ADDRESS, BYTES, ETX, SUM02H, 30H, 31H,30H,46H,36H, 30H,34H, 03H, 37H
3、,34HSUM=CMD+......+ETX;30h+31h+30h+46h+36h+30h+34h+03h=74h;累加和超过两位取低两位命令格式1、 DEVICE READ(读出软设备状态值)计算机向PLC发送:始 命令 首地址 位数 终 和校验STX CMD GROUP ADDRESS BYTES ETX SUM例子:从D123开始读取4个字节数据02h 30h 31h,30h,46h,36h 30h,34h 03h 37h,34h地址算法:address=address*2+1000h再转换成ASCII31h,30h,46h,36hPLC返回STX 1ST
4、 DATA 2ND DATA ..... LAST DATA ETX SUM注:最多可以读取64个字节的数据例子:从指定的存储器单元读到3584这个数据02h 33h 35h 38h 34h 03h 44h,36h 2、DEVICE WRITE(向PLC软设备写入值)始 命令 首地址 位数 数据 终 和校验STX CMD GROUP ADDRESS BYTES 1ST DATA 2ND DATA ...... LAST DATA ETX SUM例子:向D123开始的两个存储器中写入1234,ABCD02h 31h 31h,30h,46h,36h 30h,34h 3
5、3h,34h,31h,32h,43h,44h,41h,42h 03h 34h,39hPLC返回ACK (06H) 接受正确NAK (15H) 接受错误 3、位设备强制置位/复位FORCE ON置位始 命令 地址 终 和校验STX CMD ADDRESS ETX SUM02h 37h address 03h sumFORCE OFF复位始 命令 地址 终 和校验STX CMD ADDRESS ETX SUM02h 38h address 03h sum PLC返回ACK(06H) 接受正确NAK(15H) 接受错误设备强制中的地址公式:Address=Address
6、/8+100h 说明:1.帧中的BYTES表示需要读取或者写入的字节数。2.地址算法上有说明。3.累加和是从STX后面一个字节开始累加到ETX的和。通过串口监视得到的数据如下:PLC型号:FX0N使用 GX Developer 的 在线-调试-软元件测试 功能以下列出不同的操作发送的不同内容,前面一段是 Hex码 后面一段是对应的ASCII码//////////////////////////////////CMD ON YO//////////////////02 37 30 30 30 35 03 46 46 .70005.FF//////////
7、////////////////////////CMD OFF YO/////////////////////02 38 30 30 30 35 03 30 30 .80005.00//////////////////////////////////CMD ON Y1////////////////////02 37 30 31 30 35 03 30 30 .70105.00//////////////////////////////////CMD OFF Y1//////////////////02 38 30 31 30 35 03 30 3
8、1