1.记录
是指一组有关联的数据。记录要有关键字(或多字),以区分不同记录。
如以上讲的(图6-2)电量采集数据,所存的记录就是一组数,共4个字。第1个字存年月。第2个字存日及时段。第3、4个字存电量累计值(用双字长)。每天分7个时段定时存储,每天7个记录。
再如以上讲的(图6-4)硫化机合模、开模,所存的记录就是一组数,共4个字。第1个字,存对应的硫化机号(3位数)及开(用A表示)或合(用B表示)模标志。第2个字,存年月。第3个字,存日时。第4个字,存分秒。只要开或合模一次,即被监测的数据有了变化,则存储一个记录。但由于硫化机工作时间是有规律的,大体每小时,开合模一次。所以,它每天的存储长度可预计。
再如还是以上讲的(图6-4)硫化机的温度监测,也是按记录存储。每记录为5个字。第1个字存对应的硫化机号。第2个字存年月。第3个字存日时。第4个字存分秒。第5个字存储当时的温度值。它也是变化存储。但只是出现超温时才存储。但什么时候超温则是随机的,所以,它每天的存储长度不好预计。
数据存储的记录除了定长的(固定格式),也有非定长的(非固定格式)。可按实际情况组织。后者,可节省存储空间,但程序的算法要复杂些。
组织成记录后怎么存储?存储区的地址怎么分配?方法也很多。可以是地址不固定,当数据存储时,按数据区地址升幂(或降幂)顺序依此存储。当数据满后,又回到起点,用新的记录取代旧的记录继续存储。也可以是固定地址的,什么时候、存储在什么地址是固定的。但多数用的是地址不固定的。
什么时候存储可按时间设定,每天有固定的存储时间,这叫定时存储。也可为事件引发,当发生所定义的事件时,才存储,这叫事件存储。
数据存储方法一般用间接地址,即指针访问。这样的程序较简练。也可用在数据采集程序中用过的字移位,如图6-32、图6-33所示。只是存储区大,执行这样的移位指令,执行时间可能很长。
如有不同对象的数据记录,可一个对象存储在一个存储区。也可多对象混合存储在一个存储区。
2.定时存储
分时段记下监测量的当时值,有时还要记下当时的时间。图6-46所示为定时存储例子。
从图知,它先把“当前时分”与“时间设定”进行表比较。“当前时分”是从PLC时钟中读出,随时间而变。“时间设定”是一组数,按要存储的时段划分。如700代表7点0分。通道“时段”中的相应位是ON,还是OFF,与比较的结果有关。如“时间设定”的第一个数为700,而“当前时分“又正好7点0分,则“时段”通道的“时段1”位ON。等等。
当这“时段1”等ON时,将把“当前日时”等数据存入指针指向的地址。存一个数,修改一次指针(地址加1)。可见,它是定时,但变地址存储。
图6-47所示为指针控制程序。
图6-46 定时变地址存储
从图知,它始终进行“指针”与“存区起始地址”及“存区结束地址”比较。只要指针不在此区间,则用“存区起始地址”赋值给“指针”,使指针复原。对指针的这个控制,可确保数据始终在存储区中,周而复始地存储。
3.事件存储(www.xing528.com)
发生某个事件,如监测量超限、监测量变化(对开关量),或变化超过某范围(对模拟量),就进行存储。存储时,不仅记下监测量的当时值,还要记下当时的时间。
图6-48所示为超限存储梯形图程序。但该图未把全部程序画出。
该程序用于图6-4介绍的轮胎硫化机温度超限纪录。从图知,如“一号合模”ON,即一号机工作,则不断的进行“温度值”与“温度上限”及“温度下限”比较。一旦超限,即这里的LR14.00或LR14.01ON,则都会进行数据存储操作。这时,先是把“当前年月”存入“指针”指向的地址,后修改指针。接着存“当前日时”…以下存储在图中未画出。当然,如图6-47所示的指针控制程序也是绝对需要的。这里也未画出。
4.固定地址存储
以上两例,都是非固定地址存储。特点是“指针”随存储修改,存储区可很大。
图6-47 指针控制程序
图6-48 超限存储
固定地址存储。特点是“指针”用存储事件赋值。发生什么事件,就有什么事件的“指针”值,因而,该事件的数据存的地址也就固定了。图6-49所示为固定地址存储的梯形图程序。该程序是每“整5分”存储一次数据。存储地址与存储的时刻有关,是固定的。
从图知,它先把当前的分除以5。其商存于HR0中,余数存于HR1中。接着,判断HR1是否等于0。如相等,即为“整5分”,则LR11.00 ON。进而,起动数据存储。但在存储数据前,先根据“当前时分”计算指针值,然后,再按“指针”指向的地址存储“存储数据”。所有的计算与存储指令,都是微分执行的。目的是确保是在进入“整5分”0s时,存数据。
从程序计算情况可知,当时间从0h0min到23h55min之间变化时,“指针”的值将在0~287之间变化。即“存储数据”将存储在DM0~DM287之间的数据区中,而且,不同的存储时间,有自身的固定DM地址。
固定地址存储时,时间值可不存。因从地址,即可知道它是什么时间的“存储数据”。也很节省存储空间。
图6-49 固定地址存储
5.多对象存储
非固定地址存储,可存储多个对象。如图6-4所示轮胎硫化机实时纪录,用的就是这种存储。它把各个轮胎硫化机的数据,都存储在一个4K的存储区中。用统一的存储指针存储。但不同的轮胎硫化机,有不同的关键字,用关键字区分它们的记录。
多对象存储把存储区连成一片,较节省存储空间。而且上位机读此数据时也简单,发一个读命令,等着接收与应答即可。上位机读取数据后,可按标志的不同,把数据分开,并进行处理及存储。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。