第1章PLC基础
1.1PLC基本指令概述
1.1.1PLC基本概念
1.PLC的基本组成
传统的继电器-接触器控制系统由输入/输出(I/O)电路、逻辑控制电路组成,其中逻辑控制电路是由若干个继电器及其触点组成的,其逻辑关系已固定在硬接线中,不能灵活变更。现代可编程序控制器(PLC)控制系统也是由这几部分组成,但实现控制功能的是微处理器(CPU)和存储器组成的控制组件,它取代了继电器逻辑电路,从而实现“软接线”(其控制程序可通过编程灵活变更,相当于改变了继电器控制电路的接线)。
1)控制组件
PLC实质是一种专用于工业控制的计算机,其硬件结构基本与微型计算机相同,主要包括CPU、RAM、ROM和I/O接口电路等,其内部也是采用总线结构,进行数据和指令的传输。
在PLC控制系统中,外部的各种开关信号、模拟信号、传感器检测的各种信号均作为PLC的输入量,它们经PLC外部输入端输入到内部存储器中,经PLC内部逻辑运算或其他运算,处理后送到输出端,作为PLC的输出量对外部设备进行各种控制。由此可见,PLC作为一个中间处理器或变换器,其目的就是取代继电器-接触器控制系统中逻辑控制电路的控制组件部分。
控制组件主要由CPU和存储器组成。
● CPU(Centre Processing Unit,中央处理器)
CPU是整个PLC的核心,与微型计算机一样,它在整个PLC控制系统中的作用就好像人的大脑一样,是一个控制指挥中心,它主要完成以下功能:
(1)将输入信号送入存储器中存储起来;
(2)按存放的先后取出用户指令,进行编译;
(3)完成用户指令规定的各种操作;
(4)将结果送到输出端;
(5)响应各种外围设备(如编程器,打印机等)的请求。
目前PLC中的CPU多为一块完整的单板或单片机系统,可用80286、80386或其他专用芯片组成,其发展趋势是芯片的工作速度越来越快,位数越来越多(由8位、16位、32位至48位等),随机存取存储器(RAM)的容量越来越大,集成度越来越高,并采用多CPU系统来简化软件的设计并进一步提高其工作速度。CPU的结构形式决定该PLC的基本性能。
● 存储器
PLC的存储器分为两大部分:
(1)系统程序存储器。由只读存储器(ROM)或可擦除可编程只读存储器(EPROM)组成,用于固化系统管理和监控程序,对用户程序进行编译处理。
(2)用户程序存储器。用户程序存储器又可分为两部分:一是用于存放用户编译的控制程序,通常采用低功耗的CMOS-RAM,由备用电池供电,断开电源后仍能保存,用户可使用编译器等编程工具输入程序或修改程序,PLC的产品说明书中给出的“内存容量”或“程序容量”即指这一部分的存储容量;二是变量存储器,按输入、输出、计数器、计时器、寄存器等单元或元件的定义序号存储数据或状态,不同厂家出品的PLC有不同的定义序号。
PLC使用的物理存储器有RAM、ROM和电可擦除可编程序只读存储器(EEPROM)等。
2)输入/输出接口电路
PLC通过I/O接口电路实现与外围设备的连接,用户设备需输入PLC的各种控制信号,如各种主令电器,传感器输出的开关量或模拟量(要通过A/D转换),都是通过输入接口电路转换成控制组件能够接收和处理的数字信号,而控制组件的弱电控制信号又通过输出接口电路转换成现场需要的强电信号输出,以驱动接触器、电磁阀、电动机等被控制设备的执行元件,因此,输入/输出接口电路在整个PLC的控制系统中起着十分重要的作用。为提高PLC的工作可靠性,增强抗干扰能力,PLC的接口电路有以下特点:
(1)输入/输出接口均采用光电耦合电路,这样可以有效地防止现场的强电干扰,保证PLC能在恶劣的工作环境下可靠地工作。
(2)输出接口电路有继电器、晶体管、晶闸管三种输出方式,以适应不同负载的控制要求。一般来说,继电器输出适用于低速、大功率负载(交、直流负载均可);晶闸管输出适用于高速、大功率负载(交流负载);而晶体管输出适用于高速、小功率负载(直流负载)。
除上述一般的I/O接口之外,PLC上还备有与各种外围设备配接的接口,均用插座引出到外壳上,可配接编程器、PC、打印机、各种智能单元等,可以十分方便地用电缆连接。
2.PLC的基本工作原理及主要技术指标
1)PLC的基本工作原理
PLC具有微机的许多特点,但它的工作方式却与微机有很大不同。微机一般采用等待命令的工作方式,如常见的键盘扫描方式或I/O扫描方式,若有键按下或有I/O变化,则转入相应的子程序,若无则继续扫描,而PLC则是采用循环扫描的工作方式,它对用户程序的执行过程是通过CPU的周期循环扫描,并采用集中输出的方式来完成的。一个循环扫描周期主要可分为三个阶段。
(1)输入刷新阶段。CPU扫描全部输入端口,读取其状态并写入输入状态寄存器。完成输入端刷新工作后,将转入程序执行阶段。在程序执行期间即使输入状态发生变化,输入状态寄存器的内容也不会改变,而这些变化必须等到下一个工作周期的输入刷新阶段才能被读入。
(2)程序执行阶段。根据用户输入的控制程序,从第一条开始逐条执行,并将相应的逻辑运算结果存入对应的内部寄存器和输出状态寄存器中,当最后一条控制程序执行完毕后,即转入输出刷新阶段。
(3)输出刷新阶段。将输出状态寄存器中的内容依次送到输出锁存电路,从而驱动输出组件,这才形成PLC的实际输出。
由此可见,输入刷新、程序执行和输出刷新三个阶段构成PLC一个工作周期,由此循环往复,因此称为循环扫描工作方式。由于输入刷新阶段是紧接着输出刷新阶段后马上进行的,所以亦将这两个阶段统称为I/O刷新阶段。
实际上,除了执行程序和I/O 刷新外,PLC还要进行各种错误检测(自诊断功能)并与编程工具通信,这些操作统称为“监视服务”,一般在程序执行后进行。
PLC的扫描周期为
T=(刷新一个输入点的时间×输入点数)+(扫描速度×程序步数)+(刷新一个输出点的时间×输出点数)+故障诊断时间
显然扫描周期T的长短主要取决于程序的长短。
扫描周期越长,响应速度越慢。现在厂家生产的基本型PLC的一个扫描周期约几毫秒,这对于一般的开关量控制系统来说是完全允许的,不但不会造成影响,反而可以增强系统的抗干扰能力。这是因为输入采样仅在输入刷新阶段进行,PLC在一个工作周期的大部分时间里实际上是与外设隔离的。而工业现场的干扰常常是脉冲的、短时间的,由于响应较慢,往往要几个扫描周期才响应一次,而多次扫描后,因瞬间干扰而引起的误动作将会大大减少,从而提高系统的抗干扰能力。但对于控制时间要求较严格、响应速度要求较快的系统,就需要精心编写程序,必要时采用一些特殊措施,以减少因扫描周期造成的响应滞后等不良影响。当然响应速度要求较快的系统也可以采用高速CPU,提高扫描速度等手段。总之,采用循环扫描的工作方式,是PLC区别于微机和其他控制设备的最大特点,在学习时应充分注意。
2)PLC的主要技术指标
(1)输入/输出点数(I/O点数)。输入/输出点数指PLC外部的输入/输出端子数,这是一项很重要的技术指标,因为在选用PLC时要根据控制对象的I/O点数要求确定机型。PLC的I/O点数包括主机的I/O点数和最大扩展点数,主机的I/O点数不够时可接扩展I/O模块,但因为扩展模块内一般只有接口电路和驱动电路,它通过总线电缆与主机相连,由主机的CPU进行寻址,故最大扩展点数受CPU的I/O寻址能力的限制。
(2)扫描速度。扫描速度一般指执行一步指令的时间,单位为μs/步。另外扫描周期也和PLC品牌和机种有一定关系,如三菱的FX2NPLC基本指令的扫描时间约为0.08µs,应用指令的扫描时间约为1.52µs,有时也以1000步指令的时间计算。
(3)内存容量。一般以PLC所能存放用户程序的多少来衡量内存容量。在PLC中程序指令是按步存放的(一条指令往往不止一步),一步占一个地址单元,一个地址单元一般占两字节。例如,一个内存容量为1000步的PLC,可推知其内存为2KB。
应注意到内存容量实际是指用户程序容量,它未包括系统程序存储器的容量。程序容量和最大I/O点数大体成正比。
(4)指令条数。PLC具有的指令种类越多,说明它的软件功能越强,所以指令条数的多少是衡量PLC软件功能强弱的主要指标。
(5)内部寄存器。PLC内部有许多寄存器,用于存放变量状态、中间结果和数据等,还有许多辅助寄存器给用户提供特殊功能,以简化整个系统设计,因此,寄存器的配置情况是PLC硬件功能的一个指标。
(6)功能模块。PLC除了主控模块(又称主机或主控单元)外,还可以配接各种功能模块。主控模块可实现基本控制功能,功能模块的配置则可实现一些特殊的专门功能。因此,功能模块的配置放大了PLC的功能强弱。目前各生产厂家都在开发功能模块上下很大工夫,使其发展很快,种类日益增多,功能也越来越强。常用的功能模块主要有A/D和D/A转换模块、高速计数模块、位置控制模块、速度控制模块、轴定位模块、湿度控制模块、PID控制模块、模糊控制模块、远程通信模块及各种物理量转换模块等。
这些功能模块使PLC不但能进行开关量顺序控制,而且能进行模拟量控制及精确的速度和定位控制。特别是网络通信模块的迅速发展,使得PLC可以充分利用计算机和互联网的资源,实现远程监控。
3.PLC的分类、特点、应用及其发展趋势
1)PLC的分类
PLC产品种类繁多,其规格和性能也各不相同。对PLC的分类,通常根据其结构形式的不同、功能的差异和I/O点数的多少等进行大致分类。
● 按结构形式分类
按结构形式分类,一般可将PLC分为整体式和模块式两种。
(1)整体式。整体结构的PLC是将控制组件、I/O接口组件、电源组件等集中配置成一个整体,其特点是结构紧凑、体积小、重量轻、价格低,小型PLC一般采用这种结构,适用于工业生产中的单机控制。
(2)模块式。这种结构形式的PLC是将各部分以模块分开,形成独立单元,如CPU单元、电源单元、输入单元、输出单元等,使用时可将这些单元模块分别插入机架底板的插座上。它具有组装灵活、便于扩展、维修方便等优点,可根据控制要求配置不同的模块,以构成不同的控制系统,一般大、中型PLC采用这种结构。
● 按功能分类
根据PLC所具有的功能不同,可分为低档、中档、高档三类。
(1)低档PLC具有逻辑运算、定时、计数、移位及自诊断、监控等基本功能,还可有少量模拟量输入/输出、算术运算、数据传送和比较、通信等功能,主要用于逻辑控制、顺序控制或少量模拟量控制的单机控制系统。
(2)中档PLC除具有低档PLC的功能外,还具有较强的模拟量输入/输出、算术运算、数据传送和比较、数制转换、远程I/O、通信联网等功能,有些还可增设中断控制、PID控制等功能,适用于复杂控制系统。
(3)高档PLC除具有中档机的功能外,还增加了带符号算术运算、矩阵运算、位逻辑运算、平方根运算及其他特殊功能函数的运算、制表及表格传送功能等。高档PLC具有更强的通信联网功能,可用于大规模过程控制或构成分布式网络控制系统,实现工厂自动化。
● 按I/O点数分类
根据PLC的I/O点数的多少,可分为小型、中型和大型三类。小型PLC的I/O点数小于256点,中型PLC的I/O点数为256~2048点,大型PLC的I/O点数大于2048点。
2)PLC的特点
PLC的主要特点如下所述。
● 软件简单易学
PLC的最大特点之一,就是采用易学易懂的梯形图语言,它是以计算机软件技术构成继电器模型,形成一种独具风格的以继电器梯形图为基础的形象编程语言,梯形图符号和定义与常规继电器展开图几乎一致,电气操作人员使用起来得心应手,不存在计算机技术和传统电气控制技术之间的专业“鸿沟”,在了解PLC简要工作原理和它的编程技术后,就可结合实际需要进行应用设计。
● 使用和维护方便
(1)硬件配置方便。PLC硬件都是生产厂家按一定标准和规模生产的,硬件可按实际需要来配置,十分方便。
(2)安装方便。因PLC是用程序来实现控制功能的,与继电器-接触器控制系统相比,大大减少了电器的安装和接线工作。
(3)使用方便。PLC能提供许多内部软继电器供用户编程使用,而且其触点的数量和使用次数均不受限制,给用户带来很大方便,用户在选用PLC时主要考虑I/O点数,可选择不同型号和各种功能模块的配置来达到要求。
(4)维护方便。PLC能提供许多监控提示信号,能检查出自身的故障,并随时显示给操作者,并且能够动态地监视控制程序的执行情况,为现场的调试和维护提供方便。
● 抗干扰能力强,工作稳定可靠
因为PLC是专为工业控制而设计的,所以采取了各种措施来提高抗干扰能力和工作可靠性,主要措施有如下:
(1)输入、输出均采用光电隔离,提高了抗干扰能力。
(2)主机的输入电源和输出电源可相互独立,减少了电源间干扰。
(3)采用循环扫描工作方式,提高了抗干扰能力。
(4)内部采用“监视器”电路,以保证CPU可靠地工作。
(5)采用密封防尘抗震的外壳封装及内部结构,可适应恶劣环境。
实验表明,一般产品可抗1kV、1µs的窄脉冲干扰,其平均无故障时间一般可达5×104~105 h。
● 设计施工周期短
使用PLC完成一项控制工程,在系统设计完成以后,现场施工和PLC程序设计可以同时进行,周期短,可进行在线修改,柔性好。
正是由于具有这些优点,PLC受到广泛欢迎,应用日益普及。
3)PLC的应用场合
PLC在国内外已广泛用于机械、冶金、石油、化工、轻工、纺织、电力、电子、食品、交通、楼宇等行业中。PLC的应用大致可分为以下几种类型:
(1)用于开关逻辑控制。这是PLC最基本的应用场合,用PLC可取代传统的继电控制,如机床电气、电动机控制中心,也可取代顺序控制,如高炉上料,电梯控制,货物存取、运输、检测等。总之,PLC可用于单机、机群及生产的自动控制。
(2)用于机械加工的数字控制。PLC和计算机组合成一体,可实现数字控制,组成数控机床。
(3)用于机器人或机械手控制。
(4)用于闭环过程控制。中、大型PLC都配有PID模块和A/D、D/A模块,可实现单回路、多回路的调节控制。
(5)用于组成多级控制系统,实现工厂自动化网络。
4)PLC的发展及国内市场概况
PLC从诞生至今,其发展大体经历了三个阶段:从20世纪70年代至80年代中期,以单机为主发展硬件技术,为取代传统的继电器-接触器控制系统设计了各种PLC的基本型号。到80年代末期,为适应柔性制造系统的发展,在提高单机功能的同时加强软件的开发,提高通信能力。90年代以来,为适应计算机速度和数据处理能力,通信能力进一步提高,“网络就是计算机”这一观点又渗透到PLC领域,强大的网络通信功能更使PLC如虎添翼,随着各种功能模块、应用软件的开发,加速了PLC向连续控制、过程控制领域的发展。PLC的发展过程表明,它事实上已改变了当初单纯作为继电器、接触器的替代物用做开关量控制的初衷,而发展成为一种新型的工业控制的基础控制设备。
目前,国内PLC市场主要以小型进口机为主,主要有三菱和欧娒龙等产品,大型机则以西门子的产品为主。
国产PLC近年来发展十分迅速,随着国产机的性能价格比不断提高,可预见其市场占有率将随之逐步提高,不远的将来,国产机将占有大部分国内的PLC市场。
4.PLC常见的两种编程语言
● 梯形图语言
PLC的梯形图是在原继电器-接触器控制系统的继电器梯形图基础上演变而来的,它不但形象和直观,为广大电气技术人员所熟悉,而且与传统的继电器梯形图相比,还简化了符号,将微机控制的特点结合进去,增加了许多功能强的指令,使其实现的功能大大超过了传统的梯形图,并且容易掌握使用。
两种梯形图的基本表达思想是一致的,但具体表达方式及其内涵有一定的区别:
(1)在继电器梯形图中每个电气符号代表一个电器(如继电器、接触器)的触头或线圈,即一个实际的电器部件,其间的连线表示电器部件间的连接线(硬接线),因此继电器梯形图表示的只是一个具体的、实际的电路,而PLC梯形图中的继电器并不是物理继电器,它实际上是PLC内部存储器中的触发器,其间的连线表示的是它们之间的逻辑关系,即所谓软接线。
(2)继电器梯形图中表示的每一个电器的触头是有限的,且存在触点磨损问题,使用寿命也是有限的,而PLC梯形图中每个符号对应的是内部一个存储单元,其状态(“1”或“0”)可在整个控制程序中反复多次读取,因此可认为PLC内部的“软继电器”有无数个常闭或常开触点提供给用户使用,而且无使用寿命的限制,这就给设计控制程序提供了极大的方便。
(3)在继电器梯形图中,若需要改变控制功能,增减电器控制触点,就必须改变电气接线和使用继电器的数目。而对于PLC梯形图而言,改变控制功能实际上只是改变控制程序。
● 助记符语言(语句表)
用梯形图直观、方便、易懂,但PLC必须配有较大的显示器才能输入图形符号,而小型机特别是在生产现场编制、调试程序时,则经常使用手持编程器,它的显示屏小,采用的是助记符语言。助记符语言类似微机的汇编语言,它采用助记符表示各种程序指令。
1.1.2PLC基本指令
由于生产可编程序控制器的厂家众多,编程方法也有所不同,因此下面主要介绍日本三菱FX系列可编程序控制器的基本指令,本节的部分文字说明可参考相关书籍。
1.取指令与输出指令(LD/LDI/LDP/LDF/OUT)
(1)LD(取指令)是一个常开触点与左母线连接的指令,每个以常开触点开始的逻辑行都用此指令。
(2)LDI(取反指令)是一个常闭触点与左母线连接指令,每个以常闭触点开始的逻辑行都用此指令。
(3)LDP(取上升沿指令)是与左母线连接的常开触点的上升沿检测指令,仅在指定位元件的上升沿(由OFF→ON)时接通一个扫描周期。
(4)LDF(取下降沿指令)是与左母线连接的常闭触点的下降沿检测指令。
(5)OUT(输出指令)是对线圈进行驱动的指令,也称为输出指令。
取指令与输出指令的使用如图1-1-1所示。
图1-1-1 取指令与输出指令的使用
取指令与输出指令的使用说明:
(1)LD、LDI指令既可用于输入左母线相连的触点,也可与ANB、ORB指令配合实现块逻辑运算。
(2)LDP、LDF指令仅在对应元件有效时维持一个扫描周期的接通。在图1-1-1中,当M0有一个下降沿时,则Y4只有一个扫描周期为ON。
(3)LD、LDI、LDP、LDF指令的目标元件为X、Y、M、T、C、S。
(4)OUT指令可以连续使用若干次(相当于线圈并联),对于定时器和计数器,在OUT指令之后应设置常数K或数据寄存器。
(5)OUT指令目标元件为Y、M、T、C和S,但不能用于X。
2.触点串联指令(AND/ANI/ANDP/ANDF)
(1)AND(与指令)是一个常开触点串联连接指令,完成逻辑“与”运算。
(2)ANI(与反指令)是一个常闭触点串联连接指令,完成逻辑“与非”运算。
(3)ANDP是上升沿检测串联连接指令。
(4)ANDF是下降沿检测串联连接指令。
触点串联指令的使用如图1-1-2所示。
图1-1-2触点串联指令的使用
触点串联指令的使用说明:
(1)AND、ANI、ANDP、ANDF都是指单个触点串联连接的指令,串联次数没有限制,可反复使用。
(2)AND、ANI、ANDP、ANDF的目标元件为X、Y、M、T、C和S。
(3)在图1-1-2中,OUT M10指令之后通过T2的触点驱动Y4称为连续输出。
3.触点并联指令(OR/ORI/ORP/ORF)
(1)OR(或指令)用于单个常开触点的并联,实现逻辑“或”运算。
(2)ORI(或非指令)用于单个常闭触点的并联,实现逻辑“或非”运算。
(3)ORP为上升沿检测并联连接指令。
(4)ORF为下降沿检测并联连接指令。
触点并联指令的使用如图1-1-3所示。
图1-1-3触点并联指令的使用
触点并联指令的使用说明:
(1)OR、ORI、ORP、ORF指令都是指单个触点的并联,并联触点的左端接到LD、LDI、LDP或LPF 处,右端与前一条指令对应触点的右端相连,触点并联指令连续使用的次数不限。
(2)OR、ORI、ORP、ORF指令的目标元件为X、Y、M、T、C、S。
4.块操作指令(ORB/ANB)
1)ORB(块或指令)
该指令用于两个或两个以上的触点串联连接的电路之间的并联。ORB指令的使用如图1-1-4所示。
图1-1-4 ORB指令的使用
ORB指令的使用说明:
(1)几个串联电路块并联连接时,每个串联电路块开始时应该用LD或LDI指令。
(2)有多个电路块并联回路,如对每个电路块使用ORB指令,则并联的电路块数量没有限制。
(3)ORB指令也可以连续使用,但这种程序写法不推荐使用,LD或LDI指令的使用次数不得超过8次,也就是ORB只能连续使用8次以下。
2)ANB(块与指令)
该指令用于两个或两个以上触点并联连接的电路之间的串联。ANB指令的使用如图1-1-5所示。
图1-1-5 ANB指令的使用
ANB指令的使用说明:
(1)并联电路块串联连接时,并联电路块的开始均用LD或LDI指令。
(2)多个并联回路块连接按顺序和前面的回路串联时,ANB指令的使用次数没有限制。也可连续使用ANB,但与ORB一样,使用次数在8次以下。
5.置位与复位指令(SET/RST)
(1)SET(置位指令)的作用是使被操作的目标元件置位并保持。
(2)RST(复位指令)使被操作的目标元件复位并保持清零状态。
SET、RST指令的使用如图1-1-6所示。当X0常开接通时,Y0变为ON状态并一直保持该状态,即使X0断开Y0的ON状态仍维持不变;只有当X1的常开闭合时,Y0才变为OFF状态并保持,即使X1常开断开,Y0也仍为OFF状态。
图1-1-6 置位与复位指令的使用
SET、RST指令的使用说明:
(1)SET指令的目标元件为Y、M、S,RST指令的目标元件为Y、M、S、T、C、D、V、Z。RST指令常被用来对D、Z、V的内容清零,还用来复位积分定时器和计数器。
(2)对于同一目标元件,SET、RST可多次使用,顺序也可随意,但最后执行者有效。
6.微分指令(PLS/PLF)
(1)PLS(上升沿微分指令)在输入信号上升沿产生一个扫描周期的脉冲输出。
(2)PLF(下降沿微分指令)在输入信号下降沿产生一个扫描周期的脉冲输出。
微分指令的使用如图1-1-7所示,利用微分指令检测到信号的边沿,通过置位和复位命令控制Y0的状态。
图1-1-7 微分指令的使用
PLS、PLF指令的使用说明:
(1)PLS、PLF指令的目标元件为Y和M。
(2)使用PLS时,仅在驱动输入为ON后的一个扫描周期内目标元件为ON,如图1-1-7所示,M0仅在X0的常开触点由断到通时的一个扫描周期内为ON;使用PLF指令时只是利用输入信号的下降沿驱动,其他与PLS相同。
7.主控指令(MC/MCR)
(1)MC(主控指令)用于公共串联触点的连接。执行MC后,左母线移到MC触点的后面。
(2)MCR(主控复位指令)是MC指令的复位指令,即利用MCR指令恢复原左母线的位置。
在编程时常会出现这样的情况,多个线圈同时受一个或一组触点控制,如果在每个线圈的控制电路中都串入同样的触点,将占用很多存储单元,使用主控指令就可以解决这一问题。MC、MCR指令的使用如图1-1-8所示,利用MC N0 M100实现左母线右移,使Y0、Y1都在X0的控制之下,其中N0表示嵌套等级,在无嵌套结构中N0的使用次数无限制;利用MCR N0恢复到原左母线状态。如果X0断开则会跳过MC、MCR之间的指令向下执行。
图1-1-8 主控指令的使用
MC、MCR指令的使用说明:
(1)MC、MCR指令的目标元件为Y和M,但不能用特殊辅助继电器。MC占3个程序步,MCR占2个程序步。
(2)主控触点在梯形图中与一般触点垂直(如图1-1-8中的M100)。主控触点是与左母线相连的常开触点,是控制一组电路的总开关。与主控触点相连的触点必须用LD或LDI指令。
(3)MC指令的输入触点断开时,在MC和MCR之内的积分定时器、计数器、用复位/置位指令驱动的元件保持其之前的状态不变。非积分定时器和计数器,用OUT指令驱动的元件将复位,图1-1-8中当X0断开,Y0和Y1即变为OFF。
(4)在一个MC指令区内再使用MC指令称为嵌套。嵌套级数最多为8级,编号按N0→N1→N2→N3→N4→N5→N6→N7顺序增大,每级的返回用对应的MCR指令,从编号大的嵌套级开始复位。
8.堆栈指令(MPS/MRD/MPP)
堆栈指令用于多重输出电路,为编程带来便利。在FX系列PLC中有11个存储单元,它们专门用来存储程序运算的中间结果,被称为栈存储器。
(1)MPS(进栈指令)将运算结果送入栈存储器的第一段,同时将先前送入的数据依次移到栈的下一段。
(2)MRD(读栈指令)将栈存储器的第一段数据(最后进栈的数据)读出,且该数据继续保存在栈存储器的第一段,栈内的数据不发生移动。
(3)MPP(出栈指令)将栈存储器的第一段数据(最后进栈的数据)读出,且该数据从栈中消失,同时将栈中其他数据依次上移。
堆栈指令的使用如图1-1-9所示,其中图(a)为一层栈,进栈后的信息可无限使用,最后一次使用MPP指令弹出信号;图(b)为二层栈,它用了两个栈单元。
图1-1-9 堆栈指令的使用
堆栈指令的使用说明:
(1)堆栈指令没有目标元件。
(2)MPS和MPP必须配对使用。
(3)由于栈存储单元只有11个,所以栈的层次最多11层。
9.逻辑反、空操作与结束指令(INV/NOP/END)
(1)INV(反指令)执行后将原来的运算结果取反。反指令的使用如图1-1-10所示,如果X0断开,则Y0为ON,否则Y0为OFF。使用时应注意INV不能像指令表的LD、LDI、LDP、LDF那样与母线连接,也不能像指令表中的OR、ORI、ORP、ORF那样单独使用。
图1-1-10 反指令的使用
(2)NOP(空操作指令)不执行操作,但占一个程序步。执行NOP时并不做任何事,有时可用NOP指令短接某些触点或用NOP指令将不要的指令覆盖。当PLC执行了清除用户存储器操作后,用户存储器的内容全部变为空操作指令。
(3)END(结束指令)表示程序结束。若程序的最后不写END指令,则PLC不管实际用户程序多长,都从用户程序存储器的第一步执行到最后一步;若有END指令,当扫描到END时,则结束执行程序,这样可以缩短扫描周期。在程序调试时,可在程序中插入若干END指令,将程序划分为若干段,在确定前面程序段无误后,依次删除END指令,直至调试结束。
10.PLC梯形图编程的一些基本规则
梯形图中的开关只有两种,一种是常开,符号为“┤├”;一种是常闭,符号为“┤/├”。它们既可以表示外部开关(硬开关),也可以表示内部的软开关或触点(PLC内部“软继电器”的触点)。与继电器电路一样,每一个开关都有一个标号(如X1、X2、X3)以示区别,同一标号的开关可以反复多次地使用。
梯形图中的输出用“—[* * ]—”表示,方括号中的“* *”是输出变量的标号(如Y1、Y2)。作为输出变量,每一个标号只能使用一次。
梯形图按由左至右、由上至下的顺序书写,因CPU也是按此顺序执行程序。最左边是起始母线,每逻辑行必须从起始母线开始画起,左侧先画输入开关并注意把并联接点多的支路靠近最左端。最右侧是输出变量,输出变量可以并联,但不能串联,在输出变量的右侧也不能有输入开关。最右边为结束母线,有时也可以省去不画。梯形式图的构成可遵循一个原则,即“左重右轻,上重下轻”。
程序结束时应有结束符,用“—(END)—”表示。