成都西门子模块代理商
PLC在实际应用中常碰到这样两个问题:一是PLC的I/O点数不够,需要扩展,然而增加I/O点数将提高成本;二是已选定的PLC可扩展的I/O点数有限,无法再增加。因此,在满足系统控制要求的前提下,合理使用I/O点数,尽量减少所需的I/O点数是很有意义的。下面将介绍几种常用的减少I/O点数的措施。
1.矩阵输出
图6-17中采用8个输出组成4×4矩阵,可接16个输出设备(负载)。要使某个负载接通工作,只要控制它所在的行与列对应的输出继电器接通即可,例如:要使负载KM1得电工作,必须控制Y0和Y4输出接通。
图6-17矩阵输出
应该特别注意:当只有某一行对应的输出继电器接通,各列对应的输出继电器才可任意接通,或者当只有某一列对应的输出继电器接通,各行对应的输出继电器才可任意接通,否则将会出现错误接通负载。因此,采用矩阵输出时,必须要将同一时间段接通的负载安排在同一行或同一列中,否则无法控制。
2.分组输出
当两组输出设备或负载不会同时工作,可通过外部转换开关或通过受PLC控制的电器触点进行切换,所以PLC的每个输出点可以控制两个不同时工作的负载。如图6-18所示,KM1、KM3、KM5与KM2、KM4、KM6两组不会同时接通,用转换开关SA进行切换。
图6-18分组输出
3.并联输出
当两个通断状态*相同的负载,可并联后共用PLC的一个输出点。但要注意PLC输出点同时驱动多个负载时,应考虑PLC输出点的驱动能力是否足够。
4.输出设备多功能化
利用PLC的逻辑处理功能,一个输出设备可实现多种用途。例如在继电器系统中,一个指示灯指示一种状态,而在PLC系统中,很容易实现用一个输出点控制指示灯的常亮和闪烁,这样一个指示灯就可指示两种状态,既节省了指示灯,又减少了输出点数。
5.某些输出设备可不进PLC
系统中某些相对独立、比较简单的控制部分,可直接采用PLC外部硬件电路实现控制。
以上一些常用的减少I/0点数的措施,仅供读者参考,实际应用中应该根据具体情况,灵活使用。同时应该注意不要过份去减少PLC的I/0点数,而使外部附加电路变得复杂,从而影响系统的可靠性
西门子plc编程的工作原理:当PLC投入运行后,其工作过程一般分为三个阶段,即输入采样、用户程序执行和输出刷新三个阶段。完成上述三个阶段称作一个扫描周期。在整个运行期间,PLC的CPU以一定的扫描速度重复执行上述三个阶段。
输入采样
在输入采样阶段,PLC以扫描方式依次地读入所有输入状态和数据,并将它们存入I/O映象区中的相应得单元内。输入采样结束后,转入用户程序执行和输出刷新阶段。在这两个阶段中,即使输入状态和数据发生变化,I/O映象区中的相应单元的状态和数据也不会改变。因此,如果输入是脉冲信号,则该脉冲信号的宽度必须大于一个扫描周期,才能保证在任何情况下,该输入均能被读入。
用户程序执行
在用户程序执行阶段,PLC总是按由上而下的顺序依次地扫描用户程序(梯形图)。在扫描每一条梯形图时,又总是先扫描梯形图左边的由各触点构成的控制线路,并按先左后右、先上后下的顺序对由触点构成的控制线路进行逻辑运算,然后根据逻辑运算的结果,刷新该逻辑线圈在系统RAM存储区中对应位的状态;或者刷新该输出线圈在I/O映象区中对应位的状态;或者确定是否要执行该梯形图所规定的特殊功能指令。
即,在用户程序执行过程中,只有输入点在I/O映象区内的状态和数据不会发生变化,而其他输出点和软设备在I/O映象区或系统RAM存储区内的状态和数据都有可能发生变化,而且排在上面的梯形图,其程序执行结果会对排在下面的凡是用到这些线圈或数据的梯形图起作用;相反,排在下面的梯形图,其被刷新的逻辑线圈的状态或数据只能到下一个扫描周期才能对排在其上面的程序起作用。
输出刷新
当扫描用户程序结束后,PLC就进入输出刷新阶段。在此期间,CPU按照I/O映象区内对应的状态和数据刷新所有的输出锁存电路,再经输出电路驱动相应的外设。这时,才是PLC的真正输出。
同样的若干条梯形图,其排列次序不同,执行的结果也不同。另外,采用扫描用户程序的运行结果与继电器控制装置的硬逻辑并行运行的结果有所区别。当然,如果扫描周期所占用的时间对整个运行来说可以忽略,那么二者之间就没有什么区别了。
西门子plc编程中应该注意的问题:
1.中断程序中可以调用子程序
累加器和逻辑堆栈式的存蓄器在中断程序和被调用的子程序中都是共用的
2.中断程序和主程序下数据是可以共享的
中断程序虽说是可以共享的,但是我们要注意的是中断事件中事情异步特性的因数影响,来解决共享数据的一致性问题,在中断事件中主程序执行的任何一个地方都是有可能出现的。
3.通信接口的中断
PLC的串行通信口是可以有梯形图或者语句表程序控制的。通信口的这种操作模式称为自有端口的模式。在自由的情况下,就可以用程序定义波特率,每个字节的位数等等,在执行主程序的过程中,申请中断,才能定义自由端口模式,利用接收和发送中断可以简化程序对通信的控制。
4.I/O中断
I/O中断包括上升或下降沿中断,告诉计数器中断和脉冲串输出中断。
S7-200CPU用输入I0.0~I0.3的上升或下降产生了中断,则发生的事件被输入端子捕获,这样的上升沿或者下降可被用来指示当某个事件发生时必须引起注意的条件。
5.时基中断
6.中断的优先级和排队
7.中断的限制
8.中断程序编程步骤
子程序将大量的控制任务分离成许多小块的控制任务,并可以重复执行一组指令,当主程序调用一个子程序时,控制就转到子程序,执行子程序中的指令。当子程序执行完后,再返回主程序继续执行。有些子程序可以通过中断或MCR0(99)指令启动。
中断同子程序调用类似,在主程序运行的流程中,中断引起主程序运行停顿,执行中断子程序,子程序执行完毕后,再返回中断点继续执行主程序,中断可以由外部中断源(如中断输入单元的输入信号)引起,也可以由内部的中断源(定时中断)引起。
INT(89)用于控制从中断输入单元接收到的中断信号和控制中断的安排,INT(89)提供中断屏蔽(记忆中断但不响应)和中断清除功能。
宏指令是一个独立的子程序,该子程序可以改变操作数,从而相当于多个结构相同但数据不同的子程序。
子程序调用指令梯形图符号如下所示。
操作数数据区域N:子程序编号
00~255
子程序编号00~15与中断一起使用,子程序编号99用于定时中断。
说明:在主程序中将SBS(91)指令放在要执行的子程序处,当主程序执行到此处,子程序就被执行。SBS( 91)中的子程序编号是要调用的子程序编号。当SBS(91)指令的执行条件为“ON”时,plc执行和SBS(91)指令中编号N相同的SBN(92)指令和RET(93)之间的子程序;当执行到RET(93)指令时,程序从子程序返回主程序。
SBS(91)在程序中可被多次调用,而且SBS( 91)也可以用作子程序中形成子程序嵌套,嵌套的级数没有限制。
使用中注意子程序的执行时间不能超过10ms,否则会出现错误