- 1、本文档共46页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* Modbus 主站 Message 指令 创建一个类型为MODBUSLOCPARA的本地变量,并将其指定给MSG指令的LocalCfg 输入。你可以为其设置初始值(如下图),也可以通过变量和逻辑程序来赋值。 MyLocalCfg.Channel=5 (通道号:左起第一个插槽) MyLocalCfg.TriggerType=0 (触发类型:非连续型) MyLocalCfg.Cmd=3 (命令:读保持寄存器) MyLocalCfg.ElementCnt=4 (数据长度:4 个字) Modbus 主站 Message 指令 TargetCfg 用于设置远端(从站),其数据类型是 MODBUSTARPARA,数据结构如下: TargetCfg.Addr TargetCfg.Node Modbus 主站 Message 指令 创建一个类型为MODBUSTARPARA的本地变量,并将其指定给MSG指令的TargetCfg 输入。你可以为其设置初始值(如下图),也可以通过变量来赋值。 MyTargetCfg.Addr=8449 MyTargetCfg.Node=100 Modbus 主站 Message 指令 LocalAddr 用于数据缓存,其数据类型是MODBUSLOCADDR,该类型是一个由125个WORD组成的数组。对读命令而言,LocalAddr 用来储存从从站读来的数据(最多125个WORD)。对写命令而言,LocalAddr 存放需要写入从站的数据(最多123个WORD)。创建一个类型为MODBUSLOCADDR的本地变量,并将其指定给MSG指令的LocalAddr 输入。 Modbus 主站 Message 指令 现在,MSG_MODBUS 指令已经设置成功:通过插在左边第一个插槽的2080-SERIALISOL plug-in 串口模块,用非连续触发的方式,读取从站的48449-48452保持寄存器,数据存放在MyReadData[1]~MyData[4],从站地址为100。 当MSG指令成功执行完成后,输出Q 将置为TRUE (MSG_MODBUS_1.Q=1). 如果MSG指令执行不成功,则输出Q 保持FALSE,输出 Error 置为TRUE (MSG_MODBUS_1.Error=1),同时输出 ErrorID 给出十进制的错误代码。 Modbus 主站 Message 指令 在连续型触发模式下(MyLocalCfg.TriggerType=1), 输出Q 和ERROR 保持false,ERRORID 为 0 每个串口(48 点的控制器可支持5个plug-in串口模块,以及一个内置的串口) 拥有自己独立的数据收发缓冲区。 Modbus 主站 Message 指令 MSG_MODBUS 成功执行完毕: MSG_MODBUS 执行出错: Modbus 主站 Message 指令 故障码及说明 Message 指令编程示例 基本的 MSG 梯形图逻辑: 非连续型 每个IN的上升沿触发一次 当MSG指令被触发时,其输出端 Q 和 Error 将被复位 Message 指令编程示例 基本的 MSG 梯形图逻辑: 连续型 MSG – 尽可能快 只要输入IN为TRUE,Message 指令一旦执行完成后,无论是否成功,都会立即再一次触发,而且不会输出 Q 和Error Message 指令编程示例 高级的 MSG 梯形图逻辑: 连续型 MSG,带 disable 位 与上一个例子基本相同,只是多了一个Message Disabled 功能 Message 指令编程示例 高级的 MSG 梯形图触发逻辑: 连续型 MSG,带 disable 位,以及延时触发功能 当message 成功执行完毕(MSG_MODBUS_4.Q=TRUE) ,或执行出错时(MSG_MODBUS_4.Error=TRUE),定时器开始延时, 延时到达时(TON_1.Q=TRUE),MSG 指令将被再一次触发。 Message 指令编程示例 高级的 MSG 梯形图触发逻辑: 连续型 MSG,带 disable 位,以及延时触发功能, 故障次数计数,并且记录最后一次故障代码 Message 指令编程示例 按顺序执行多个Message指令 多个message指令之间必须互锁,(人们通常想在写入前,先读一次) 这样可容易辨别到底是哪一个Message指令正在执行 (监视MSG_Sequencer 的当前数值就行了) Message 指令编程示例 按顺序执行多个Message指令(第一个Message指令执行完成后,指针加一) Message 指令编程示例 按顺序执行多个Message指令(最后一个MSG指令执行完成后,指针加一) 人有了知识
文档评论(0)