回复:用Serialize Deserialize指令来传递数据

已锁定

HUO1921

  • 帖子

    152
  • 精华

    6
  • 被关注

    32

论坛等级:侠圣

注册时间:2012-07-20

普通 普通 如何晋级?

发布于 2023-04-17 08:35:35

32楼

展开查看
以下是引用老学童在2023-04-15 16:54:43的发言 >31楼

谢谢HUO1921大侠回复,此程序有很多值得学习的内容,敢于大胆对原程序进行大刀阔斧的改进,可见功底颇深,本人对程序中一些内容理解还非常初浅,希望大侠不吝赐教:

1) 原程序中使用了"AT"指令,理所当然,其接口要设置成“Set In DB”,原程序中除了“Light_Out_***”和“Sound_Out_***”外,其它均设置为“Non-retain”, 而改进后的程序除新增变量Alm外,Input, Output, Static接口全部设置为“Set In DB”,是否希望这些变量会在背景数据块中设置成保持?

2) 而Static中新增变量Alm设置为“Non-retain”,如此,似乎此变量也可以同新增变量arr一样,在Temp中定义呢?

3) 程序中之所以将字节序列变成字序列是为了适应后续报警处理中的字逻辑指令,不知理解是否正确?

4) 另一大亮点,在程序中,连续在字逻辑和位逻辑中使用“... XOR....AND”,似乎有异曲同工之妙,不知理解是否正确。


以下是引用HUO1921在2023-04-15 11:11:30的发言 >30楼:https://www.ad.siem...

引用30楼详细内容:

https://www.ad.siemens.com.cn/club/bbs/PostStory_1629445_80.html#anch

以下是引用老学童在2023-04-15 00:42:28的发言 >29楼:感谢楼主分享,能分...

引用29楼详细内容:

感谢楼主分享,能分享原程序出处帖子吗?

1.我之前也没注意这地方,现在看了一下,我觉得都设置成“Non-retain”就可以吧

2.Alm就是一个零时变量,不需要保持,的确可以是在Temp中。另外我怎么感觉我和你对“Non-retain”理解不一样,我觉得“Non-retain”是下电不保持,程序运行时一直保持。

3.我们的设备有些设备可能有几十个报警,多一点的有一两百个,每个设备报警个数也不一样,如果用原来的程序,定义报警变量的时候,都得是512个,我觉得有些浪费,改一下之后只要少于512个的都可以。

4.这应该是原程序就这样吧,可能后来版主又修改过,你看到的可能不是最终版本。另外... XOR....AND第一次看到的时候我也觉得这么用挺好。


hongxi-002@qq.com
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有10698条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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