step7实现流量累积例程[转帖] 点击:8979 | 回复:51



xiaolifeidao

    
  • 精华:28帖
  • 求助:0帖
  • 帖子:130帖 | 357回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2005-09-29 10:41:00
楼主
用FB做的带数据块的流量累积功能块。采样累积在毫秒单位内ms_v,满一秒转入是s_v,同时将ms、ms_v清零,满一分钟累积量转入m_v,t同时将s、s_v清零,满一一小时累积量转入h_v,同时将min、m_v清零,可以累积入天…….。每一时刻的累积量是ms_v+s_v+m_v+h_v。Rest为零累积量清零。 在OB35中调用即可,如OB35中断周期为100ms,流量输入单位方/H,Unilt_c就是36000,Hz就为10,unilt_v对应流量记满量程值。 In pv word 瞬时流量 In Unit_c Real 瞬时流量单位转换为采样时间流量单位 In Rest int 为零时,累加器清零 In Hz int 每秒采样次数 In unilt_v Real 流量计最大流量单位 Out ov Real 流量累积输出 In_out ms int 毫秒记数 In_out s int 秒记数 In_out min int 分钟记数 In_out h int 小时记数 In_out ms_v dint 毫秒流量累积 In_out s_v dint 秒流量累积 In_out m_v dint 分钟流量累积 In_out h_v dint 小时流量累积 In_out in_v dint 将输入瞬时流量变为长整型 流量累积功能块 毫秒流量累积 L #PV T #iv_c L #iv_c L #ms_v +D T #ms_v L #ms L 1 +I T #ms L #Hz <I JC ol 秒流量累积 L #ms_v L #s_v +D T #s_v L #s L 1 +I T #s L 0 T #ms T #ms_v L #s L 60 <I JC ol 分钟流量累积 L #m_v L #s_v +D T #m_v L #min L 1 +I T #min L 0 T #s T #s_v L #min L 60 <I JC ol 小时流量 L #h_v L #m_v +D T #h_v L #h L 1 +I T #h L 0 T #min T #m_v 清零 ol: L #Rest L 0 <>I JC end L 0 L 0 T #ms T #s T #min T #h T #ms_v T #s_v T #m_v T #h_v 累积量 end: L #ms_v L #s_v +D L #m_v +D L #h_v +D DTR L #Unit_c /R L #unilt_v *R L 2.764800e+004 /R T #ov



似懂非懂12

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 19回
  • 年度积分:0
  • 历史总积分:65
  • 注册:2005年9月10日
发表于:2007-10-03 09:46:00
21楼
授教了

heidai

  • 精华:0帖
  • 求助:0帖
  • 帖子:11帖 | 1835回
  • 年度积分:0
  • 历史总积分:2824
  • 注册:2007年5月23日
发表于:2007-10-03 10:39:00
22楼
谢谢

自23

  • 精华:0帖
  • 求助:0帖
  • 帖子:14帖 | 650回
  • 年度积分:0
  • 历史总积分:985
  • 注册:2004年11月23日
发表于:2007-10-03 20:12:00
23楼
学习了

红烧大肠

  • 精华:1帖
  • 求助:0帖
  • 帖子:46帖 | 493回
  • 年度积分:0
  • 历史总积分:722
  • 注册:2006年6月05日
发表于:2007-10-04 08:20:00
24楼
dddddddddddddddddddddddddddddddddd

cade_zk

  • 精华:0帖
  • 求助:0帖
  • 帖子:34帖 | 216回
  • 年度积分:0
  • 历史总积分:503
  • 注册:2005年9月16日
发表于:2007-10-14 19:39:00
25楼
学习下

flybird25

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 3回
  • 年度积分:0
  • 历史总积分:3
  • 注册:2006年4月30日
发表于:2007-12-06 14:33:00
26楼
henhaohenhao

LUGANCHAO

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 1821回
  • 年度积分:0
  • 历史总积分:2757
  • 注册:2007年4月06日
发表于:2008-04-30 16:22:20
27楼
没做过如此系统,但是在和别人合作的系统画面中看到过,

LUGANCHAO

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 1821回
  • 年度积分:0
  • 历史总积分:2757
  • 注册:2007年4月06日
发表于:2008-04-30 16:22:34
28楼
没做过如此系统,但是在和别人合作的系统画面中看到过,

LUGANCHAO

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 1821回
  • 年度积分:0
  • 历史总积分:2757
  • 注册:2007年4月06日
发表于:2008-04-30 16:23:39
29楼
OB35:
CALL FC 1
PulseSignal:=DB1.DBX0.0 //流量计发出的脉冲
FlowMeter :=DB2.DBX0.0 //存放数据的地址指针
CountPulse :=5.000000e+000 //脉冲系数
FC1:
LAR1
T #dwAR1
L DBNO
T #wDBno


L P##FlowMeter
LAR1
L W [AR1,P#0.0]
T #DBnr_D
L D [AR1,P#2.0]
LAR1


OPN DB [#DBnr_D]

L #CountPulse
T DBD [AR1,P#4.0]

A #PulseSignal
= DBX [AR1,P#0.0]


A(
A DBX [AR1,P#0.0]
X DBX [AR1,P#0.1]
)
A DBX [AR1,P#0.0]
JCN N01E

A DBX [AR1,P#1.2]
JC CT02

L #CountPulse
L DBD [AR1,P#8.0]
+R
T DBD [AR1,P#8.0]

CT02: A DBX [AR1,P#1.3]
JC CT03

L #CountPulse
L DBD [AR1,P#12.0]
+R
T DBD [AR1,P#12.0]


CT03: A DBX [AR1,P#1.4]
JC N01E

L #CountPulse
L DBD [AR1,P#16.0]
+R
T DBD [AR1,P#16.0]

N01E: NOP 0
A DBX [AR1,P#0.0]
= DBX [AR1,P#0.1]

L #dwAR1
LAR1
OPN DB [#DBnr_D]
此程序可直接作为一个公用子程序调用。

LUGANCHAO

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 1821回
  • 年度积分:0
  • 历史总积分:2757
  • 注册:2007年4月06日
发表于:2008-04-30 16:28:43
30楼
学习学习了 学习学习了

LUGANCHAO

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 1821回
  • 年度积分:0
  • 历史总积分:2757
  • 注册:2007年4月06日
发表于:2008-06-17 21:27:29
31楼
好东西学习了。谢谢//

wazhfs

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 40回
  • 年度积分:0
  • 历史总积分:55
  • 注册:2006年6月19日
发表于:2008-07-01 13:37:10
32楼
好东西学习了。谢谢//

清朝

  • 精华:0帖
  • 求助:0帖
  • 帖子:37帖 | 1359回
  • 年度积分:0
  • 历史总积分:2281
  • 注册:2004年10月16日
发表于:2008-07-01 13:41:44
33楼

好好学习天天向上             

麻省理工

  • 精华:0帖
  • 求助:5帖
  • 帖子:14帖 | 83回
  • 年度积分:5
  • 历史总积分:232
  • 注册:2006年4月11日
发表于:2008-08-05 08:27:11
34楼
好东西,学习了。谢谢

呆板吧

  • 精华:0帖
  • 求助:0帖
  • 帖子:16帖 | 220回
  • 年度积分:0
  • 历史总积分:340
  • 注册:2006年4月14日
发表于:2008-08-05 13:18:02
35楼
好东西,学习了。谢谢

hlq

  • 精华:0帖
  • 求助:0帖
  • 帖子:23帖 | 149回
  • 年度积分:0
  • 历史总积分:295
  • 注册:2004年12月05日
发表于:2008-08-05 13:51:12
36楼
留个记号,谢谢好东西,学习了。谢谢

zzmei1688

  • 精华:0帖
  • 求助:0帖
  • 帖子:24帖 | 215回
  • 年度积分:0
  • 历史总积分:263
  • 注册:2003年9月27日
发表于:2008-08-05 21:31:27
37楼
好  谢谢 学习了  

cupidyoung

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 32回
  • 年度积分:0
  • 历史总积分:41
  • 注册:2007年4月17日
发表于:2008-08-06 12:25:00
38楼

学习了,大家都很强的

LUGANCHAO

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 1821回
  • 年度积分:0
  • 历史总积分:2757
  • 注册:2007年4月06日
发表于:2008-09-15 10:29:06
39楼
OB35:
      CALL  FC    1
       PulseSignal:=DB1.DBX0.0    //流量计发出的脉冲  
       FlowMeter :=DB2.DBX0.0     //存放数据的地址指针 
       CountPulse :=5.000000e+000 //脉冲系数  
FC1:
          LAR1  
      T     #dwAR1
      L     DBNO
      T     #wDBno


      L     P##FlowMeter
      LAR1  
      L     W [AR1,P#0.0]
      T     #DBnr_D
      L     D [AR1,P#2.0]
      LAR1  


      OPN   DB [#DBnr_D]                

      L     #CountPulse
      T     DBD [AR1,P#4.0]

      A     #PulseSignal
      =     DBX [AR1,P#0.0]            


      A(    
      A     DBX [AR1,P#0.0]
      X     DBX [AR1,P#0.1]
      )     
      A     DBX [AR1,P#0.0]
      JCN   N01E

      A     DBX [AR1,P#1.2]             
      JC    CT02

      L     #CountPulse
      L     DBD [AR1,P#8.0]
      +R    
      T     DBD [AR1,P#8.0]

CT02: A     DBX [AR1,P#1.3]            
      JC    CT03

      L     #CountPulse
      L     DBD [AR1,P#12.0]
      +R    
      T     DBD [AR1,P#12.0]


CT03: A     DBX [AR1,P#1.4]             
      JC    N01E

      L     #CountPulse
      L     DBD [AR1,P#16.0]
      +R    
      T     DBD [AR1,P#16.0]

N01E: NOP   0
      A     DBX [AR1,P#0.0]
      =     DBX [AR1,P#0.1]

      L     #dwAR1
      LAR1  
      OPN   DB [#DBnr_D]
此程序可直接作为一个公用子程序调用。

LUGANCHAO

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 1821回
  • 年度积分:0
  • 历史总积分:2757
  • 注册:2007年4月06日
发表于:2008-09-15 10:29:22
40楼

学习了,大家都很强的


热门招聘
相关主题

官方公众号

智造工程师