首页> 中国专利> 具备历史变量的可编程逻辑控制器及其数据通信方法

具备历史变量的可编程逻辑控制器及其数据通信方法

摘要

本发明提供了一种具备历史变量的可编程逻辑控制器及其数据通信方法。设计了一种PLC系统中的变量,其被称为历史变量,用于在每一个通信周期中保存PLC和SCADA之间的传送负载。仅应用于历史变量,并不涉及实时变量。

著录项

  • 公开/公告号CN102647331A

    专利类型发明专利

  • 公开/公告日2012-08-22

    原文格式PDF

  • 申请/专利权人 施耐德电器工业公司;

    申请/专利号CN201110041102.4

  • 发明设计人 应天卫;

    申请日2011-02-21

  • 分类号H04L12/56;

  • 代理机构北京市柳沈律师事务所;

  • 代理人钱大勇

  • 地址 法国吕埃马迈松

  • 入库时间 2023-12-18 07:51:02

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-03-13

    未缴年费专利权终止 IPC(主分类):H04L12/70 授权公告日:20141217 终止日期:20170221 申请日:20110221

    专利权的终止

  • 2014-12-17

    授权

    授权

  • 2012-10-10

    实质审查的生效 IPC(主分类):H04L12/56 申请日:20110221

    实质审查的生效

  • 2012-08-22

    公开

    公开

说明书

技术领域

本发明涉及可编程逻辑控制器(PLC)和数据采集与监视控制(SCADA) 系统之间的数据通信,尤其涉及PLC和SCADA系统之间的历史数据的传送。

背景技术

在自动过程控制系统中,通常会在PLC和SCADA系统之间将发送大 量数据。通信中的这些数据一般分为两种类型。一种是实时类型数据,另一 种是历史类型数据。在控制系统的数据通信中,用户需要在PLC中自己设 计历史数据缓冲器来存储历史类型数据。在每个通信周期中该缓冲器中的所 有历史数据都需要上载到SCADA系统。然而,在传统的PLC中没有定义历 史变量类型,需要提供大量的通信变量来传送PLC中的历史数据,因此, 历史数据通常占用大量的数据资源。如果在过程控制系统中存在大量历史数 据,则将会降低系统的通信性能,并且耗费更多的项目研发费用。为了解决 上述讨论的问题,本发明提出了PLC历史变量设计。

发明内容

根据本发明一方面,提供一种与数据采集与监视控制SCADA系统通信 历史数据的可编程逻辑控制器PLC,包括:历史变量,用于将PLC历史数 据存储区中的历史数据逐个扫描周期地分批上载到SCADA系统中的相应的 历史数据存储区,所述历史变量包括:上载数据变量、数据缓冲器长度、 SCADA同步指针和PLC同步指针。

根据本发明另一方面,提供一种向PLC上载历史数据的方法,其中所 述PLC包括多个历史变量,历史变量会在每个扫描周期中携载该扫描周期 中需上载的历史数据,其中每个历史变量包括:上载数据变量、数据缓冲器 长度,所述上载历史数据的方法包括:在每个扫描周期中,PLC判断所定义 的相关的历史变量是否变化;如果变化,则将经由该相关的历史变量传送的 全部数据上载存储在PLC的数据缓冲器中;如果不变化,则直接返回PLC 的当前扫描周期中。

根据本发明另一方面,提供一种PLC和SCADA系统之间的历史数据 的传送方法,其中所述PLC包括历史变量,用于将PLC历史数据存储区中 的历史数据逐个扫描周期地分批上载到SCADA系统中的相应的历史数据存 储区,其中所述历史变量包括:上载数据变量、数据缓冲器长度、SCADA 同步指针和PLC同步指针,所述传送方法包括:在每个扫描周期中,PLC 判断其数据缓冲器是否空了;如果数据缓冲器空,则返回到PLC扫描周期 中;如果数据缓冲器不空,则比较SCADA同步指针是否等于PLC同步指针; 如果SCADA同步指针等于PLC同步指针,则将PLC同步指针所指示的历 史数据上载到SCADA系统,并将PLC同步指针增加1,返回到PLC当前 的扫描周期中;同时在SCADA系统中,在接收到所上载的数据时,使SCADA 同步指针增加1,并将SCADA同步指针传送到PLC中;如果SCADA同步 指针不等于PLC同步指针,则返回到PLC当前的扫描周期中。

附图说明

通过下面结合附图对示例实施例的详细描述,将更好地理解本发明。应 当清楚地理解,所描述的示例实施例仅仅是作为说明和示例,而本发明不限 于此。本发明的精神和范围仅仅由所附权利要求书的具体内容限定。下面描 述附图的简要说明,其中:

图1是在根据本发明的PLC中获取历史变量所携载的数据的流程;

图2在根据本发明的PLC中传递历史变量所携载的数据到SCADA系 统的流程;

图3是SCADA运行结果。

具体实施方式

现在将详细介绍本发明的示例实施例,其示例在附图中示出。下面参照 附图描述实施例以说明本发明。

通常,在PLC中定义缓冲器时,用户只设置缓冲器的长度。并且缓冲 器中的数据将在每个通信周期中逐一全部地发送到SCADA系统。因此,PLC 的缓冲器中将保存全部通信周期中的PLC和SCADA系统之间的发送负载的 数据。

根据本发明,在PLC中设计了一种新的数据变量类型以有助于在PLC 和SCADA系统之间容易地发送历史数据。同时,将能够节省大量的通信资 源。

根据本发明的PLC中的历史变量用于仅保存每一个通信周期中的PLC 和SCADA之间的历史数据,并将其传送。它能改进PLC和SCADA系统之 间通信的性能,并有助于自动系统研发者容易地设计通信系统。

PLC中定义了历史数据存储区。该历史数据存储区的历史数据可以与 该区外部的历史变量相联系。历史变量会在每个通信周期中携载该通信周期 中需上载到SCADA系统的部分历史数据,因此PLC历史数据存储区中的历 史数据会逐通信周期地被分批上载到SCADA系统中的相应的历史数据存储 区。

根据本发明的一个实施例,在PLC的每一个历史变量中存在四部分。 每一个历史变量的结构如下:

历史数据XXX:

--上载数据变量;

--数据缓冲器长度;

--SCADA同步指针;

--PLC同步指针。

图1是在根据本发明的PLC中获取历史变量所携载的数据的流程。在 此流程中,PLC的每一个历史变量中可存在两个部分。即,每一个历史变量 的结构如下:

历史数据XXX:

--上载数据变量;

--数据缓冲器长度。

在步骤11中,PLC根据其自身机制进行周期扫描。在步骤12中,在每 个扫描周期中,PLC判断所定义的相关的历史变量是否变化。如果变化,则 在步骤13中将经由该相关的历史变量传送的全部数据存储在PLC的数据缓 冲器中,等待传送。然后返回PLC扫描周期中。如果不变化,则直接返回 PLC扫描周期中。

图2在根据本发明的PLC中传递历史变量所携载的数据到SCADA系 统的流程。

步骤21中,PLC根据其自身机制进行周期扫描。在步骤22中,在每个 扫描周期中,PLC判断数据缓冲器是否空了。如果数据缓冲器空,则返回到 PLC扫描周期中。如果数据缓冲器不空,则在步骤23比较SCADA同步指 针是否等于PLC同步指针。如果在步骤23比较的结果是SCADA同步指针 等于PLC同步指针,则在步骤24,将PLC同步指针所指示的数据上载到 SCADA系统,并在步骤25将PLC同步指针增加1,返回到PLC当前的扫 描周期中;同时在SCADA系统中,在接收到所上载的数据时,使SCADA 同步指针增加1,并将SCADA同步指针传送到下位的PLC中。若在步骤23 比较的结果是SCADA同步指针不等于PLC同步指针,则返回到PLC当前 的扫描周期中。

参照图1、2的方法,下面举一个具体实例。

采用根据本发明的PLC的历史变量将作为历史数据的时间戳数据从 PLC传送到SCADA。

步骤ST1:在PLC中设置名称为TS的字类型数组,其长度例如设置为 5,即TS数组包括元素TS1、TS2、TS3、TS4和TS5。

步骤ST2:在PLC中设置名称为HTS的历史变量,并且历史变量HTS 的结构如下:

HTS.上载数据变量=TS

HTS.缓冲器长度=100

HTS.SCADA同步指针

HTS.PLC同步指针

其中,根据HTS.上载数据变量=TS,在本实例中共包括5个数据变量: HTS1、HTS2、HTS3、HTS4和HTS5,用于传送TS数组包括的元素TS1、 TS2、TS3、TS4和TS5。

步骤ST3:在SCADA系统中定义如下的通信变量:总共7个通信变量 STS.TS1、STS.TS2、STS.TS3、STS.TS4、STS.TS5、STS.SCADA同步指针、 STS.PLC同步指针。

在SCADA系统中进行编码以使得STS.SCADA同步指针=STS.PLC同 步指针。

具体传送过程:在第一个PLC扫描周期,通过通信变量HTS1、HTS2、 HTS3、HTS4和HTS5将5个TS数据从PLC传送到SCADA,即由TS数组 包括的元素TS1、TS2、TS3、TS4和TS5所分别代表的TS11、TS12、TS13、 TS14、TS15组成的历史数据;另外通过HTS.PLC变量将同步指针从PLC 传送到SCADA。

然后,在SCADA中通过通信变量STS.TS1、STS.TS2、STS.TS3、 STS.TS4、STS.TS5接收所传送的5个TS数据TS11、TS12、TS13、TS14、 TS15。并将HTS.PLC指针中的同步值传给STS.PLC,经由SCADA系统中 的编码使得STS.SCADA同步指针=STS.PLC同步指针。再将STS.SCADA 指针增加1后从SCADA传送到PLC中,并传给变量HTS.SCADA。这样在 PLC中就可以通过检查HTS.SCADA指针的值确认方才经由HTS1、HTS2、 HTS3、HTS4和HTS5传送的5个TS数据已成功发送给SCADA。

在第二个PLC扫描周期,通过通信变量HTS1、HTS2、HTS3、HTS4 和HTS5将5个TS数据从PLC传送到SCADA,即由TS数组包括的元素 TS1、TS2、TS3、TS4和TS5所分别代表的TS21、TS22、TS23、TS24、TS25 组成的历史数据;另外通过HTS.PLC变量将同步指针从PLC传送到 SCADA。

然后,在SCADA中通过通信变量STS.TS1、STS.TS2、STS.TS3、 STS.TS4、STS.TS5接收所传送的5个TS数据TS21、TS22、TS23、TS24、 TS25。并将HTS.PLC指针中的同步值传给STS.PLC,经由SCADA系统中 的编码使得STS.SCADA同步指针=STS.PLC同步指针。再将STS.SCADA 指针增加1后从SCADA传送到PLC中,并传给变量HTS.SCADA。这样在 PLC中就可以通过检查HTS.SCADA指针的值确认方才经由HTS1、HTS2、 HTS3、HTS4和HTS5传送的5个TS数据已成功发送给SCADA。

在第一百个PLC扫描周期,通过通信变量HTS1、HTS2、HTS3、HTS4 和HTS5将5个TS数据从PLC传送到SCADA,即由TS数组包括的元素 TS1、TS2、TS3、TS4和TS5所分别代表的TS1001、TS1002、TS1003、TS1004、 TS1005组成的历史数据;另外通过HTS.PLC变量将同步指针从PLC传送到 SCADA。

然后,在SCADA中通过通信变量STS.TS1、STS.TS2、STS.TS3、 STS.TS4、STS.TS5接收所传送的5个TS数据TS1001、TS1002、TS1003、 TS1004、TS1005。并将HTS.PLC指针中的同步值传给STS.PLC,经由SCADA 系统中的编码使得STS.SCADA同步指针=STS.PLC同步指针。再将 STS.SCADA指针增加1后从SCADA传送到PLC中,并传给变量 HTS.SCADA。这样在PLC中就可以通过检查HTS.SCADA指针的值确认方 才经由HTS1、HTS2、HTS3、HTS4和HTS5传送的5个TS数据已成功发 送给SCADA。

这样在依次的100个扫描循环周期中,就可以将100组HTS1、HTS2、 HTS3、HTS4和HTS5的数据从PLC传送到SCADA了。

步骤ST4:与现有技术的通信方法相比,每个PLC扫描同期中,需要 通信的历史数据量从现有技术的5*100字减少到7个字,即通过5个通信变 量HTS1、HTS2、HTS3、HTS4和HTS5将5个TS数据从PLC传送到SCADA、 通过1个HTS.PLC变量将PLC同步指针从PLC传送到SCADA、再通过1 个STS.SCADA变量将SCADA同步指针从SCADA传送到PLC中。

图3示出了SCADA运行结果。

图3示出的是SCADA处的屏幕显示数据,这些数据就是通过历史变量 传送的方法从PLC传送过来的。

每一行就是一条时间记录,代表某个信号变化的时间点,例如:第一行 的信息是:在2010年1月10日13时16分41秒时在600ms时段中CH1的 信号导通。

如果PLC中有100条时间记录需要传送到SCADA,那么传统的通信方 法在每个PLC扫描周期需要传送5×100个字,而根据本发明的采用历史变 量的方法在每个PLC扫描周期只需传送7个字,然后用100个扫描周期传 完。这样单位扫描周期的通信量就从5×100个字减少到7个字。对于一般 的过程控制系统而言,采用本发明的具备历史变量的可编程逻辑控制器及其 数据通信方法,将会大大提升系统的通信性能,并且减少项目研发费用。

虽然已经图示和描述了所考虑的本发明的示例实施例,但是本领域技术 人员可以理解,随着技术的进步,可以作出各种变更和修改并可以用等价物 替换其元素而不背离本发明的真实范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号