大部分的电气工程师都习惯于梯形图的编程方式。因为它类似于继电器电路图的表达方式直观、易懂,便于分析和推理。但是在S7-300/400中,有些程序只能显示为语句表,无法转为梯形图。
有朋友问:
如下的STL程序:
A I1.0
= Q0.5
A I0.6
= Q0.7
A I1.2
= Q1.0
这样的STL程序,在视图选择LAD时,应能转换为梯形图,但它不能转换,仍为STL语句表程序,选择FBD时,仍不能转换为功能块图,仍为STL语句表程序。通常LAD,FBD或 STL三种形式是可以相互转换的,但它不能,这样的编程技巧,该如何操作。
这样的程序要分成3段才能正常显示出梯形图来,如:
Network1
A I0.0
= Q0.5
Network2
A I0.6
= Q0.7
Network3
……
……
这样才能正确转换为梯形图。
西门子用LAD编写的程序转化为STL是肯定可以的,但STL转为LAD就有的时候不能成功。
因为即使如上例一样,将N个程序段落写在一块,在STL环境下也是允许的,而LAD环境下不不可能编译成功。
-----------------------------------------------------------------------------------------------------------------------------------
类似的还有用STL写的计时器、计数器。
在LAD编辑环境下:
在STL编辑环境下:
可见,即使在LAD编程转到STL时,会出现很多“没用”的指令,如NOP、BLD等,但是我们也不能轻易的删除他们,应为这是显示为梯形图的必要条件。
而在STL编程时,我们很少会注意添加NOP、BLD指令,这样就使得STL语言不能转为LAD。当然这也是STL语言的简洁性的一个体现。
-------------------------------------------------------------------------------------------------------------------------------------
有些指令的使用,如间接寻址,是必须用STL编辑的。这个绝对不能转为LAD。这就使习惯了看梯形图的电气工程师对间接寻址难以理解,无形中增大了间接寻址的难度。使得很多人对间接寻址望洋兴叹……