## 西门子 SCL 实现多从站modbus通讯 MB_maste

该博客介绍了如何使用西门子SCL编程语言实现多个从站的Modbus通信。通过定义一个名为`MUDBUS通信块`的FUNCTION_BLOCK,设置端口号、连接状态、数据地址等参数,进行初始化并使用`MB_COMM_LOAD`和`MB_MASTER`指令进行通信操作。通信过程中,检查错误状态并处理初始化和数据读写流程。
摘要由CSDN通过智能技术生成

西门子 SCL 实现多从站modbus通讯 MB_maste

FUNCTION_BLOCK “MUDBUS通信块”
{ S7_Optimized_Access := ‘FALSE’ }
VERSION : 0.1
VAR_INPUT
port : PORT := 272; // 端口号
start_connect : Bool; // 开始建立连接
END_VAR

VAR_OUTPUT
return_status : Word; // 状态返回值
END_VAR

VAR_IN_OUT
MB_COMM_LOAD_REQ : Bool; // 初始化使能条件
master_REQ : Bool; // MATEB使能条件
INIT_OK : Bool; // 初始化完成位
END_VAR

VAR
Request : Array[0…10] of Struct // 需要读写的数据格式
slaveno : UInt := 2; // 站号
mode : USInt; // 模式
DATAadress : UDInt := 413067; // 数据地址
datalength : UInt := 1; // 数据长度
DATA : Array[0…10] of Int; // 数据
END_STRUCT;
Master_times : USInt; // 读写的当前数据
MB_COMM_LOAD_DB {InstructionName := ‘MB_COMM_LOAD’; LibVersion := ‘2.1’} : MB_COMM_LOAD;
MB_MASTER_DB {InstructionName := ‘MB_MASTER’; LibVersion := ‘2.2’} : MB_MASTER;<

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值