我需要在MATLAB中运行这个python代码。谁能指引我吗?

12个视图(30天)
这是python代码:
从pyModbusTCP。客户端导入ModbusClient
导入的时间
#初始化变量
# # # # # # # # # # # # # # # # # #
executionTime = 0
MODBUS_SERVER_IP = " 192.168.125.6 "
#你的电脑必须有一个像192.168.1解决IP。xxx例如192.168.1.10
#过程初始化
# # # # # # # # # # # # # # # # # #
#设置modbus TCP连接参数
c = ModbusClient(主机= MODBUS_SERVER_IP端口= 502,auto_open = True)
c.host (MODBUS_SERVER_IP)
c.port (502)
c.unit_id (9)
#打开连接
c.open ()
#调试模式
# c.debug(真正的)
#等待建立的连接
time . sleep (5)
#显示寄存器内容
# # # # # # # # # # # # # # # # # #
#显示输入寄存器,爪返回它的状态
readData = c.read_input_registers (0, 6)
打印(“输入寄存器(夹持状态)”)
我= 0
readData价值:
print(我”:“本(值))
我+ = 1
#显示输入寄存器,爪控制参数可以写
readData = c.read_holding_registers (0, 6)
打印(“输出寄存器(爪控制)”)
我= 0
readData价值:
print(我”:“本(值))
我+ = 1
# Initinalise出登记
# # # # # # # # # # # # # # # # # #
#复位输出寄存器的值
响应= c.write_multiple_registers (0, 0, 0, 0))
打印(响应)
#请求自动控制
# # # # # # # # # # # # # # # # # #
#输出寄存器写入请求自动控制
#这需要马基雅弗利治国的rGTO重申
响应= c.write_multiple_registers (0, (0 b0000000100000000, 0, 0))
打印(响应)
响应= c.write_multiple_registers (0, (0 b0000100100000000, 0, 0))
打印(响应)
time . sleep (2)
#显示输入寄存器,爪返回它的状态
readData = c.read_input_registers (0, 6)
打印(“输入寄存器(夹持状态)”)
我= 0
readData价值:
print(我”:“本(值))
我+ = 1
readData = c.read_holding_registers (0, 6)
打印(“输出寄存器(爪控制)”)
我= 0
readData价值:
print(我”:“本(值))
我+ = 1
time . sleep (3)
#请求自动释放
# # # # # # # # # # # # # # # # # #
#打开阀释放
#这需要马基雅弗利治国的rATR重申
响应= c.write_multiple_registers (0, (0 b0000000100000000, 0, 0))
响应= c.write_multiple_registers (0, (0 b0001000100000000, 0, 0))
time . sleep (5)
#紧密联系
# # # # # # # # # # # # # # # # # #
c.close ()
退出()

答案(2)


肖恩·德Wolski
肖恩·德Wolski 2021年6月7日
为什么不使用MATLAB的原生MODBUS支持呢?万博1manbetx MODBUS通信——MATLAB和Simulink (mathw万博1manbetxorks.com)
1评论
Kausthub Narayan
Kausthub Narayan 2021年6月7日
是很有帮助的,如果我可以在MATLAB运行这段代码,无需编写一个全新的代码,因为我不是专家。

登录置评。

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的