对网友求助问题的几个回帖展示之十五
本文6例是近期在网上回答网友的求助帖,现展示给大家,如有不对之处,请给于指正,谢谢!
一、网友求助:我想请教下,这2个程序在工作结果上有什么不同吗?就是说我不要这个上升沿的话对我的工作状态应该也没有影响的吧?
回复:上面的这二个图都有问题,即工作都不可靠,正确的编程如下:
该SR触发器的地址不能用Q0.0,应该改为其他位变量(如M2.0),SR触发器的输出为Q0.0,这样该电路才能正确工作,即每按一次I1.2 ,SR触发器输出状态就改变一次,具体工作原理请见“用S7-200编程的三个实例的解析”一文的第一例。
二、求助:请教:PLC输入点任意一点变化均触发一次,用什么指令比较精简
如题!
另外三菱FIFO指令,当输入点部分有信号时,是否能做到依次输出且依次关闭已动作了的。假设X0~X17任意一点先变化,
则先变化的对应输出点Y0~Y17动作。如:X0—>ON接着X13->ON,再接着X4->ON......依次输出Y0,Y13(Y0不动作),Y4(Y0,Y13均不动作)。哪位大侠有精简的指令写法,请说说,谢谢~!
回复:三菱PLC不熟悉,我用S7-200编写三段程序供参考:
1、不保持输入信号状态(即输入为不自锁的按钮,按下后就抬起)的编程:
编程说明:1、用传递指令MOVW将输入点I0.0~I1.7传送给输出口Q0.0~Q1.7,这样输入的每一个点对应输出口的一个点。
2、用比较指令(IW0<>0)的前沿执行将IW0传递给QW0的目的,是确保无输入时输出状态不变,只有输入转态变化瞬间,输入状态传送给输出口,以确保此时的该输入点复位时仍能保持原输出状态不变。
如:I0.0=1,对应输出Q0.0=1,I0.0复位(I0.0=0)仍保持Q0.0=1。如I0.7=1,对应输出Q0.7=1、Q0.0=0.,I0.7复位(I0.7=0)仍保持Q0.7=1,再输入I1.1=1,对应Q1.1=1,而Q0.7=0。。。。
但这种编程,对输入口的输入状态有要求:按钮前IW0=0,故只适应不自锁按钮(按完后触点断开)。
2、自锁与不自锁的按钮都可用的编程:
编程说明:
当按下某一按钮,其IW0将不等于MW10且小于时,将IW0与MW10进行异或运算,运算结果送入QW0(此时QW0的输出只有刚刚按下的位信号=1,其它位都等于0)。随后再将IW0送入MW10,以保存IW0的现有状态,以备下次按键与IW0比较。例如:
原IW0状态=0000_0000_0110_0011,现按下一按钮,使I0.3=1,此时IW0=0000_0000_0110_1011,MW10仍=0000_0000_0110_0011,由于IW0≠MW10且IW0>MW10,故IW0与MW10进行异或运算,由于此时IW0与MW10只有第3位的内容不等(I0.3=0,M10.3=1),其他各个对应位相同,故异或的结果使QW0=8,即 Q0.3=1。随后将现在的IW0=0000_0000_0110_1011的值 送入给MW10。
如该按钮又抬起,使IW0=0000_0000_0110_0011,此时IW0与MW10的值又不相等(I0.3=0、MW10.3=1),但IW0<MW10,故Q0.3仍=1,QW0输出不变。但IW0值送入MW10(0000_0000_0110_0011)。
如此时将I0.0的按钮抬起(I0.0=0),IW0=0000_0000_0110_0010,此时IW0≠MW10,且IW0<MW10,故QW0输出不变。但IW0值送入MW10(0000_0000_0110_0010)。
可见,这种编程最好,对输入口状态无条件限制,可适用与各类按钮。
三:求助:怎样计量流经管道中液氨的重量?
我公司属化工。生产中需要液氨为原料,平时用槽罐车称重计量运输、卸货到储槽中。前段时间用临边化肥厂的液氨,用管道输送的我公司,对方安装一台质量流量计来做贸易结算。虽然管道全线保温,但因压力较低,约0.5--0.7MPA,形成气液两相,计量误差较大。请问有什么好的措施或方案来改进吗?欢迎同行指点。
回复1:采用这样的办法可以准确计量液氨的累计重量:在输送管道中串接一段同直径的钢管,二端与原管道软连接(一定要封闭好不得漏气),在管内安装一个涡流式测速器,再用一只拉式称重传感器,吊挂该钢管的二端。测速器输出信号通过一变换电路转换为电压,其电压与关内液体流速成正比,用此电压给称重传感器供电,该称重传感器输出信号将与管的重量和流速的乘积成正比。将此传感器输出的信号转换为与之成比例变化的频率脉冲。
校整:先通以最大额定流速的空气,调整测速器输出信号转换的电压=10V且保持该电压不变,再调整称重传感器输出信号转换为脉冲的频率,其频率值=钢管重量(如1公斤重转换脉冲频率=100,则一个脉冲表示0.01公斤重)。再用一可调频率的振荡脉冲源,调节其输出频率也=钢管重量。
计量:用一个可逆计数器对称重传感器输出的脉冲作加计数,再用可调振荡脉冲作减计数,没有液氨通过时可调振荡脉冲源停振,可逆计数器复位,其计数值=0,当有液氨通过时可调振荡脉冲源起振,可逆计数器容许计数,此时可逆计数器的计数数即为液氨的累计流量。
回复2:我在8楼所讲的,就是电子皮带秤的测量原理,要实现8楼方案,须有一定的电路设计基础。也可这样搞比较容易实现:仍用8楼结构,用现成的皮带秤仪表,称重传感器按正常仪表要求的接法连接,涡流测速器输出应改为仪表要求的输出信号。仪表调零时,管内通以额定流速的空气,此时仪表的测量值即为钢管重量,以它为仪表的零点,再在称重传感器上加=最大瞬时流量的砝码,再调整仪表。使其显示值=砝码重量。校准后就可以进行液氨的测量。
四、求助:为什么继电器上并联个二极管能防止干扰?原理是什么,
回复:楼主所说的是直流继电器,一般均在继电器线圈并接反向二极管,做续流用。正常通电时如不并接反向二极管,当断电时,由于线圈的电感作用,其电流不能突变,仍保持断电前的电流值,必然强行通过与它串接的开关触点或晶体管,此时开关触点已断开或晶体管已截止,相当是一个相当大的电阻)而产生很高的冲击电压,会使开关触点烧毁或将晶体管击穿。这冲击电压还会对周围的电子线路产生很强的干扰,会使周围的电路失控。加上这续流二极管,,正常通电时二极管处于反相截止而不通电,当断电时线圈的电流会通过二极管很快的放电掉,故不会产生冲击电压,不仅是保护了开关触点(或晶体管),而且对周围电路也不会产生干扰。
五、求助:请高手帮忙看一下这个程序怎么编写?
我用模拟量模块控制一个电磁比例阀,0-5V控制,需要在设定的时间内线性的从零到最高值,但是这个时间是个变量值,可以随时调整。用OMRON的PLC编程吧。
注意一定是线性递增的控制方式,在设定时间内线性递增。PLC的模拟量模块设定我都会只是程序这部分如何编程请高手指点!谢谢!
回复: 模拟量模块输出0~5V输入给模块对应的数字量为0~ Sm(模块的最大数字量),如设定时间为T,将其换算为0.1秒为单位的数(如1分20秒转换为800),用Sm÷T,其商值(Sm/T)即为每0.1秒增长的数字量。 设模块的模拟量输出(0~5V)对应的数字量输入地址为AQW,启始时置AQW=0,其模拟量输出=0V,选用PLC的内部0.1秒时钟脉冲,用脉冲的前沿将0.1秒增长的数字量(Sm/T)值加在模块的数字量输入端AQW,使输出电压由0每延时0.1秒增加 (5 / T) V,T秒后输出电压=5V。 即可实现0~5V线性增长的控制。
六:变送器计算公式 压力变送器量程--300--+300KPA,输出4-20MA,求--30KPA,--50KPA,---100KPA,对应是多少MA, 8MA,12MA,对应压力是多少KPA,求计算公式?说详细点,谢谢
回复:计算公式如下:
上面公式是求KPA公式。如已知压力Px 求毫安指的公式为:
如已知 P=30KPA 代入上式(1),得:Ix =16×330÷600+4=12.8ma
P=50KPA 代入上式(1),得:Ix =16×350÷600+4=13.3ma
P=100KPA 代入上式(1),得:Ix =16×400÷600+4=14.67ma
如已知:Ix=8 ma 带入上式(2)得: Px=600×4÷16-300=-150 KPA
Ix=12 ma 带入上式(2)得: Px=600×8÷16-300=0 KPA
楼主最近还看过