用惯了STEP7,准确来说是SIMATIC Manager进行编程开发的同学,在转战TIA portal后,通常会经历一段“晦涩”的过度期,包括指令库的微小变动、工作界面的大改等等。
又比如:“在博途中,怎么快速切换LAD与STL语言”。
在SIMATIC Manager下,通过执行菜单命令“View->”,可以让当前的编程视图在梯形图、语句表和功能块图之间进行切换,如下图所示。
也就是说,在SIMATIC Manager下,下图两段程序实现的逻辑是相同的,只不过编程视图不同而已。
当然,LAD或FBD编写的程序可以切换为STL,但STL下编写的程序,一般而言,即使切换为LAD或FBD视图,其显示的仍是STL。这是因为在STEP7 V55 以及之前版本中,LAD,FBD等编程语言,首先经过编译会编程STL 的代码,最后才编译成CPU 可执行的OS 机器代码,所以在STEP7 V55 以及之前版本LAD,STL,FBD 在一个程序块的编程中,可以自由切换。
在TIA Portal中,也可以进行编程语言的切换,但进一步研究就会发现,这种切换仅限于LAD和FBD之间的切换,它们和STL之间就不能切换了。如下图所示,FC1是用LAD编写的程序,则它可以切换为FBD;而FB600是用STL编写的程序,你会发现,在“语言“的选项下面,只有STL一项,意味着不能进行编程语言的切换。
这是因为,博途的编程架构(STEP7 V11及以后的版本)已经完全变了。在STEP7 V11之后,SCL,FBD,STL,LAD等几种语言是完全平行,都会被直接编译成CPU的OS 可执行的机器代码,一旦某个程序块在建立后的编程语言就确定了,以后就不能再改成其他编程语言了。
那么,问题就来了,我们在应用中,确实看到在一个块中,既有STL程序段,又有LAD程序段,如下图所示。
这又是怎么实现的呢?
TIA Portal中,STL和LAD(或FBD)确实可以“共存“于一个”块“中,但有一定的前提条件。
-
首先,该“块“的编程语言应该为”LAD“或”FBD“;如果块在创建之初是选择用STL编程的,则该块中所有的程序都只能用STL进行编辑;
-
在由“LAD“或”FBD“创立的块中,右键单击程序编辑区,弹出的快捷选项中,选择”插入STL程序段“,既可在LAD或FBD程序中,插入一段STL程序。
文章来自网络,已找不到原创,侵权立删
西门子TIA博途
3.使用PLCSIM Advanced仿真博途Modbus_TCP
4.使用PLCSIM Advanced仿真博途S7-1500 OPC UA
西门子TIA博途SCL学习
1.西门子PLC用TIA博途SCL语言写的一个产生随机实数的指令块(学习1)
2.