模拟量分解数据的问题

S7_200系列一个工艺要求:在某个时段,一秒启动模拟量读取值;每50毫秒读取一次,依次送入VB0-VB19,20个存储区,不能丢失;得出这次的平均值;在程序运行至第二个读取时间时,一秒启动模拟量读取值;每50毫秒读取一次,依次送入VB20-VB39,20个存储区,不能丢失,得出平均值;再用VB0对应VB20、VB1比对VB21、、、、、依次做出比值,得出比对值送入一个独立存储区,然后这20个比对值得出平均值,乘以一个百分数,精度要求就是这么多;求大神、大侠们赐教;

问题补充:
第二个VB20_VB39数据不是减去第一次对应数据,而是除以第一次对应的那个区数据;嗯,是不是先要在数据块定义存储区?关于指针,一直很忌讳使用,有过失败记忆;能求一段代码吗?谢谢!

图片说明:

模拟量分解数据的问题   

最佳答案

思路:设置V区断电保持范围
数据采集:
设置定时中断SMB34 = 50(mS),在中断中利用指针及加1指令,使每一个50mS的中断子程序执行时,将数据分次写入由指针指向的V地址区;同时,进行数据的累加,当中断20次后,取一次平均值。第二个读取的原理与第一次一致,只是指针指向的V地址区为VB20开始的地址区。
对比:
当40此中断结束时,依次将VB0与VB20相减,结果放置在VB40起始地址,依次方式执行20次,将由VB40起始的V地址区依次累加,取平均值,乘以一个百分数。
初始:
当程序进入到第41个中断时,首先初始化这些V地址存储区,然后再这些数据采集;对比;计算的过程,如此循环。
补充问题回复:
是的。事先定义数据区,有助于V区的利用。
关于指针的使用,我之前有几个程序,参考,http://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1344733&b_id=64&s_id=83&num=10#anch

提问者对于答案的评价:
这个思路很好,实践证明精度取值不能太高;这是一个深潜器的光学浓度测试设计,每一万个脉冲下潜十米,启动一秒读取模拟量,得出水中的浑浊度、游离物、矿物质的百分比等等;有一套复杂的光学组件输出信号;想用S7_200代替某些个专用仪器;估计还得加一个64K的外存储器才行;

最佳答案作者回复:
存储卡,256K (用户程序、配方和数据记录) 6ES7 291--8GH23--0XA0 
存储卡,64K (用户程序、配方和数据记录) 6ES7 291--8GF23--0XA0

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc137873.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年6月1日 上午1:11
下一篇 2017年6月1日 上午1:11

相关推荐

  • 通讯程序

    我去年11月刚进入PLC技术行业,最近一段时间设计了2套PLC控制系统电路。现在要做编程调试。我对PLC编程还没的实际操作经验。 控制3台电机,PLC CPU2…

    SIMATIC S7-200 2021年7月5日
  • S7-200 map如何使用啊!

    第一次用224控制步进驱动器,请问map库如何使用啊! 最佳答案 map库文件应用下载链接:http://www.ad.siemens.com.cn/download/Online…

    SIMATIC S7-200 2017年5月29日
  • step7 micro 上升沿检测指令不起作用了?

    使用S7-200PLC,在编程软件中检测上升沿指令,一直无法得到结果,地址已经检查过了,没有冲突,求大神解答。程序中I0.2从0变1,Q0.3仍然为0,不知道怎么回事 最佳答案 这…

    SIMATIC S7-200 2017年8月15日
  • plc200和step7通信不上

    我的plc之前和step7连接正常,但突然就连不上了。在通信里双击刷新可以出来UNKNOW8,9.6kbps,如图,正常点击确认就ok了,但是现在我点击确认就会出来一个通信错误的提…

    2017年11月25日
  • 4台泵 故障 轮换

    初学者  做一个 3用一备的程序。循环水泵,必须有一台泵在运行。第一次加泵信号来后加一台,第二次再加一台。最多三台。有故障启动备用泵。轮换备用。&nb…

    SIMATIC S7-200 2017年6月7日
  • s7200想存实验数据用什么方法

    我想实现在定时中断中把数据先保存,然后延时0-5秒取出来,有什么办法吗?希望详细说一下,谢谢 问题补充:就是在100ms的定时中断中对一个v区的数比如vw0里的数据先保存起来,然后…

    SIMATIC S7-200 2017年6月8日
  • 续问:VB与PLC通讯

    之前问过一个关于VB和PLC通讯的问题,大概是问的不够具体,没有得到满意的答案。我要进行数字毫伏表和PLC的通讯。由于不能再PLC上同时监控到毫伏表的读数,也不知道毫伏表用什么格式…

    SIMATIC S7-200 2021年7月5日
  • win7无法安装S7-200软件

    换电脑后没法使用S7-200软件 最佳答案 1、关闭杀毒软件2、系统不是gost系统3、控制面板中卸载之前已经安装的软件版本4、安装完整版的安装包,v4.0sp9完整版软件下载ht…

    SIMATIC S7-200 2021年7月5日
  • 关于S7-200自由口数据传输乱码的问题

    我要做一个自由口通讯接收的程序和CC2530进行接收。我现在用电脑的串口尝试,就是用USB转换成485和PLC连接。程序试了好几个,都可以接收到数据,但是都是乱码!和我发送的不一样…

    2021年7月5日
  • S7 200 梯形图问题

    请问高手,图中的M5.0不通或者两者比较结果不为真的时候,最终的输出q3.2会被清为0吗。 问题补充:补充:如果比较结果不为真时, 数据移动操作是不会进行的吧。 图片说明…

    2017年11月16日