传感器测量值在PLC Siemens S7 300上存储问题

刚刚学习PLC实在头大,麻烦高人指点!

问题:
我有一个距离传感器,每10ms测量一次并且产生一个测量值,输出是模拟量4-20mA. 现将传感器的输出与西门子S7-300的模拟量输入相连接。请问,如何将实时变化的来自于传感器的测量值储存在S7-300的数据块里,以便于以后能够调用处理?
请高手指点一下,最好能够写出语句,越详细越好,非常感谢!有补分!
先谢谢lx两位指点。但是没有回答我想知道的啊!我是初学者不好意思啊!!!
有一点忘了说明:我只需要保存大概3-5s的所产生的数据值,然后下一次测量把之前的测量值覆盖掉就行了。

补充一下问题:我没有足够时间详细学习PLC,我希望lx两位能够用语句表简单写几句语句,让我能够明白如何存储这些数据???如何调用数据块???关键是我不知道怎么就算是存储了(是不是指定一个地址,然后输出设定为这个地址就算存储上了???),哪些数据块可以调用,地址是什么(举个例子就行,或者给个范围)???二位高人只需要举个简单的例子就行,哪怕只写2句,加上注解让我明白就行了!200分一定送上,非常感谢!

传感器送入模入模块的值是整型的,读取这个据要用PIW***,其中,*号表示你分配给模入模块的地址。看你用的是什么样的模块,怎么样分配的。

但是,PIW所得到的是经过运算之后的整形数据,你要想得到工程测量的值,即Real的(4到20ma),就必须做一个量程转换,调用S7 300 标准库提供的FC105。

所有针对取值的处理,你直接调用FC105即可,然后把OUT的值存在DB数据块中就可以了,我假定你定义的模块地址以0开始,把要存的数据放在DB0.DBD0中(Real类型),那要读出的数就是如图所示。至于多少时间开始读,你再自己想办法。因为是存在PLC,所以,记录太长时间。

再一个,最好把DB0作为掉电保持型……

希望能说明白,呵呵

温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-11-01
你如果要指望每一步都能存储,那么只能用间接寻址。

但是,10MS的采集速度,每秒100次,每分钟6000次,每小时18000个存储,每天432000的存储量,不出一天,你的PLC会因为工作内存耗尽而停机。

去找个组态软件,然后采集数据存储在PC上。
第2个回答  2009-11-01
保存采用变址的方式实现。
楼上说的对。可以实现,但是这么快速的采集,只能保存一小段时间的值,例如几秒或者几十秒。可以采用先进先出等循环利用地址的方式实现。而且实际上普通的硬件实现不了10mS这么快的采集(可能我所用的程序都比较大,一般循环周期都会超过10mS了)

建议楼主花点时间看看间接寻址的相关知识,对自己的提升很大。
第3个回答  2009-11-01
STEP-7里面的0B38是10MS循环中断执行的,你可以把数据采集程序写到OB38里面,他会10MS执行一次,至于寻址方面,模拟量输入的地址一般是PIWxxx,你可以用FC105或FC106读入输入的数据存到数据块,比如说DB1.DBW100;每存一次让偏移量加1,到最后一次让它清零就行了;以上所说那些如果不懂可以按F1看帮助;
相似回答