技术论坛

在S7-300 里如何每隔10ms将一个浮点数递增保存在DB块中?

作者 主题
新手

经验值: 11
发帖数: 1
精华帖: 0
主题:【求助】在S7-300 里如何每隔10ms将一个浮点数递增保存在DB块中?


只看楼主 楼主 2019-12-29 15:50:55

SSI位移传感器读到一组数据,保存在DB2.DBD20,现在想每隔10ms,采集1个数,将其保存在DB11里,保存时间长度大约5S,如何递增保存呢?

以下是我在OB35中写的程序,但是无法将数据递增保存在DB11中,恳请各位老师指教。




 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1601372&b_id=4&s_id=0&num=7

至圣

经验值: 43597
发帖数: 15780
精华帖: 61
回复:在S7-300 里如何每隔10ms将一个浮点数递增保存在DB块中?


只看楼主 1楼 2020-01-03 14:47:58

参考fifo队列的数据处理:

定义一个数组,

for i:=0 to max-1 do

mydata[i]:=mydata[i+1];

end_for

mydata[max]:=pv;


活到老,学到老!为了生活学习吧!
以下网友喜欢您的帖子:

  
至圣

经验值: 19840
发帖数: 8834
精华帖: 39
回复:在S7-300 里如何每隔10ms将一个浮点数递增保存在DB块中?


只看楼主 2楼 2020-01-03 14:56:16

你的程序在哪里体现出DB11了?

你得先打开DB11。

在 T DBD[MD200]的前面加一个OPEN DB11。否则,保存到DB2了。


 
以下网友喜欢您的帖子:

  
版主

经验值: 12752
发帖数: 5866
精华帖: 44
回复:在S7-300 里如何每隔10ms将一个浮点数递增保存在DB块中?


只看楼主 3楼 2020-01-06 17:14:13
以下是引用shine在2020-01-03 14:56:16的发言 >2楼

你的程序在哪里体现出DB11了?

你得先打开DB11。

在 T DBD[MD200]的前面加一个OPEN DB11。否则,保存到DB2了。

是的,在OPN指令后,不能访问完整的DBn.DB..,一进行访问就重新打开了DBn,如果要同时访问个数据块,又不想用完整地址,可以OPN DBn,和OPN DIn,分别打开两个数据块


数字飞舞
以下网友喜欢您的帖子:

  
版主

经验值: 16187
发帖数: 6610
精华帖: 50
回复:在S7-300 里如何每隔10ms将一个浮点数递增保存在DB块中?


只看楼主 4楼 2020-01-10 13:43:15

OPN语句没效果。

T DBD[MD200]指向的是DB2.DBD[MD200]


知其道,用其妙!
以下网友喜欢您的帖子:

  
游士

经验值: 227
发帖数: 5
精华帖: 0
回复:在S7-300 里如何每隔10ms将一个浮点数递增保存在DB块中?


只看楼主 5楼 2020-05-28 23:06:34

最后你实现了没?


 
以下网友喜欢您的帖子:

  
侠客

经验值: 831
发帖数: 60
精华帖: 2
回复:在S7-300 里如何每隔10ms将一个浮点数递增保存在DB块中?


只看楼主 6楼 2020-06-16 16:31:29

    IF #var >= 1 AND #var <= 500 THEN
        // Statement section IF
        ;
        "recorde data".data[#var] := #input;
        #var := #var + 1;
    END_IF;
     IF #var > 500 OR #var < 1 THEN
    
       #var := 1;
      END_IF;
   


 
以下网友喜欢您的帖子:

  
至圣

经验值: 23746
发帖数: 3385
精华帖: 52
回复:在S7-300 里如何每隔10ms将一个浮点数递增保存在DB块中?


只看楼主 7楼 2020-09-24 11:40:04
以下是引用品雨悠风在2019-12-29 15:50:55的发言 >楼主

SSI位移传感器读到一组数据,保存在DB2.DBD20,现在想每隔10ms,采集1个数,将其保存在DB11里,保存时间长度大约5S,如何递增保存呢?

以下是我在OB35中写的程序,但是无法将数据递增保存在DB11中,恳请各位老师指教。



用数组, 和两个 index实现一个循环队列。


不忘初心
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
在S7-300 里如何每隔10ms将一个浮点数递增保存在DB块中?
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。