西门子 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;<