关于PLC编程语言叙述
国际电工委员会IEC61131标准中规范的五种PLC编程语言的混合编程,即梯形图(LAD)、流程图(SFC)、功能图(FBD) 、结构化文本(ST)和语句表(STL)。
1.梯形图(LAD-LAdder Diagram)
梯形图是使用最多的PLC编程语言。因与继电器电路很相似,具有直观易懂的特点,很容易被熟悉继电器控制的电气人员所掌握,特别适合于数字量逻辑控制。梯形图由触点、线圈和用方框表示的指令构成。触点代表逻辑输入条件,线圈 代表逻辑运算结果,常用来控制的指示灯,开关和内部的标志位等。指令框用来表示定时器、计数器或数学运算等附加指令。在程序中,最左边是主信号流,信号流总是从左向右流动的,不适合于编写大型控制程序。
2.流程图(SFC-Seauential Fuction Chart)
顺序功能图(SFC) 这是位于其它编程语言之上的图形语言,用来编程顺序控制的程序(如:机械手控制程序)。编写时,工艺过程被划分为若干个顺序出现的步,每步中包括控制输出的动作,从一步到另一步的转换由转换条件来控制,特别适合于生产制造过程。
3. 功能块图(FBD-Function Block Diagram)
功能块图使用类似于布尔代数的图形逻辑符号来表示控制逻辑,一些复杂的功能用指令框表示,适合于有数字电路基础的编程人员使用。功能块图用类似于与门、或门的框图来表示逻辑运算关系,方框的左侧为逻辑运算的输入变量,右侧为输出变量,输入、输出端的小圆圈表示“非”运算,方框用“导线”连在一起,信号自左向右。
4.结构化文本(ST-Structured Text)
STEP7的S7 SCL结构化控制语言,编程结构和C语言和Pascal语言相似,特别适合于习惯于使用高级语言编程的人使用。
5.语句表(STL-STatement?List)
语句表(STL)是一种类似于微机汇编语言的一种文本编程语言,由多条语句组成一个程序段。语言表适合于经验丰富的程序员使用,可以实现某些梯形图不能实现的功能。
结构化文本(SCL)和语句表(STL)对比
STL有点类似汇编语言,和机器码对应,是面向底层的语句表编程语言,要掌握更多的底层有关的软硬件的知识;而SCL是结构化文本编程语言,是一种标准化的类PASCAL的高级编程语言,除了要掌握PLC知识外,你还要有计算机高级语言编程知识,特别是PASCAL语言。?
SCL专注的是算法,STL专注的是执行效率,无论哪种语言写的PLC程序都可以转换成STL查看。STL可直接操作寄存器,实现同样功能时可以减少运算量和寄存器调用次数,并且只关心数据类型的长度(例如不区分int和word),减少了数据类型转换,STL编程语句简练,并且直接操作物理内存程序员最常用的编程语言,所以执行速度快,效率更高,但实现复杂运算和逻辑时编程繁琐, 没有扎实的基础和深厚的功底是很难驾驭的。
在同一个程序块中,STL可以和梯形图混合使用,而SCL编写的FC或FB不能混合其他语言。另外SCL编译后是生成STL的FB或FC块,供调用。而STL语言是直接编写FB或FC块,省略中间过程。
西门子S7系列PLC在国内工控领域中使用很广,在西门子STEP7编程软件中默认情况下只支持梯形图(LAD)和语句表(STL)编程,语句表(STL)是同STEP7一起提供的,不需要
单独安装软件和授权,而SCL则需要单独安装软件和授权,通过安装“S7-SCL”软件包和“S7-Graph”软件包可实现结构化文本和流程图编程。在博图软件(TIA Portal)中自带结构化文本(SCL)语言编程。在博图软件(TIA Portal)中自带结构化文本(SCL)语言编程,不需单独安装。
STL语言是PLC的标志性语言,而SCL更像附属品,由于学校基本都开展C语言课程,许多刚接触PLC的人会觉得SCL语言可读性强,比较容易掌握,所以更倾向于SCL语言。但对于长时间从事自动化行业的程序员来说,STL语言编程是在此行业深造的必经之路,同时STL语言编写的程序在程序的解读上显得更加晦涩深奥,所以在保护工程项目和个人知识产权方面尤为突出,以至于很多资深的自动化程序员还是更趋向于使用STL语言编程。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论