首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >西门子Logo!8 <-> pymodbus

西门子Logo!8 <-> pymodbus
EN

Stack Overflow用户
提问于 2022-09-26 20:36:15
回答 1查看 162关注 0票数 0

使用西门子Logo!软舒适,我想连接西门子Logo!(8)与pymodbus!

西门子软舒适性网络输入的设置(我还尝试了ID 255单元和Modbus类型的DI(数字输入))

Pc设置,(我尝试过这两个接口)

Pymodbus代码:

代码语言:javascript
运行
复制
import time

client = ModbusTcpClient('192.168.0.3')
print(client.connect())
while True:
    time.sleep(1)
    print(client.write_coil(1, True))
    time.sleep(1)
    print(client.write_coil(1, False))

产出:

代码语言:javascript
运行
复制
True
Modbus Error: [Input/Output] [WinError 10054] An existing connection was forcibly closed by the remote host
Modbus Error: [Input/Output] [WinError 10054] An existing connection was forcibly closed by the remote host
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-29 11:59:32

通过PC连接到Logo有两种方法,一种是Logo充当Modbus服务器,另一种是Modbus客户端。

徽标!作为Modbus服务器:

添加服务器连接:

将选项完全保留为空:

然后,您将在徽标底部看到一个黄色的小套接字:

不需要进一步配置(图表编辑器可以保留为空)

将此配置推送到Logo:

发送modbus-tcp-消息到Logo,如最初的文章所述.目标线圈在Logo!-Settings中进行了描述(它们从1开始,而pymodbus从0开始,因此需要减去1:

因此,如果我们想打开Q1:

代码语言:javascript
运行
复制
from pymodbus.client.sync import ModbusTcpClient

client = ModbusTcpClient('192.168.0.3') # Default port is 502
client.write_coil(address=8192, value=True) # Default unit_id is 1

徽标!作为客户

添加客户端连接:

输入要读取的值:

运行modbus服务器,请参阅文档

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73859701

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档