IO-Link通信笔记(十二)——系统命令与模式切换

IO-Link通信笔记(十二)——系统命令与模式切换

上一期在讲直接参数页1期间,提到了主站命令MasterCommand,本期我们就来讲一讲主站切换从站状态的逻辑。

首先,从站在初次上电时,IOL处于SIO模式,此时CQ线路无法传输数据,只能进行输入或输出控制,在输出方向下可以设置PNP、NPN或推挽(具体受到PHY芯片功能约束),也因此,此时从站IOL的系统状态机处于非活跃状态。此时主站发出唤醒脉冲,从站在诊断确认唤醒后通过将CQ从SIO模式切换到通信接收(因为IOL只使用一根线路进行信息传输,因此主从之间一方为发送另一方必须为接收),等待主站握手序列发送过来。与此同时IOL协议栈系统用状态机切换到“通信建立”状态,等待握手序列验证通过。

在主站发送握手序列从站验证握手后,主从间达成连接,此时主站进入到上一期说明的直接参数页1的操作中,读取从站直接参数页1存储的信息,同时通过主站命令字节将从站IOL系统状态机切换到预操作preoperate模式。

在预操作模式下,主从之间可以通过带有更长OD字节的M序列进行ISDU交互,主站可以快速获取vendertext、devicetext、productname等很长字节的字符串信息,向上层设备传递,实现设备管理和信息确认。但是需要注意的是,处在预操作模式下,从站不会上报非“通知”类事件,即使有此类事件发生,例如硬件短路造成的过温,从站产生过温事件,只要主站没有将模式切换到操作模式operate,便不会上报事件。这是主站设备开发人员需要注意的事情,切勿在预操作模式内完成交互任务后停留很长时间。

主站获取完毕信息后,通过直接参数页1的mastercommand字节发送数据,控制从站将IOL系统状态机切换到操作模式operate,紧接着,主站通过mastercommand字节发送ProcessDataOutputOperate命令,提示从站此时主站发出的PDout已经是有效数据,从站可以正常解析并信任。主站可以通过ISDU获取到从站所有信息,同时从站也会上报所有发生的事件。主从之间处在稳定的数据交互过程。

在preoperate与operate模式下,主站可以通过mastercommand字节主动发出DeviceStartup或者Fallback命令,让从站IOL系统状态机切换到startup模式或者fallback到SIO模式。

至于MasterIdent与deviceident指令,并非每一次建立连接都会发送,只有在协议栈版本ID发生变化或者主站主动发起时,才会执行该命令。而在执行完毕后,从站会转换状态机到startup模式,等待主站发出preoperate指令或者operate指令切换到对应模式。

以上是本节的全部内容,如果各位读者仍然存在疑惑可以私信发送问题,笔者会一一解答并积累一期文章的内容更新出来。
笔者内容也许会存在错误,欢迎志同道合的开发者一起讨论。我们共同进步!
喜欢我的文章请关注我的微信公众号,我会不定期更新更多干货知识!
在这里插入图片描述

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值