回复:S7通讯协议写入FB块INOUT引脚失败

Zane

版主 西门子1847工业学习平台

  • 帖子

    20581
  • 精华

    394
  • 被关注

    1432

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

发布于 2024-05-09 22:56:47

9楼

展开查看
以下是引用王文杰西门子在2024-05-09 10:07:48的发言 >6楼

通讯和程序执行不应在同一时间执行吧,应该是程序执行-通讯-程序执行的方式交替进行吧?

以下是引用yufeng186在2024-05-09 09:33:29的发言 >4楼:INOUT类型执行顺...

引用4楼详细内容:

INOUT类型执行顺序为先读入再执行FB的程序然后写出,所以在FB程序执行期间HMI写入的数据FB是无法获取的,都会被FB写出的动作所覆盖。

以下是引用王文杰西门子在2024-05-09 09:13:19的发言 >2楼:感谢冬圣的讲解,关...

引用2楼详细内容:

感谢冬圣的讲解,关于通讯方面给了标准规范的解决思路。但是关于INOUT引脚类型,为何会出现此种现象仍不太理解。通讯过程不是直接操作的DB块数据吗,通讯操作完成后,程序块对填入引脚的DB数据再次进行操作。既然通讯操作已经完成,程序块的操作为何会造成通讯写入失败的现象?

以下是引用宝冬在2024-05-08 15:18:03的发言 >1楼:FB实例的内外存...

引用1楼详细内容:

FB实例的内外存储差异,InOut参数的内外传递,到底是copy传递还是reference传递,就不提了。


plc作为一个节点,和其它节点之间的通信,采用接口式隔离就可以了。从多上位节点控制的角度看,也应该做写入隔离。如下图






数据对象的构成,都是读写分开的。


上面的设计是:多个第三方节点,共用一套写入缓存,但需要每个节点做Access控制。


如果不打算让任何第三方节点,去做任何Access控制的更改,那就给每个节点准备一个单独写入缓冲区,在PLC内部做写入选择和回写覆盖就可以,但是有些费内存和费通信。


这与西门子PLC的通信机制有关


CCP与SLICE两种通信机制,现在博图采用的是SLICE的通信机制,西门子的赵欣赵工在其专题讲座有专门的一课,你可以去学习一下。




Zane 注册自动化系统工程师 Always save before download
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有14509条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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