python实现的modbus协议栈485

modbus_tk是使用python实现的modbus协议栈,通过调用modbus_tk可以很方便的实现modbus通信。
在VS CODE中需要先通过pip安装modbus_tk库,其方法可参见:vscode 如何导入python库

下载对应pip
pip install modbus_tk

modbus_tk支持以下功能码:

功能码 编号 含义
READ_COILS H01 读线圈
READ_DISCRETE_INPUTS H02 读离散输入
READ_HOLDING_REGISTERS H03 读寄存器
READ_INPUT_REGISTERS H04 读输入寄存器
WRITE_SINGLE_COIL H05 写单一线圈
WRITE_SINGLE_REGISTER H06 写单一寄存器
WRITE_MULTIPLE_COILS H15 写多个线圈
WRITE_MULTIPLE_REGISTERS H16 写多寄存器
python程序需要进行两部分配置:串口配置和modbus协议配置。

导入库和串口配置:

import serial
import modbus_tk
import modbus_tk.defines as cst
from modbus_tk import modbus_rtu

设定串口为从站

master = modbus_rtu.RtuMaster(serial.Serial(port="COM1",
baudrate=9600, bytesize=8, parity='N', stopbits=1))
master.set_timeout(5.0)
1
2
3
4
5
6
7
8
9
modbus协议配置(举例):

读线圈 01H 1站号 地址2 长度5

out1 = master.execute(1, cst.READ_COILS, 2, 5) #长度指读取的寄存器数,寄存器从指定地址起连续读取
print(out1) #输出读取的结果

读保持寄存器 01H 2站号 地址1 长度6

out2 = master.execute(2, cst.READ_HOLDING_REGISTERS, 1, 6)
print(out2) #输出读取的结果

写单一线圈 05H 1站号 地址8 写入值1

master.execute(1, cst.WRITE_SINGLE_COIL, 8, output_value=1)

写单一寄存器 06H 1站号 地址4 写入值500

master.execute(1, cst.WRITE_SINGLE_REGISTER, 4, output_value=500)

示例代码

-- coding: utf_8 --

import serial
import modbus_tk
import modbus_tk.defines as cst
from modbus_tk import modbus_rtu

def mod(PORT="com2"):

red = []
alarm = ""
try:
    # 设定串口为从站
    master = modbus_rtu.RtuMaster(serial.Serial(port=PORT,
                                                baudrate=9600, bytesize=8, parity='N', stopbits=1))
    master.set_timeout(5.0)
    master.set_verbose(True)

    # 读保持寄存器
    red = master.execute(1, cst.READ_HOLDING_REGISTERS, 0, 9)  # 这里可以修改需要读取的功能码
    print(red)
    alarm = "正常"
    return list(red), alarm

except Exception as exc:
    print(str(exc))
    alarm = (str(exc))

return red, alarm  ##如果异常就返回[],故障信息

if name == "__main__":

mod()

心愿购物单

今天写写想买的东西
第一个是苹果的m1max芯片的笔记本
第二个是尼康z105的微距镜头
第三个是苹果的新型手机13是正在卖的,14的数字我不太喜欢所以暂定iPhone15吧
第四个是尼康的z501.8的镜头
第五个是尼康的z70-200的镜头
第六个是z9的机身,具体看看市场变化
第七个是大疆的稳定器rs3吧
第八个是大疆的无人机御3pro
先写这些吧

拯救干燥皮肤!中医几招轻松应对

一旦燥邪过盛容易出现口眼耳鼻干痒、皮肤干燥脱屑的症状。要想改变这种症状,此时饮食注意适量的增加滋阴润肺的食物,并且适当的增加一些酸甜食物的摄入(存在糖尿病等基础疾病的朋友除外),因为酸甘化阴,也可以起到对抗燥邪,缓解症状的目的。下面就来给大家介绍几种简便易做、又可对抗干燥肌肤问题的茶饮汤羹,供大家参考。

1、雪梨荸荠饮

组成:雪梨1个,荸荠6个

用法:雪梨去皮核切块,荸荠去皮切块,放入榨汁机中榨汁后饮用(根据口味可加入饮用水)

功效:生津润燥

2、莲藕蜂蜜水

组成:莲藕500g

用法:莲藕洗净去皮切块,加入1500ml饮用水,武火煮开15分钟,转小火炖30分钟,待凉后根据口味加入适量蜂蜜

功效:养阴润肺除燥

3、银耳百合羹

组成:银耳1朵,鲜百合30g(干百合减半)

用法:银耳泡发洗净撕成小块,鲜百合洗净;银耳加1500ml饮用水,武火煮开15分钟,转文火炖45分钟,加入百合继续炖15分钟,即可食用

功效:滋阴润肺除燥养颜

注:尽快用完,不宜过夜。

奢侈品的本质

奢侈品不在于解决现有痛点,而在于产生新的渴望

今天来聊一聊电子商务

一提到电子商务,首先先到的就是淘宝京东拼多多抖音快手微店...
之前刚这个行业刚起步阶段是增量市场,用户源源不断的进来,现在这个时代是存量市场,用户就那么多,这家抢那家抢,用户呢这边逛那边逛.
商家想要在本就不多的流量里分一杯羹就得用各种招式应对,这里用的最多也是见效最快的方法就是买流量
等你赚到钱尝到甜头后,再慢慢卡住流量,让你花钱买流量 。而花钱购买流量,就是你亏本的开始!
所以啊,做电商一定要看住钱包,不用病急乱投医