最近在研究modbus master和modbus slave。项目要求实现modbus slave虚拟机来做功能测试。
网上modbus master相关的demo很多,但是modbus slave相关的demo很少。还是Google给力,最后在google上找到一些有用的方法实现。
python是很容易实现modbus slave的工具,简单易上手。
下面是自己写的modbus slave demo。先安装Anaconda,Anaconda相当于安装了python,使用自带的集成开发环境spyder。用的是modbus_tk库实现modbus slave。
# -*- coding: utf-8 -*-
"""
Created on Mon Aug 21 17:00:53 2017
@author: Administrator
"""
import sys
import struct
import modbus_tk
import modbus_tk.defines as mtk
import modbus_tk.modbus
import modbus_tk.modbus_tcp
import time
import random
import string
logger = modbus_tk.utils.create_logger(name="console", record_format="%(message)s")
try:
#server = modbus_tk.modbus_tcp.TcpServer()
#这里的端口和地址都是默认的,地址是本地:
server = modbus_tk.modbus_tcp.TcpServer(port=502, address='127.0.0.1', timeout_in_sec=3)
server.start()
slave_1 = server.add_slave(1)
# slave_2 = server.add_slave(2)