根据plc应用范围,程序设计语言可以组合使用,常用的程序设计语言是:梯形图程序设计语言;布尔助记符程序设计语言(语句表);功能表图程序设计语言;功能模块图程序设计语言;结构化语句描述程序设计语言;梯形图与结构化语句描述程序设计语言;布尔助记符与功能表图程序设计语言;布尔助记符与结构化语句描述程序设计语言。 1.顺序功能图(SFC) 这是一种位于其他编程语言之上的图形语言,用来编制顺序控制程序,在第4章中将作详细介绍。顺序功能图提供了一种组织程序的图形方法,在顺序功能图中可以用别的语言嵌套编程。步、转换和动作是顺序功能图中的三种主要元件(见图3–2)。顺序功能图用来描述开关量控制系统的功能,根据它可以很容易地画出顺序控制梯形图程序。 2.梯形图(LD) 梯形图是使用得最多的PLC图形编程语言。梯形图与继电器控制系统的电路图很相似,直观易懂,很容易被工厂熟悉继电器控制的电气人员掌握,特别适用于开关量逻辑控制。图3–3和图3–4中用西门子S7–200系列PLC的3种编程语言来表示同一逻辑关系。西门子的说明书中将指令表称为语句表。
程序设计语言梯形图程序设计语言是用梯形图的图形符号来描述程序的一种程序设计语言。采用梯形图程序设计语言,程序采用梯形图的形式描述。这种程序设计语言采用因果关系来描述事件发生的条件和结果。每个梯级是一个因果关系。在梯级中,描述事件发生的条件表示在左面,事件发生的结果表示在后面。梯形图程序设计语言是最常用的一种程序设计语言。它来源于继电器逻辑控制系统的描述。 在工业过程控制领域,电气技术人员对继电器逻辑控制技术较为熟悉,因此,由这种逻辑控制技术发展而来的梯形图受到了欢迎,并得到了广泛的应用。梯形图程序设计语言的特点是:
(1)与电气操作原理图相对应,具有直观性和对应性; (2)与原有继电器逻辑控制技术相一致,对电气技术人员来说,易于撑握和学习; (3)与原有的继电器逻辑控制技术的不同点是,梯形图中的能流(Power FLow)不是实际意义的电流,内部的继电器也不是实际存在的继电器,因此,应用时,需与原有继电器逻辑控制技术的有关概念区别对待; (4)与布尔助记符程序设计语言有一一对应关系,便于相互的转换和程序的检查。 梯形图由触点、线圈和应用指令等组成。触点代表逻辑输入条件,如外部的开关、按钮和内部条件等。线圈通常代表逻辑输出结果,用来控制外部的指示灯、交流接触器和内部的输出标志位等。 在分析梯形图中的逻辑关系时,为了借用继电器电路图的分析方法,可以想像左右两侧垂直母线之间有一个左正右负的直流电源电压(有时省略了右侧的垂直母线),当图3–3中I0.1与I0.2的触点接通,或M0.3与I0.2的触点接通时,有一个假想的“能流”(Power flow)流过Q1.1的线圈。利用能流这一概念,可以帮助我们更好地理解和分析梯形图,能流只能从左向右流动。 图3—5a中的电路不能用触点的串并联来表示,能流可能从两个方向流过触点5(经过触点1,5,4或经过触点3,5,2),无法将该图转换为指令表,应将它改画为图3–5b所示的等效电路。 使用编程软件可以直接生成和编辑梯形图,并将它下载到PLC中去。
3.功能块图(FBD) 这是一种类似于数字逻辑门电路的编程语言,有数字电路基础的人很容易掌握。该编程语言用类似与门、或门的方框来表示逻辑运算关系,方框的左侧为逻辑运算的输入变量,右侧为输出变量,输入、输出端的小圆圈表示“非”运算,方框被“导线”连接在一起,信号自左向右流动。图3–4中的控制逻辑与图3–3中的相同。有的微型PLC模块(如西门子公可的“LOGO!”逻辑模块)使用功能块图语言,除此之外,国内很少有人使用功能块图语言。
程序设计语言功能表图程序设计语言是用功能表图来描述程序的一种程序设计语言。它是近年来发展起来的一种程序设计语言。采用功能表图的描述,控制系统被分为若干个子系统,从功能入手,使系统的操作具有明确的含义,便于设计人员和操作人员设计思想的沟通,便于程序的分工设计和检查调试。 功能表图程序设计语言的特点是: (1)以功能为主线,条理清楚,便于对程序操作的理解和沟通; (2)对大型的程序,可分工设计,采用较为灵活的程序结构,可节省程序设计时间和调试时间; (3)常用于系统的规模校大,程序关系较复杂的场合; (4)只有在活动步的命令和操作被执行,对活动步后的转换进行扫描,因此,整个程序的扫描时间较其他程序编制的程序扫描时间要大大缩短。功能表图来源于佩特利(Petri)网,由于它具有图形表达方式,能较简单和清楚地描述并发系统和复杂系统的所有现象,并能对系统中存有的象死锁、不安全等反常现象进行分析和建模,在模型的基础上能直接编程,所以,得到了文泛的应用。近几年推出的PLC和小型集散控制系统中也已提供了采用功能表图描述语言进行编程的软件。关于佩特利(Petri)网的一些基本概念,我在以后有机会时再介绍给各位,以有助于对功能表图的进一步理解。 4.指令表(IL) PLC的指令是一种与微机的汇编语言中的指令相似的助记符表达式,由指令组成的程序叫做指令表(Instruction list)程序。指令表程序较难阅读,其中的逻辑关系很难一眼看出,所以在设计时一般使用梯形图语言。如果使用手持式编程器,必须将梯形图转换成指令表后再写入PLC。在用户程序存储器中,指令按步序号顺序排列。 5.结构文本(ST) 结构文本(ST)是为:IEC61131–3标准创建的一种专用的高级编程语言。与梯形图相比,它能实现复杂的数学运算,编写的程序非常简洁和紧凑。 除了提供几种编程语言供用户选择外,标准还允许编程者在同一程序中使用多种编程语言,这使编程者能选择不同的语言来适应特殊的工作。
描述程序设计语言结构化语句描述程序设计语言是用结构化的描述语句来描述程序的一种程序设计语言。它是一种类似于高级语言的程序设计语言。在大中型的PLC系统中,常采用结构化语句描述程序设计语言来描述控制系统中各个变量的关系。它也被用于集散控制系统的编程和组态。结构化语句描述程序设计语言采用计算机的描述语句来描述系统中各种变量之间的各种运算关系,完成所需的功能或操作。大多数制造厂商采用的语句描述程序设计语言与BASIC语言、PASCAL语言或C语言等高级语言相类似,但为了应用方便,在语句的表达方法及语句的种类等方面都进行了简化。 结构化程序设计语言具有下列特点: (1)采用高级语言进行编程,可以完成较复杂的控制运算; (2)需要有一定的计算机高级程序设计语言的知识和编程技巧,对编程人员的技能要求较高,普通电气人员无法完成。 (3)直观性和易操作性等性能较差; (4)常被用于采用功能模块等其他语言较难实现的一些控制功能的实施。部分PLC的制造厂商为用户提供了简单的结构化程序设计语言,它与助记符程序设计语言相似,对程序的步数有一定的限制,同时,提供了与PLC间的接口或通信连接程序的编制方式,为用户的应用程序提供了扩展余地。 6、布尔助记符(Boolean Mnemonic) 程序设计语言布尔助记符程序设计语言是用布尔助记符来描述程序的一种程序设计语言。布尔助记符程序设计语言与计算机中的汇编语言非常相似,采用布尔助记符来表示操作功能。 布尔助记符程序设计语言具有下列特点: (1)采用助记符来表示操作功能,具有容易记忆,便于撑握的特点; (2)在编程器的键盘上采用助记符表示,具有便于操作的特点,可在无计算机的场合进行编程设计; (3)与梯形图有一一对应关系。其特点与梯形图语言基本类同。 |