领导又发话了,需要在服务器的虚拟机上搭建一套测试环境,提供给开发做传感器的测试。虚拟机只有一个IP, 如果套用之前写的脚本,每套传感器设备配置需要一个IP,如果都对应这台虚拟机,表面上看起来一次只能测试一套传感器,但是我们目前就有4套,需要写4个脚本,还不能同时运行。后来发现slave id的用处在这里体现出来了,同一个IP下,可以同时配置若干slave id,连接同一个socket,同时启动若干个实验获取modbus slave设置的传感器数据。
# -*- coding: utf-8 -*-
"""
Created on Wed Nov 29 13:43:59 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 = modbus_tk.modbus_tcp.TcpServer(port=502, address='0.0.0.0', timeout_in_sec=3)
server.start()
slave_1 = server.add_slave(1)
sla

本文介绍如何在Python中利用Modbus协议,通过一个IP地址配置多个Slave Id,建立测试环境,以便同时对多套传感器设备进行测试。在虚拟机上,由于资源限制,通常只能分配一个IP,通过设置不同的Slave Id,可以实现多个实验并行进行,大大提高了测试效率。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



