资源描述:
《三菱PLC编程口协议详情.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、最近做一个PC通过编程口与FX PLC通讯的程序,在网上找好久,部软元件的地址还是找不全。没办法,只好使用串口监视软件分析 GX Developer PLC编程软件发送的代码由于没有寄存器类型信息,所以地址的计算十分关键,如D100和M100分别对应哪个地址呢?下面就是三菱Fx系列PLC地址对应表:PublicConstPLC_D_Base_AddRess=4096PublicConstPLC_D_Special_Base_AddRess=3584PublicConstPLC_Y_Group_Base_AddRess=160PublicConstPLC_PY_Group_Bas
2、e_AddRess=672PublicConstPLC_T_Group_Base_AddRess=192PublicConstPLC_OT_Group_Base_AddRess=704PublicConstPLC_RT_Group_Base_AddRess=1216PublicConstPLC_M_SINGLE_Base_AddRess=2048(命令为7或8时)PublicConstPLC_M_Group_Base_AddRess=256PublicConstPLC_PM_Group_Base_AddRess=768PublicConstPLC_S_Group_Base_Ad
3、dRess=0PublicConstPLC_X_Group_Base_AddRess=128PublicConstPLC_C_Group_Base_AddRess=448PublicConstPLC_OC_Group_Base_AddRess=960PublicConstPLC_RC_Group_Base_AddRess=1472PublicConstPLC_TV_Group_Base_AddRess=2048PublicConstPLC_CV16_Group_Base_AddRess=2560PublicConstPLC_CV32_Group_Base_AddRess=307
4、2当我们用DEVICEREAD命令时,D100地址=100*2+4096;M100地址=100+256;不同的是D类型寄存器存放的是字,M寄存器存放的是位,同样是读两个字节,D100返回的就是PLC中D100地址的值,M类型寄存器返回的是M100到M116的值。所以当我们用FORCEON命令时,M100寄存器地址=100+2048;这也没有什么复杂的,不是吗?可是三菱公司好像不甘于如此,FORCEON/Off命令中地址排列与DEVICEREAD/WRITE不同,是低位在前高位在后。如Y20,地址是0510H,代码中4个字节地址表示为:1005。(注意:Y寄存器为八进制,如Y20
5、地址=16+1280=0510H)三菱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 "8" X,Y,M,S,T,C //复位传输格式: RS232C波特率: 9600bps奇偶: even校验: 累加方式(和校验)
6、字符: 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,34HSUM=CMD+......+ETX;30h+31h+30h+46h+36h+30h+34h+03h=74h;累加和超过两位取低两
7、位命令格式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 DATA 2ND DATA ..... LAST DATA E