Python3通过串口服务器读取设备Modbus数据【modbus_rtu_over_tcp】

这篇具有很好参考价值的文章主要介绍了Python3通过串口服务器读取设备Modbus数据【modbus_rtu_over_tcp】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、项目背景:

工业采集设备支持ModbusRtu 协议,通讯端口为232串口 或485接口,上位机连接采集终端,不方便走线【串口线 、485总线】,利用现有网络,通过串口服务器进行连接。

Python3通过串口服务器读取设备Modbus数据【modbus_rtu_over_tcp】
Python3通过串口服务器读取设备Modbus数据【modbus_rtu_over_tcp】
实现方案:
1、虚拟串口,上位机通过串口直接采集数据,缺点:需要安装、开启虚拟串口程序,增加不稳定因素,且上位机为Linux系统的话不太好搞。
Python3通过串口服务器读取设备Modbus数据【modbus_rtu_over_tcp】

2、modbus_rtu_over_tcp,通过网络连接直接采集数据。不用加载虚拟串口,稳定性好,跨平台性强。

2、引入功能库:

modbus_tk
Python3通过串口服务器读取设备Modbus数据【modbus_rtu_over_tcp】

https://github.com/ljean/modbus-tk/

3、代码实现:

#!/usr/bin/env python
# -*- coding: utf_8 -*-
import modbus_tk
import modbus_tk.defines as cst
from modbus_tk import modbus_rtu_over_tcp

import struct
import os
import time 

def main():
    
    master_1=modbus_rtu_over_tcp.RtuOverTcpMaster('172.16.1.22', 8023) # 建立Modbus主机连接  串口服务器
    master_1.set_timeout(5.0) #连接超时:5秒
    
    while True:
        
        try:
            data=master_1.execute(1, cst.READ_INPUT_REGISTERS, 0, 2) #读  输入寄存器
            print('读取 172.16.1.22:8023 串口服务器的数据')
            print(data)
            x=struct.unpack('>f',struct.pack('>I',(data[0]<<16)+data[1]))[0]   # 两个 双字节无符号整数 转成 浮点数
            x=round(x,2) #保留两位小数
            print(x)
                
        except:
            exc_type, exc_value, exc_traceback = sys.exc_info()
            e=repr(traceback.format_exception(exc_type, exc_value, exc_traceback))
            print('172.16.1.22 数据读取发生异常') 
            print(e) 
            
        time.sleep(60) #采集频率 一分钟一次

if __name__ == "__main__":
    main()


4、运行效果:

Python3通过串口服务器读取设备Modbus数据【modbus_rtu_over_tcp】文章来源地址https://www.toymoban.com/news/detail-514556.html

到了这里,关于Python3通过串口服务器读取设备Modbus数据【modbus_rtu_over_tcp】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux+python3.6.8+uwsgi+postgresql+django部署web服务器

    我这是使用华为云服务器

    2024年02月06日
    浏览(35)
  • python3 简易 http server:实现本地与远程服务器传大文件

    在个人目录下创建新文件 httpserver.py : 文件内容为python3代码: 在需要暴露的目录下启动http服务,如 /data/codes/ 随后在个人电脑访问 http://ip:8888 即可浏览文件、上传文件:

    2024年02月08日
    浏览(42)
  • python3:四种常见方式从远程服务器下载文件(paramiko、requests、wget、urllib2)

    下载一个文件夹时,便可以使用这个方法, paramiko模块提供了ssh及sftp进行远程登录服务器执行命令和上传下载文件的功能。这是一个第三方的软件包,使用之前需要先进行安装 默认会立即下载文件内容并保存到内存中,如果文件很大,会给内存造成压力 如果文件很大,会给

    2024年02月16日
    浏览(49)
  • AutoDL服务器的镜像版本太高,配置python3.7 tensorflow1.15版本的框架的步骤

    1.选择一个实例,进入后端界面 2. 更新bashrc中的环境变量 查看虚拟环境 可以看到此时有一个base的虚拟环境 但是它的python版本为3.8.10,无法安装tensorflow1.15,所以我们要创建一个新的虚拟环境。 3.创建新的虚拟环境 python 3.7 旧版 TensorFlow 对于 1.15 及更早版本,CPU 和 GPU 软件包是

    2024年02月13日
    浏览(31)
  • 【服务器】python通过JDBC连接到位于Linux远程服务器上的Oracle数据库

    🌈你好呀!我是 是Yu欸 🌌 2024每日百字篆刻时光,感谢你的陪伴与支持 ~ 🚀 欢迎一起踏上探险之旅,挖掘无限可能,共同成长! 没有找到合适的参考链接,在gpt的协作下一步完成了这份指南。欢迎交流 ~ 在Python项目中,如果你的目标是通过JDBC连接到位于Linux远程服务器上

    2024年04月28日
    浏览(41)
  • 通过宝塔辅助部署本地Python爬虫项目到阿里云轻量服务器

    笔记:最近想把本地的一套爬虫项目给搞到服务器上跑跑。 可在本地压缩成zip,手动将压缩包上传到宝塔文件夹,最终要将它解压出来,放到下面图片的路径下。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/35683919ba694d5485ad9b5197549105.png 对于添加python项目这里就不再赘述,详

    2024年02月09日
    浏览(62)
  • 通过Python行命令搭建HTTP服务器结合内网穿透实现外网访问

    Python作为热度比较高的编程语言,其语法简单且语句清晰,而且python有良好的兼容性,可以轻松的和其他编程语言((比如C/C++))建立的模块连接起来,而且python丰富强大的库,经过封装可以轻松调用,因此深受欢迎。 今天我们就尝试用python,建立一个简单的http服务器,用来

    2024年02月09日
    浏览(41)
  • Python开发技能实战-通过配置的代理服务器在具有外网连接的环境中在Pycharm中运行python代码

    打开科学上网工具,使得能够在浏览器科学上网,通过科学上网工具的配置文件,可以看出本地和远程代理的映射关系,此时,远程地址=本地地址,远程端口=本地端口。 1、在程序中配置请求网页代理请求。不需要在Windows上配置代理服务器。这种一般用于爬虫request请求。

    2024年02月06日
    浏览(53)
  • 记一次MOXA串口服务器使用

    AIS船台——天线——AIS基站——网线——交换机——服务器 AIS船台——天线——AIS基站——串口线——串口服务器——网线——交换机——服务器 串口线分为RS-485、RS-422、RS-232,此处以RS-232为例 串口线:一端为RS232连接头,用于连接串口服务器 一端为裸露的电线纤芯头,用

    2024年02月03日
    浏览(67)
  • 卓岚ZLAN串口服务器的配置及应用

    本文所述的串口服务器型号为ZLAN5243A,用作modbus TCP转modbus RTU通讯转换用。 首先接好485通讯的A、B两根线,用网线连接上方以太网网口至电脑,在卓岚官网上下载串口服务器配置工具ZLVirCom,最好也下载一个modscan32工具用作通讯检测。 下载完后打开配置工具ZLVirCom,点击设备管

    2024年02月13日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包