回复:PLC的全扫描,尝试理解一下

已锁定

一指禅_LYG

  • 帖子

    256
  • 精华

    0
  • 被关注

    3

论坛等级:侠士

注册时间:2021-06-24

黄金 黄金 如何晋级?

发布于 2021-08-31 11:38:37

5楼

展开查看
以下是引用Zaxife在2021-08-31 11:13:15的发言 >3楼

你这判断是什么语法?C不像C(C里面没有THEN),VBS不像VBS(VBS里面没有 ==);


其实可以理解你的栗子,语法上都没有错,结果也不会有任何的错,错的是人的逻辑错误了。在C里面


IF (I = 10) {}  ' 这个判断永远会是ture,只是程序员理解错了(理解成 I == 10),所以为了防止错误就写成10 = I,这种写法是语法错误编译器一看就知道出问题,因此就有了这种写法防止程序员脑残。


IF (I == 10){} '这个判断是判断 I是否等于10 的正确写法。


以下是引用一指禅_LYG在2021-08-31 10:24:47的发言 >2楼:同意你的说法,长期...

引用2楼详细内容:

同意你的说法,长期有这样的潜意识思路,也许能对回避一些易犯错误的安全补救吧。


但存在也确实是合理的,比如说C语言也有一些常用的规避错误的习惯用法

判断常写成这样


IF 10==I THEN

.........

END;


而不是

IF I==10 THEN

.........

END;


漏掉一个'='这样的语法错误很容易编译器检查出来,而不是直接错误通过需要DEBUG过程才能发现。


以下是引用Zaxife在2021-08-31 10:11:17的发言 >1楼:全扫描?防止多线圈...

引用1楼详细内容:

全扫描?防止多线圈输出?只是一种为了减少错误而设立的一种说法罢了。

说到底还是程序员写程序逻辑不严谨出问题了赖人家的PLC软件不人性化,然后人家软件就强制制定了一些较少错误的规定。但,随之而来的又是不遵守规定带来的更多问题。

最后,只能呵呵了。

最近用SCL混淆了

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15106条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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