SINAUT MD720-3数据存储功能

n

概述
  SINAUT MD720-3构成的GPRS通讯系统见下图:n

SINAUT MD720-3数据存储功能

由于本系统的通讯需跨Internet的,与Internet连接正常与否及移动网络供应商的信号质量的好坏都会影响此系统的正常运行;这些情况的方式是在所难免的,但当这种情况方式时我们由如何知道在网络瘫痪的期间现场运行情况,所以提出了对发生此类事件的解决办法,而对于我们的这套系统充分的考虑到了这一点,它能够实现网络中断时的数据的存储功能,当网络恢复后再把中断的数据发回到中心站中,如何实现网络中断后的数据存储及恢复后的续发的功能,也就是本文所讨论的内容。n

目前,我们提供两种解决方案:n

一种方案是在S7-200的程序里作一个周期性的数据存储到配方纪录里,在配方中开辟一个循环存储空间。如每隔半小时写一条纪录,纪录两天的数据需要96条纪录。那么在配方中就可存放最近两的纪录,当用户需查询的时候,可以直接从配方中读取相应的纪录到中心站中。这种方法的优点是实现简单。n

另一种方案是通过在S7-200的程序里来判断连接正常与否,当连接正常就不写数据纪录到配方中,当连接不正常就写数据纪录到配方中,在发送功能块的任务管理里也分配给发送缓冲中的数据一个任务,先判断在配方中是否有纪录,若有,那么在发送缓冲数据的周期内把数据发送出去。n

下面我们就这两种解决方案作具体的介绍:n

一、 方案中先定义一个配方如下图所示:n

SINAUT MD720-3数据存储功能

在配方中定义了日期和时间变量及四个过程变量,分别为:year、month、day、hour、minute、second、var1、var2、var3、var4。变量定义后,在配方中添加纪录如下图:n

SINAUT MD720-3数据存储功能

  上面的步骤作了对配方做了定义,它相当于一个数据的数据,接下编写程序来实现数据的存储功能,主程序调用如下图:n

SINAUT MD720-3数据存储功能

在“数据存储”的子程序的程序结构图如下:n

SINAUT MD720-3数据存储功能

SINAUT MD720-3数据存储功能

SINAUT MD720-3数据存储功能

SINAUT MD720-3数据存储功能

SINAUT MD720-3数据存储功能

SINAUT MD720-3数据存储功能

为了程序的可读性,在整个程序的编写上用结构化编程的方法,在主程序里每个功能的实现都是调用一个子程序块来完成,具体到每个功能是如何实现的可阅读相应的子程序即可。所以在主程序里的网络12里调用了数据存储的子程序。
  在数据存储的子程序的实现如下
网络1里初始化一个纪录当前纪录的指针VW100;n

网络2里实现的是循环纪录的功能,即当数据的纪录达到96后把指针在修改到指向第一条纪录。n

网络3实现的是通过调用RCP0_WRITE功能块每隔半小时往配方中写一条纪录。n

网络4实现的是通过中心站给定的一个纪录号来读取相应的纪录出来的功能。n

网络5中实现的时对纪录指针等移动和当到纪录时刻使能写纪录到配方的位。n

网络6实现的是当需写纪录到配方时提取当前的实时变量值出来并赋值给配方中的地址区里。n

方案二的实现方法,在此方案里需要给发送缓冲数据一个发送任务,循环发送的图如下,在下面的一个周期里必须指定一个发送时刻给缓冲数据的发送。这个周期的发送控制的程序可由用户根据实际情况来编写。n

SINAUT MD720-3数据存储功能

上图给了一个周期内有四个任务需要发送,在发送触发D里是作发送缓冲中的数据的发送任务。在此时刻前根据配方中的纪录情况,来修改发送功能块WDC_SEND的参数,致使其把配方中的数据发送出去。具体实现的程序如下n

   先定义数据纪录区,在这里需要定义两个配方,一个配方用来纪录过程变量;另一个配方纪录前一个配方中有多少数据纪录待发送出去。如下图配方中的定义:n

SINAUT MD720-3数据存储功能

SINAUT MD720-3数据存储功能
              配方0中的变量定义

SINAUT MD720-3数据存储功能
             配方0的纪录定义n

SINAUT MD720-3数据存储功能      
              配方1的变量定义n

SINAUT MD720-3数据存储功能
               配方1的纪录定义n

在主程序里调用发送功能块的参数n

SINAUT MD720-3数据存储功能

程序通过判断“Abort”参数位的状态来判断连接状态的好坏,若连接中断则调用写配方功能块来往配方中写纪录n

SINAUT MD720-3数据存储功能

在Buffer2的子程序如下:n

SINAUT MD720-3数据存储功能

SINAUT MD720-3数据存储功能

SINAUT MD720-3数据存储功能

SINAUT MD720-3数据存储功能

上面的程序实现的是当通讯中断后就会调用写配方的功能把当前的值写到配方0的纪录里,同时把在存放在配方1中的配方0的当前纪录条数的值修改并写会到配方1中。n

  下面的程序是实现在发送缓冲的任务的时刻内若配方中有纪录存在,就发送纪录出去。n

SINAUT MD720-3数据存储功能

SINAUT MD720-3数据存储功能

关键词
SINAUT GPRS SCADA S7-200 OPC n

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日 下午12:03
下一篇 2021年4月12日 上午12:00

相关推荐

发表回复

登录后才能评论