三菱PLC编程口协议..docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
三菱PLC编程口协议.

最近做一个PC通过编程口与FX?PLC通讯的程序,在网上找好久,内部软元件的地址还是找不全。没办法,只好使用串口监视软件分析?GX?Developer?PLC编程软件发送的代码 由于没有寄存器类型信息,所以地址的计算十分关键,如D100和M100分别对应哪个地址呢?下面就是三菱Fx系列PLC地址对应表: Public Const PLC_D_Base_AddRess = 4096 Public Const PLC_D_Special_Base_AddRess = 3584 Public Const PLC_Y_Group_Base_AddRess = 160 Public Const PLC_PY_Group_Base_AddRess = 672 Public Const PLC_T_Group_Base_AddRess = 192 Public Const PLC_OT_Group_Base_AddRess = 704 Public Const PLC_RT_Group_Base_AddRess = 1216 Public Const PLC_M_SINGLE_Base_AddRess = 2048(命令为7或8时) Public Const PLC_M_Group_Base_AddRess = 256 Public Const PLC_PM_Group_Base_AddRess = 768 Public Const PLC_S_Group_Base_AddRess = 0 Public Const PLC_X_Group_Base_AddRess = 128 Public Const PLC_C_Group_Base_AddRess = 448 Public Const PLC_OC_Group_Base_AddRess = 960 Public Const PLC_RC_Group_Base_AddRess = 1472 Public Const PLC_TV_Group_Base_AddRess = 2048 Public Const PLC_CV16_Group_Base_AddRess = 2560 Public Const PLC_CV32_Group_Base_AddRess = 3072 当我们用DEVICE READ命令时,D100地址=100*2+4096;M100地址=100+256;不同的是D类型寄存器存放的是字,M寄存器存放的是位,同样是读两个字节,D100返回的就是PLC中D100地址的值,M类型寄存器返回的是M100到M116的值。所以当我们用FORCE ON 命令时,M100寄存器地址=100+2048; 这也没有什么复杂的,不是吗?可是三菱公司好像不甘于如此,FORCE ON/Off命令中地址排列与DEVICE READ/WRITE不同,是低位在前高位在后。如Y20,地址是0510H,代码中4个字节地址表示为:1005。(注意:Y寄存器为八进制,如Y20 地址=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 校验:?累加方式(和校验) 字符:?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,?SUM 02H,?30H,?31H,30H,46H,36H,?30H,34H,?03H,?37H,34H SUM=CMD+......+ETX; 30h+31h+30h+46h+36h+30h+34h+03h=74h; 累加和超过两位取低两位 命令格式 1、?DEVICE?READ(读出软设备状态值) 计算机向PLC发送: 始?命令?首地址?位数?终?和校验 STX?CMD?GROUP?ADDRESS?BYTES?ETX?SUM 例子:从D123开始读取

文档评论(0)

sa74g0hj + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档