问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

ModbusRTU协议的模块能与台达PLC通讯吗,还是需要通讯协议转换模块?希望各位指点。

发布网友 发布时间:2022-04-10 16:03

我来回答

4个回答

懂视网 时间:2022-04-10 20:25

下面代码功能;读取地址为0x42700 长度为43个数值。

 1 # -*- coding: utf_8 -*-
 2 
 3 
 4 import serial
 5 import modbus_tk
 6 import modbus_tk.defines as cst
 7 from modbus_tk import modbus_rtu
 8 
 9 def mod(PORT="com10"):
10 #print("加载modbus_tk 完成")
11 red = []
12 alarm = ""
13 try:
14  #设定串口为从站
15  master = modbus_rtu.RtuMaster(serial.Serial(port=PORT,
16  baudrate=9600, bytesize=8, parity=‘N‘, stopbits=1, xonxoff=0)) 
17  master.set_timeout(5.0)
18  master.set_verbose(True)
19  
20  #读保持寄存器 03H 1站号 地址2700 长度0-42 
21  red = master.execute(1, cst.READ_HOLDING_REGISTERS, 2700, 43) #这里可以修改需要读取的功能码
22  #print(red)
23  alarm="正常"
24  return list(red),alarm 
25 
26 except Exception as exc:
27  #print(str(exc))
28  alarm = (str(exc))
29  
30 return red, alarm ##如果异常就返回[],故障信息
31 
32 if __name__ == "__main__": 
33 mod()

读取其它数值的功能码,带反馈报文。

功能码:

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  写多寄存器 

 #读保持寄存器 03H 1站号 0地址 长度2 
 logger.info(master.execute(1, cst.READ_HOLDING_REGISTERS, 0, 2))
 #01 03 00 00 00 02 C4 0B


 # 读输入寄存器 04H 
 logger.info(master.execute(1, cst.READ_INPUT_REGISTERS, 0, 8))
 #反馈:01 04 00 00 00 08 F1 CC

 
 # 读线圈寄存器 01H 
 logger.info(master.execute(1, cst.READ_COILS, 0, 6))
 #反馈:01 01 00 00 00 06 BC 08


 
 # 读离散输入寄存器 02H
 logger.info(master.execute(1, cst.READ_DISCRETE_INPUTS, 0, 16))
 #反馈:01 02 00 00 00 10 79 C6 



 # 单个读写寄存器操作 06H
 # 写寄存器地址为0的保持寄存器 06H 
 logger.info(master.execute(1, cst.WRITE_SINGLE_REGISTER, 0, output_value=6))
 #反馈:01 06 00 00 00 06 09 C8 
 logger.info(master.execute(1, cst.READ_HOLDING_REGISTERS, 0, 1))
 #反馈:01 03 00 00 00 01 84 0A


 
 # 写寄存器地址为0的线圈寄存器,写入内容为0(位操作) 05H
 logger.info(master.execute(1, cst.WRITE_SINGLE_COIL, 0, output_value=0))
 #反馈:01 05 00 00 00 00 CD CA 
 logger.info(master.execute(1, cst.READ_COILS, 0, 1))
 #反馈:01 01 00 00 00 01 FD CA


 
 # 多个寄存器读写操作 10H
 # 写寄存器起始地址为0的保持寄存器,操作寄存器个数为4
 logger.info(master.execute(1, cst.WRITE_MULTIPLE_REGISTERS, 11, output_value=[20,21,22,23]))
 #反馈:01 10 00 0B 00 04 08 00 14 00 15 00 16 00 17 AB A9
 logger.info(master.execute(1, cst.READ_HOLDING_REGISTERS, 0, 4))
 #反馈:01 03 00 00 00 04 44 09

 

modbus_tk模块

标签:stop   define   code   ret   nes   time   修改   模块安装   位操作   

热心网友 时间:2022-04-10 17:33

主站是否有rs232或rs485 (应该有)有就直接用modbusrtu通讯指令通讯

热心网友 时间:2022-04-10 18:51

用485可以直接通讯

热心网友 时间:2022-04-10 20:25

可以的啊
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 如何更改上的电话号 微信转账出问题怎么办 找不刭微信标志怎么注册 怎样申请不用手机号注册 江西七彩博士实业有限公司怎么样? 原著中最好的我们谁死了 《最好的我们》什么结局啊? 电视剧《最好的我们》哪些情景能引起你的美好回忆? 《最好的我们》中“余淮”为何不在离别时说清楚反而选择逃避? 《最好的我们》耿耿余淮的结局是什么? 《最好的我们》电视剧根据什么小说改编的? HY-WF9208摄像头用什么app 华海威视摄像头app是什么 《你好旧时光》和《最好的我们》的时间关系是什么? 移动v3a摄像头用什么app 余淮和余周周是什么关系 我的vivox9手机不见了,咋办,怎么找 《最好的我们》中的余淮和《你好旧时光》中的余周周是什么关系? 《最好的我们》振华中学原型是哪个学校? 联想户外摄像头x5q下载什么app 请问CAN转4G模块的4G卡是什么类型的呢? 对竹林七贤的看法,700字 竹林七贤之一的阮籍是个什么样的人?为何用“猖狂”评价? “竹林七贤”之首是谁呢?有怎样的文采特点呢? 两种语言的合同怎么排版 麻辣烫油料都放些什么,怎么做 正式合同world排版要求,例如行间距,字体,标题多大号字等要求。。 麻辣烫的配料怎么做 我因为工作需要,将一份纸质版的合同打成电子版,结果排版出现了问题,是A3的版式,对齐问题,如下图: 万顺叫车司机注册条件是什么? 万顺叫车注册时,服务站怎么选取 请问我没车加入万顺叫车需要什么?? 中信微信信用卡额度是多少 微信申请的工商信用卡,说是四星客户,请问这额度一般有多少? 怎样去判断食物的热量呢? 知道食物重量,如何求出它的卡路里 lsac能不能作为推荐人登陆 直接上传推荐信 lsac 申请人能看到自己的推荐信被投了几所吗 有没有能够查询食物影响和热量的网站或者小工具? LSAC推荐信表格在哪里,是不是填写完推荐人基本信息之后才给?