LOGO!是西门子公司近年来推出的通用逻辑控制模块系列产品,是一种微型PLC。该产品集编程、显示、控制为一体,包含了现有继电器软功能,并具有许多逻辑算法,可由用户任意进行功能块连接,可广泛应用于20点以下的开头控制场合。其编程方便,简单易学,体积小巧,价位适中,尤其适合在单独机组及较小系统的信号联锁电路中使用。
一、LOGO!简介
LOGO!内部已集成有大量的控制、运算单元,这些单元以功能块的形式供编程人员调用,其基本功能块有:与门、非门、或门、与非门、或非门、异或门;特殊功能块有:接通延时、断开延时、脉冲继电器、锁定继电器、时钟、时钟脉冲发生器、保持型接通延时继电器、加法和减法计数器。L型还有3个扩展功能:运行时间计数器、脉冲继电器——脉冲输出、域值开关。
目前LOGO!产品的工作电压有24V,d.c.(允许范围20.4~28.8V)和230V,a.c.(允许范围85~265V)。标准型为6点开头输入、4点继电器输出(230V,8A)。LB11型为12点开关输入、8点继电器输出和扩展功能,并增设了ASi总线接口,可与微型机相联,通过总线能扩展适量的虚拟输入和输出。24V,d.c.系列还有4或8点晶体管输出产品。
LOGO!的选件有如下二个。
1、程序存储模块
其主要用来存储复制程序,保管程序和邮寄程序。如无上述三种要求时,则不用订购此模块,因为当编程结束时,程序已经保留在LOGO!中。
2、软件包(LOGO! Soft Vx.x)
应用此软件可在微机上离线编制用户程序,并可在微机上仿真运行用户程序,生成和打印程序功能块连接图,并将用户程序存储到微机硬盘上,也可把程序在微机和LOGO!间进行双向传送(仅适用于有ASi总线的LOGO!)。
二、LOGO!的编程
编程就是将各功能块进行软连接,LOGO!将调用的功能块在LCD显示屏上以图象的形式显示出来,如图1所示。先使LOGO!进入编程状态,再按从输出至输入的顺序连接功能块,功能块号由LOGO!自动分配。连接完成后,检查程序的正确性。如输入的程序不完整,则无法退出编程状态。如检查中发现错误,可删除和加入功能块或修改类型错误。在运行中,可对时间参数及阀值进行修改。如想输入新程序时,可将LOGO!中的旧程序删除。LOGO!有4个不同的存储区,编程所使用的功能块决定了各种存储区中所需要的存储器数量。LOGO!允许多使用30个功能块,但串联连接的功能块允许多为7块。
图1 显示图象
三、应用介绍
1、闪光报警电路
图2中以2个报警回路为例,RS为锁定继电器,B12,B13为脉冲继电器——脉冲输出模块;B 03为时钟脉冲发生器,其Hi输入端相当于设定为“1”电平(接通),而T值的设定决定了信号灯的闪光速度。I1为常开触点报警输入,对应灯1。I2为常闭触点报警输入,对应灯2。I6为消音输入。报警时灯闪铃响,按消音钮后,电铃停止响声,灯常亮,待事故消除后灯自行熄灭。如需增加试灯功能时,则可将功能块B01,B06,B11,B15的X端子改为与某一输入端(例I5)相连,再在此端接一个常开按钮作试灯用。当按下试灯钮时,Q1,Q2灯亮,铃响。放开按钮后,灯灭铃停。
图2 闪光报警电路
2、氧化炉联锁保护电路
图3电路功能在此仅用一台标准型LOGO!来实现,代替了原用的9只继电器,大大简化了接线,提高了系统可靠性。图中C1,C2,C3为3台鼓风机的交流接触器常开触点,AN1,AN2,AN3为按钮,用来检查3台鼓风机与电磁阀的联锁与报警。为降低投资,选用了1台标准型LOGO!。由于它只有6个输入端,工艺参数检查开关及联锁解除开关采用了硬接线,即检查开关与3个工艺参数中的任一个或多个参数并联接至输入端,联锁解除开关则接在Q1输出端与公用线L1之间。开关断开为自动,合上为解除联锁。事故报警采取自消音电路,即出事故时电磁阀立即关闭,报警灯亮,电铃响。经一定时间后,B16接通延时输出为1,电铃停响。铃响时间由B16的T值进行设定,并可修改。事故消除后报警自动解除,一切恢复正常。引起电磁阀关闭的原因有:工艺参数越限或运转中任意1台或2台鼓风机出事故停机。为便于操作人员识别,增设了工艺参数越限和鼓风机停转的指示灯。
图3 氧化炉联锁保护电路
四、结束语
限于篇幅许多例子不再介绍,上述两例的方案也不一定是佳组合。但从中也可看出LOGO!的使用是极其灵活和方便的,使用者只要具有一定逻辑电路知识,再熟悉一下LOGO!的操作手册后,就可进行编程和应用。
本程序适用于SIMATICS7-212和S7-214的计数器,可以从0计到255,这要取决于输入10.0的状态。如果将输入10.0置为1,则程序减计数;如果将输入10.0置为0,则程序加计数。
如果输入10.0的状态改变,则将立即激活输入/输出中断程序,中断程序0或1分别将有储器位M0.0置成1或0。
例图
程序框图
程序和注解
本程序是一个输入/输出中断程序的范例,计数器从0计到255。如果输入10.0为0,则程序加计数;如果输入10.0为1,则程序减计数。
本程序包括以下三个程序:
Main (主程序) 初始化和计数
INT0 (中断程序0) 输入10.0为1时,减计数。
INT1 (中断程序1) 输入10.0为0时,加计数。
本程序长度为32个字
//标题:事件中断
//********主程序*********
//主程序包括初始化程序和计数程序。
//计数器的存储器标志位M0.0的0或1状态,决定计数方向为加或减计数。
//当输入10.0山0变为1时,产生中断事件0,激活中断程序0 (INT0)。
//中断程序0将存储器位M0.0置成1,导致主程序减计数。
//当输入10.0山1变为0时,产生中断事件1,激活中断程序1 (INT1)。
//中断程序1将存储器位M0.0置成0,导致主程序加计数。
//主程序
LD MOVB ENI ATCH LDN AB>= A EU INCW | SM0.1 +0, AC0 +0, 0 +1,1 M0.0 16#FE, ACO SM0.5 AC0 | //仅扫描时,SM0.1才为1,进行以下初始化 //将计数累加器ACO清Oa //允许中断。 //输入10.0为上升沿时激活事件中断0 //输入10.0为上升沿时激活事件中断1 //如果存储器的标志位M 0.0为0状态 //且计数累加器ACO的当前计数值小于或等于254 //且0.5秒脉冲 //且上升沿 //那么计算累加器ACO加1 | ||
LD AB<= DECW | M0.0 16#1,AC0 ACO | //如果存储器的标志位M 0.0为1状态 //且计数累加器ACO的当前计数值大于或等于 //那么计算器累加器ACO减1 MEND | SM0.0 AC0, QB0 | // SM0.0总是1。 //在输出端00.0至00.7显示ACO的当前计数值。 //主程序结束。 |
//******中断程序0******
//事件中断程序0将存储器的标志位M0.0置成
//此情况下程序减计数。
//
INT 0 //中断事件0减计数。
S M0.0,1 //将存储器的标志位M0.0置成
RETI //中断程序0结束。
//******中断程序1******
//事件中断程序1将存储器的标志位M 0.0置成Oa
//此情况下程序增计数。
INT 1
R M0.0,1
RETI
//中断事件1加计数。
//将存储器的标志位M0.0置成O。
//中断程序1结束。
请参考SIMATIC S丁EP 7编程参考手册的6.2节“中断指令”,为您提供了更多的有关输入输出中断的信息。