前言:
如今工业控制系统设计的领域包括交通运输、能源行业、装备制造、机械制造等多个国家关键基础领域。工业控制系统的信息安全问题关系到国家安全和社会稳定。Modbus 协议是一种典型的工业控制系统通信协议,是目前应用最为广泛的工业控制协议之一。由于其设计简单、容易开发的特性,使得Modbus TCP 协议极易被恶意攻击者利用,从而对工业控制系统造成破坏和损失。
通过前两篇模拟器和Smod框架的讲解,相信大家对Modbus有了大概的认识,本文主要是通过Python代码和Mbtget工具多种姿势读写Modbus PLC,让大家对Mdobus有更深入的理解。
一、Modbus_tk库介绍:
Modbus_tk是使用python语言实现的Modbus协议栈,该函数库即支持主机也支持从机,既支持RTU也支持TCP。
下载安装pip install modbus_tk,下图是modbus_tk库包含的内容:
RTU通信读写寄存器
因为代码这块主要讲RTU通信和TCP通信读写寄存器,那什么是RTU呢?Modbus是一种应用层协议,它定义了与基础网络无关的数据单元(ADU),可以在以太网(TCP/IP)或串行链路上进行通信。在串行链路上,Modbus协议有两种传输模式——ASCII模式和RTU模式。其中,ASCII(AmericanStandard Code for Information Interchange)为美国国家信息交换标