SetSerialConf:更改串行线路配置

功能描述

SetSerialConf 用于更改串行线路配置。

图形表示形式

注: 在执行编程时更改串行线路端口的配置,可能会中断与其他连接的设备正在进行的通讯。
 警告
因配置更改导致失去控制
将程序投入使用前,请验证并测试 SetSerialConf 函数的所有参数。
未按说明操作可能导致人身伤亡或设备损坏等严重后果。

参数描述

输入

类型

注释

Link

LinkNumber

LinkNumber 是通讯端口号。

PointerToSerialConf

PointerToSerialConf

PointerToSerialConf 是配置结构的地址(SERIAL_CONF 类型的变量),新配置参数存储在该地址中。ADR 标准函数必须用于定义关联指针。(请参见下面的示例。)如果为 0,请将应用程序缺省配置设置为串行线路。

输出

类型

注释

SetSerialConf

WORD

此功能返回:

  • 0:新配置已设置

  • 255:拒绝新配置,原因是:

    • 该功能正在使用中

    • 输入参数无效

示例

VAR 
  MySerialConf: SERIAL_CONF 
  result: WORD;
END_VAR
(*Get current configuration of serial line 1*)
GetSerialConf(1, ADR(MySerialConf));
(*Change to modbus RTU slave address 9*)
MySerialConf.Protocol := 0;          (*Modbus RTU/Machine Expert protocol (in this case CodesysCompliant selects the protocol)*)
MySerialConf.CodesysCompliant := 0; (*Modbus RTU*)
MySerialConf.address := 9;          (*Set modbus address to 9*)
(*Reconfigure the serial line 1*)
result := SetSerialConf(1, ADR(MySerialConf));