恭喜,你发布的帖子
发布于 2021-09-03 01:09:21
10楼
再次感谢大家的回复和讨论,我觉得结论都清晰了
现在还有个疑问:
https://support.industry.siemens.com/cs/de/en/view/109478253/zh
根据系统特性的描述,推荐使用以下解决方法:
在平行进程中需要避免同时向同一变量写入数据。
创建一个全局数据块包括两个完全独立的数据结构(使用PLC数据类型),分别用于HMI和PLC访问。
其中一个数据结构仅用于进程一的写入,如HMI。
另一个数据结构仅用于进程二的写入,如PLC。
用户可以同时使用两个进程向两个数据机构中读取数据。
这样可以避免平行进程中数据互相覆盖。
访问数据块时,要避免优化和非优化区域的交换。S7-1200/S7-1500中有“优化块访问”的设置,但S7-300/S7-400中不支持。当使用S7-1500时,推荐将块访问设置为“优化”模式。用户可以在“属性”选项卡中修改块访问模式。
这里原文意思是否是我只要使用优化的DB就能解决这个问题? 因为我看西门子官方示例也是用的inout 结合一个UDT(我这里理解为一个struct,所以会认为是一个指针操作)。
实际上这个问题同样适用于循环中断的情况。
请填写推广理由:
分享
只看
楼主