找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
问题
取消精华
首页精华问答
取消推荐
高端用户推荐
申请置评
已申请置评
修改
修改标签
添加标签
官方认证
取消官方认证
修改标签
添加标签
转移分类
删除
{{itemCategory}}
收藏({{answerDetail.Q_FavoriteCounts}})
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
专家建议
取消最佳答案
修改
可不可以这样理解,你已定义了一个DB块,并在DB块中定义了一个数组,DATA ARRAY[1..200] OF INT,并将10个站的数据按规律存储在了数组中。
比如 DATA[1] 到 DATA[20] 是第1个站的数据 其中 DATA[2] 就是1#站的温度 QW1154
DATA[21] 到 DATA[40] 是第2个站的数据 其中 DATA[22] 就是2#站的温度 QW1154
DATA[41] 到 DATA[60] 是第3个站的数据 其中 DATA[32] 就是3#站的温度 QW1154
依此类推
DATA[181] 到 DATA[200] 是第10个站的数据 其中 DATA[182] 就是10#站的温度 QW1154
这样的数据组枳,用 SCL 写是比较方便的。
再定义一个温度数组,温度 ARRAY[1..10] OF INT
先将数据从DATA 数组提取到 温度数组,然后,在温度数组上用二种 FOR 循环进行排序。
如图的数据定义及测试。其中有几个临时变量是在接口处定义的,红色方框框出的部分。
代码:
//将数据从DATA 数组提取到温度数组
FOR #I := 2 TO 182 BY 20 DO
"DB1".温度[#I / 20 + 1] := "DB1".DATA[#I];
END_FOR;
//排序:
FOR #I := 1 TO 9 DO
FOR #J := #I+1 TO 10 DO
IF "DB1".温度[#I]>"DB1".温度[#J] THEN
#交换用中间变量 := "DB1".温度[#I];
"DB1".温度[#I] := "DB1".温度[#J];
"DB1".温度[#J] := #交换用中间变量;
END_IF;
END_FOR;
END_FOR;
点赞({{answerDetail.Q_Positive}})
评论
评论
精探推荐
等您来回答
换一换
{{item.CoinValue}}西币
{{item.VisitNum}}人想问
本版相关问题
换一换
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!

西门子商城