数组数据中的相同数据的查询SCL

已锁定

WWCWWC

西门子1847工业学习平台

  • 帖子

    7980
  • 精华

    145
  • 被关注

    1328

论坛等级:至圣

注册时间:2008-07-26

钻石 钻石 如何晋级?

数组数据中的相同数据的查询SCL

1505

18

2022-11-19 11:22:34

数组数据中的相同数据的查询SCL

  昨天公司同事让我做流水线数据(产品数据)的存和取的小程序框架,我给同事打了一个框架,验证整理后我也同时在论坛上发有一贴,链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1795251&b_id=50&s_id=0&num=7#anch

 晚上回家时,想起如何在此基础上增加一个数据查询功能?也方便需要查询的数据在流水线上到底有多少个,我想这个功能应该可以实现的。

  今天一早,处理完手头的工作后,想起这件事情,于是就在昨天原程序上,我再添加了数据查询功能的程序段。

添加过程的思路:

1)  查询功能需要一个类似的按钮(无论是硬件的实体按钮,也可以在HMI创建一个虚拟的按钮),当该按钮使能后,进行查询,平时该按钮不使能就不需要工作;

2)  需要在原程序接口上添加一个比对数据(产品序列号:一维码结构的字符串)的源数据码;(同事还让我做一个产品输入相同序列号时的提示信息,这个项目在以后的帖子上再体现,这里不展开)

3)  比对后,需要显示比对后的结果,有几个数据相同。相同的数据在那些数组下标中(这个我暂时还没有理顺,等有机会再试试);

4)  如果比对后没有相同的数据,显示输出没有找到相同数据的指示灯;

程序:

1)  在原FB1的接口表中添加需要的接口变量,图示:

查询程序:

程序也非常简单,说明如下:

仍然是调用IF指令的添加语句,当“数据查询” = 1时,则执行IF ~ END_IF之间的语句。

其中,先进入FOR循环,目的是把所有的数据逐个与源数据轮询一边,来搜索数组数据中可能有的相同数据。如果有,则,“相同数据的个数”+= 1;反正,数据不相同就不加的工作机制。

2)  重新在原DB2块中添加必要的数据参数,编译,在OB1中“更新块的调用”并连接新的接口参数,将程序编译后,下载到cpu,图示:创建必要的监控表。

监控表上测试显示数据10有4个数据相同,返回到FB1的背景数据块上查看:

查看、验证后结果确实有4个10的数据,说明查询程序的框架是可以的。


数组数据中的相同数据的查询SCL 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有12957条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。