对网友求助问题的几个回帖展示之十四
本文5例都是近期在网上回答网友的求助帖经整理汇编的,现展示给大家,如有不对之处,请给于指正,谢谢!
一、 网友求助:关于组态王里“按下时”
定义了一个变量指向FX0N PLC的x0,定义一个按钮,在“按下时”编辑语句将此变量置1,plc程序为ld x0,or y0,out y0,运行时,按下按钮后,plc的y0一直有输出(证明x0动作过),而plc的x0却一直为0且plc上x0指示灯一直不亮,按道理讲在组态王里按下按钮后x0应该一直为1才对,请高手帮忙解释这一现象!
回复:按钮按下时,是指按下的一瞬间,即相当X0=1的前沿,而不是指X0=1的全过程。 plc程序为ld x0,or y0,out y0,是用y0=1自保是保y0总=1,而不是保x0=1,故按钮抬起后x0=0。
二、 网友求助:本人求教一张 单按钮控制电机正反转的线路
尊敬的各位师傅:现在我想向你们求教一个简单的问题, 我听别人说过 一个按钮可
以控制电机的正反转在此发帖求教 ,谢谢各位师傅了
回复: 我给你提供一个简单的电路图:只用普通一只直流继电器(12V工作电压),一个电阻(阻值与继电器线圈阻值相等)和一个电容构成通电与断电皆延时的定时器,再用二只接触器构成的控制电机正反转的电路。
用小型直流继电器与电阻电容 构成的定时器只需几元钱就可搞定,主意:按钮时间应控制在1秒以内,不可过长。
三、 求助:电容器问题
工程师们你们好,如果把额定电压为440v的电容器放在电压为400V的系统下电容的额定电流怎样变化,为什么,谢谢
回复:
1、 电容的额定电压是指电容容许承受的平均电压值,对交流电来说正负半个周期内所承受的平均电压为±0.45Uo(相或线电压的有效值),对交流电压400V系统下,正负半个周期内所承受的平均电压为±0.45×400=180,峰峰值=360V,所以如果把额定电压为440v的电容器放在电压为400V的系统下电容是安全的。
2、其电容为400V的系统下电容的额定电流是按正弦波型变化的交流电流,其电流可以这样计算:I=Uo*2π * f * C (Uo 为相或线电压的有效值、I 为电容电流有效值、f 为电流频率,C 为电容容量值)
四、网友求助:谁明白S7200的模拟量编程
本公司原有S7300与S7200主从电台通信,因为原有界面陈旧,外加为适应更大范围自控我更改了组态软件,用的是WINCC,原来是VB一类,现在发现原有电压电流数值均不对,后经检查发现,原有模拟量变送器用的4-20MA的,经试验发现实际在程序中应该使用0-20MA变送器,否则就会出现电压无输入时显示90V,电流无输入时显示20A,而电压一般正常多显示到460,使用0-20m变送器一切正常,但是我也不能更换几十个变送器,而原来组态显示能差不多正常怀疑是在软件上做了更改,WINCC的直接显示,就露出这个问题,有谁明白怎么更改程序的,贴上那段语句,MOVB IB0,VB39
MOVW AIW0,VW12
DIV +333,VD10
MOVW AIW2,VW16
DIV +71 ,VD14
MOVW AIW4,VW20
DIV +256 ,VD18
-I +75VW20
回复:根据你画出的程序,知PLC是S7-200,所用模块为EM235,原有模拟量变送器用的4-20MA的不用换,仍用,只是你编程时用的转换公式不对,你是按0~20ma对应被测量0~最大值,而变送器的输出4~20 ma 对应被测量值0~最大值。应按下面转换公式编程求被测量就行
以你说的电压无输入时显示90V,就是原有模拟量变送器在被测电压=0时输出的电流(4ma),你是按过0 的直线方程计算的: 电压最大值应=450V,对应数字量为32000,直线斜率K=32000÷450=71,故输入4ma 时其数字量=6400,计算电压值=6400÷71=90V.(即你的程序第三条: MOVW AIW2,VW16 DIV +71 ,VD14)
你按上面的公式重新编程就不会产生显示错误:4ma时数字量AIW0=6400,带入公式,所求量程值(电压)=0.
网友又求助:wyb2866255关于 根据你画出的程序,知PLC是S7-200,所用模块为EM235,原有模拟量变送器用的4-20MA的不用换,仍用,只是你编程时用的转换公式不对,你是按0~20ma对应被测量0~最大值,而变送器的输出4~20 ma 对应被测量值0~最大值。应按下面转换公式编程求被测量就行
以你说的电压无输入时显示90V,就是原有模拟量变送器在被测电压=0时输出的电流(4ma),你是按过0 的直线方程计算的: 电压最大值应=450V,对应数字量为32000,直线斜率K=32000÷450=71,故输入4ma 时其数字量=6400,计算电压值=6400÷71=90V.(即你的程序第三条: MOVW AIW2,VW16 DIV +71 ,VD14) 你按上面的公式重新编程就不会产生显示错误:4ma时数字量AIW0=6400,带入公式,所求量程值(电压)=0. 内容的回复:
这个数据我早就算过,程序不是我设计,我是刚刚入行,我是希望 提供如何在语句编程把这些计算加进去,梯型图就免了,这个完整程序是语句表的而且是不能 转成梯型图的,如果你会编程帮我写几句语句,非常感谢!
回复1:楼主:今日才看此贴,对你在5楼提出的要求,用语句表进行编程,见下程序:
TITLE=子程序注释
Network 1 // 实数运算
// VD112 :由AIW2转换的实数 VD104: 最大量程(如 电压:450.0V) VD112:中间运算数 VD14:求出的量程值
LD SM0.0
MOVR VD100, VD112
-R 6400.0, VD112
*R VD104, VD112
MOVR VD112, VD14
/R 25600.0, VD14
这是用实数运算,也可用整数运算,用那种运算取决你的计算精度要求。你可以用此程序代替原程序,测测看!
回复2:用这段程序
LD SM0.0
ITD AIW2, VD100 //将整数AIW2转换为双整数VD100
DTR VD100, VD112 //将双整数VD100转换为实数VD112
-R 6400.0, VD112 // VD112 - 6400.0-->VD112
*R 450.0, VD112 // VD112*450.0 -->VD112
MOVR VD112, VD14 // VD112 -->VD14
/R 25600.0, VD14 // VD14 / 25600.0-->VD14
代替你原有的这段程序: MOVW AIW2,VW16
DIV +71 ,VD14 // AIW2 / 71-->VD14 (求电压)
网友又问:
ITD AIW2, VD14
*D 450, VD14
/D 25600, VD14
DTI VD14, VW16
因为家里无法试验,我这么改不知道怎么样
回复:你这是整数运算,完全正确! 不过该程序还应加 LD SM0.0 语句,否则编译会出现错误指示。
四、 能否用一个时间继电器控制电机,要求每30分钟转一次,每次转10秒!
能否用一个时间继电器控制电机,要求每30分钟转一次,每次转10秒!最好有电路图和三菱PLC,实在不行的,越简单越好,有的高手帮下忙,我自己也编了一个,但感觉有点复杂
用硬件完成用一个时间继电器实现二个时间段的控制这是不可能的,必须再用其它元件配合才能实现。请见下图:
线路结构及原理说明:本图是由一片358双运放、2只晶体管、2只小型直流继电器、及几只电阻电容组成(十几元钱即可)。合上开关K,K的常闭触点断开,使R1向C1充电,调节RW1,使C1充电3分钟时,其C1电压高于RW1中间抽头电压,使U
五、 求助:PLC代替升速降速
FX2NPLC中 上沿脉冲怎么编写梯形图来替代按钮中的 升速
回复:FX2NPLC我不熟悉,现用S7-200编写了一个程序,其功能为按下按钮,输出脉冲的频率在10秒内从0.5Hz自动上升为50Hz后,输出频率不变,供楼主参考。见下梯形图:
主程序:
SBR_0 子程序:
INT_0时间中断服务程序:
该程序经上机运行,好用。你也可按此思路编写按下按钮输出脉冲频率由高变低的程序。
楼主最近还看过