分类：教育/科学-理工学科-工程技术科学
问题：可编程控制器程序设计语言有哪几种？各程序设计语言的含义和特点？ 
可编程控制器语言有哪几种？各程序设计语言的含义和特点？
回答：   可编程控制器语言有哪几种？各程序设计语言的含义和特点？    在可编程控制器中有多种程序设计语言,它们是梯形图语言、布尔助记符语言、功能表图语言、功能模块图语言及结构化语句描述语言等。梯形图语言和布尔助记符语言是基本程序设计语言，它通常由一系列指令组成，用这些指令可以完成大多数简单的控制功能，例如，代替继电器、计数器、计时器完成顺序控制和逻辑控制等，通过扩展或增强指令集，它们也能执行其它的基本操作。功能表图语言和语句描述语言是高级的程序设计语言，它可根据需要去执行更有效的操作，例如，模拟量的控制，数据的操纵，报表的报印和其他基本程序设计语言无法完成的功能。功能模块图语言采用功能模块图的形式，通过软连接的方式完成所要求的控制功能，它不仅在可编程序控制器中得到了广泛的应用，在集散控制系统的编程和组态时也常常被采用，由于它具有连接方便、操作简单、易于掌握等特点，为广大工程设计和应用人员所喜爱。        根据可编程器应用范围，程序设计语言可以组合使用，常用的程序设计语言是：   梯形图程序设计语言   布尔助记符程序设计语言（语句表）   功能表图程序设计语言   功能模块图程序设计语言   结构化语句描述程序设计语言   梯形图与结构化语句描述程序设计语言   布尔助记符与功能表图程序设计语言   布尔助记符与结构化语句描述程序设计语言  １、梯形图（Ladder Diagram）程序设计语言      梯形图程序设计语言是用梯形图的图形符号来描述程序的一种程序设计语言。采用梯形图程序设计语言，程序采用梯形图的形式描述。这种程序设计语言采用因果关系来描述事件发生的条件和结果。每个梯级是一个因果关系。在梯级中，描述事件发生的条件表示在左面，事件发生的结果表示在后面。      梯形图程序设计语言是最常用的一种程序设计语言。它来源于继电器逻辑控制系统的描述。在工业过程控制领域，电气技术人员对继电器逻辑控制技术较为熟悉，因此，由这种逻辑控制技术发展而来的梯形图受到了欢迎，并得到了广泛的应用。  梯形图程序设计语言的特点是：  （１）与电气操作原理图相对应，具有直观性和对应性；  （２）与原有继电器逻辑控制技术相一致，对电气技术人员来说，易于撑握和学习；  （３）与原有的继电器逻辑控制技术的不同点是，梯形图中的能流（Power FLow）不是实际意义的电流，内部的继电器也不是实际存在的继电器，因此，应用时，需与原有继电器逻辑控制技术的有关概念区别对待；  （４）与布尔助记符程序设计语言有一一对应关系，便于相互的转换和程序的检查。  ２、布尔助记符（Boolean Mnemonic）程序设计语言  布尔助记符程序设计语言是用布尔助记符来描述程序的一种程序设计语言。布尔助记符程序设计语言与计算机中的汇编语言非常相似，采用布尔助记符来表示操作功能。  布尔助记符程序设计语言具有下列特点：  （１）采用助记符来表示操作功能，具有容易记忆，便于撑握的特点；  （２）在编程器的键盘上采用助记符表示，具有便于操作的特点，可在无计算机的场合进行编程设计；  （３）与梯形图有一一对应关系。其特点与梯形图语言基本类同。  ３、功能表图（Sepuential Function Chart）程序设计语言  功能表图程序设计语言是用功能表图来描述程序的一种程序设计语言。它是近年来发展起来的一种程序设计语言。采用功能表图的描述，控制系统被分为若干个子系统，从功能入手，使系统的操作具有明确的含义，便于设计人员和操作人员设计思想的沟通，便于程序的分工设计和检查调试。功能表图程序设计语言的特点是：  （１）以功能为主线，条理清楚，便于对程序操作的理解和沟通；  （２）对大型的程序，可分工设计，采用较为灵活的程序结构，可节省程序设计时间和调试时间；  （３）常用于系统的规模校大，程序关系较复杂的场合；  （４）只有在活动步的命令和操作被执行，对活动步后的转换进行扫描，因此，整个程序的扫描时间较其他程序编制的程序扫描时间要大大缩短。  功能表图来源于佩特利（Petri）网，由于它具有图形表达方式，能较简单和清楚地描述并发系统和复杂系统的所有现象，并能对系统中存有的象死锁、不安全等反常现象进行分析和建模，在模型的基础上能直接编程，所以，得到了文泛的应用。近几年推出的可编程控制器和小型集散控制系统中也已提供了采用功能表图描述语言进行编程的软件。关于佩特利（Petri）网的一些基本概念，我在以后有机会时再介绍给各位，以有助于对功能表图的进一步理解。  ４、功能模块图（Function Block）程序设计语言      功能模块图程序设计语言是采用功能模块来表示模块所具有的功能，不同的功能模块有不同的功能。它有若干个输入端和输出端，通过软连接的方式，分别连接到所需的其它端子，完成所需的控制运算或控制功能。功能模块可以分为不同的类型，在同一种类型中，也可能因功能参数的不同而使功能或应用范围有所差别，例如，输入端的数量、输入信号的类型等的不同使它的使用范围不同。由于采用软连接的方式进行功能模块之间及功能模块与外部端子的连接，因此控制方案的更改、信号连接的替换等操作可以很方便实现。功能模块图程序设计语言的特点是：  （１）以功能模块为单位，从控制功能入手，使控制方案的分析和理解变得容易；  （２）功能模块是用图形化的方法描述功能，它的直观性大大方便了设计人员的编程和组态，有较好的易操作性；  （３）对控制规模较大、控制关系较复录的系统，由于控制功能的关系可以较清楚地表达出来，因此，编程和组态时间可以缩短，调试时间也能减少；  （４）由于每种功能模块需要占用一定的程序内存，对功能模块的执行需要一定的执行时间，因此，这种设计语言在大中型可编程控制器和集散控制系统的编程和组态中才被采用。  ５、结构化语句（Structured Text）描述程序设计语言      结构化语句描述程序设计语言是用结构化的描述语句来描述程序的一种程序设计语言。它是一种类似于高级语言的程序设计语言。在大中型的可编程序控制器系统中，常采用结构化语句描述程序设计语言来描述控制系统中各个变量的关系。它也被用于集散控制系统的编程和组态。  结构化语句描述程序设计语言采用计算机的描述语句来描述系统中各种变量之间的各种运算关系，完成所需的功能或操作。大多数制造厂商采用的语句描述程序设计语言与ＢＡＳＩＣ语言、ＰＡＳＣＡＬ语言或Ｃ语言等高级语言相类似，但为了应用方便，在语句的表达方法及语句的种类等方面都进行了简化。  结构化程序设计语言具有下列特点：  （１）采用高级语言进行编程，可以完成较复杂的控制运算；  （２）需要有一定的计算机高级程序设计语言的知识和编程技巧，对编程人员的技能要求较高，普通电气人员无法完成。  （３）直观性和易操作性等性能较差；  （４）常被用于采用功能模块等其他语言较难实现的一些控制功能的实施。      部分可编程序控制器的制造厂商为用户提供了简单的结构化程序设计语言，它与助记符程序设计语言相似，对程序的步数有一定的限制，同时，提供了与可编程序控制器间的接口或通信连接程序的编制方式，为用户的应用程序提供了扩展余地。