当前位置:主页 > 百科 > 电工知识 >

三菱PLC串口通信开发心得经验

时间:2023-03-05 | 来源:佚名

记得两年前刚开始从事软件开发工作时,第一份任务就是开发一个程序能够实现与三菱plc 串口通信。所谓通信,其实质主要是对PLC 的D寄存器(dword)读写操作。但是因为日本为了保护其产品,并不开发串口通信协议。在不开发通信协议的情况,如果想实现通信,首先需要做的便是通过数据分析,破解其通信协议。这里就不讲解如何破解了,主要是介绍下当时博主开发程序的背景。
  小编写这篇文章的主要目的是为了分享过去自己的开发经验,因为自己在开发的过程中曾经接受过很多开源软件的帮助,现在这是转入正题。
  涉及字节流数据通信,必然要涉及通信协议。鉴于当时的开发需求,博主仅对D寄存器的读写协议分析过。其他寄存器理论上是相似,有兴趣的同学可以自行分析数据进行测试。
  D寄存器的通信协议相对比较简单,主要可以分为:
  1.问候应答协议
  2.状态查询协议
  3.状态配置协议
  4.数据反馈协议

三菱PLC串口通信开发心得经验

三菱PLC串口通信开发心得经验
  在PLC通信过程中主要的三个难点在于寄存器的加密解密,数据信息加密和解密,以及字符的校验。
  寄存器地址加密过程:
  《span style=“font-size:18px;”》void PLC_dataparse::Encrypt_toPLCaddress( BYTE *parray , const UINT paddress )
  {
  int encode_address = 0x1000 paddress * 2;
  BYTE encrypt_key = encode_address

声明:本文转载自网络,不代表本平台立场,仅供读者参考,著作权属归原创者所有。我们分享此文出于传播更多资讯之目的。如有侵权,请联系我们进行删除,谢谢!

推荐阅读

扩展阅读