西门子卡件6ES7414-5HM06-0AB0西门子卡件6ES7414-5HM06-0AB0
SIMATIC S7-400H,CPU 414-5H, 中央组件,用于 S7-400H 和 S7-400F, 5 个接口: 1x MPI/DP,1x DP,1x PN 和 2 个同步模块接口, 4 MB 存储器 (2 MB 数据/2 MB 程序) |
1. 扫描与扫描周期
PLC有两种工作模式,即RUN/STOP模式,这两种模式的扫描过程是不相同的。PLC在STOP模式时,仅完成内部处理和通信处理工作,而在RUN 工作模式时,要执行从内部处理到输出刷新处理五个阶段的工作,用户程序执行处理必须在RUN模式下进行。
PLC在RUN 工作模式时,执行一次从内部处理到输出处理五个阶段扫描操作所需要的时间称为扫描周期,其中,内部处理和通信处理的时间很短,仅1~4ms左右,扫描时间主要集中在用户程序的执行处理上,因此,很多资料中把一个扫描周期定义为执行一次用户程序三个阶段的时间。
个 PLC 的扫描周期长短主要和用户程序的容量、CPU 的主频、指令的执行及用户程序的结构有关。用户程序容量大,表示其程序步多,执行时间就要长。而指令的执行速度与CPU的主频有关,主频越高,则指令的执行时间就越短,同样的程序容量其扫描周期也短。
扫描周期长短还与指令的执行和用户程序的结构有关。对基本指令来说,其ON和OFF 状态的执行时间基本是一致的,但对功能指令来说,执行(ON)和不执行(OFF)的时间相差很大,例如,加法指令 ADD,如果驱动条件断开,指令不执行,其执行时间仅为0.455μs,而驱动条件成立时,指令功能执行,其执行时间变成了8.1μs。可见,PLC的扫描时间与指令是否被执行有关。另一方面,PLC的扫描时间还与程序结构有关。例如,当程序中含有循环指令时,循环指令中的循环次数是在当前扫描周期内完成的,这就必定加长了本次扫描时间。又如,当程序中含有转移指令时,跳过去的程序段是不扫描的,这就减少了程序的扫描时间。含有子程序时,如果调用子程序,增加了扫描时间,不调用则不去扫描子程序。由此可见,PLC的扫描时间是动态变化的,每次扫描的时间会不一样。三菱FX系列PLC有三个特殊数据寄存器与扫描时间有关,用户可以通过查看这三个寄存器了解程序的扫描时间,这三个数据寄存器如下所述。
D8010:本周期当前扫描时间。
D8011:扫描时间最小值。
D8012:扫描时间最大值。
一般PLC应用程序扫描周期应在100ms以内。如果扫描周期超过200ms,这样的程序不建议采用,但是在程序中下面一些情况会使程序的扫描周期超过200ms。
(1)循环程序运行时间过长或死循环。看门狗最早就是为这类程序设计的。
(2)过多的中断服务程序和过多的子程序调用会延长程序运行周期。
(3)当采用定位、凸轮开关、链接。在模拟量等较多特殊扩展设备的系统中,PLC会执行缓冲存储器的初始化而延长运行周期时间。
(4)执行多个FROM/TO指令,传送多个缓冲存储区数据会使PLC的运行周期延长。
(5)多个高速计数器同时对高频进行计数时,运行周期会延长。
FX系列PLC的看门狗设定值为200ms,一旦超过200ms,看门狗就会出错,然后CPU 出错,LED灯亮并停止所有输出。
在上述情况中,有一些程序是异常的(如死循环),但大多数控制程序是正常的运行周期时间较长(远超过 200ms)的程序。为了使这类正常程序能够正常运行,一般采用了两种办法解决。
一是改变监视定时器 D8000的设定值。二是利用看门狗指令 WDT 对监视定时器不断刷新,让其当前值在不到200ms时复位为0,又重新开始计时,从而达到在分段计时不超过200ms 的目的。关于指令 WDT 的功能及使用可参看拙著《三菱FX2N PLC 功能指令应用详解》一书12.3.3节。
2. 扫描对梯形图程序的影响
PLC采用循环扫描工作方式,每个扫描周期都按顺序把每一行梯形图执行一次,并集中对I/O 进行处理。这种方式与继电控制并行工作方式相比,至少带来了两个好处。其一是每行梯形图都进行了扫描,保证了控制的实时性其二是较好的抗干扰性,因为在一个扫描周期中,I/O的处理仅占很少时间(几毫秒),大部分时间在执行用户程序,这期间外部信号是不会采集进来的。
PLC的工作原理是采用循环扫描工作方式,在每一个扫描周期内,对用户程序执行分三个阶段:输入集中采样、用户程序运行和输出集中刷新。
在用户程序运行阶段,PLC总是按由上而下的顺序依次扫描用户程序(梯形图)。在扫描每一条梯形图时,根据逻辑运算的结果,刷新位元件线圈在系统RAM存储区中或输出线圈Y在I/O映像区中对应位的状态;或者确定是否要执行该梯形图所规定的功能指令。因此在用户程序执行过程中,只有输入点X在I/O映像区内的状态不会发生变化,而输出点Y在I/O映像区和其他位元件在系统RAM存储区内的状态和数据都有可能发生变化,这种变化会马上直接影响其下面的梯形图相泣触点和数据,但对排在其上面的触点和数据要等到下一个扫描周期才会影响到。
当扫描用户程序结束后,PLC就进入输出刷新。在此期间,PLC按照I/O映像区内对应的状态和数据集中刷新所有的输出锁存存储区,然后传送到各相应的输出端子,再经输出电路驱动相应的实际负载。在下一个扫描周期内,输出端子的状态是不会变化的,但程序中输出点Y是在变化的。输出Y的变化并不马上送到输出端口,仅是改变I/O映像区中的状态,PLC仅用最后的Y状态去刷新输出锁存区。初学者对这种循环扫描的工作方式一定要理解,它涉及很多PLC梯形图程序问题。图5.1-1是对循环扫描工作的图示说明,三个环节处理的要点见表5.1-1。
图5.1-1 PLC循环扫描工作原理
表5.1-1 循环扫描工作三个环节处理
PLC采用的循环扫描工作是一种分时串行处理方式,与继电控制系统的并行处理方式是完全不同的。在继电控制线路中,系统是按并行方式工作的。例如,某个继电器通电时,它的触点是和线圈通电同时动作的,如果有多个触点分配在不同的支路,则在不同支路上的触点也是和线圈通电同时动作的。也就是说,线圈通电和触点动作是同时发生的,这就称为并行工作。因此,在继电控制电气原理图上,一条支路所关心的只是它的逻辑控制条件和控制对象,至于它在电气原理图上的位置是没有关系的。一个启保停控制支路可以放在最前面,也可放在最后面。而PLC循环扫描工作则不同,它是一种串行方式工作。在程序执行区,PLC 每次仅扫描一个程序行,然后再扫描下一个程序行。当一个程序行扫描到某个位元件线圈有输出时,它的触点要等扫描到触点所在行才发生动作。线圈输出和触点动作发生了时间差,这就是串行工作的特点。这种时间差最大可达到一个扫描周期,在这个时间差中,还不能发生该位元件状态发生变化的情况,如果发生,其动作就按新的状态处理了。下面举一例给予说明。
图5.1-2是继电控制原理图与梯形图比较说明,图5.1-2(a)为继电控制原理图,当SA 闭合时,KA1~KA3线圈是同时动作的。而SA控制KA4的支路位置放在哪里都一样。把继电控制换成梯形图,图5.1-2(b)是一种设计。根据PLC的循环扫描工作原理,Y1~Y4 均在同一扫描周期里被驱动输出。因此,可以认为,它的效果是与继电控制一样的。再看图5.1-2(c),把程序行进行了调换,当X0为ON时,线圈Y0输出,但其触点在它前面,因此,要等到第2个扫描才动作,驱动Y1输出,同理,Y3要等到第3个扫描周期才接通,而Y4要等到第4个扫描周期才接通。经过4个扫描周期,Y1~Y4才接通,达到和继电控制线路一样的效果。而且,在这4个扫描周期内,X0不能断开,一断开,结果完全不同。
图5.1-2 并行处理与串行处理
通过分析比较,读者可以从中理解串行工作与并行工作的不同。另外,也可以看到,采用串行工作的梯形图程序的运行结果与继电控制电路并行运行的结果有所区别,如果串行工作所占用的时间对运行来说可忽略,那么两者就没有区别,如图 5.1-2(b)所示。更重要的是,这个例子告诉读者,用梯形图程序处理同一问题,如果同样的若干条梯形图,其排列顺序不同,则执行结果会完全不同。同时,还给梯形图设计带来了很多麻烦,例如双线圈问题就是。
这就给梯形图设计多增加了一层考虑。
举这个例子的目的是告诉广大从事电工的读者朋友,当由继电控制转向学习PLC 控制时,分析方法一定要及时转变,从并行转向串行。不可以总是用继电控制分析方法(并行)去思考梯形图的运行(串行)。这样,很容易钻牛角尖而影响学习进度。
3. 对一个扫描周期的理解
“一个扫描周期”经常出现在各种资料中,通常的说明是执行一次从内部处理到输出处理的扫描操作所需要的时间,有的则说从程序0行开始扫描到END指令所需要的时间,这两种说法在时间上前一种说法比较完整,后一种说法则是针对用户程序执行而言。
“仅接通一个扫描周期”这也是各种资料中经常出现的一种说法。在第3章中讲到脉冲边沿操作指令时,曾经指出,脉冲边沿操作指令是执行仅接通一个扫描周期功能操作的指令,并在表3.3-8中列出了与脉冲边沿操作相同的指令类型。这类指令均为“仅接通一个扫描周期”的指令。但是,这里接通了一个扫描周期是指从指令开始接通时的一个扫描周期。在程序中是指从脉冲边沿操作指令开始到其上一行程序结束,现以图5.1-3 进行说明。图中,X0为脉冲边沿操作常开触点。如果X0在外电路上接通,不管其接通多长时间,在程序中仅接通一个扫描周期。这一个扫描周期指当X0接通后,程序第一次扫描到第8步时开始计算,到END指令又循环扫描到第2步程序行完成为止。第2次扫描到X0时,它已呈现断开状态(与 X0 实际接通、断开无关)。根据上述说明,读者可分析一下,仅当 X0 接通后,程序运行后各个位元件的状态和数据寄存器的内容是多少。
图5.1-3 一个扫描周期说明
西门子 | 内存卡 | 6ES7954-8LE03-0AA0 |
西门子 | 模块 | 6ES7521-1BH10-0AA0 |
西门子 | 连接器 | 6ES7592-1BM00-0XB0 |
西门子 | 模块 | 6ES7134-6GF00-0AA1 |
西门子 | 模块 | 6ES7241-1CH32-0XB0 |
西门子 | 触摸屏 | 6AV2124-0MC01-0AX0 |
西门子 | 模块 | 6ES7288-2DR32-0AA0 |
西门子 | 模块 | 6ES7288-2DR16-0AA0 |
西门子卡件6ES7414-5HM06-0AB0西门子卡件6ES7414-5HM06-0AB0西门子卡件6ES7414-5HM06-0AB0西门子卡件6ES7414-5HM06-0AB0西门子卡件6ES7414-5HM06-0AB0西门子卡件6ES7414-5HM06-0AB0西门子卡件6ES7414-5HM06-0AB0