我多啰嗦几句,讲一下始末。
去年同事跟我说他lad写的程序一部分程序变成了STL,我问他是不是 把lad视图切换成stl后写了东西就转不回去了,他说不是,而且程序运行也没影响,最终我们也没有解决。
今天我调试看到一句:把一个变量move到mw200, 我顺手(在程序中右击MW200——编辑符号)就给mw200起了个符号名“NO”,保存后,突然发现别的子程序lad写的程序一部分程序变成了STL!我什么也没做啊,会不会跟给MW200起名有关系呢,我就又删除了MW200的符号名“NO”,结果居然好了,明显的因果关系。
我想了想,应该是这样的:符号表命名MW默认是word,而我顺手改的时候并没有注意,二这个mw200在别的子程序中是正在使用的,比如比较指令(int比较),因为STL在做比较和move等指令的时候是不追究变量类型的,step7没办法了,这时就自动把lad中用到mw200的地方给转换成了stl的格式。
这种情况如果是使用mw200的地方在同一个子程序中的话step7会提示的,但是当在不同的子程序中,改完符号名后,就关机下班了,过几天才发现 就不知所措了,还好我改完了正好就发现了。
以上是个人体会,虽然不是什么重大发现,也挺有意思的,有不对的地方,大家多指正啊