13.2.2 可编程控制器应用基础
PLC最常用的两种编程语言,一是梯形图,二是助记符语言。采用梯形图编程,因为它直观易懂,但需要一台个人计算机及相应的编程软件;采用助记符形式便于实验,因为它只需要一台简易编程器,而不必用昂贵的图形编程器或计算机来编程。
虽然一些高档的PLC还具有与计算机兼容的C语言、BASIC语言、专用的高级语言(如西门子公司的GRAPH5、三菱公司的MELSAP),还有用布尔逻辑语言、通用计算机兼容的汇编语言等。不管怎么样,各厂家的编程语言都只能适用于本厂的产品。
1.有关的基本概念
(1)编程指令
指令是PLC被告知要做什么,以及怎样去做的代码或符号。从本质上讲,指令只是一些二进制代码,这点与普通的计算机是完全相同的。同时PLC也有编译系统,它可以把一些文字符号或图形符号编译成机器码,所以用户看到的PLC指令一般不是机器码而是文字代码,或图形符号。常用的助记符语句用英文文字(可用多国文字)的缩写及数字代表各相应指令。常用的图形符号即梯形图,它类似于电气原理图是符号,易为电气工作人员所接受。
(2)指令系统
一个PLC所具有的指令的全体称为该PLC的指令系统。它包含着指令的多少,各指令都能干什么事,代表着PLC的功能和性能。一般讲,功能强、性能好的PLC,其指令系统必然丰富,所能干的事也就多。我们在编程之前必须弄清PLC的指令系统。
(3)程序
PLC指令的有序集合就是程序。PLC运行它,可进行相应的工作,当然,这里的程序是指PLC的用户程序。用户程序一般由用户设计,PLC的厂家或代销商不提供。用语句表达的程序不大直观,可读性差,特别是较复杂的程序更难读,所以多数程序用梯形图表达。
(4)梯形图梯形图是通过连线把PLC指令的梯形图符号连接在一起的连通图。用以表达所使用的PLC指令及其先后顺序,它与电气原理图很相似。它的连线有两种:一为母线,另一为内部横竖线。内部横竖线把一个个梯形图符号指令连成一个指令组,这个指令组一般总是从装载(LD)指令开始,必要时再继以若干个输入指令(含LD指令),以建立逻辑条件。最后为输出类指令,实现输出控制,或为数据控制流程控制、通讯处理、监控工作等指令,以进行相应的工作。母线是用来连接指令组的。如图13-4所示是三菱公司的FX2N系列产品的简单的梯形图例:
图13-4 简单的梯形图例
如图13-4所示,它有两组,第一组用以实现启动、停止控制。第二组仅一个END指令,用以结束程序。
(5)梯形图与助记符的对应关系
助记符指令与梯形图指令有严格的对应关系,而梯形图的连线又可把指令的顺序予以体现。一般讲,其顺序为:先输入,后输出(含其他处理);先上,后下;先左,后右。有了梯形图就可将其翻译成助记符程序。上图的助记符程序为:
0000 LD X000
0001 OR X010
0002 ANDNOT X001
0003 OUT Y000
0004 END
反之,根据助记符,也可画出与其对应的梯形图。
(6)梯形图与电气原理图的关系
如果仅考虑逻辑控制,梯形图与电气原理图也可建立起一定的对应关系。如梯形图的输出(OUT)指令,对应于继电器的线圈,而输入指令(如LD,AND,OR)对应于接点,互锁指令(IL、ILC)可看成总开关,等等。这样,原有的继电控制逻辑,经转换即可变成梯形图,进一步转换,即可变成语句表程序。有了这个对应关系,用PLC程序代表继电逻辑是很容易的。这也是PLC技术对传统继电控制技术的继承。
2.可编程控制器的编程器件
下面着重介绍三菱公司的FX2N系列产品的一些编程元件及其功能。
FX系列产品,它内部的编程元件,也就是支持该机型编程语言的软元件,按通俗叫法分别称为继电器、定时器、计数器等,但它们与真实元件有很大的差别,一般称它们为“软继电器”。这些编程用的继电器,它的工作线圈没有工作电压等级、功耗大小和电磁惯性等问题;触点没有数量限制、没有机械磨损和电蚀等问题。它在不同的指令操作下,其工作状态可以无记忆,也可以有记忆,还可以作脉冲数字元件使用。一般情况下,X代表输入继电器,Y代表输出继电器,M代表辅助继电器,SPM代表专用辅助继电器,T代表定时器,C代表计数器,S代表状态继电器,D代表数据寄存器,MOV代表传输等。
(1)输入继电器(X)
PLC的输入端子是从外部开关接受信号的窗口,PLC内部与输入端子连接的输入继电器X是用光电隔离的电子继电器,它们的编号与接线端子编号一致(按八进制输入),线圈的吸合或释放只取决于PLC外部触点的状态。内部有常开/常闭两种触点供编程时随时使用,且使用次数不限。输入电路的时间常数一般小于10ms。各基本单元都是八进制输入的地址,输入为X000~X007,X010~X017,X020~X027。它们一般位于机器的上端。
(2)输出继电器(Y)
PLC的输出端子是向外部负载输出信号的窗口。输出继电器的线圈由程序控制,输出继电器的外部输出主触点接到PLC的输出端子上供外部负载使用,其余常开/常闭触点供内部程序使用。输出继电器的电子常开/常闭触点使用次数不限。输出电路的时间常数是固定的。各基本单元都是八进制输出,输出为Y000 ~Y007,Y010~Y017,Y020~Y027。它们一般位于机器的下端。
(3)辅助继电器(M)
PLC内有很多的辅助继电器,其线圈与输出继电器一样,由PLC内各软元件的触点驱动。辅助继电器也称中间继电器,它没有向外的任何联系,只供内部编程使用。它的端子常开/常闭触点使用次数不受限制。但是,这些触点不能直接驱动外部负载,外部负载的驱动必须通过输出继电器来实现。如图13-5所示的M300,它只起到一个自锁的功能。在FX2N中普遍采用M0~M499,共500点辅助继电器,其地址号按十进制编号。辅助继电器中还有一些特殊的辅助继电器,如掉电继电器、保持继电器等,在这里就不一一介绍了。
(4)定时器(T)
在PLC内的定时器是根据时钟脉冲的累积形式,当所计时间达到设定值时,其输出触点动作,时钟脉冲有1ms、10ms、100ms。定时器可以用用户程序存储器内的常数K作为设定值,也可以用数据寄存器(D)的内容作为设定值。在后一种情况下,一般使用有掉电保护功能的数据寄存器。即使如此,若备用电池电压降低时,定时器或计数器往往会发生误动作。
图13-5 辅助继电器的符号及应用
定时器通道范围如下:
100ms定时器T0~T199,共200点,设定值:0.1~3276.7s;10ms定时器T200~TT245,共46点,设定值:0.01~327.67s;1ms积算定时器T245~T249,共4点,设定值:0.001~32.767 s;100ms积算定时器T250~T255,共6点,设定值:0.1~3276.7 s。
定时器指令符号及应用如图13-6所示:当定时器线圈T200的驱动输入X000接通时,T200的当前值计数器对10ms的时钟脉冲进行累积计数,当前值与设定值K123相等时,定时器的输出接点动作,即输出触点是在驱动线圈后的1.23s(10×123ms = 1.23s)时才动作,当T200触点吸合后,Y000就有输出。当驱动输入X000断开或发生停电时,定时器就复位,输出触点也复位。
每个定时器只有一个输入,它与常规定时器一样,线圈通电时,开始计时;断电时,自动复位,不保存中间数值。定时器有两个数据寄存器,一个为设定值寄存器,另一个是现时值寄存器,编程时,由用户设定累积值。
如果是积算定时器,它的符号接线如图13-7所示。
定时器线圈T250的驱动输入X001接通时,T250的当前值计数器对100ms的时钟脉冲进行累积计数,当该值与设定值K345相等时,定时器的输出触点动作。在计数过程中,即使输入X001在接通或复电时,计数继续进行,其累积时间为34.5s(100ms×345=34.5s)时触点动作。当复位输入X002接通,定时器就复位,输出触点也复位。
(5)计数器(C)
FX2N中的16位增计数器,是16位二进制加法计数器,它是在计数信号的上升沿进行计数,它有两个输入,一个用于复位,一个用于计数。每一个计数脉冲上升沿使原来的数值减1,当现时值减到零时停止计数,同时触点闭合。直到复位控制信号的上升沿输入时,触点才断开,设定值再次写入,又进入计数状态。
其设定值在K1~K32767范围内有效。
设定值K0与K1含义相同,即在第一次计数时,其输出触点就动作。通用计数器的通道号:C0~C99,共100点。保持用计数器的通道号:C100~C199,共100点。
通用与掉电保持用的计数器点数分配,可由参数设置而随意更改。
计数器符号及应用如图13-8所示。
由计数输入X011每次驱动C0线圈时,计数器的当前值加1。当第10次执行线圈指令
图13-6 定时器指令符号及应用
图13-7 积算定时器指令符号及应用
图13-8 计数器符号及应用
时,计数器C0的输出触点即动作。之后即使计数器输入X011再动作,计数器的当前值保持不变。
当复位输入X010接通(ON)时,执行RST指令,计数器的当前值为0,输出接点也复位。
应注意的是,计数器C100~C199,即使发生停电,当前值与输出触点的动作状态或复位状态也能保持。
(6)数据寄存器
数据寄存器是计算机必不可少的元件,用于存放各种数据。FX2N中每一个数据寄存器都是16bit(最高位为正、负符号位),也可用两个数据寄存器合并起来存储32bit数据(最高位为正、负符号位)。
① 通用数据寄存器D
通道分配D0~D199,共200点。只要不写入其他数据,已写入的数据不会变化。但是,由RUN→STOP时,全部数据均清零。(若特殊辅助继电器M8033已被驱动,则数据不被清零)。
② 停电保持用寄存器
通道分配D200~D511,共312点,或D200~D999,共800点(由机器的具体型号定)。基本上同通用数据寄存器。除非改写,否则原有数据不会丢失,不论电源接通与否,PLC运行与否,其内容也不变化。在两台PLC作点对的通信时,D490~D509被用作通信操作。
③ 文件寄存器
通道分配D1000~D2999,共2000点。文件寄存器是在用户程序存储器(RAM、EEPROM、EPROM)内的一个存储区,以500点为一个单位,最多可在参数设置时到2000点。用外部设备口进行写入操作。在PLC运行时,可用BMOV指令读到通用数据寄存器中,但是不能用指令将数据写入文件寄存器。用BMOV将数据写入RAM后,再从RAM中读出。将数据写入EEPROM盒时,需要花费一定的时间,请务必注意。
④ RAM文件寄存器
通道分配 D6000~D7999,共2000点。驱动特殊辅助继电器M8074,由于采用扫描被禁止,上述的数据寄存器可作为文件寄存器处理,用BMOV指令传送数据(写入或读出)。
⑤ 特殊用寄存器
通道分配 D8000~D8255,共256点。是写入特定目的的数据或已经写入数据寄存器,其内容在电源接通时,写入初始化值(一般先清零,然后由系统ROM来写入)。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。