关于西门子200 Smart的双线圈问题

已锁定

WWCWWC

西门子1847工业学习平台

  • 帖子

    8024
  • 精华

    145
  • 被关注

    1334

论坛等级:至圣

注册时间:2008-07-26

钻石 钻石 如何晋级?

关于西门子200 Smart的双线圈问题

14620

23

2018-03-31 07:54:00

star star

关于西门子200 Smart的双线圈问题

   近些天在找答案栏目那里看到有这么一个问题是描述,如何判断、界定双线圈,这是一个普遍而又实际的问题,提问链接:       http://www.ad.siemens.com.cn/service/answer/solution.aspx?Q_ID=187732&cid=1076

附上原问题程序:



   上述程序很显然,编辑的程序有双线圈的嫌疑,所谓“特征”鲜明(多个条件同时或者单独可以给同一个地址写值)。

   那么,下面的程序段是否也算双线圈呢,再附上程序:“特征”仍然鲜明的那种



   当然应该也算是的,写到此我开始“糊涂”了,这不是平时经常在用的编程方式?突然间话说双线圈问题,感觉编辑带有双线圈程序显得熟悉而又陌生起来了呢。

   双线圈先暂时给它“定”个“义”:即2个或2个以上的条件可以写值给同一个线圈的程序段称之为“双线圈”。

   那么,回避编辑双线圈的理由又在哪里?双线圈问题几乎99.99%的编程者都说不允许,道理很显然,容易使程序出错,可我又且且是0.01%的那类,于是,“好奇”地将程序由LAD转换为STL模式,图示:



   “特征”鲜明的程序通过这么轻轻一“点”鼠标转换后,似乎有一点“理解”了程序段实际工作原理的头绪,首先抛开关于对“栈”的含义理解不说,编程人都知道,PLC程序的扫描工作机制是自“上”而“下”,自“左”而“右”的工作模式。那么,理解上述2个程序段的“利”与“弊”就变的简单了许多,同时,我似乎理解了为什么不允许使用双线圈的真正意图的所在,是为了“避免”自己都没有考虑周到;或者没有完全考虑周到的程序逻辑关系的极端做法。因为实际的程序几乎不可能仅仅只有这几句程序语句那样容易判断,在错综复杂的程序结构中,自己几乎需要通过几天或者更长时间编辑过程,很难查找到疑似的双线圈问题。这时,耳边好像飘过来一声“交叉引用”不是解决双线圈的“利器”?但是,马上又有另一种声音传来,如果是指针方式编程你也想试试“利器”吗?“编译”更本不能够解决此类逻辑关联问题。

   一个看似简单的程序段,怎么牵涉出这么多话题。我在实际回答中仅仅写了“知其理,用其道”,凡是均没有绝对的,“合理”地使用是可以的,如、程序段2的置位、复位指令应用,那怕必要时写程序段1的那种。我一般在编辑此类程序段时,基本上思想都比较谨慎,如果需要用到此类编程方式时,用过置位指令后,基本马上就用复位指令来消除心中的“疑虑”,或者在使用之后,“推、敲”一下指令应用的合理性,都说编程应该是一件快乐而慎密的工作,程序结构所处的网络段不同,其结果会大相径庭了的。经常会看到说这“坑”那“坑”的人,实际上只有掉过坑的人才有对“坑”论的深度理解。纵然知道前面有深坑,也深深记得曾经被摔的遍体鳞伤,没有关系勇敢的跨过去,坑一定会在你身后,将抛弃的很远很远、、、、、、双线圈本无错,如果错,则错在如何理解的程度上。


关于西门子200 Smart的双线圈问题 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有7542条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

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