对网友求助问题的几个回帖展示之四十二
本文四例都是网上的求助帖,涉及PLC及电工理论与计算等问题,现整理展示给大家,供大家分析讨论。如有不妥之处,请给予指正,本人深表感谢!
一、求助帖:西门子的s7-200microwin 如何实现计时功能?就是说比如倒计时2秒后启动开关如何实现有几种方式
回复:可有以下几种方法:
1、用通电延时定时器 T0N 编程:按下按钮,使M0.0=1, M0.0=1接通 TON 型定时器,TON的延时时间=2秒,时间到使M0.=0,同时启动开关。
2、用断电延时定时器 T0F 编程:按下按钮,用按钮接通的前沿接通TOF 型定时器,使T0F=1,T0F的延时时间=2秒,延时时间到 TOF由1变0,用TOF的由1变0后沿启动开关。
3、用计数器的方法编程:计数脉冲不要选用PLC的秒脉冲计数,应选用周期=10mS的方波脉冲(用时间中断产生10mS周期脉冲),用此脉冲前沿对一存储器计数,即:按下按钮存储器由0开始计数,当存储器计数值=200时启动动作。此法的倒计时的计时误差<10mS。建议:最好不用秒脉冲倒计时计数,其原因是用秒脉冲计数,其计时时间的误差太大,最大误差可达1秒。原因:秒脉冲是PLC固有发出的,当按下按钮的这一瞬间,与秒脉冲的前沿的间隔是不可确定的,如秒脉冲的前沿刚过瞬间按下按钮,计时器要等待1秒,即下一个脉冲前沿到来时才开始计1个数,这样当计数器计数值=2时正好为2秒时间。这种几率是很小的,一般情况按钮瞬间不在这一时刻,其计数器由0计1的时间间隔均 <1秒(最严重时=0),故当计时器计数=2时,其间隔时间将在1~2秒,之间,而不是2秒
先将1、2二种编程贴上来,第3种编程需编写时间中断初始化子程序和中断程序等,这里就不贴出了。
第一种编程:
第二种编程:
第二种编程比较简练。但切记:第二种方法适应于按钮的点动操作,即不能长时间按下,因为其延时是以按钮抬起后延时2秒的。
二、求职贴:电容值与电流、频率有关吗?
电容值与电流、频率有关吗?有人说,电容值是恒定的,与电流、频率无关;也有人说,在交流电路中,由于交变电压的大小和方向随着时间不断地变化,电容器内就会出现交变电流不断地充放电,所以,电容值与电流、频率有关。到底那种说法对?
回复: 电容器的容值是由它本身结构决定,不管在什么样的电路里,电容值是恒定不变的,即它与电流、频率无关。但在交流电路中,电容的容抗与频率有关,电容的电压、电流和频率有关,见下面解析:
电容容抗: Zc = 1/2π*f*C ―――(1)
电容的电压Uc与电容的电流 Ic的关系式:Uc = Ic*Zc ―――(2)
1、当频率 f 变高时,其容抗 Zc变小,当频率 f 变低时,其容抗 Zc变大,
2、如电容二端的电压固定不变(即Uc不变),改变交流电的频率 f:
如 f↑,由(1)式知:使Zc↓,由(2)式可知:Ic ↑。
如 f↓,由(1)式知:使Zc↑,由(2)式可知:Ic ↓。
3、如电容中流过的电流固定不变(即Ic不变),改变交流电的频率 f:
如 f↑,由(1)式知:使Zc↓,由(2)式可知:Uc ↓。
如 f↓,由(1)式知:使Zc↑,由(2)式可知:Uc ↑。
三、求助帖:怎么去写一个可以更改时间(节拍)的程序
有一个问题困扰了很久,设备上有离线阀动作4秒后脉冲阀动作0.1秒,(千万不要说脉冲阀动作0.1秒可以吗?)但现在我告诉大家是可以的,(因为他的瞬间动作时间是0.03秒,我们一直在用OK),离线阀4秒后关闭,隔45秒后动作下一组动作,这样不断的循环往复,共有7组,我想解释下就是离线阀动作8秒就是动作4秒关4秒,在动作中间脉冲阀动作0.1秒,我现在的问题是我那个45秒的间隔时间客户可以睡意改动,而不用每次要我们背着电脑拿着数据线去改时间,(距离远的话也不行)我现在的想法是加个时间继电器,不知道可否?但程序没写好,最主要是写不出来,呵呵,不知道那位仁兄帮帮我排一下忧?解下难!或者有什么好的建议和思路,小弟不胜感激!!!
回复:我用S7-200编写了你要的程序,见下梯形图。
一、程序说明:按下启动按钮(I0.0)使M0.0=1,M0.0=1使T101开始延时,延时4秒,T101=1,又使T102开始延时,延时4秒,T102=1,T102=1使T104得电立即吸合(即T104=1),使MB1 左移1位,又使M0.0=1(见网络1~5)。
下一个扫描周期,由于M0.0=0,使T101与T102皆=0,使T104失电,T104开始断电延时,延时45秒,T104由1↓0,其下跳沿有触发M0.0 ,使M0.0=1(见网络1),程序又重复上述动作,开始第二次循环。每次循环,都使MB1左移一位,即使下一个离线阀启动(见网络9):在M0.0=1、T101=0时是各离线阀启动的4秒时间,如M1.0=1,则为第1个人离线阀启动,如M1.5=1,则为第6个离线阀启动……
.见网络10:在M0.0=1、T101=1时是各离线阀关闭的4秒时间,如M1.0=1,则为第1个人离线阀关闭,如M1.5=1,则为第6个离线阀关闭……
.见网络11:在M0.0=1、M0.1=1时是1~7号动作阀0.1秒的动作时间,如M1.0=1,则为第1个动作阀启动,如M1.5=1,则为第6个动作阀启动……下图为一号离线阀与动作阀的时序图:
二、关于如何在PLC上就可修改离线阀之间动作间隔的方法介绍:
离线阀之间动作间隔时间,可选用一断电延时定时器T104,其时间设定不设具体数值,而用一字存储器VW10代替,再用二个按钮接在PLC的二个输入口上:其I0.2 为计数按钮,每按一下I0.2,使VW10加1,如连按5下,其VW10=5。其I0.3为移位按钮,接按一下I 0.3,使VW10左移4位,即相当将VW10值乘以10(对10进制数)或16(对16进制数),如想设定时间为325,应这样操作:
1、先按I0.2按钮3下,其VW10=0000_0000_0000_0011(即VW10=3),再按一下I0.3,则 VW10=0000_0000_0011_0000(即VW10=30)
2、按I0.2按钮2下,其VW10=0000_0000_0011_0010(即VW10=32),再按一下I0.3,则VW10=0000_0011_0010_0000(即VW10=320)
3、按I0.2按钮5下,其VW10=0000_0011_001-_0101(即VW10=325),到此设置结束,不要再按I0.3按钮。
为避免按按钮时因动作引起计数或移位错误,程序采取如下措施:
1、I0.2与I0.2不直接驱动计数器计数,而是驱动断电延时定时器T105与T106,延时时间为300mS,可消除抖动脉冲,确保每按一下按钮,T105或T06只输出一个完好的方波脉冲,确保计数器只加1个数或只左移一次4位存储器的值。
2、为使设置数准确,用Q0.7与Q1.7 二位接指示灯供于观察:每按一下按钮,对应指示灯亮一下,如按I0.2,Q0.7亮几下,则设置数就等于几。
四、求助帖:两个灯泡会有什么变化?
将电阻R与灯泡A串联,将线圈L与灯泡B串联,接成下图所示的电路,其中A和B是两个同样的灯泡。合上开关K后,灯泡A和灯泡B会有什么变化?
回复: 电感是电流的惰性元件,它在电路突变时,将保持突变前的电流不变,随着充电或放电,其电流逐渐增大或减小。即电感在电路突变时,其电流是不能突变的,而它的电压可以突变。电阻是个勤快元件,它在电路突变时,其电流与电压随外电路变化而变化,即电阻的电流与电压是都可以突变的。
分析电路:当开关处于断开时,R与L支路电流都=0,突然合上开关:
1、R支路由于灯泡A也是电阻,其回路没有过渡过程,支路立刻达到电路稳态:R与灯泡A电压按各自电阻值的大小比例分压。即从始至稳态,灯A的亮度不变。
灯的电压=电源电压 * R灯/(R灯 + R)
2、而L与灯B支路,合闸瞬间,L将保持合闸前的电流不变,使支路电流I=0,故使灯泡B的电压=0(灯灭),电源电压全部加在电感上,即L的电压=电源电压。随之电流由0 开始增加,使灯B电压由0增大,L的电压由电源电压值开始减小,直至L的电压=0,灯泡的电压=电源电压达到稳态。从始至稳态灯B的亮度是由灭逐渐亮,直到稳态最亮,且保持不变。
灯的电压=电源电压
3、通电稳态后再断开开关,由于L的特性:保持断电前的电流,该电流将通过灯B、灯A、R回路放电,随之放电,其电流逐渐减小为0,在此过程中,灯A是先由不太亮然变亮,随之电流逐渐变小灯A逐渐变暗,直至全灭。而灯B在开关断开瞬间亮度不变,随之电流逐渐变小灯B逐渐变暗,直至全灭。
本文到此结束,谢谢大家!