PLC编程语言的编程方法及基本指令系统
一、编程语言的形式
本文采用最常用的两种语言,一是梯形图,二是助记符语言表。采用plc梯形图编程,因为它直观易懂,但需要一台个人计算机及相应的plc编程软件;采用助记符形式便于实验,因为它只需要一台简易编程器,而不必用昂贵的图形编程器或计算机来编程。
虽然一些高档的plc还具有与计算机兼容的c语言、basic语言、专用的高级语言(如西门子公司的graph5、三菱公司的melsap),还有用布尔逻辑语言、通用计算机兼容的等。不管怎么样,各厂家的编程语言都只能适用于本厂的产品。
编程指令:指令是plc被告知要做什么,以及怎样去做的代码或符号。从本质上讲,指令只是一些二进制代码,这点plc与普通的计算机是完全相同的。同时plc也有编译系统,它可以把一些文字符号或图形符号编译成机器码,所以用户看到的plc指令一般不是机器码而是文字代码,或图形符号。常用的助记符语句用英文文字(可用多国文字)的缩写及数字代表各相应指令。常用的图形符号即梯形图,它类似于原理图是符号,易为电气工作人员所接受。
指令系统:一个plc所具有的指令的全体称为该plc的指令系统。它包含着指令的多少,各指令都能干什么事,代表着plc的功能和性能。一般讲,功能强、性能好的plc,其指令系统必然丰富,所能干的事也就多。我们在编程之前必须弄清plc的指令系统
程序:plc指令的有序集合,plc运行它,可进行相应的工作,当然,这里的程序是指plc的用户程序。用户程序一般由用户设计,plc的厂家或代销商不提供。用语句表达的程序不大直观,可读性差,特别是较复杂的程序,更难读,所以多数程序用梯形图表达。
梯形图:梯形图是通过连线把plc指令的梯形图符号连接在一起的连通图,用以表达所使用的plc指令及其前后顺序,它与电气原理图很相似。它的连线有两种:一为母线,另一为内部横竖线。内部横竖线把一个个梯形图符号指令连成一个指令组,这个指令组一般总是从装载(ld)指令开始,必要时再继以若干个输入指令(含ld指令),以建立逻辑条件。最后为输出类指令,实现输出控制,或为数据控制、流程控制、通讯处理、监控工作等指令,以进行相应的工作。母线是用来连接指令组的。下图是三菱公司的fx2n系列产品的最简单的梯形图例:
它有两组,第一组用以实现启动、停止控制。第二组仅一个end指令,用以 结束程序。
梯形图与助记符的对应关系:助记符指令与梯形图指令有严格的对应关系,而梯形图的连线又可把指令的顺序予以体现。一般讲,其顺序为:先输入,后输出(含其他处理);先上,后下;先左,后右。有了梯形图就可将其翻译成助记符程序。上图的助记符程序为:
反之根据助记符,也可画出与其对应的梯形图。
梯形图与电气原理图的关系:如果仅考虑逻辑控制,梯形图与电气原理图也可建立起一定的对应关系。如梯形图的输出(out)指令,对应于的线圈,而输入指令(如ld,and,or)对应于接点,互锁指令(il、ilc)可看成总开关,等等。这样,原有的继电控制逻辑,经转换即可变成梯形图,再进一步转换,即可变成语句表程序。
有了这个对应关系,用plc程序代表继电逻辑是很容易的。这也是plc技术对传统继电控制技术的继承。
二、 基本指令系统特点
plc的编程语言与一般计算机语言相比,具有明显的特点,它既不同于高级语言,也不同与一般的汇编语言,它既要满足易于编写,又要满足易于调试的要求。目前,还没有一种对各厂家产品都能兼容的编程语言。如三菱公司的产品有它自己的编程语言,omron公司的产品也有它自己的语言。但不管什么型号的 plc,其编程语言都具有以下特点:
1、图形式指令结构:程序由图形方式表达,指令由不同的图形符号组成,易于理解和记忆。系统的软件开发者已把工业控制中所需的独立运算功能编制成象征性图形,用户根据自己的需要把这些图形进行组合,并填入适当的参数。在逻辑运算部分,几乎所有的厂家都采用类似于继电器控制电路的梯形图,很容易接受。如西门子公司还采用控制系统流程图来表示,它沿用二进制逻辑元件图形符号来表达控制关系,很直观易懂。较复杂的算术运算、定时计数等,一般也参照梯形图或逻辑元件图给予表示,虽然象征性不如逻辑运算部分,也受用户欢迎
2、明确的变量常数:图形符相当于操作码,规定了运算功能,操作数由用户填人,如:k400,t120等。plc中的变量和常数以及其取值范围有明确规定,由
产品型号决定,可查阅产品目录手册。
3、简化的程序结构:plc的程序结构通常很简单,典型的为块式结构,不同块完成不同的功能,使程序的调试者对整个程序的控制功能和控制顺序有清晰的概念。
4、简化应用软件生成过程:使用汇编语言和高级语言编写程序,要完成编辑、编译和连接三个过程,而使用编程语言,只需要编辑一个过程,其余由系统软件自动完成,整个编辑过程都在人机对话下进行的,不要求用户有高深的软件设计能力。
5、强化调试手段:无论是汇编程序,还是高级语言程序调试,都是令编辑人员头疼的事,而plc的程序调试提供了完备的条件,使用编程器,利用plc和编程器上的按键、显示和内部编辑、调试、监控等,并在软件支持下,诊断和调试操作都很简单。
总之,plc的编程语言是面向用户的,对使用者不要求具备高深的知识、不需要长时间的专门训练。
本文采用最常用的两种语言,一是梯形图,二是助记符语言表。采用plc梯形图编程,因为它直观易懂,但需要一台个人计算机及相应的plc编程软件;采用助记符形式便于实验,因为它只需要一台简易编程器,而不必用昂贵的图形编程器或计算机来编程。
虽然一些高档的plc还具有与计算机兼容的c语言、basic语言、专用的高级语言(如西门子公司的graph5、三菱公司的melsap),还有用布尔逻辑语言、通用计算机兼容的等。不管怎么样,各厂家的编程语言都只能适用于本厂的产品。
编程指令:指令是plc被告知要做什么,以及怎样去做的代码或符号。从本质上讲,指令只是一些二进制代码,这点plc与普通的计算机是完全相同的。同时plc也有编译系统,它可以把一些文字符号或图形符号编译成机器码,所以用户看到的plc指令一般不是机器码而是文字代码,或图形符号。常用的助记符语句用英文文字(可用多国文字)的缩写及数字代表各相应指令。常用的图形符号即梯形图,它类似于原理图是符号,易为电气工作人员所接受。
指令系统:一个plc所具有的指令的全体称为该plc的指令系统。它包含着指令的多少,各指令都能干什么事,代表着plc的功能和性能。一般讲,功能强、性能好的plc,其指令系统必然丰富,所能干的事也就多。我们在编程之前必须弄清plc的指令系统
程序:plc指令的有序集合,plc运行它,可进行相应的工作,当然,这里的程序是指plc的用户程序。用户程序一般由用户设计,plc的厂家或代销商不提供。用语句表达的程序不大直观,可读性差,特别是较复杂的程序,更难读,所以多数程序用梯形图表达。
梯形图:梯形图是通过连线把plc指令的梯形图符号连接在一起的连通图,用以表达所使用的plc指令及其前后顺序,它与电气原理图很相似。它的连线有两种:一为母线,另一为内部横竖线。内部横竖线把一个个梯形图符号指令连成一个指令组,这个指令组一般总是从装载(ld)指令开始,必要时再继以若干个输入指令(含ld指令),以建立逻辑条件。最后为输出类指令,实现输出控制,或为数据控制、流程控制、通讯处理、监控工作等指令,以进行相应的工作。母线是用来连接指令组的。下图是三菱公司的fx2n系列产品的最简单的梯形图例:
它有两组,第一组用以实现启动、停止控制。第二组仅一个end指令,用以 结束程序。
梯形图与助记符的对应关系:助记符指令与梯形图指令有严格的对应关系,而梯形图的连线又可把指令的顺序予以体现。一般讲,其顺序为:先输入,后输出(含其他处理);先上,后下;先左,后右。有了梯形图就可将其翻译成助记符程序。上图的助记符程序为:
- 地址 指令 变量
- 0000 ld x000
- 0001 or x010
- 0002 and not x001
- 0003 out y000
- 0004 end
反之根据助记符,也可画出与其对应的梯形图。
梯形图与电气原理图的关系:如果仅考虑逻辑控制,梯形图与电气原理图也可建立起一定的对应关系。如梯形图的输出(out)指令,对应于的线圈,而输入指令(如ld,and,or)对应于接点,互锁指令(il、ilc)可看成总开关,等等。这样,原有的继电控制逻辑,经转换即可变成梯形图,再进一步转换,即可变成语句表程序。
有了这个对应关系,用plc程序代表继电逻辑是很容易的。这也是plc技术对传统继电控制技术的继承。
二、 基本指令系统特点
plc的编程语言与一般计算机语言相比,具有明显的特点,它既不同于高级语言,也不同与一般的汇编语言,它既要满足易于编写,又要满足易于调试的要求。目前,还没有一种对各厂家产品都能兼容的编程语言。如三菱公司的产品有它自己的编程语言,omron公司的产品也有它自己的语言。但不管什么型号的 plc,其编程语言都具有以下特点:
1、图形式指令结构:程序由图形方式表达,指令由不同的图形符号组成,易于理解和记忆。系统的软件开发者已把工业控制中所需的独立运算功能编制成象征性图形,用户根据自己的需要把这些图形进行组合,并填入适当的参数。在逻辑运算部分,几乎所有的厂家都采用类似于继电器控制电路的梯形图,很容易接受。如西门子公司还采用控制系统流程图来表示,它沿用二进制逻辑元件图形符号来表达控制关系,很直观易懂。较复杂的算术运算、定时计数等,一般也参照梯形图或逻辑元件图给予表示,虽然象征性不如逻辑运算部分,也受用户欢迎
2、明确的变量常数:图形符相当于操作码,规定了运算功能,操作数由用户填人,如:k400,t120等。plc中的变量和常数以及其取值范围有明确规定,由
产品型号决定,可查阅产品目录手册。
3、简化的程序结构:plc的程序结构通常很简单,典型的为块式结构,不同块完成不同的功能,使程序的调试者对整个程序的控制功能和控制顺序有清晰的概念。
4、简化应用软件生成过程:使用汇编语言和高级语言编写程序,要完成编辑、编译和连接三个过程,而使用编程语言,只需要编辑一个过程,其余由系统软件自动完成,整个编辑过程都在人机对话下进行的,不要求用户有高深的软件设计能力。
5、强化调试手段:无论是汇编程序,还是高级语言程序调试,都是令编辑人员头疼的事,而plc的程序调试提供了完备的条件,使用编程器,利用plc和编程器上的按键、显示和内部编辑、调试、监控等,并在软件支持下,诊断和调试操作都很简单。
总之,plc的编程语言是面向用户的,对使用者不要求具备高深的知识、不需要长时间的专门训练。