龙空技术网

PLC入门基础教程

电学分享份子 1565

前言:

目前各位老铁们对“basic语言入门”大体比较注意,大家都需要学习一些“basic语言入门”的相关资讯。那么小编在网上搜集了一些关于“basic语言入门””的相关内容,希望看官们能喜欢,姐妹们一起来了解一下吧!

第一章 可编程控制器概况

可编程控制器(PROGRAMMABLE CONTROLLER,简称PC)。与个人计算机的PC相区别,用PLC表示。

PLC是在传统的顺序控制器的基础上引入了微电子技术、计算机技术、自动控制技术和通讯技术而形成的一代新型工业控制装置,目的是用来取代继电器、执行逻辑、记时、计数等顺序控制功能,建立柔性的程控系统。国际电工委员会(IEC)颁布了对PLC的规定:可编程控制器是一种数字运算操作的电子系统,专为在工业环境下应用而设计。它采用可编程序的存贮器,用来在其内部存贮执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,并通过数字的、模拟的输入和输出,控制各种类型的机械或生产过程。可编程序控制器及其有关设备,都应按易于与工业控制系统形成一个整体,易于扩充其功能的原则设计。

PLC具有通用性强、使用方便、适应面广、可靠性高、抗干扰能力强、编程简单等特点。可以预料:在工业控制领域中,PLC控制技术的应用必将形成世界潮流

PLC程序既有生产厂家的系统程序,又有用户自己开发的应用程序,系统程序提供运行平台,同时,还为PLC程序可靠运行及信息与信息转换进行必要的公共处理。用户程序由用户按控制要求设计。

第二章PLC的结构及基本配置

一般讲,PLC分为箱体式和模块式两种。但它们的组成是相同的,对箱体式PLC,有一块CPU板、I/O板,显示面板、内存块、电源等,当然按CPU性能分成若干型号,并按I/O点数又有若干规格。对模块式PLC,有CPU模块、I/O模块、内存、电源模块、底板或机架。无任哪种结构类型的PLC,都属于总线式开放型结构,其I/O能力可按用户需要进行扩展与组合。PLC的基本结构框图如下:

一、CPU的构成

PLC中的CPU是PLC的核心,起神经中枢的作用,每台PLC至少有一个CPU,它按PLC的系统程序赋予的功能接收并存贮用户程序和数据,用扫描的方式采集由现场输入装置送来的状态或数据,并存入规定的寄存器中,同时,诊断电源和PLC内部电路的工作状态和编程过程中的语法错误等。进入运行后,从用户程序存贮器中逐条读取指令,经分析后再按指令规定的任务产生相应的控制信号,去指挥有关的控制电路,

与通用计算机一样,主要由运算器、控制器、寄存器及实现它们之间联系的数据、控制及状态总线构成,还有外围芯片、总线接口及有关电路。它确定了进行控制的规模、工作速度、内存容量等。内存主要用于存储程序及数据,是PLC不可缺少的组成单元。

CPU的控制器控制CPU工作,由它读取指令、解释指令及执行指令。但工作节奏由震荡信号控制。 CPU的运算器用于进行数字或逻辑运算,在控制器指挥下工作。

CPU的寄存器参与运算,并存储运算的中间结果,它也是在控制器指挥下工作。

CPU虽然划分为以上几个部分,但PLC中的CPU芯片实际上就是微处理器,由于电路的高度集成,对CPU内部的详细分析已无必要,我们只要弄清它在PLC中的功能与性能,能正确地使用它就够了。

CPU模块的外部表现就是它的工作状态的种种显示、种种接口及设定或控制开关。一般讲,CPU模块总要有相应的状态指示灯,如电源显示、运行显示、故障显示等。箱体式PLC的主箱体也有这些显示。它的总线接口,用于接I/O模板或底板,有内存接口,用于安装内存,有外设口,用于接外部设备,有的还有通讯口,用于进行通讯。CPU模块上还有许多设定开关,用以对PLC作设定,如设定起始工作方式、内存区等。

二、I/O模块

PLC的对外功能,主要是通过各种I/O接口模块与外界联系的,按I/O点数确定模块规格及数量,I/O模块可多可少,但其最大数受CPU所能管理的基本配置的能力,即受最大的底板或机架槽数限制。I/O模块集成了PLC 的I/O电路,其输入暂存器反映输入信号状态,输出点反映输出锁存器状态。

三、电源模块:

有些PLC中的电源,是与CPU模块合二为一的,有些是分开的,其主要用途是为PLC各模块的集成电路提供工作电源。同时,有的还为输入电路提供24V的工作电源。电源以其输入类型有:交流电源,加的为交流220VAC或110VAC,直流电源,加的为直流电压,常用的为24V。 四、底板或机架:

大多数模块式PLC使用底板或机架,其作用是:电气上,实现各模块间的联系,使CPU能访问底板上的所有模块,机械上,实现各模块间的连接,使各模块构成一个整体。 五、PLC 的外部设备

外部设备是PLC系统不可分割的一部分,它有四大类

1. 编程设备:有简易编程器和智能图形编程器,用于编程、对系统作一些设定、监控PLC及PLC所控

制的系统的工作状况。编程器是PLC开发应用、监测运行、检查维护不可缺少的器件,但它不直接参与现场控制运行。

2. 监控设备:有数据监视器和图形监视器。直接监视数据或通过画面监视数据。

3.存储设备:有存储卡、存储磁带、软磁盘或只读存储器,用于永久性地存储用户数据,使用户程序

不丢失,如EPROM、EEPROM写入器等。

4. 输入输出设备:用于接收信号或输出信号,一般有条码读人器,输入模拟量的电位器,打印机等。 六、PLC的通信联网

PLC具有通信联网的功能,它使PLC与PLC 之间、PLC与上位计算机以及其他智能设备之间能够交换信息,形成一个统一的整体,实现分散集中控制。现在几乎所有的PLC新产品都有通信联网功能,它和计算机一样具有RS-232接口,通过双绞线、同轴电缆或光缆,可以在几公里甚至几十公里的范围内交换信息。

当然,PLC之间的通讯网络是各厂家专用的,PLC与计算机之间的通讯,一些生产厂家采用工业标准总线,并向标准通讯协议靠拢,这将使不同机型的PLC之间、PLC与计算机之间可以方便地进行通讯与联网。

了解了PLC的基本结构,我们在购买程控器时就有了一个基本配置的概念,做到既经济又合理,尽可能发挥PLC所提供的最佳功能。

第三章 基本指令系统和编程方法

§1 基本指令系统特点

PLC的编程语言与一般计算机语言相比,具有明显的特点,它既不同于高级语言,也不同与一般的汇编语言,它既要满足易于编写,又要满足易于调试的要求。目前,还没有一种对各厂家产品都能兼容的编程语言。如三菱公司的产品有它自己的编程语言,OMRON公司的产品也有它自己的语言。但不管什么型号的PLC,其编程语言都具有以下特点:

1. 图形式指令结构:程序由图形方式表达,指令由不同的图形符号组成,易于理解和记忆。系统的软

件开发者已把工业控制中所需的独立运算功能编制成象征性图形,用户根据自己的需要把这些图形进行组合,并填入适当的参数。在逻辑运算部分,几乎所有的厂家都采用类似于继电器控制电路的梯形图,很容易接受。如西门子公司还采用控制系统流程图来表示,它沿用二进制逻辑元件图形符号来表达控制关系,很直观易懂。较复杂的算术运算、定时计数等,一般也参照梯形图或逻辑元件图给予表示,虽然象征性不如逻辑运算部分,也受用户欢迎

2. 明确的变量常数:图形符相当于操作码,规定了运算功能,操作数由用户填人,如:K400,T120等。

PLC中的变量和常数以及其取值范围有明确规定,由产品型号决定,可查阅产品目录手册。 3. 简化的程序结构:PLC的程序结构通常很简单,典型的为块式结构,不同块完成不同的功能,使程

序的调试者对整个程序的控制功能和控制顺序有清晰的概念。

4. 简化应用软件生成过程:使用汇编语言和高级语言编写程序,要完成编辑、编译和连接三个过程,

而使用编程语言,只需要编辑一个过程,其余由系统软件自动完成,整个编辑过程都在人机对话下进行的,不要求用户有高深的软件设计能力。

5. 强化调试手段:无论是汇编程序,还是高级语言程序调试,都是令编辑人员头疼的事,而PLC的程

序调试提供了完备的条件,使用编程器,利用PLC和编程器上的按键、显示和内部编辑、调试、监控等,并在软件支持下,诊断和调试操作都很简单。

总之,PLC的编程语言是面向用户的,对使用者不要求具备高深的知识、不需要长时间的专门训练。

§2 编程语言的形式

本教材采用最常用的两种编程语言,一是梯形图,二是助记符语言表。采用梯形图编程,因为它直观易懂,但需要一台个人计算机及相应的编程软件;采用助记符形式便于实验,因为它只需要一台简易编程器,而不必用昂贵的图形编程器或计算机来编程。

虽然一些高档的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技术对传统继电控制技术的继承。

§3 编程器件

下面我们着重介绍三菱公司的FX2N系列产品的一些编程元件及其功能。

FX系列产品,它内部的编程元件,也就是支持该机型编程语言的软元件,按通俗叫法分别称为继电器、定时器、计数器等,但它们与真实元件有很大的差别,一般称它们为“软继电器”。这些编程用的继电器,它的工作线圈没有工作电压等级、功耗大小和电磁惯性等问题;触点没有数量限制、没有机械磨损和电蚀等问题。它在不同的指令操作下,其工作状态可以无记忆,也可以有记忆,还可以作脉冲数字元件使用。一般情况下,X代表输入继电器,Y代表输出继电器,M代表辅助继电器,SPM代表专用辅助继电器,T代表定时器,C代表计数器,S代表状态继电器,D代表数据寄存器,MOV代表传输等。

一、输入继电器 (X)

PLC的输入端子是从外部开关接受信号的窗口,PLC 内部与输入端子连接的输入继电器X是用光电隔离的电子继电器,它们的编号与接线端子编号一致(按八进制输入),线圈的吸合或释放只取决于PLC外部触点的状态,内部有常开/常闭两种触点供编程时随时使用,且使用次数不限。输入电路的时间常数一般小于10ms,输入为X000 ~ X007,X010 ~X017,X020 ~X027 。它们一般位于机器的上端。

二、

输出继电器(Y)

PLC的输出端子是向外部负载输出信号的窗口。输出继电器的线圈由程序控制,输出继电器的外部输出主触点接到PLC的输出端子上供外部负载使用,其余常开/常闭触点使用次数不限。输出电路的时间常数是固定的 。各基本单元都是八进制输出,输出为Y000 ~Y007,Y010~Y017,Y020~Y027 。它们一般位于机器的下端。

三、

辅助继电器(M)

LC内有很多的辅助继电器,其线圈与输出继电器一样,由PLC内各软元件的触点驱动。辅助继电器也称中间继电器,它没有向外的任何联系,只供内部编程使用。它的电子常开/常闭触点使用次数不受限制。但是,这些触点不能直接驱动外部负载,外部负载的驱动必须通过输出继电器来实现。如下图中的M300,它只起到一个自锁的功能。在FX2N中普遍途采用M0~M499,共500点辅助继电器,其地址号按十进制编号。辅助继电器中还有一些特殊的辅助继电器,如掉电继电器、保持继电器等,在这里就不一一介绍了。

四、

定时器(T)

在PLC内的定时器是根据时钟脉冲的累积形式,当所计时间达到设定值时,其输出触点动作,时钟脉冲有1ms、10ms、100ms。定时器可以用用户程序存储器内的常数K作为设定值,也可以用数据寄存器(D)的内容作为设定值。在后一种情况下,一般使用有掉电保护功能的数据寄存器。即使如此,若备用电池电压降低时,定时器或计数器往往会发生误动作。 定时器通道范围如下:

100 ms定时器T0~T199, 共200点,设定值:0.1~ 3276.7秒; 10 ms定时器T200~TT245,共46点,设定值:0.01~327.67秒; 1 ms积算定时器 T245~T249,共4点,设定值:0.001~32.767秒;100 ms积算定时器T250~T255,共6点,设定值:0.1~3276.7秒;

定时器指令符号及应用如下图所示:

当定时器线圈T200的驱动输入X000接通时,T200的当前值计数器对10 ms的时钟脉冲进行累积计数,当前值与设定值K123相等时,定时器的输出接点动作,即输出触点是在驱动线圈后的1.23秒(10*123ms = 1.23s)时才动作,当T200触点吸合后,Y000就有输出。当驱动输入X000断开或发生停电时,定时器就复位,输出触点也复位。

每个定时器只有一个输入,它与常规定时器一样,线圈通电时,开始计时;断电时,自动复位,不保存中间数值。定时器有两个数据寄存器,一个为设定值寄存器,另一个是现时值寄存器,编程时,由用户设定累积值。

如果是积算定时器,它的符号接线如下图所示:

定时器线圈T250的驱动输入X001接通时,T250的当前值计数器对100 ms的时钟脉冲进行累积计数,当该值与设定值K345相等时,定时器的输出触点动作。在计数过程中,即使输入X001在接通或复电时,计数继续进行,其累积时间为34.5s(100 ms*345=34.5s)时触点动作。当复位输入X002接通 ,定时器就复位,输出触点也复位。 五、

计数器(C)

FX2N中的16位增计数器,是16位二进制加法计数器,它是在计数信号的上升沿进行计数,它有两个输入,一个用于复位,一个用于计数。每一个计数脉冲上升沿使原来的数值减1,当现时值减到零时停止计数,同时触点闭合。直到复位控制信号的上升沿输入时,触点才断开,设定值又写入,再又进入计数状态。

其设定值在K1~K32767范围内有效。

设定值K0与K1含义相同,即在第一次计数时,其输出触点就动作。 通用计数器的通道号:C0 ~C99,共100点。 保持用计数器的通道号:C100~C199,共100点。通用与掉电保持用的计数器点数分配,可由参数设置而随意更改。 举个例子:

由计数输入X011每次驱动C0线圈时,计数器的当前值加1。当第10次执行线圈指令时,计数器C0的输出触点即动作。之后即使计数器输入X011再动作,计数器的当前值保持不变。  当复位输入X010接通(ON)时,执行RST指令,计数器的当前值为0,输出接点也复位。  应注意的是, 计数器C100~C199,即使发生停电,当前值与输出触点的动作状态或复位状态也能保持。

 六、数据寄存器

数据寄存器是计算机必不可少的元件,用于存放各种数据。FX2N中每一个数据寄存器都是16bit(最高位为正、负符号位),也可用两个数据寄存器合并起来存储32 bit数据(最高位为正、负符号位)。

1)通用数据寄存器D 通道分配 D 0~D199,共200点。 只要不写入其他数据,已写入的数据不会变化。但是,由RUN→STOP时, 全部数据均清零。(若特殊辅助继电器M8033已被驱动,则数据不被清零)。

2)停电保持用寄存器 通道分配 D200~D511,共312点,或D200~D999,共800点(由机器的具体型号定)。

基本上同通用数据寄存器。除非改写,否则原有数据不会丢失,不论电源接通与否,PLC运行与否,其内容也不变化。然而在二台PLC作点对的通信时, D490~D509被用作通信操作。

3)文件寄存器 通道分配 D1000~D2999,共2000点。

文件寄存器是在用户程序存储器(RAM、EEPROM、EPROM)内的一个存储区,以500点为一个单位,最多可在参数设置时到2000点。用外部设备口进行写入操作。在PLC运行时,可用BMOV指令读到通用数据寄存器中,但是不能用指令将数据写入文件寄存器。用BMOV将 数据写入RAM后,再从RAM中读出。将数据写入EEPROM盒时,需要花费一定的时间,务必请注意。 4)RAM文件寄存器 通道分配 D6000~D7999,共2000点。

驱动特殊辅助继电器M8074,由于采用扫描被禁止,上述的数据寄存 器可作为文件寄存器处理,用BMOV指令传送数据(写入或读出)。

5)特殊用寄存器 通道分配 D8000~D8255,共256点。

是写入特定目的的数据或已经写入数据寄存器,其内容在电源接通时,写入初始化值(一般先清零,然后由系统ROM来写入)。 §4 FX2N

§4FX2N系列的基本逻辑指令

基本逻辑指令是PLC中最基本的编程语言,掌握了它也就初步掌握了PLC的使用方法,各种型号的PLC的基本逻辑指令都大台大同小异,现在我们针对FX2N系列,逐条学习其指令的功能和使用方法,。每条指令及其应用实例都以梯形图和语句表两种编程语言对照说明。

一、输入输出指令(LD/LDI/OUT)

LD与LDI指令用于与母线相连的接点,此外还可用于分支电路的起点。

OUT 指令是线圈的驱动指令,可用于输出继电器、辅助继电器、定时器、计数器、状态寄存器等,但不能用于输入继电器。输出指令用于并行输出,能连续使用多次。

二、触点串连指令(AND/ANDI),并联指令(OR/ORI)

AND、ANDI指令用于一个触点的串联,但串联触点的数量不限,这两个指令可连续使用。 OR、ORI是用于一个触点的并联连接指令。

三、电路块的并联和串联指令(ORB、ANB)

含有两个以上触点串联连接的电路称为“串联连接块”,串联电路块并联连接时,支路的起点以LD或LDNOT指令开始,而支路的终点要用ORB指令。ORB指令是一种独立指令,其后不带操作元件号,因此,ORB指令不表示触点,可以看成电路块之间的一段连接线。如需要将多个电路块并联连接,应在每个并联电路块之后使用一个ORB指令,用这种方法编程时并联电路块的个数没有限制;也可将所有要并联的电路块依次写出,然后在这些电路块的末尾集中写出ORB的指令,但这时ORB指令最多使用7次。

将分支电路(并联电路块)与前面的电路串联连接时使用ANB指令,各并联电路块的起点,使用LD或LDNOT指令;与ORB指令一样,ANB指令也不带操作元件,如需要将多个电路块串联连接,应在每个串联电路块之后使用一个ANB指令,用这种方法编程时串联电路块的个数没有限制,若集中使用ANB指令,最多使用7次。

四、程序结束指令(END)

在程序结束处写上END指令,PLC只执行第一步至END之间的程序,并立即输出处理。若不写END指令,PLC将以用户存贮器的第一步执行到最后一步,因此,使用END指令可缩短扫描周期。另外。在调试程序时,可以将END指令插在各程序段之后,分段检查各程序段的动作,确认无误后,再依次删去插入的END指令。

其他的一些指令,如置位复位、脉冲输出、清除、移位、主控触点、空操作、跳转指令等,同学们可以参考一些课外书,在这里我们不详细介绍了。

下面同学们可练习由梯形图写出与之对应的助记符形式的指令。并由后面的GPP软件传输到PLC中,实时运行。

§5 梯形图的设计与编程方法

梯形图是各种PLC通用的编程语言,尽管各厂家的PLC所使用的指令符号等不太一致,但梯形

图的设计与编程方法基本上大同小异。

 一、确定各元件的编号,分配I/O地址

利用梯形图编程,首先必须确定所使用的编程元件编号,PLC是按编号来区别操作元件的 。我们选用的FX2N型号的PLC,其内部元件的地址编号如下表所示,使用时一定要明确,每个元件在同一时刻决不能担任几个角色。一般讲,配置好的PLC,其输入点数与控制对象的输入信号数总是相应的,输出点数与输出的控制回路数也是相应的(如果有模拟量,则模拟量的路数与实际的也要相当),故I/O的分配实际上是把PLC的入、出点号分给实际的I/O电路,编程时按点号建立逻辑或控制关系,接线时按点号“对号入坐”进行接线。FX2N系列的I/O地址分配及一些其他的内存分配前面都已介绍过了,同学们也可以参考FX系列的编程手册。 

二、梯形图的编程规则

1、 每个继电器的线圈和它的触点均用同一编号,每个元件的触点使用时没有数量限制。 2、 梯形图每一行都是从左边开始,线圈接在最右边(线圈右边不允许再有接触点),如图(a)错,图(b)正确。

3、线圈不能直接接在左边母线上。

4、在一个程序中,同一编号的线圈如果使用两次,称为双线圈输出,它很容易引起误操作,应尽量避免。

5、在梯形图中没有真实的电流流动,为了便于分析PLC的周期扫描原理和逻辑上的因果关系,假定在梯形图中有“电流”流动,这个“电流”只能在梯形图中单方向流动——即从左向右流动,层次的改变只能从上向下。

下图是一个错误的桥式电路梯形图。

三、编程实例

首先介绍一个常用的点动计时器,其功能为每次输入X000时,接通时,Y000输出一个脉宽为定长的脉冲,脉宽由定时器T000设定值设定。它的时序图如下图所示:

标签: #basic语言入门