可编程控制器目前常用的编程语言有以下几种:①梯形图语言、②助记符语言、③顺序功能图、④功能块图和⑤某些高级语言。手持编程器多采用助记符语言,计算机软件编程采用梯形图语言,也有采用顺序功能图、功能块图的。
梯形图语言
梯形图的表达式沿用了原电气控制系统中的继电接触控制电路图的形式,二者的基本构思是一致的,只是使用符号和表达方式有所区别。
在可编程控制器中有多种程序设计语言。
1.梯形图语言、2.布尔助记符语言、3.功能表图语言、4.功能模块图语言及5.结构化语句描述语言等。
梯形图语言和布尔助记符语言是基本程序设计语言,它通常由一系列指令组成,用这些指令可以完成大多数简单的控制功能,例如,代替继电器、计数器、计时器完成顺序控制和逻辑控制等,通过扩展或增强指令集,它们也能执行其它的基本 *** 作。功能亏则表图语言和语句描述语言是高级的程序设计语言,它可根据需要去执行更有效的 *** 作,例如,模拟量的控制,数据的 *** 纵,报表的报印和其他基本程序设计语言无法完成的功能。功能模块图语言采用功能模块图的形式,通过软连接的方式完成所要求的控制功能,它不仅在可编程序控制器中得到了广泛的应用,在集散控制系统的编程和组态时也常常被采用,由于它具有连接方便、 *** 作简单、易于掌握等特点,为广大工程设计和应用人员所喜爱。
根据可编程器应用范围,程序设计语言可以组合使用,常用的程序设计语言是:
梯形图程序设计语言
布尔助记符程序设计语言(语句表)
功能表图程序设计语言
功能模块图程序设计语言
结构化语行空碧句描述程序设计语言
梯形图与结构化语句描述程序设计语言
布尔助记符与功能表图程序设计语言
布尔助记符与结构化语句描述程序设计语言
1、梯形图(LadderDiagram)程序设计语言
梯形图程序设计语言是用梯形图的图形符号来描述程序的一种程序设计语言。采用梯形图程序设计语言,程序采用梯形图的形式描述。这种程序设计语言采用因果关系来描述事件发生的条件和结果。每个梯级是一个因果关系。在梯级中,描述事件发生的条件表示在左面,事件发生的结果表示在后面。
梯形图程序设计语言是最常用的一种程序设计语言。它来源于继电器逻辑控制系统的描述。在工业过程控制领域,电气技术人员对继电器逻辑控制技术较为熟悉,因此,由这种逻辑控制技术发展而来的梯形图受到了欢迎,并得到了广泛的应用。
梯形图程序设计语言的特点是:
(1)与电气 *** 作原理图相对应,具有直观性和对应性;
(2)与原有继电器逻辑控制技术相一致,对电气技术人员来说,易于撑握和学习;
(3)与原有的继电器逻辑控制技术的不同点是,梯形图中的能流(PowerFLow)不是实际意义的电流,内部的继电器也不是实际存在的继电器,因此,应用时,需与原有继电器逻辑控制技术的有关概念区别对待;
(4)与布尔助记符程序设计语言有一一对应关系,便于相互的转换和程序的检查。
2、布尔助记符(BooleanMnemonic)程序设计语言
布尔助记符程序设计语言是用布尔助记符来描述程序的一种程序设计语言。布尔助记符程序设计语言与计算机中的汇编语言非常相似,采用布尔助记符来表示 *** 作功能。
布尔助记符程序设计语言具有下列特点:
(1)采用助记符来表示 *** 作功能,具有容易记忆,便于撑握的特点;(2)在编程器的键盘上采用助记符表示,具有便于 *** 作的特点,可在无计算机的场合进行编程设计;
(3)与梯形图有一一对应关系。其特点与梯形图语言基本类同。3、功能表图(SepuentialFunctionChart)程序设计语言
功能表图程序设计语言是用功能表图来描述程序的一种程序设计语言。它是近年来发展起来的一种程序设计语言。采用功能表图的描述,控制系统被分为若干个子系统,从功能入手,使系统的 *** 作具有明确的含义,便于设计人员和 *** 作人员设计思想的沟通,便于程序的分工设计和检查调试。功能表图程序设计语言的特点是:
(1)以功能为主线,条理清楚,便于对程序 *** 作的理解和沟通;(2)对大型的程序,可分工设计,采用较为灵活的程序结构,可节省程序设计时间和调试时间;
(3)常用于系统的规模校大,程序关系较复杂的场合;
(4)只有在活动步的命令和 *** 作被执行,对活动步后的转换进行扫描,因此,整个程序的扫描时间较其他程档举序编制的程序扫描时间要大大缩短。功能表图来源于佩特利(Petri)网,由于它具有图形表达方式,能较简单和清楚地描述并发系统和复杂系统的所有现象,并能对系统中存有的象死锁、不安全等反常现象进行分析和建模,在模型的基础上能直接编程,所以,得到了文泛的应用。近几年推出的可编程控制器和小型集散控制系统中也已提供了采用功能表图描述语言进行编程的软件。关于佩特利(Petri)网的一些基本概念,我在以后有机会时再介绍给各位,以有助于对功能表图的进一步理解。
4、功能模块图(FunctionBlock)程序设计语言
功能模块图程序设计语言是采用功能模块来表示模块所具有的功能,不同的功能模块有不同的功能。它有若干个输入端和输出端,通过软连接的方式,分别连接到所需的其它端子,完成所需的控制运算或控制功能。功能模块可以分为不同的类型,在同一种类型中,也可能因功能参数的不同而使功能或应用范围有所差别,例如,输入端的数量、输入信号的类型等的不同使它的使用范围不同。由于采用软连接的方式进行功能模块之间及功能模块与外部端子的连接,因此控制方案的更改、信号连接的替换等 *** 作可以很方便实现。功能模块图程序设计语言的特点是:
(1)以功能模块为单位,从控制功能入手,使控制方案的分析和理解变得容易;
(2)功能模块是用图形化的方法描述功能,它的直观性大大方便了设计人员的编程和组态,有较好的易 *** 作性;
(3)对控制规模较大、控制关系较复录的系统,由于控制功能的关系可以较清楚地表达出来,因此,编程和组态时间可以缩短,调试时间也能减少;
(4)由于每种功能模块需要占用一定的程序内存,对功能模块的执行需要一定的执行时间,因此,这种设计语言在大中型可编程控制器和集散控制系统的编程和组态中才被采用。
5、结构化语句(StructuredText)描述程序设计语言
结构化语句描述程序设计语言是用结构化的描述语句来描述程序的一种程序设计语言。它是一种类似于高级语言的程序设计语言。在大中型的可编程序控制器系统中,常采用结构化语句描述程序设计语言来描述控制系统中各个变量的关系。它也被用于集散控制系统的编程和组态。
结构化语句描述程序设计语言采用计算机的描述语句来描述系统中各种变量之间的各种运算关系,完成所需的功能或 *** 作。大多数制造厂商采用的语句描述程序设计语言与BASIC语言、PASCAL语言或C语言等高级语言相类似,但为了应用方便,在语句的表达方法及语句的种类等方面都进行了简化。结构化程序设计语言具有下列特点:
(1)采用高级语言进行编程,可以完成较复杂的控制运算;(2)需要有一定的计算机高级程序设计语言的知识和编程技巧,对编程人员的技能要求较高,普通电气人员无法完成。
(3)直观性和易 *** 作性等性能较差;
(4)常被用于采用功能模块等其他语言较难实现的一些控制功能的实施。
部分可编程序控制器的制造厂商为用户提供了简单的结构化程序设计语言,它与助记符程序设计语言相似,对程序的步数有一定的限制,同时,提供了与可编程序控制器间的接口或通信连接程序的编制方式,为用户的应用程序提供了扩展余地。
理解IEC61131-3编程语言IEC,语言摘要:尽管多年来一直信腔都被认为只是在欧洲流行,但是IEC61131-3可编程控制器语言标准正在美国日益受到重视
许多控制工程师至少熟悉其中的一种语言,但是全部了解的却不多
这就使他们很难根据编程语言的特征为指定应用做出最佳的选择
IEC标准提供了五种不同的控制器编程语言,每种都有自己的优势和不足
这里介绍了一些细节信息,当然你也可以浏览我们的网站
尽管多年来一直都被认为只是在欧洲流行,但是IEC61131-3可编程控制器语言标准正在美国日益受到重视
许多控制工程师至少熟悉其中的一种语言,但是全部了解的却不多
这就使他们很难根据编程语言的特征为指定应用做出最佳的选择
由于国际电工委员会(IEC)的工作,已经有五种标准语言用于流程和离散行业控制器的编程穗弯
它们分别是:■梯形图(LD)■功能块图(FBD)■顺序功能流程图(SFC)■指令表(IL)■结构化文本(ST)应该如何选择呢?每一种语言的优缺点在哪里呢?如果要深入的阅读每一种编程语言的程序样本,可以在线()浏览ControlEngineering2009年1月刊
选择一种适合的语言因为有多种编程语言,在确定采用哪一种语言之前有必要了解一些细节
当然,如果你对某种语言很熟悉,你就很可能坚持使用这种语言
然而,在做决定之前,还是看一看这些语言各自的优势:■终端用户容易维护:SFC;■语言的通用接受度:LD;■欧洲的认可度:IL以及ST;■PLC的执行速度:IL以及ST;■主要使用数字型I/O和基本处理的场合:LD以及FBD;■日后变更容易:LD;■新工程师上手方便:ST;■方便运行复杂的数学模型:ST;以及■重复过程以及需要互锁和并行 *** 作的过程:SFC
你的PLC或者PAC平台也可能会影响编程语言的选择,因为不是所有的自动化厂商提供的编程软件都与IEC61131-3完全兼容
事实上猜坦闷,绝大部分非欧洲的厂商都不提供这项功能,即便提供选项也十分有限,比如只有梯形图和顺序功能流程图
另外一点需要注意的是,因为内存和处理器速度不足,不是所有的PLC都可以运行全部IEC语言,尤其是那些小型的PLC
尽管很多程序员都受到客户要求的限制,但是一旦他们拥有选择硬件平台的权利,他们还是应该确定哪种或者哪些语言是最适合自己项目的,然后选择支持这种语言的硬件和软件
计算机编程语言计算机语言:计算机语言通常是一个能完整、准确和规则地表达人们的意图,并用以指挥或控制计算机工作的“符号系统”。
计算机语言通常分为三类:即机器语言,汇编语言和高级语言。
1. 机器语言
机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。它是计算机的设计者通过计算机的硬件结构赋予计算机的 *** 作功能。机器语言具有灵活、直接执行和速度快等特点。
用机器语言编写程序,编程人员要首先熟记所用计算机的全部指令代码和代码的涵义。手编程序时,程序员得自己处理每条指令和每一数据的存储分配和输入输出,还得记住编程过程中每步所使用的工作单元处在何种状态。这是一件十分繁琐的工作,编写程序花费的时间往往是实际运行时间的几十倍或几百倍。而且,编出的程序全是些0和1的指令代码,直观性差,还容易出孝亏饥错。现在,除了计算机生产厂家的专业人员外,绝大多数程序员已经不再去学习机器语言了。
2.汇编语言
为了克服机器语言难读、难编、难记和易出错的缺点,人们就用与代码指令实际含义相近的英文缩写词、字母和数字等符号来取代指令代码(如用ADD表示运算符号“+”的机器代码),于是就产生了汇编语言。所以说,汇编语言是一种用助记符表示的仍然面向机器的计算机语言。汇编语言亦称符号语言。汇编语言由 于是采用了助记符号来编写程序,比用机器语言的二进制代码编程要方便些,在一定程度上简化了编程过程。汇编语言的特点是用符号代替了机器指令代码, 而且助记符与指令代码一一对应,基本保留了机器语言的灵活性。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。
汇编空稿语言中由于使用了助记符号,用汇编语言编制的程序送入计算机,计算机不能象用机器语言编写的程序一样直接识别和执行,必须通过预先放入计算机的 “汇编程序“的加工和翻译,才能变成能够被计算机识别和处理的二进制代码程序。用汇编语言等非机器语言书写好的符号程序称源程序,运行时汇编程序要将源程序翻译成目标程序。目标程序是机器语言程序,它一经被安置在内存的预定位置上,就能被计算机的CPU处理和执行。
汇编语言像机器指令一样,是硬件 *** 作的控制信息,因而仍然是面向机器的语言,使用起来还是比较繁琐费时,通用性也差。汇编语言是低级语言。但是,汇编语言用来编制系统软件和过程控制软件,其目标程序占用内存空间少,运行速度快,有着高级语言不可替代的用途。
3.高级语言
不论是机器语言还是汇编语言都是面向硬件的具体 *** 作的,语言对机器的过分依赖,要求使用者必须对硬件结构及其工作原理都十分熟悉,这对非计算机专业人员是难以做到的,对于计算机的推广应用是不利的。计算机事业的发展,促使人们去寻求一些与人类自然语言相接近且能为计算机所接受的语意确定、规则明确、自然直观和通用易学的计算机语言。这种与自然语言相近并为计算机所接受和执行的计算机语言称高级语言。高级语言是面向用户的语言。无论何种机型的计算机, 只要配备上相应的高级语言的编译或解释程序,则用该高级语言编写的程序就可以通用。
目前被广泛使用的高级语言有BASIC、PASCAL、C、COBOL、FORTRAN、LOGO以及VC、VB等。这些语言都是属于系统巧返软件。 (了解内容二)
计算机并不能直接地接受和执行用高级语言编写的源程序,源程序在输入计算机时,通过“翻译程序”翻译成机器语言形式的目标程序,计算机才能识别和执行。这种“翻译”通常有两种方式,即编译方式和解释方式。编译方式是:事先编好一个称为编译程序的机器语言程序,作为系统软件存放在计算机内,当用户由高级语言编写的源程序输入计算机后,编译程序便把源程序整个地翻译成用机器语言表示的与之等价的目标程序,然后计算机再执行该目标程序,以完成源程序要处理的运算并取得结果。解释方式是:源程序进入计算机时,解释程序边扫描边解释作逐句输入逐句翻译,计算机一句句执行,并不产生目标程序。PASCAL、 FORTRAN、COBOL等高级语言执行编译方式BASIC语言则以执行解释方式为主而PASCAL、C语言是能书写编译程序的高级程序设计语言。每一种高级(程序设计)语言,都有自己人为规定的专用符号、英文单词、语法规则和语句结构(书写格式)。高级语言与自然语言(英语)更接近,而与硬件功能相分离(彻底脱离了具体的指令系统),便于广大用户掌握和使用。高级语言的通用性强,兼容性好,便于移植。下面介绍几种较有代表性的高级程序设计语言:
⑴BASIC语言
BASIC语言全称是Beginner’s all Purpose Symbolic Instruction Code,意为“初学者通用符号指令代码“。1964年由美国达尔摩斯学院的基米尼和科茨完成设计并提出了BASIC语言的第一个版本,经过不断丰富和发展,现已成为一种功能全面的中小型计算机语言。BASIC易学、易懂、易记、易用,是初学者的入门语言,也可以作为学习其他高级语言的基础。BASIC有解释方式和编译方式两种翻译程序。
⑵PASCAL语言
PASCAL是一种结构程序设计语言,由瑞士苏黎世联邦工业大学的沃斯(N.Wirth)教授研制,于1971年正式发表。是从ALGOL60衍生的,但功能更强且容易使用。目前,作为一个能高效率实现的实用语言和一个极好的教学工具,PASCAL语言在高校计算机软件教学中一直处于主导地位。 Pascal(B.Pascal)是十七世纪法国著名数学家,他于1642年曾发明现代台式计算机的雏型机—加减法计算机。
PASCAL具有大量的控制结构,充分反映了结构化程序设计的思想和要求,直观易懂,使用灵活,既可用于科学计算,又能用来编写系统软件,应用范围日益广泛。
⑶通用编程语言C
C语言是美国AT&T(电报与电话)公司为了实现UNIX系统的设计思想而发展起来的语言工具。C语言的主要特色是兼顾了高级语言和汇编语言的特点,简洁、丰富、可移植。相当于其他高级语言子程序的函数是C语言的补充,每一个函数解决一个大问题中的小任务,函数使程序模块化。C语言提供了结构式编程所需要的各种现代化的控制结构。
C语言是一种通用编程语言,正被越来越多的计算机用户所推崇。使用C语言编写程序,既感觉到使用高级语言的自然,也体会到利用计算机硬件指令的直接,而程序员却无需卷入汇编语言的繁琐。
⑷COBOL语言
COBOL的全称是Common Business Oriented Language,意即:通用商业语言。
在企业管理中,数值计算并不复杂,但数据处理信息量却很大。为专门解决经企管理问题,于1959年,由美国的一些计算机用户组织设计了专用于商务处理的计算机语言COBOL,并于1961年美国数据系统语言协会公布。经不断修改、丰富完善和标准化,已发展为多种版本。
COBOL语言使用了300多个英语保留字,大量采用普通英语词汇和句型,COBOL程序通俗易懂,素有“英语语言”之称。
COBOL语言语法规则严格。用COBOL语言编写的任一源程序,都要依次按标识部、环境部、数据部和过程部四部分书写,COBOL程序结构的“部” 内包含“节”,“节”内包含“段”,段内包含语句,语句由字或字符串组成,整个源程序象一棵由根到干,由干到枝,由枝到叶的树,习惯上称之为树型结构。
目前COBOL语言主要应用于情报检索、商业数据处理等管理领域。
常用的高级程序设计语言,除了上述的几种之外,还有很多,如以英国著名诗人拜伦(G.N.G.Byron)的独生女艾达·拜伦(Ada Byron)的名字命名的军用语言Ada,深受中、小学生欢迎的语言LOGO等等。
目前,程序设计语言及编程环境正向面向对象语言及可视化编程环境方向发展,出现了许多第四代语言及其开发工具。如:微软公司(Microsoft)开发的Visual系列(VC++、VB、FoxPro)编程工具及Power Builder等,目前已经在国内外得到了广泛的应用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)