首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >巧妙应用指令完善项目

巧妙应用指令完善项目

作者头像
剑指工控
发布2021-11-09 17:40:54
发布2021-11-09 17:40:54
3690
举报
文章被收录于专栏:剑指工控剑指工控

项目开发中总会遇到各种各样的问题,比如强酸强碱浊度温差环境恶劣的液位物位的实时监测,搅拌带蒸汽的液位采集等等...部分工程师会采用升级硬件部分来改善问题。那么进口传感异常昂贵一时无法取代时如何解决?在硬件问题无法很好升级的时候就可以通过升级程序来优化需要的数据与参数(如滤波,周期性求平均值等。)下面通过S7-200与S7-300案例分析如何通过升级程序修正一些异常点。

s7-200系统的AD_T_TBL增加至表格指令算平均值应用

通过查看TBL字值,预定义是第一个字是数值的长度,第二个字是增加数值的当前条目,第三个字为填入的第0位数据,一直往后累计直到达到第一个字定义的长度止。

下面是实际应用

通过查表TBL中VW0为定义的字长度,VW1为当前填表的条目,VW2为VW200的第0个数据值(AIW0的采样值).经数据类型转换及运算,可以很快得到我们想要的周期均值

这部分调用T37相当于S7-300的OB35循环扫描,FIFO先入先出保证了每个平均值的更迭,配合填表指令AD_T_TBL很完整的实现工艺要求。附上S7-300用SCL实现相同的功能

FUNCTION_BLOCK FB1 VAR_INPUT // Input Parameters定义输入参数 PIW_IN: INT; HI_LIM_IN:REAL :=100.0; LO_LIM_IN:REAL :=0.0; BIPOLAR_IN: BOOL :=FALSE; END_VAR

VAR_IN_OUT // I/O Parameters END_VAR

VAR_OUTPUT// Output Parameters定义输出变量 SCALED_VAL: REAL; SCALED_FILED:REAL; ERR:BOOL; END_VAR VAR_TEMP//定义临时变量 RET_VAL_105:WORD; LOOP_COUNT:INT; MAX_DATA:REAL; MIN_DATA:REAL; TOTAL:REAL; TOTAL_FITERD:REAL; END_VAR VAR//定义静态变量 DATA_STORE:ARRAY[0..9]OF REAL; END_VAR //调用FC105 RET_VAL_105:= SCALE(IN := PIW_IN //调用模拟量输入值 ,HI_LIM := HI_LIM_IN // 工程量上限值 ,LO_LIM := LO_LIM_IN// 工程量下限值 ,BIPOLAR := BIPOLAR_IN // 双极性参数 ,OUT := SCALED_VAL // 工程量值 ); //检测返回值

IF RET_VAL_105<> 0 THEN ERR:=TRUE; ELSE ERR:=FALSE;

END_IF; MAX_DATA:=DATA_STORE[0]; //初始化 MIN_DATA:=DATA_STORE[0]; TOTAL:=0.0; TOTAL_FITERD:=0.0; FOR LOOP_COUNT:=0 TO 8 BY 1 DO //FIFO堆栈 DATA_STORE[LOOP_COUNT]:= DATA_STORE[LOOP_COUNT+1]; ; END_FOR; DATA_STORE[9]:=SCALED_VAL;//加入新检测值

FOR LOOP_COUNT:=0 TO 9 BY 1 DO // 查找最大值 IF MAX_DATA < DATA_STORE[LOOP_COUNT] THEN MAX_DATA:= DATA_STORE[LOOP_COUNT]; END_IF; //计算累加和 TOTAL:=TOTAL+DATA_STORE[LOOP_COUNT]; END_FOR; //计算滤波后累加和 TOTAL_FITERD:=TOTAL- MIN_DATA- MAX_DATA; //计算滤波后平均值 SCALED_FILED:=TOTAL_FITERD/8.0; END_FUNCTION_BLOCK

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-11-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 剑指工控 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档