| oh...yes...It's...'s profileCx2002WinBlogListsNetwork | Help |
|
|
7/11/2007 S7:关于两个问题——最终 很显然,前面的答案已经无限趋近于正群,但是我想那还仅仅是我们一个美好的希望,这一点在题目的变化上可以看出来。当然,下面这个是经过模拟调试的,S7-300 + S7-PLCSIM。事实上也有物理意义上S7-300控制器、通讯、通道模块等全套用于组态和试验......但是那个太麻烦了,而且不能截图。所以,这个问题就到此为止了,我只做了交通灯那个的完全版。事实上,我也对该程序进行FC化改造(对green进行输出控制部分可以转换成红框内的内容,既green_x和green_y)。但是因为没有选好Yellow的控制开关,所以实验并不成功,换句话说,按照下面的逻辑直接不能直接进行FC化的改造。
7/10/2007 转载:电机连锁程序的标准化设计思路
对于过程控制中经常用到的电气设备,如一台普通单向电机,通常的情况下一次启动后就一直运行,直到某种意外导致设备停止。对于这种设备,可以用以下设计思路进行程序设计。
1. 单个电气设备连锁模型的标准化设计
1.1 分类
在设计电机连锁程序的时候,首先把所有电机进行分类统计,以单个电机为主体,考虑各设备的I/O点数、操作方式、电机控制回路原理等,对于上述三方面均相同的同类电机,可以通过逻辑图方式建立单个电机的连锁控制模型。
例如,图1.1是某个电机的控制原理图。B1、K3、K4的辅助接点均送入PLC,PLC的命令信号串入电机控制回路的主回路中。当操作工在现场将就地/远程按钮打到就地状态,PLC对电机没有任何控制作用;当电机打到远程状态,电机完全由PLC进行控制。
对于PLC来说,该类型的电机进入PLC的共有3个DI:运行、远程/就地、超载,1个DO:命令信号。
图1.1 远程、就地独立的单向电机控制原理图 1.2 模型的建立 连锁模型的建立,可从启动连锁、安全连锁、保护连锁、操作连锁和停车连锁五个方面考虑电机的连锁要求,以标准化的方式建立相应的连锁模型。 可对每一类电气设备设如下连锁条件: a) 启动连锁(ST):该连锁条件满足后,设备才允许启动,设备启动后,启动连锁被忽略。例如,某些风道上的电机,在启动时必须将风门关闭,但是电机启动之后风门可以打开。 b) 安全连锁(SA):安全连锁是设备自身的外部条件产生的,安全连锁条件不满足,设备报警;安全连锁极其重要,任何时候都不能被取消掉。例如,对于电收尘设备,一氧化碳含量过高时,不能运行;对于抽水泵,当液位过低时不能运行,以避免打空泵。 c) 保护连锁(PR):相对于安全连锁,保护连锁是设备自身的内部条件产生的,保护连锁条件不满足,设备报警;保护连锁极其重要,任何时候都不能被取消掉。例如,变频设备在发生变频故障是不能运行;电机轴承温度过高时电机不能运行。 d) 操作连锁(OP):操作连锁是设备正常运行所必需的连锁;当设备处于就地测试时,如果确认对人和设备无危险,该连锁可以被取消。例如,一个流程中,前一个电机运行后,后一电机才能运行,前一电机停止,后一电机必须停止,因此,前一电机的运行信号就是后一电机的操作条件。 e) 停车连锁(STP):该连锁由设备停车的工艺条件和操作工给出的停车命令产生,停车连锁条件产生后,设备停车。 所有同类型的电气设备,都可以套用相应连锁模型。 对应于图1.1的电机回路,可以建立如图 1.2的连锁模型。
图1.2 远程、就地独立的单向电机连锁图 在图1.2的连锁图中,STR是由上位机给出的启动按钮信号。图例中给出了各种符号的具体含义,一般连锁图的首页应给出真值表。 对于图1.2的电机,当操作连锁、安全连锁、保护连锁均满足,现场操作工将电机打到远程状态,此时,如果启动连锁满足,操作工在计算机上点击“启动”按钮,按照连锁图的逻辑,PLC将对电机发出命令。延时几秒钟后,如果电机没有返回信号,将会产生报警,同时PLC取消对电机的控制命令。 1.3 程序的编制 对应于图1.2的电机,按照该连锁图,可以编制如图1.3的梯形图程序。该示例程序的电机名称为520AM1。梯形图第5654条是过载报警,当报警产生(520AM1OA),该报警自锁至操作工在计算机上点击报警确认按钮(ALARMPB)。第5659条是电机无返回信号报警。第5666条是电机综合报警。第5669条是电机的启动连锁条件,由于该电机必须在另一电机520AM2启动以后延时一段时间再启动,因此它的启动条件是一个计时器。第5671条是电机的操作条件,即电机必须在520AM2启动后再启动, 当520AM2停止时必须停止。第5673条是电机的安全条件,尽管该电机不存在限制性安全条件,但是程序依然用一个永远为1的内部变量M9036给安全条件赋值,这是为了实现程序的完整性、标准化和可扩充性。
图1.3 远程、就地独立的单向电机程序 第5675条综合了电机的安全条件、报警条件和远程选择条件,作为一个电机的马达运行条件,这是为了使电机的主回路更为简单易懂。第5680条是电机的主回路,STR08是计算机上的启动按钮,STP08是计算机上的停车按钮,EMGPB是计算机上的急停按钮,520AM1C是PLC对电机的控制命令,520AM1R是电机返回的运行信号。第5690条是一个延时计时器,为了产生无返回信号报警。无返回信号报警的语句必须在电机程序的主回路之前,这是由于PLC的梯形图程序是一个顺序执行的程序,计算机上的报警应产生在PLC取消对电机的控制命令之前。 作为一个典型的远程、就地独立的单向电机程序,图1.3 设计了一个标准程序,无论一个该类型的电机,其启动条件、操作条件、安全条件有什么不同,只要按相关要求归纳总结出来,就可以按照该程序进行编制。 另外,不管一个电机是何种类型,按照上述先分类,再确立连锁模型,之后再编制程序的过程进行电机的标准化设计,就可以按部就班地把任何一种电机的标准化程序编制出来了。
1. 分组电气设备连锁模型的标准化设计 在将每个电机分类甑别之后,再考虑电机与电机之间的连锁关系,把关系特别密切的电机划分到一个组里,从而把所有设备分为几个组,再建立组的连锁模型。最后,考虑组与组之间的连锁关系,从而形成了完整的电机连锁程序(具体参见1850相应连锁图)。 而当设备之间的连锁关系确立之后,也可以建立相应启动组的连锁模型。
7/9/2007 S7:关于两个问题——正确答案目前看起来正确的第一题的答案:
目前看起来正确的第二题的答案:
对于上述程序中的内容,下图部分红色内容不能用绿色部分简化。
而上述程序中部分内容取可以依照下图进行简化: S7:关于两个错题 我想说,事实上我还没有找到问题的解决办法,因为我感觉对这两个题我还没有很好的理解,毕竟只有仓促的两个小时,而我要面对四道题。
很明显,在这两道里里面我动用到了07/02/02里面的一个“方波放生程序”。关于他的解释和探讨在我的BLOG里也有。那么,很显然,我们知道为了终止S_ODTS的输出,我们必须对它复位。不然,在S_ODTS计时器到时候,它将一直输出。那么,这样会对引用它的输出作为输入的S_OFFDT会有什么影响呢——S_ODTS计时到时,输出;S_OFFDT,收到,开始输出;然后,S_OFFDT计时到时,停止输出;接下来会发生声么事情呢......
哦,这样看起来真的没什么问题。那么,让我们来看看手册上关于这方面的介绍和试验吧。
第一组,有对S_ODTS的复位:
图1:启动S_ODTS。
图2:计时S_ODTS
图3:到时S_ODTS,启动S_OFFDT
图4:计时S_OFFDT
图5:到时S_OFFDT,大家复位。OK,一切都很完美
接下来,再让我们看看第二组,也就是没有对S_ODTS进行复位会有什么结果:
图6:开始计时了,挺好哈
图7:怎么直接就通了?!
图8:再来,还不计时?
图9:......
就如我想象的一样,除问题了,这样,我的程序就不得不重写:因为没有对S_ODTS复位,所以S_ODTS一直输出。因此S_OFFDT的输入一直保持不变,因此S_OFFDT不会计时——从而整个程序无法进入循环——那么,我们必须对S_ODTS进行复位。套用一句老话:那么,接下来要做得就很简单了。或许,但愿。 S7:两个错题今天做了两道作业题,本来要求用三菱的PLC,恰好我没装GPPW,刚好有西门子的S7,今天才装的授权。所以本着“题我是做了,符合不符合要求再说”的指导思想,就S7了。然后全错。放这儿做个记录吧,自己认为对的随后会贴出来。两题如下: 题一:
我的答案(题一):
题二:
我的答案(题二): 2/5/2007 S7:对S75.3中计时器的总结(1)——S_ODTS和S_OFFDT 在前面2-2和2-5两篇里的贴图里,应用了S75.3中的计时器S_ODTS和S_OFFDT。练习过程中参考了《S7-300和S7-400的梯形图(LAD)编程参考手册》和《STEP 7 V5.3 编程手册》。在这里先对两个练习进行说明。
事实上,关于S_ODTS和S_OFFDT的基本应用,只要2-2一个练习就够了。对于后面出现的练习2-5,是因为在看教程的时候看到了2-5题设立描述的例子程序,觉得有些麻烦,例子程序描述如下图所示:
程序很简单,但是有修改的乐趣,所以自己做了个练习,《S7:开关,延时》中图t-1到4所示。需要说明的是修改后的程序不仅使用K3控制D1和D2,而且实现了对计时器T0的复位。在这里面只用到了计时器S_ODTS。修改后的如下:
言归正传,在练习2-2中要求以10秒为一周期,每五秒保持输出Q4.4为1,接下来的五秒Q4.4为0。使用计时器S_OFFDT作为信号输出源,使用S_ODTS作为信号控制源。这里,信号输出源和信号控制源是我自己起的名字。
如上图所示,T3(S_OFFDT)直接与Q4.4(线圈)相连,为Q4.4(线圈)提供信号,所以我称之为信号输出源;信号控制源计时器T4(S_ODTS)的输出作为信号输出源T3(S_OFFDT)的输入,换句话说是用T4(S_ODTS)的输出信号来控制T3(S_OFFDT)是否有输出,以及输出多长时间。接下来,我按照《S7-300和S7-400的梯形图(LAD)编程参考手册》进行解释。
T3(S_OFFDT)为断开延时S5定时时器。T4(S_ODTS)为保持接通延时S5定时时器。换句话说T3(S_OFFDT)在本练习中的作用是在它本身的输入管脚S的信号断开(1~0)后依然保持输出管脚Q状态为1,直到计时达到TW管脚设定值时,才将输出管脚Q状态由1变0。而T4(S_ODTS)是指在S端有输入(1)状态达到TW段设定值后,才在Q端进行输出(1)。换句话说S_OFFDT为延时断开,S_ODTS为延时接通。具体时序如下图所示:
同时,对于这个程序还应该具有开启和停止的功能。开启的时候,要对T3、T4的R端进行置位,并且要接通T4(S_ODTS)的输入端(S)和T3(S_OFFDT)的输出端(Q)。在停止的时候,要对T3、T4的R端进行复位,并且要断开T4(S_ODTS)的输入端(S)和T3(S_OFFDT)的输出端(Q)。这两个工作可以通过控制一个常开触点和一个常闭触点来完成。用常闭触点来完成第一个工作,用常开触点来完成第二个工作。但是程序要求计时器的开停和计时器的置位复位同时进行,因此在这里我们用一个触点两种不同状态来实现这两个目的。在程序里就是指触点“lht_1”(I 1.3)。
接下来是第三个问题:如何让程序自动的循环执行,需要说明的是这里的循环执行与S7 300 PLC对OD0程序循环扫描执行是两个概念。在此,我无意于去比较这两个概念的的异同,只是声明此处的循环执行根据题设的意思为:在T3(S_OFFDT)的输出管脚状态由1变0后,作为信号控制源的T4(S_ODTS)输入管脚Q状态在计时完成后由0变1,之后管脚Q再由1变0,以便触发T3(S_OFFDT)的再次输出。另外根据题设及《S7-300和S7-400的梯形图(LAD)编程参考手册》中的描述,对于T4(S_ODTS)在每次重新计时的时候均需要复位,而与此相反对于T3(S_OFFDT)则没有这个要求。因此,在这个练习里我使用Q4.4的状态作为完成循环以及对信号控制源的计时器T4(S_ODTS)在每次重新计时的时候均需要复位的条件:当Q4.4的状态由1变0时,意味着一个循环已经结束,新的循环应该开始,并且在新的循环开始的时候应该对计时器T4(S_ODTS)管脚R进行复位。因此我用Q4.4的常开触点进行T4(S_ODTS)管脚R的复位操作(需要与开停时的复位条件“lht_1”并联),并把Q4.4的常闭触点作为信号控制源的计时器T4(S_ODTS)的执行条件。另外,当程序初始运行的时候,在T4(S_ODTS)的输入端S之前应该只有一个常开触点既用于控制的开关“lht_1”(I 1.3),这也是在此选用Q4.4的常闭触点的原因之一。
综上所述,要实现2-2题设要求实现的功能,我们要考虑四个问题:
1、输出与控制输出。
2、开停控制及开停时的复位。
3、在整个程序初始执行时,开停开关之后不能常开触点。
4、程序的循环执行,以及循环执行中涉及到的复位问题。 S7:开关,延时初始状态,K1、K2断开,K3接通:
t-1 K1、K2接通,K3接通;D1输出,T0计时开始:
t-2 K1、K2接通,K3接通;T0计时结束,D2输出:
t-3 K1、K2接通,K3断开;T0计时复位,D1、D2无输出:
t-4 |
|
|