数据记录SCL编程

已锁定

WWCWWC

西门子1847工业学习平台

  • 帖子

    9552
  • 精华

    161
  • 被关注

    1502

论坛等级:至圣

注册时间:2008-07-26

钻石 钻石 如何晋级?

数据记录SCL编程

3102

2

2023-03-19 21:45:54

数据记录SCL编程

  前一段时间,公司同事到我这里来想我做几个小程序功能,一个是数据记录,就是说当需要记录数据时,启动一个记录数据的条件,然后将数据记录在一个数据区域,带数据记录满了存储区,需要的记录数据满的提示输出,同时,记录的数据区是重复使用的,也就是说数据区一旦记录满后的下一个数据,将会覆盖第一记录的数据地址中。另外一个问题是,需要计算一个字内(16位数据的奇和偶数)的和,与1做“与”计算,这个帖子暂时不展开验证。

  编程思路,首先需要创建一个数据块的数组,为说明问题,验证中创建10个INT数据,当启动数据记录开始时,通过数据数组的下标数据,实现数据地址的偏移,当数据记录大于10个时,输出数据记录满的输出提示。

程序:

1)  打开portal软件创建一个测试项目,新建一个FB1作为数据记录函数块,定义可能需要的外部接口变量,图示:

2)  因为需要做一个数据记录的传送触发信号,此处创建一个输入上升沿脉冲,作为数据记录的触发条件,然后,利用这个脉冲给数据传送的变量地址偏移做下标偏移,图示:

3)  创建一个数据块,DB1,新建需要测试的数据,图示:

4)  在OB1中调用FB1,编译没有错误后,启动仿真器验证,图示:

打开测试必要的数据块监控数据记录情况。

在源数据侧写入数据“10”,启动数据传送控制位 = 1.


数据被准确记录在事先定义好的数据数组的第一个地址中。

5)  再次将源输入数据值由10变更为20,用于区别,再次触发数据传送,图示:

第二个数据也被记录进来了,连续测试了10多次,数组下标能够重新覆盖,达到原编程思路要求,将这个测试程序发给同事,让同事根据自己的需要着情修改后调用,也将这个程序分享给大家。


数据记录SCL编程 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15776条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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