故事作者:will666

最近创作

看看TA的故事

【PROFINET通信征文】使用心跳检测实现Put/Get与PN智能从站通讯的同时存在

已锁定

will666

西门子1847工业学习平台

  • 帖子

    2200
  • 精华

    13
  • 被关注

    117

论坛等级:奇侠

注册时间:2009-05-19

钻石 钻石 如何晋级?

【PROFINET通信征文】使用心跳检测实现Put/Get与PN智能从站通讯的同时存在

1012

22

2025-07-27 19:09:40

        最近在设计一款标准控制箱产品,控制箱的控制器选用的是200Smart,多个控制箱可以通过以太网的方式连接1200或1500主站实现设备连锁控制。控制箱与1500 主站的通讯方式有的客户喜欢使用Put/Get方式,主站编程灵活性较高;有的客户喜欢使用Profinet智能从站的方式,通讯速率快并且连接数量不受S7通讯连接数线制。因为是标准产品,不想每次都根据客户喜好更改通讯配置,最好能同时支持两种通讯方式。但是Put/Get通讯的地址要求映射V区,PN通讯的地址要求映射I和Q区,接收主站命令的时候就需要判断哪个命令有效。为了解决这个问题我使用心跳检测方式判断PN通讯是否正常,如果PN通讯正常则优先选择PN通讯方式,并把接收数据move给V区,如果不使用PN通讯方式则使用Put/Get通讯直接赋值到V区,编程时只使用V区变量,具体做法如下:

        1、在200Smart子站里按照同样的结构设置PN通讯和Put/Get通讯地址区,第一个bool量为通讯心跳信号,使用Clock_1Hz秒方波信号作为心跳源。

        2、在子站编程判断PN通讯输入的心跳信号是否周期变化,如果大于5秒不变化则判断PN通讯异常或者未使用,如果PN通讯输入心跳正常则将PN输入数据同步到V区。

        3、在博图中导入从站GSD文件,配置模拟主站及智能从站和通讯地址。


        4、主站将Clock_1Hz秒方波信号输出至PN从站作为通讯心跳源,如果PN通讯断开或者PN没有使用则从站接收不到PN心跳,从而可以方便区分PN通讯是否在用。

       通过以上方法,从站可以自动判断远程主站的通讯方式,当PN通讯有效时默认优先使用PN通讯数据,当PN通讯失效或者未使用时自动转为Put/Get通讯方式。参考这种方法还可以实现两种方式的冗余备份通讯或者双通道通讯,希望对大家能有帮助。


【PROFINET通信征文】使用心跳检测实现Put/Get与PN智能从站通讯的同时存在 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

网友专栏

共有3469条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。