发布于 2010-05-28 19:19:45
13楼
确实有这样的现象。
首先,在NW1中的DB8.DBW18的类型定义,楼主应该是在写完梯形图之后才定义的word类型。这样才导致了这一梯形图会存在。否则这个梯形图根本写不上去。
其次,NW2之后的STL语句之所以转不成LAD,就是因为DB8.DBW8的类型定义不合适,这种的程序在LAD中是通不过的,而STL可以通过,并且能够被正确执行,这也同样是STL比LAD更为灵活的一种表现。
最后,可以尝试出来,这样的LAD语句的存在,不是只在NW1中,而是在程序块(比如FC,或者OB)中的第一次出现的位置。就是说,如果NW1乃至NW10都是正确的,而这个LAD语句出现在NW11,并且是通过先保存了LAD语句,后更改了数据类型的方式保存的,这个LAD语句仍然可以存在,并且可以被正确执行。但是这个功能(本例中的CMP功能)不能编辑修改。这一点,我也不知道什么原因。
综上,虽然这是一个问题,个人估计很可能是STEP7的bug。但是实话说,认为没什么深入讨论的意义。实际编程时要遵守规则,要规矩,这才是正道。
没有个性的签名就别签了。