一直做单片机开发,虽然做单片机开发项目成本较低,但是单片机开发周期过长,还得定制PCB、焊接元器件、调试等等,所导致的问题是往往一个小项目做完后,计算其成本比使用成品PLC的成本还要高。认识了一个做工业自动化控制的工程师,也有同感。使用PLC的方便快捷使得我也决定开始学习PLC,现学现用吧。
--------------------------------------------------------------------------------------
其实拿来一块PLC,看看其外表,很像一个单片机芯片,不过他的I/O口都是分开的了。而且其输入、输出口都有LED指示灯显示状态的,比较好用。
-----------------------------------------------------------------
一、 今天整理如下资料:
PLC工作方式:周期循环扫描,和单片机一样,一条指令的错误将导致程序运行停止。
其沿梯形图先后顺序执行,在同一扫描周期中的结果留在输出状态暂存器中,所以输出点的值在用户程序中可以当做条件使用。
内部继电器、计数器、寄存器等均不能直接控制外部负载,只能做中间结果供CPU内部使用。
梯形图中的接点可以任意串、并联,但线圈只能并联不能串联。
梯形图中接点(触点)只有常开和常闭,接点可以是PLC输入点接的开关也可以是PLC内部继电器的接点或内部寄存器、计数器等的状态。
二、需要掌握如下内容啊
元件系指可编程序控制器内部等效于继电器功能的不同器件。FX2N系列PLC编程元件有输入输出继电器(X与Y)、辅助继电器(M)、状态继电器(S)、定时器(T)、计数器(C)、数据寄存器(D)、和指针(P、I、N)等七大类。
FX2N系列PLC编程元件由两部分组成,{dy}部分用一个字母代表编程元件,第二部分用数字表示该编程元件的编址号。
1.输入继电器
输入继电器(X)是PLC用于接收用户设备发出的输入信号,每一个输入继电器线圈均与相应PLC输入接口端子相连,并有无限个常开触头和常闭触头供编程时使用。输入继电器线圈只能由外部输入信号驱动,而不能用程序内部指令驱动,其触头也不能直接输出带负载,因此在PLC程序中输入继电器只有触头没有线圈。根据PLC只是在每一扫描周期开始时读入输入信号,这就要求输入信号(“ON”或“OFF”)的保持时间大于PLC的扫描周期,否则,PLC在一个扫描周期中可能读不到保持时间过短的输入信号,而导致输入信号丢失。
2.输出继电器
输出继电器(Y)用于PLC向执行机构控制元件传送控制信号。
每一个输出继电器均通过一个输出常开硬触头与相应PLC输出端相连,该输出常开硬触头反映了输出继电器线圈的通与断的状态,例如当输出继电器Y0通电,则输出常开硬触头Y0的信号状态为“1”。受输出继电器Y0控制的供编程用常开触头和常闭触头则可以无限次使用。输出继电器线圈的通断状态由PLC程序执行结果决定,在每一次扫描周期{zh1}阶段,CPU以批处理方式将输出映像寄存器的内容传送到PLC的输出接口端子,使外部负载工作。
表5-7 FX2N系列PLC输入输出继电器元件序号
FX2N-16M |
FX2N-32M
|
FX2N-48M
|
FX2N-64M
|
FX2N-80M
|
FX2N-128M
|
扩展时
|
X0~X7(8点)
|
X0~X17(16点)
|
X0~X27(24点)
|
X0~X37(32点)
|
X0~X47(40点)
|
X0~X77(64点)
|
X0~X267(184点)
|
Y0~Y7(8点)
|
Y0~Y17(16点)
|
Y0~Y27(24点)
|
Y0~Y37(32点)
|
Y0~Y47(40点)
|
Y0~Y77(64点)
|
Y0~Y267(184点)
|
辅助继电器(M)在逻辑运算中起中间状态暂存作用,相当于继电器控制线路中的中间继电器。辅助继电器线圈状态由PLC中间运算结果决定,受辅助继电器线圈控制的常开和常闭触头数量可以无限次使用,物理上一个辅助继电器触头只是内部存储器的一个状态标志存储位,所以辅助继电器触头既不能接收外部的输入信号,也不能直接驱动外部负载。
1.通用辅助继电器
通用辅助继电器没有断电保持功能。PLC上电前所有通用辅助继电器均自动复位为“OFF”状态,上电时除了因外部输入信号而变为“ON”状态的通用辅助继电器以外,其余均保持“OFF”状态,上电后的状态则由输入信号决定。
2.断电保持辅助继电器
断电保持辅助继电器具有记忆功能,PLC断电时由PLC内部的锂电池将断电保持辅助继电器状态保持在相应的映像寄存器中,重新上电后再从映像寄存器中调入断电时的状态并在该基础上继续工作。
表5-8是FX2N系列PLC通用辅助继电器和断电保持辅助继电器序号区域分配表。其中M500~M1023可由软件将其设定为通用辅助继电器。
表5-8 FX2N系列PLC通用辅助继电器及断电保持辅助继电器
如下梯形图中,M500为断电保持辅助继电器,试分析断电及重新上电过程中该继电器的状态。
答:设系统失电时,M500线圈处于通电状态,则PLC重新上电后,M500处于记忆时的通电状态,所以M500常开触头闭合实现自锁,直至常闭触头X2断开时,线圈M500才会失电。
所以断电保持辅助继电器状态只受外部输入信号影响,不受系统通电与断电的影响。
3特殊辅助继电器
特殊辅助继电器共256点,用于表示PLC的特殊状态。它们都有各自的特殊功能,例如提供时钟脉冲和标志、设定PLC运行方式、或者用于步进顺序、禁止中断等。
触头型特殊辅助继电器
触头型特殊辅助继电器由系统程序驱动其线圈,在用户程序中可以直接使用其触头而不能出现其线圈,常用触头型特殊辅助继电器见表5-9。
表5-9 常用触头型特殊辅助继电器
|
继电器序号
|
名称
|
功能说明
|
表示PLC状态
|
M8000
|
运行监视继电器
|
当PLC开机运行时,M8000为ON;关机停止时,M8000为OFF。
M8000可作为“PLC正常运行”标志上传给上位计算机
|
表示PLC状态
|
M8001
|
运行监视继电器
|
当PLC开机运行时,M8001为OFF;关机停止时,为ON
|
表示PLC状态
|
M8002
|
初始脉冲继电器
|
当PLC开机运行后,M8002仅在M8000由OFF变为ON自动接通
一个扫描周期。可以用M8002的常开触头使断电保持继电器初始化
|
表示PLC状态
|
M8003
|
初始脉冲继电器
|
当PLC开机运行后,M8003仅在M8000由OFF变为ON自动断开
一个扫描周期
|
表示PLC状态
|
M8005
|
锂电池电压降低
继电器
|
锂电池电压下降至规定值时M8005变为ON,可用其触头驱动输出
到继电器控制的外部指示灯,提醒更换锂电池
|
提供时钟脉冲
|
M8011
|
内部10ms时钟
脉冲
|
当PLC上电后,自动产生周期为10ms(5ms为0N,5ms为OFF)的
时钟脉冲
|
提供时钟脉冲
|
M8012
|
内部100ms时钟
脉冲
|
当PLC上电后,自动产生周期为100ms的时钟脉冲
|
提供时钟脉冲
|
M8013
|
内部1s时钟
脉冲
|
当PLC上电后,自动产生周期为1s时钟脉冲
|
提供时钟脉冲
|
M8014
|
内部1min时钟
脉冲
|
当PLC上电后,自动产生周期为1min时钟脉冲
|
线圈型特殊辅助继电器
线圈型特殊辅助继电器由用户程序驱动线圈,使PLC执行特定的操作,而用户不使用其触头。常用线圈型特殊辅助继电器例如:
M8030的线圈通电后,表示电池电压降低的发光二极管;M8034的其线圈通电后,PLC禁止所有的输出,即所有外部输出均为“OFF”,但PLC程序仍然正常执行。
状态继电器(S)主要用于编制PLC的顺序控制程序,一般与步进顺序控制指令STL配合使用。
常用状态继电器有初始状态继电器(S0~S9共10点)、回零状态继电器(S10~S19共10点,供返回始点时用)、通用状态继电器(S20~S499共480点,没有断电保护功能,需断电保持功能时,可用程序设定)、断电保持状态继电器(S500~S899共400点,断电时用带锂电池的RAM或EEPROM保存其ON或OFF状态)、报xx状态继电器(S900~S999共100点,使用信号xxx置位ANS和信号xxx复位ANR指令时起外部故障诊断输出作用,称为信号xxx)。
在非顺序控制程序中,状态继电器(S)也可用作辅助继电器(M)。此外状态继电器的常开触头与常闭触头在PLC编程中可以无限次使用。
例:上图是采用状态器S进行机械手动作控制顺序功能图,分析各状态继电器作用。
答:当启动信号X0为0N时,机械手下降,到下降限位X1开始夹紧工件,夹紧到位信号X2为ON时,机械手开始上升,上升到上限X3后停止,整个过程可分为三步。
每一步都用一个状态器S20、S21、S22记录。每个状态器都有各自的置位和复位信号(如S21由X1置位,X2复位),并有各自的输出操作(驱动Y0、Y1、Y2)。
从启动开始由上至下随着状态动作转移,下一状态动作时上一步的状态自动复原。采用状态继电器后,步与步之间的动作互不干扰,且不必考虑不同步之间的互锁,设计清晰简洁。
数据寄存器(D)用于为模拟量控制、位置量控制、数据I/O存储参数及工作数据,每一个数据寄存器均为16位,其中{zg}位规定为符号位,可用两个数据寄存器组合起来存放32位数据,仍规定{zg}位为符号位。FX2N系列PLC中常用数据寄存器有以下四类。
1.通用数据寄存器
通用数据寄存器有D0~D199共200点,其他数据不写入时,通用数据寄存器保持已写入的数据,并在PLC状态由运行(RUN)转为停止(STOP)时,通用数据寄存器内全部存储数据清零;若将特殊辅助继电器M8033置1,则PLC由RUN转为STOP时,存储数据将保持。
2.断电保持数据寄存器
断电保持数据寄存器D200~D7999共7800点,具有断电保持功能,即在写入新数据前,原有数据在电源断开时也不会丢失,其中D490~D509用作两台PLC进行点对点时的通信。
3.特殊数据寄存器
特殊数据寄存器D8000~D8195共106点,特殊数据寄存器用于监控PLC的运行状态,如扫描时间、电池电压等。未加定义的特殊数据寄存器,用户不能使用。
4.变址寄存器
变址寄存器有V0~V7和Z0~Z7共16点,均为16位寄存器。变址寄存器作用相当于微处理机中的变址寄存器,用于改变元件的编号(变址),变址寄存器可以读写,需要进行32位操作时,则将V、Z串联使用(Z为低位,V为高位)。
例:设V0=5,求执行D20V0时,被执行元件的编号。
答:被执行元件编号为D(20+V0)=D(20+5)=D25,即将原执行元件的编号D20改为D25。
定时器(T)相当于继电器控制系统中的通电型时间继电器,FX2N系列PLC定时器有T0~T255共256点,其中通用定时器246点,积算定时器10点,见表
表 X2N系列PLC定时器编号分配
每一个定时器有一个设定值寄存器(一个字长,用户可用用户程序存储器内的常数k或数据寄存器D的内容作为设定值)、一个当前值寄存器(一个字长)、一个用来存储其输出触头状态的映像寄存器(一个二进制位寄存器)组成,三个寄存器使用同一地址编号。
定时器还有无限个常开触头和常闭触头供编程时使用,当定时器设定时间到,常开触头接通,常闭触头断开。
1.通用定时器
通用定时器不具备断电的保持功能,当输入电路断开或停电时定时器复位清零,通用定时器有100ms和10ms两种。
例:下图为使用T200通用定时器延时控制梯形图,试分析通用定时器T200延时控制原理及设定值寄存器内数据在通电与断电过程中的变化情况。
答:输入X0接通时,定时器T200从0开始对10ms时钟脉冲进行累积计数,当计数值与设定值K123相等时(所经过的延时时间为123×0.01s=1.23s),定时器的常开触头T200接通,线圈Y0通电。当X0断开后定时器复位.计数值变为0,其常开触头T200断开,线圈Y0也随之断开。
外部电源断电时,定时器也将复位并清零,计数值也变为0。
2.积算定时器
积算定时器具有计数累积功能,即在定时过程中若PLC断电或定时器线圈断开,积算定时器将保持当前计数值,待PLC电源或定时器线圈恢复通电后在保持当前计数值的基础上继续累积计数,只有将积算定时器复位,当前计数值才xx为0。积算定时器有1ms和10ms两种。
例:下图为使用T253积算定时器延时控制梯形图,试分析其控制过程及电源从通电到断电再到通电过程中,计数当前值的变化情况。
答:当X0接通时,T253当前值计数器开始累积100ms时钟脉冲的个数。当PLC电源经t0后断开,而T253尚未计数到设定值K345,则当前计数值保留,电源接通并使X0再次接通后,T253从保留的当前计数值开始继续累积,经过t1时间,当前计数值达到K345时,定时器的常开触头T253接通,使线圈Y0接通。累积总时间为345×0.1s=34.5s。
当复位输入X1接通时,定时器才复位,当前值变为0,定时器常开触头也随之复位。