STEP 7的基本版配备了梯形图、语句表和功能块图语言,这3种语言可以在STEP 7中相互转换。STEP 7还有几种别的编程语言可供用户选用,但是需要单独的许可证密钥。
1.梯形图
梯形图(LAD)是使用得最多的PLC图形编程语言。梯形图与继电器电路图很相似,具有直观易懂的优点,很容易被工厂熟悉继电器控制的电气人员掌握,特别适合于数字量逻辑控制。梯形图由触点、线圈和用方框表示的指令框组成。触点代表逻辑输入条件,例如外部的开关、按钮和内部条件等。线圈通常代表逻辑运算的结果,用来控制外部的负载和内部的标志位等。指令框用来表示定时器、计数器或者数学运算等指令。
触点和线圈等组成的独立电路称为网络(Network),中文版STEP 7称之为程序段(见图3-1)。STEP 7自动地为程序段编号。
图3-1 梯形图
可以在程序段号的右边加上程序段的标题,在程序段号的下面为程序段添加注释。
如果将两块独立电路(可分开的电路)放在同一个程序段内,将会出错。
在分析梯形图的逻辑关系时,可以想象在梯形图的左右两侧垂直“电源线”之间有一个左正右负的直流电源电压,当图3-1的程序段1中I0.0与I0.1的触点同时接通,或Q4.0与I0.1的触点同时接通时,有一个假想的“能流”(Power Flow)流过Q4.0的线圈。利用能流这一概念,可以借用继电器电路的术语和分析方法,帮助我们更好地理解和分析梯形图。能流只能从左向右流动。如果没有跳转指令,程序段内的逻辑运算按从左往右的方向执行,与能流的方向一致。程序段之间按从上到下的顺序执行,执行完所有的程序段后,下一次循环又从最上面的程序段1重新开始执行。
2.语句表
语句表(STL,见图3-2)是一种类似于微机的汇编语言的文本语言,多条语句组成一个程序段。语句表比较适合经验丰富的程序员使用,可以实现某些不能用梯形图或功能块图表示的功能。图3-1、图3-2和图3-3的控制逻辑相同。
图3-2 语句表(www.xing528.com)
3.功能块图
功能块图(FBD)使用类似于布尔代数的图形逻辑符号来表示控制逻辑,有数字电路基础的人很容易掌握。国内很少有人使用功能块图语言。功能块图用类似于与门、或门的方框来表示逻辑运算关系(见图3-3),方框的左侧为逻辑运算的输入变量,右侧为输出变量,输入、输出端的小圆圈表示“非”运算,方框被“导线”连接在一起,信号自左向右流动。
图3-3 功能块图
4.结构文本
STEP 7的S7-SCL(结构化控制语言)是符合IEC 61131-3标准的高级文本语言。与梯形图相比,它能实现复杂的数学运算,编写的程序非常简洁和紧凑。S7-SCL的语言结构与计算机的编程语言Pascal和C相似,适合于习惯用高级语言编程的人使用。
5.其他编程语言
顺序功能图(SFC)语言S7-Graph用来编制顺序控制程序。5.5节给出了一个用S7-Graph编程的例子。图形编程语言S7-HiGraph用状态图(State Graphs)来描述异步的非顺序的过程。连续功能图CFC用图形方式连接程序库中以块的形式提供的各种功能,包括从简单的逻辑操作到复杂的闭环和开环控制。CFC适合于连续过程控制的编程。
6.编程语言的相互转换与选用
在STEP 7中,梯形图、功能块图和语句表如果没有错误,并且被正确地划分为程序段,这三种语言之间一般可以相互转换。用语句表编写的程序不一定能转换为梯形图,不能转换的程序段仍然保留语句表的形式,但是并不一定表示该程序段有错误。
语句表可供习惯于用汇编语言编程的用户使用,在运行时间和要求的存储空间方面最优。语句表的输入方便快捷,还可以在每条指令的后面加上注释,便于复杂程序的阅读和理解。在设计通信、数学运算等高级应用程序时建议使用语句表。
梯形图与继电器电路图的表达方式极为相似,适合于熟悉继电器电路的用户使用。功能块图适合于熟悉数字电路的用户使用。S7-SCL编程语言适合于熟悉高级编程语言的用户使用。S7-Graph、HiGraph和CFC可供有技术背景,但是没有PLC编程经验的用户使用。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。