首页 上一页 1 2 下一页 尾页

对网友求助问题的几个回帖展示之四十六 点击:1840 | 回复:21



wyb2866255---王者之师

    
  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2013-11-04 13:32:08
楼主

       对网友求助问题的几个回帖展示之四十六

   本文6例都是网上的求助帖,涉及PLC编程及电工理论与计算等问题,现整理展示给大家,供大家分析讨论。如有不妥之处,请给予指正,本人深表感谢!

    求助帖一、新手,请问怎么把处存器中的数分开

如VB内装的23十进制,怎么把2和3分开,分别装把别的VB中去。VB内数是时时变化的2位数温度值。谢谢。

   回复:可以这样编程:将装有23的存储器(如 VB100)先转换为字整数(VW101),再用 I_BCD 指令将字整数(VW101)转换为BCD码,则字节VB102的数值就为BCD码的十进制数:如VB100=23整数,VB102的高位4数=0010,VB102的低位4数=0011


   又问:我还是没看懂,哪怎么把这高低4位放到别的VB中去呢

   再答复:考虑你要求的“VB内数是时时变化的2位数温度值”,故将转换为BCD码的数据放在另一存储区,这样,当原VB值改变时,另一存储区的数码对应转换的BCD码也时时随之变化。

  如将转换为BCD码仍放在原 VB 里,就会使VB内的数值发生混乱:比如温度=23度的值送入VB100内,其送入的整数“23”在VB100的值=0001_0111,(即二进制数形式),当程序执行一次将VB100的值进行I_BCD 转换转,再存入VB100,此时转换指后的VB00=0010_0011(即BCD码的“23”),当PLC下一个循环扫描又执行I_BCD指令时,就会将 0010_0011 误认为整数(即二进制数)再一次转换为BCD码,这种其值变为011_0101,即BCD吗"35"。当再下一次扫描又执行I_BCD指令时,又会将“011_0101”转换为BCD码,即:0101_0011((即BCD码的“53”)……即程序循环扫描,虽然温度=23不变,其VB100的值将不停地改变。这就是为什么VB100的值经BCD码转换后不能放回原存储器的原因。


  二、求助帖:灯泡控制程序20个灯每个灯亮100ms 熄60s 循环点亮,循环工作,有没有很简单的程序,不需要太多时间继电器的

  回复:用S7-200编写一段程序,供参考:




程序说明:

1、为简化程序,只选用一个双字左移指令,来左移20个位变量,实用MD0作为20个灯存储区,第一个灯的位变量不取M0.0,而取M2.4,第二个为M2.5,第3个位M2.6……依次上移,直到M0.7为第20个灯。

2、减小使用定时器,本程序只用了2个定时器T101与T102,组成周期为0.1+60秒的振荡器(即T101定时时间位100毫秒,T102定时为60秒),用T102=1的前沿左移一位双字存储器MD0,实现每隔60秒,使MD0左移一位,实现20个指示灯自动循环闪亮的控制。

其动作过程是:当按一下启动按钮I0.0,使M2.4=1、M10.0=1,M10.0=1的前沿将MD0àQD0,此时因M2.4=1传递给Q2.4,使Q2.4的指示灯亮,即第一个灯泡亮。M10.0=1使T101得电延时,延时100mS。T101动作,其T101=1使QD0=0(即第一个灯灭只亮100MS),T101=1又使T102得电开始延时,延时60秒,T102动作,T102=1,将MD0 左移一位,且将MD0àQD0,即使下一个灯亮。

此时Q2.5=1.即第二个灯亮,同时判断移位后的MD0等不等于0,如=0,说明MD0已左移20位,令M10.1=1,程序进入第二次从头循环闪亮。

   三、求助帖:这样的编程问题,您碰到过吗?

现场电表实时传送耗电总量,如何实时计算出前一小时的耗电量?

   回复:选用一字存储器MW0作采集数据区,MW2为秒脉冲计数器,MW4为前一小时耗电量存数区。按下启动按钮,使MW0=0、MW2=0,且使M10.0=1,MW2开始秒计时,当计满3600秒,即1小时时,立即读取电表的实时传送耗电总量VW100,且用VW100->MW0,MW0即为前一小时的耗电量。同时将M10.1=1、M10.0=0,M10.0=0,程序不再做MW2的秒计时计数,M10.1=1,将每隔1秒读取依次电表传来数据VW100,并用VW100-MW0->MW4,即求出此时刻的前一小时的耗电量,随后将VW100->MW0,为下一秒求前一小时的耗电量做准备。这样,每隔1秒显示一次此时刻的前一小时的耗电量值。具体程序见下梯形图:

下面程序是时时读取前一小时的耗电量:




  四、求助帖:模拟量转换的题看不懂请高手解答

压力变送器的量程为0-10Mpa,输出信号为4-20mA,模拟量输入模块的量程为4-20mA,转换后的数字量为0-27648.

设转换后得到的数字为N,试求以kPa为单位的压力值。

解:0-10Mpa(0-10000kPa)对应于转换后的数字0-27648,转换公式为P=10000*N/27648(kPa)

注意在运算时一定要先乘后除,否则可能会损失原始数据的精度.

请问下这个N怎么来的,请说出过程,本人刚接触这块没多久,不知道这个N是怎么转换来的,请各位指教

   回复“楼主说的“模拟量输入模块的量程为4-20mA,转换后的数字量为0-27648”其输入模拟量 Ix与模块转换为数字量 Nx 的关系式如下图:


 图中M点为输入4mA时的坐标点,其对应转换的数字量 N=0,A点为输入20mA时的坐标点,其对应转换的数字量 N=27648,a点为输入某电流=Ix时的坐标点,其对应转换的数字量为Nx

  ∵△ABM ∽△abM  故可知:AB/ab=BM/bM  即:27648/Nx=(20-4)/(Ix-4)

整理得:Nx=27648×(Ix-4)/16 ....(1)

 模块就是按式(1)将外输入的电流量Ix(Ix=4~20mA),自动转换为对应的数字量Nx的。

  五、求助帖:请教两种电流互感器连接电流表的区别


这两种电流互感器接安培表的方法有何区别

  回复:第一种接线:左侧电流表测得是A相电流,中间电流表测得是C相电流,右侧电流表测得是A相与B相的电流的向量和电流值。在负载对称的三相电,其三相电的和电流(即零线电流)=0,故A相与C相矢量和电流在数值上与B相电流相等,相位相反(IA+IC=-IB)。由于电流表只显示电流值,故可以用A相与C相的矢量和电流值来代表B相电流值。此种方法优点可节省一个电流互感器。缺点当三相负载不平衡时,其三相电的和电流(零线电流 IN)≠0,此时用A相与C相的矢量和电流值来代表B相电流值就不准确了,因为此时它包含零线电流与B相电流的矢量差(IA+IC=IN-IB)。

    第二种接线:左侧电流表测得是A相电流,中间电流表测得是B相电流,右侧电流表测得是C相电流,即每一相都有自己的电流互感器与电流表进行测量,即三块电流表测的电流是三相电的真实电流值,故三相负载是否平衡都不会影响各电流表的测量准确性。

  六、求助帖:关于0和1的问题

各位大侠,我是新手想请教下在PLC中,LD指令和LOADNOT指令的0和1分别表示什么意思啊

   回复: 0与1对PLC的位变量来讲,表示二种逻辑状态。位变量相当是一个开关,其输出只有2种状态:断开与闭合。0表示位变量开关断开,输出为逻辑0(即输出0V电位)。1表示位变量开关闭合,输出为逻辑1(对正逻辑输出高电位,如输出+24V,对负逻辑输出低电位,如输出-24V)。


   本文到此结束。谢谢大家!





江湖混混-余辉

  • [版主]
  • 精华:53帖
  • 求助:44帖
  • 帖子:3351帖 | 28451回
  • 年度积分:603
  • 历史总积分:131640
  • 注册:2006年4月25日
发表于:2013-11-04 13:48:30
1楼

感谢王老一如既往地帮助大家!

小诚

  • 精华:16帖
  • 求助:64帖
  • 帖子:679帖 | 7271回
  • 年度积分:3
  • 历史总积分:32156
  • 注册:2012年9月27日
发表于:2013-11-04 21:54:11
2楼

拜读楼主的帖子,很多数学知识不用,都忘记了。

甚至有时候都不知道怎么用。

ywdaisjm

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 12回
  • 年度积分:0
  • 历史总积分:7
  • 注册:2013年7月15日
发表于:2013-11-05 11:04:29
3楼

拜读楼主的帖子.................

无言地心

  • 精华:0帖
  • 求助:59帖
  • 帖子:101帖 | 167回
  • 年度积分:162
  • 历史总积分:15896
  • 注册:2012年10月29日
发表于:2013-11-05 11:33:05
4楼

呵呵,第一题是我的提问,没想到这能看到.


  • 精华:0帖
  • 求助:3帖
  • 帖子:8帖 | 387回
  • 年度积分:1400
  • 历史总积分:1888
  • 注册:2006年2月06日
发表于:2013-11-05 19:26:35
5楼

感谢王老一如既往地帮助大家,王老辛苦了

khs8088

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 3回
  • 年度积分:0
  • 历史总积分:3
  • 注册:2013年11月07日
发表于:2013-11-07 21:45:29
6楼

 

电流互感器变比测试时二次有一点接地将有什么结果

wyb2866255---王者之师

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2013-11-08 08:12:05
7楼

回6楼:电流互感器变比测试时,如同三相四线制输电,可以节省连接导线:正常每个互感器与表需2根导线,而“二次有一点接地”从互感器到表之间只需1根线,它适用于互感器到表之间较长的场合。这样接线对电表显示无影响。

感悟涵涵

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 79回
  • 年度积分:0
  • 历史总积分:327
  • 注册:2007年4月04日
发表于:2013-11-13 15:48:27
8楼

看了收益颇多啊。。。

penggang2000

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 37回
  • 年度积分:0
  • 历史总积分:41
  • 注册:2009年10月15日
发表于:2013-11-15 11:39:08
9楼

1、求助者没有说明现场传来的实时电量是单位时刻的耗电量还是耗电量的累加,传送过来数据不同有着不同编程思路。如传过来的耗电量为单位时刻耗电量话即以分钟为单位时间,第一分钟传过来数据为100kwh第二分钟耗电量为50kwh时,1小时前的耗电量为累加值后再进行运算。如传过来数据本身极为耗电总量累加值,你程序中也有些疑问,你程序中我理解不能实现1小时前的耗电量,MW4中要运行1小时后读到使前一秒钟耗电量,而不是1小时。

wyb2866255---王者之师

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2013-11-15 17:48:19
10楼

  回9楼:求助帖:“现场电表实时传送耗电总量,如何实时计算出前一小时的耗电量?”故从现场开始传送电量起计时,当计时3600秒,读取电表的传送量(即第一次VW0值)就是前一小时的耗电量。但之后VW0值就是每秒的耗电量,而不是每时刻的前一小时的耗电量。这里声明一下。

  要使VW0值能为实时计算出前一小时的耗电量,很麻烦。可以这样编程:从程序开始,每个1秒计算出瞬时耗电量(即后1秒的电表值-前一秒的电表值),并以次存放在数据区1,当存入3600个数据时,此时的电表传送数即为头一小时的耗电量,之后,过1秒将电表值- 数据区1的第一个数据,其差就为第二秒的前一小时的耗电量,再将此时的1秒耗电量送数据区2的首址。。。二个数据区轮流使用。这样编程从理论上是可以的。

penggang2000

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 37回
  • 年度积分:0
  • 历史总积分:41
  • 注册:2009年10月15日
发表于:2013-11-15 18:30:56
11楼

楼主,实时读取它的耗电量以秒为单位没多大意义,估计做成分钟可行的。,如果电表是我们认为自动累计的,楼主程序也没有读取初始值的内容,即每次PLC运行读取时,电表初始值不是从0开始的。我认为应在初始化时不应把MW0初始为0,而应将VW0的数据读入。1小时后将VW100内容减去MW0后,在将VW100内容送入MW0中。

wyb2866255---王者之师

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2013-11-15 20:44:21
12楼

  回11楼:1、累计量输出电表,启动工作时,其电表值都是从0开始累计,程序的I0.0即为电表启动开关,故原程序将MW0初始为0。2、用分钟表示一小时的累计量,从时时显示的角度来看显得有点长,即读数是每隔一分才输出显示一次,不太符合时时显示的要求。再说用分与用秒编程思路是一样的,只是数据区用的少而已。3、我重新编个程序,由于时间仓促,有可能出错,你先看看。





  Q0.0=0时,MW0的值为头一小时的时时耗电量,当Q0.0=1(输出灯亮),MW0值表示时时的前一小时的累计耗电量。MW0为前一小时耗电量显示区。

今生缘

  • [版主]
  • 精华:43帖
  • 求助:20帖
  • 帖子:4757帖 | 10148回
  • 年度积分:75
  • 历史总积分:111144
  • 注册:2011年3月02日
发表于:2013-11-15 20:52:27
13楼

好帖,顶起来!      

penggang2000

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 37回
  • 年度积分:0
  • 历史总积分:41
  • 注册:2009年10月15日
发表于:2013-11-15 22:39:38
14楼

能行。!!!!!!!!!!!!!!!!

penggang2000

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 37回
  • 年度积分:0
  • 历史总积分:41
  • 注册:2009年10月15日
发表于:2013-11-15 22:47:44
15楼

不过CPU221和222不行,数据寄存器不够

yl952

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 98回
  • 年度积分:37
  • 历史总积分:7671
  • 注册:2009年4月23日
发表于:2013-11-21 09:15:01
16楼

    第一种表接线,第一、二块表测的是A、C相电流,第三块表测的是B相电流; 第二种表接线,第一、二、三块表测的是A、B、C相电流。

 

 

362748598

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:3
  • 注册:2013年10月20日
发表于:2013-11-24 19:17:13
17楼

好!!!!!!!!!!!!!!!!!!!!!!

980568120

  • 精华:0帖
  • 求助:6帖
  • 帖子:12帖 | 711回
  • 年度积分:0
  • 历史总积分:2147
  • 注册:2013年5月14日
发表于:2013-11-25 00:19:29
18楼

   好!!!!!!!!!!!!!!!!!!!!!!   

柒月

  • 精华:0帖
  • 求助:1帖
  • 帖子:2帖 | 20回
  • 年度积分:0
  • 历史总积分:12
  • 注册:2013年11月22日
发表于:2013-12-05 20:14:51
19楼

 好!!!!!!!!!!!!!!!!!!!!!!   

malone_qiu

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 4回
  • 年度积分:0
  • 历史总积分:34
  • 注册:2013年12月11日
发表于:2013-12-11 14:46:06
20楼

看不懂啊 郁闷,头晕怎么回事


热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 下一页 尾页