1、首先,建立变量表,输入相应的变量名称和变量地址。比如:Water_Flow_IW 地址IW260,即组态的 第一块模拟量输入模块的第三个通道。
2、在数据块中,建立对应的变量名称和地址,用于将模拟量采集到的通道数据转换成工程数据。比如:Water_Flow 数据类型 Real 用于存放转换后的瞬时流量。 Water_Flow_ACC 数据类型 Real 用于存放累计流量
3、在新建的功能块中编写其控制程序。首先是调用数据转换块,将采集流量计的电流信号经过模拟量通道转换为工程数据。(*模拟量采集转换*)"SCALE_ITR"(IN_INT:="Water_Flow_IW", IN_SH:=27648, IN_SL:=0, OUT_SH:=30, OUT_SL:=0, X:=35, RX:=2, IN_OUT:="DB_TO_AI".Water_Flow);
4、编写1s时钟定时器并获取其上升沿脉冲,每一秒钟对瞬时流量进行累积,瞬时流量单位僭轿魍儿为m3/h,要除以3600转换为m3/s荑樊综鲶,然后进行累积。(*1s时钟定时器*)"IEC_Timer_11_DB".TON(IN:=NOT "Time_1s_bit", PT:=T#1s, Q=>"Time_1s_bit");(*1s定时器脉冲信号*)"R_TRIG_DB_2"(CLK:="Time_1s_bit", Q=>"Time_1s_Pluse");(*流量累积*)IF "Time_1s_Pluse" THEN "Flow_ACC"(Flow_In := "DB_TO_AI".Water_Flow, Flow_ACC_Out := "DB_TO_AI".Water_Flow_ACC);END_IF;
5、共用流量计时,程序中有3路进水共用一尊怠哉砑台流量计,三路进水阀通过进行联锁,保证任何时候都只有一路打开,当进水阀门开启时,流量计累积流量累积的是这一路的进水流量,阀门关同谒缡肪闭后,立刻清零。(*三路管道共用一个流量计,单路进行转换*)IF "Water_XV01_bit" THEN "Water_XV02_bit" := 0 ; "Water_XV03_bit" := 0 ; "Water_XV01_RS" := 1 ; "DB_TO_AI".Water_MV01_Flow_ACC := "DB_TO_AI".Water_Flow_ACC ;ELSE "Water_XV01_RS" := 0 ; "DB_TO_AI".Water_MV01_Flow_ACC := 0 ; END_IF;