python实现一个IP支持多个Modbus Slave Id

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

领导又发话了,需要在服务器的虚拟机上搭建一套测试环境,提供给开发做传感器的测试。虚拟机只有一个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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值