1. 位元件输出执行和双线圈
位元件的驱动输出在梯形图中是由线圈输出指令 OUT 和功能指令的操作来完成的,但两种指令的执行有很大的区别,
1)OUT指令执行
不管驱动条件是否成立,OUT 指令都要执行输出。驱动条件成立,则输出执行为 ON (下面用1表示),驱动条件不成立,则输出执行为OFF(下面用0表示)。
2)功能指令执行
位元件也经常作为功能指令的操作数进行驱动,例如 SET Y0、RST Y0、MOV K10 K4Y0 等。同样,这些功能指令均有驱动条件,功能指令仅当驱动条件成立时,才执行指令的操作功能。其执行结果会送到 I/O 映像区或 RAM 存储区中去保存,而驱动条件不成立时,执行的结果仍然保持不变,直到通过执行新的指令操作得到新的执行结果为止。
什么叫双线圈?在梯形图程序中,如果一个位元件的线圈被驱动两次或两次以上,就叫双线圈。根据驱动所用的指令不同,双线圈在程序中又分为三种结构。
(1)用OUT指令驱动同一个位元件两次或两次以上。
(2)用OUT指令和功能指令驱动同一个位元件两次或两次以上。
(3)用两个功能指令驱动同一个位元件两次或两次以上。
上面三种结构,(1)种和(2)种称为双线圈输出,(3)种称为双线圈驱动。在程序中这两种情况执行的结果是不同的,下面分别给予讨论。
2.双线圈输出
所谓双线圈输出是指位元件在编程中用OUT指令驱动了两次或两次以上,或者用OUT 指令和功能指令驱动了两次或两次以上,程序如图5.1-8所示。
图5.1-8 双线圈输出程序例1
图5.1-8(a)为Y0用OUT指令驱动了两次,是一种典型的双线圈输出。这种程序设计的本意是:如果输入采样为X0接通,X1断开,则Y0,Y1,Y3均为1;如果输入采样为 X0 断开,X1 接通,则 Y0,Y3 均为 1。那么程序运行结果是不是这样呢实际上不是,图5.1-8(b)是实际运行监控结果,当 X0 接通、X1 断开时,Y0,Y3 均为0,仅Y1=1。而且发生了一个初学者感到奇怪的现象,X0接通,Y0没有输出;Y0常开触点没接通,YI却有输出,这种现象只能通过OUT指令的执行特性和程序的扫描执行过程来说明。
当X0接通时,0行,Y0=1,执行结果马上影响2行,Y0触点动合,Y1=1。到4行,由于X1断开,但OUT指令仍然得到执行,使Y0=0,执行结果马上影响6行,Yo 触点不动作,使 Y3=0。由扫描原理可知,输出 Y 的状态是以 I/O 映像区中后的状态在END 指令执行后统一刷新送到输出锁存存储区中,然后传送到各相应的输出端子,所以,是Y1=1,Y0=Y3=0。正是OUT指令的这种执行特性和梯形图的扫描,才产生了所谓的双线圈问题。
再来看看图5.1-9(a),图中Y0用OUT指令和SET指令分别驱动了一次,这是另一种形式的双线圈输出。这种程序会不会同样存在线圈驱动互有影响而得不到预想得结果呢定X1接通,X0断开,希望得到Y0=Y1=Y2=1的输出,但实际上,X1接通后,SET Y0指令使Y0=1,到6行,Y2=1,重新扫描原0行,执行OUT指令,Y0=0,到2行,Y1=0。这就是为什么实际运行结果却是Y0=Y2=1,Y1=0。当X1断开后,Y0应该保持置1 状态,但实际监控结果却是 Y0=Y1=Y2=0。为什么?因为,虽然 X1 断开后,Y0 保持置1 状态。但再次扫描到首行时,由于X0断开,OUT指令执行使Y0的状态由1变为0,相当于执行了一条RST Y0指令,Y0=0,使Y1=0,如果这时X1已断开,则SETY0指令得不到执行,而又使Y2=0,程序执行的后结果是Y0=Y1=Y2=0。在含有OUT指令输出的双线圈输出中,由于 OUT 指令执行的特性会使输出状态互相影响而导致程序运行后得不到预期的输出。
图5.1-9 双线圈输出程序例2
对图5.1-8和图5.1-9的双线圈程序分析可以得出这样的结论:双线圈输出不存在编程语法错误。编程软件可以接受双线圈输出,但由于两个线圈的驱动互有影响,在程序结构复杂时,会得不到程序设计所预想的结果,导致控制失误。因此,在梯形图程序中,应避免出现双线圈输出设计,特别是输出继电器Y的双线圈输出设计。
但也有例外,如果双线圈输出并不在同一扫描周期内,则不会产生双线圈输出问题,如利用条件转移指令CJ设计的手动、自动程序。由于手动和自动程序不会在同一扫描周期被执行,因此,在这两个程序段可以允许有相同的线圈输出,并不构成双线圈输出。类似的还有STL指令步进程序SFC梯形图。在步进程序中,由于一定时间仅在一个状态被,因此,在一个状态里不能出现双线圈输出,而在不同的状态可以有相同的线圈输出,这不叫作双线圈输出。但也要注意,两个相邻状态也不能出现相同线圈的输出。
3. 双线圈驱动
在梯形图程序中,如果相同的位元件输出仅出现在功能指令的操作数中,而且在一个扫描周期内出现在两个或两个以上的功能指令,则称为双线圈驱动,以示与双线圈输出的区别。
双线圈驱动属于指令的操作与驱动,关于功能指令的执行已在上面给予说明。由于功能指令仅在驱动条件成立时才执行,而当驱动条件断开后,执行结果仍然被保存,直到下一条功能指令改变执行结果为止。因此,双线圈驱动不存在双线圈输出那种输出驱动互相影响的情况,双线圈驱动是一种正常的编程。
在双线圈驱动中,如果多个功能指令驱动一个线圈,线圈的状态则以后一个执行的功能指令的操作结果为准。图5.1-10为一个多次用SET,RST指令对Y0进行操作的程序。Y0 的状态决定于后执行的SET、RST指令,而与指令在梯形图中的位置无关。如果同时有几个指令被执行,如先接通X0,又接通 X2,再接通 X1,则 Y0 的状态由接近 END 的功能指令执行结果决定,图中,为X2所驱动的SET Y0指令接近END指令,所以Y0=1。而不是后执行的X1所驱动的RST Y0指令。
图5.1-10 SET、RST双线圈驱动
按照PLC所能实现的功能不同PLC的三档次
按照PLC所能实现的功能的不同,可以把PLC大致地分为低档,中档和机三类。
(1) 低档机:具有逻辑运算、计时、计数、移位、自诊、等基本功能,还具有一定的算术运算、数据传送和比较、通讯、远程和模拟量处理功能。
(2) 中档机:除具有低档机的功能外,还具有较强的算术运算、数据传送和比较、数据转换、远程、通讯、子程序、中断处理和回路程控制功能。
(3)机:除具有中档机的功能外,还具有带符号的算术运算、矩阵运算、函数、表格、CRT显示、打印等功能。
PLC与RLC的区别和联系
在数控机床出现以前,顺序控制技术在工业生产中已经得到广泛应用。许多机械设备的工作过程都需要遵循一定的步骤或顺序。顺序控制即是以机械设备的运行状态和时间为依据,使其按预先规定好的动作次序顺序地进行工作的一种控制方式。
数控机床所用的顺序控制装置(或系统)主要有两种,一种是传统的“继电器逻辑电路”,简称RLC(Relay Logic Circuit)。另一种是“可编程序控制器”,即PLC。
RLC是将继电器、接触器、按钮、开关等机电式控制器件用导线连接而成的以实现规定的顺序控制功能的电路。在实际应用中,RLC存在一些难以克服的缺点。如:只能解决开关量的简单逻辑运算,以及定时、计数等有限几种功能控制,难以实现复杂的逻辑运算、算术运算、数据处理,以及数控机床所需要的许制功能,修改控制逻辑需要增减控制元器件和重新布线,安装和调整周期长,工作量大;继电器、接触器等器件体积较大,每个器件工作触点有限。当机床受控对象较多,或控制动作顺序较复杂时,需要采用大量的器件,因而整个RLC体积庞大,功耗高,可靠性差等。由于RLC存在上述缺点,因此只能用于一般的工业设备和数控车床、数控钻床、数控镗床等控制逻辑较为简单的数控机床。
6ES72111BE400XB0 | CPU 1211C AC/DC/Rly,6输入/4输出,集成2AI |
6ES72111AE400XB0 | CPU 1211C DC/DC/DC,6输入/4输出,集成2AI |
6ES72111HE400XB0 | CPU 1211C DC/DC/Rly,6输入/4输出,集成2AI |
6ES72121BE400XB0 | CPU 1212C AC/DC/Rly,8输入/6输出,集成2AI |
6ES72121AE400XB0 | CPU 1212C DC/DC/DC,8输入/6输出,集成2AI |
6ES72121HE400XB0 | CPU 1212C DC/DC/Rly,8输入/6输出,集成2AI |
6ES72141BG400XB0 | CPU 1214C AC/DC/Rly,14输入/10输出,集成2AI |
6ES72141AG400XB0 | CPU 1214C DC/DC/DC,14输入/10输出,集成2AI |
6ES72141HG400XB0 | CPU 1214C DC/DC/Rly,14输入/10输出,集成2AI |
6ES72151BG400XB0 | CPU 1215C AC/DC/Rly,14输入/10输出,集成2AI/2AO |
6ES72151AG400XB0 | CPU 1215C DC/DC/DC,14输入/10输出,集成2AI/2AO |
6ES72151HG400XB0 | CPU 1215C DC/DC/Rly,14输入/10输出,集成2AI/2AO |
6ES72171AG400XB0 | CPU 1217C DC/DC/DC,14输入/10输出,集成2AI/2AO |