- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
M241通过程序修改PLC的串口通信参数
点击“库管理器”?“添加库…”,选择“M2xxCommunication”,然后确定。
添加功能块“SetSerialConf”,建议右键添加使能管脚,按需执行。
定义管脚:
Link:必须为常数,“1”代表串口1,“2”代表串口2
PointerToSerialConf管脚定义变量时,选择默认的类型:Pointer_To_Serial_Conf
如果需要查询串口设置,可以使用“GetSerialConf”。
注意:
在执行编程时更改串行线路端口的配置,可能会中断与其他连接的设备正在进行的通讯。
功能块参数描述
输入
类型
注释
Link
LinkNumber
LinkNumber是通讯端口号。
PointerToSerialConf
指向SERIAL_CONF
的指针
PointerToSerialConf是配置结构的地址(SERIAL_CONF类型的变量),新的配置参数存储在该地址中。
ADR标准功能是定义关联指针的必用功能。(请参见下面的示例。)如果为0,请将应用程序缺省配置设置为串行线路。
输出
类型
注释
SetSerialConf
WORD
此功能返回:
0:新配置已设置
255:拒绝新配置,原因是:
该功能正在使用中
输入参数无效
示例
PROGRAMSR_COM_CHANGE
VAR
SET_COM:SEN_COM.SERIAL_CONF;
SET_COM_ACT:WORD;
TON_COM_INIT:TON;
TON_COM_INIT_DONE:BOOL;
ADDRESS_CAHNGE:BOOL;
END_VAR
VARRETAIN
MOD_ADDRESSAT%MB20:BYTE:=1;//%mw10
MOD_ADDRESS_tAT%MB22:BYTE:=1;//%mw11
END_VAR
功能块结构描述
SERIAL_CONF
结构中包含与串行线路端口有关的配置信息。它包含以下这些变量:
变量
类型
说明
Bauds
DWORD
波特率
InterframeDelay
WORD
Modbus(RTU、ASCII)中2个帧之间的最短时间(毫秒)
FrameReceivedTimeout
WORD
在ASCII协议中,FrameReceivedTimeout使系统经过指定的无收发时间(毫秒)后,在接收时关闭帧结尾。如果为0,则不使用此参数。
FrameLengthReceived
WORD
在ASCII协议中,FrameLengthReceived使系统在控制器已经接收到指定字符数的情况下关闭帧结尾。如果为0,则不使用此参数。
Protocol
BYTE
0:ModbusRTU或SoMachine(请参见CodesysCompliant)
1:ModbusASCII
2:ASCII
Address
BYTE
Modbus地址为0到255(0用于总站)
Parity
BYTE
0:无
1:奇
2:偶
Rs485
BYTE
0:RS232
1:RS485
ModPol(极化电阻器)
BYTE
0:否
1:是
DataFormat
BYTE
7位或8位
StopBit
BYTE
1:1个停止位
2:2个停止位
CharFrameStart
BYTE
在ASCII协议中,0表示帧中没有起始字符。否则,在接收模式下,将使用相应的ASCII字符检测帧的开头。在发送模式下,此字符将添加到用户帧的开头。
CharFrameEnd1
BYTE
在ASCII协议中,0表示帧中没有第二个结束字符。否则,在接收模式下,将使用相应的ASCII字符检测帧的结尾。在发送模式下,此字符将添加到用户帧的结尾。
CharFrameEnd2
BYTE
在ASCII协议中,0表示帧中没有第二个结束字符。否则,在接收模式下,将使用相应的ASCII字符(和
CharFrameEnd1)检测帧的结尾。在发送模式下,此字符将添加到用户帧的结尾。
CodesysCompliant
BYTE
0:ModbusRTU
1:SoMachine(当Protocol=0时)
CodesysNetType
BYTE
未使用
原创力文档


文档评论(0)