针对PLC的数据自动采集中间件及其使用方法技术

技术编号:14770240 阅读:221 留言:0更新日期:2017-03-08 14:11
本发明专利技术提供了一种针对PLC的数据自动采集中间件及其使用方法,包括:设计时组件,用于在配置表中配置变量地址,形成一个PLC地址组态,其中,该组态存储在关系数据库中;开源驱动库,用于与PLC建立连接,并根据配置表中的变量地址按字节读取PLC数据;运行时组件,用于根据设计时组件形成的组态,通过开源驱动库从PLC中获取PLC数据,并存储到数据库中。发明专利技术采用西门子PLC的默认端口,通过TCP/IP协议与PLC建立SCOKET连接,用户只需对读取的数据进行配置,系统会自动在数据库中定义相关表或标签,并把数据存储到数据库中,不需要安装第三方软件。

【技术实现步骤摘要】

本专利技术涉及自动化领域,具体地,涉及针对PLC的数据自动采集中间件及其使用方法,尤其是针对西门子S7系列PLC的数据自动采集中间件。
技术介绍
在自动化系统领域,获取PLC中的数据或诊断信息进行分析研究和统计是自动化系统中经常使用的技术,不同的项目根据现场情况会采用不同的连接方式,经常使用的连接方法包括通过OPC协议建立连接、通过TCP/IP协议建立Scoket连接等。(1)通过OPC协议获取西门子PLC数据通过OPC协议获取PLC数据需要安装Wincc或SimaticNet软件,还需要使用西门子提供的类库来获取数据,配置和编程都比较复杂。国外像INAT公司通过OPC协议专门开发了一套产品,通过他们开发的OPC服务器,用户只需要对读取的数据进行简单配置,就可以获取所需的PLC数据。(2)通过TCP/IP协议,建立Scoket连接获取PLC数据通过建立Scoket连接获取PLC数据,一般需要在PLC和上位机都开发一部分程序,双方约定好要传送的数据进行数据传输,开发过程也比较复杂。
技术实现思路
针对现有技术中的缺陷,本专利技术的目的是提供一种针对西门子S7系列PLC的数据自动采集中间件。根据本专利技术提供的一种针对PLC的数据自动采集中间件,包括:开源驱动库、设计时组件、运行时组件;设计时组件,用于在配置表中配置变量地址,形成一个PLC地址组态,其中,该组态存储在关系数据库中;开源驱动库,用于与PLC建立连接,并根据配置表中的变量地址按字节读取PLC数据;运行时组件,用于根据设计时组件形成的组态,通过开源驱动库从PLC中获取PLC数据,并存储到数据库中。优选地,开源驱动库,用于与西门子S7系列PLC建立连接;开源驱动库采用Libnodave数据库。优选地,组态的存储结构为:字段名称字段描述字段类型Id序号intdb_namePLC数据所在DB块名intstart_addressPLC数据开始地址intend_addressPLC数据结束地址intDatatypePLC数据数据类型charTypenumber数据类型对应字节数intTagname变量命名charTagdesc变量描述char。优选地,所述运行时组件,包括如下装置:读取组态数据装置,用于连接关系数据库,查询组态中的变量地址,并且把变量地址存储在内存中;调用开源驱动库装置,用于根据组态中变量地址,使用开源驱动库读取PLC数据;数据写入数据库装置,用于将从PLC读取的数据写入实时数据库和关系数据库。优选地,所述数据写入数据库装置包括如下装置:写入实时数据库装置,用于根据组态配置,自动创建变量标签,实时读取PLC数据到实时数据库;写入关系数据库装置,用于根据组态配置,自动创建表,周期更新从PLC读取的数据。根据本专利技术提供的一种上述的针对PLC的数据自动采集中间件的使用方法,包括如下步骤:步骤1:打开所述针对PLC的数据自动采集中间件,通过参数配置菜单,输入PLC地址、数据库登录用户名、数据库登录密码,选择PLC数据要存储的位置;步骤2:通过控制界面,令所述针对PLC的数据自动采集中间件进行初始化,测试所述针对PLC的数据自动采集中间件与PLC及数据库的连接是否正常;步骤3:通过控制界面,输入要获取数据的PLC地址信息,包括DB块名、起始地址、结束地址;步骤4:通过控制界面,把配置的信息存入数据库;步骤5:在配置完成后,通过控制界面,令数据自动存入参数配置时选择的数据库中。与现有技术相比,本专利技术具有如下的有益效果:1、本专利技术针对西门子S7-200/300/400设备,提供一种可配置的中间件,在配置完成需采集的数据地址后,自动把西门子PLC中对应的数据存入实时数据库或关系数据库,供开发人员读取。本专利技术采用西门子PLC开放的端口进行数据传输,不需要安装第三方软件。2、本专利技术采用西门子PLC的默认端口,通过TCP/IP协议与PLC建立SCOKET连接,用户只需对读取的数据进行配置,系统会自动在数据库中定义相关表或标签,并把数据存储到数据库中。3、在现有技术中,如果要获取PLC中的数据,要根据不同现场情况,编制PLC与服务器的连接程序,花费大量的人力成本,而通过本专利技术,开发人员不需要对通讯连接的协议有任何了解,只需要对PLC中的变量信息进行配置就可以实时获取PLC的数据信息,并自动存储到数据库中。4、本专利技术配置简单、无需安装西门子专业软件就可以获取西门子PLC中的数据;开发人员在需要读取西门子PLC数据时,只需要连接相关的数据库即可。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:图1为应用场景架构图。图2为中间件功能架构图。图3为运行时组件流程图。图4为应用实例架构图。具体实施方式下面结合具体实施例对本专利技术进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本专利技术,但不以任何形式限制本专利技术。应当指出的是,对本领域的普通技术人员来说,在不脱离本专利技术构思的前提下,还可以做出若干变形和改进。这些都属于本专利技术的保护范围。本专利技术的方案主要是为获取西门子PLC数据提供一个简单有效的中间件。1、场景架构本专利技术主要通过数据自动采集中间件使西门子PLC设备与数据库建立连接,并自动存储数据,数据配置信息存储在MYSQL数据库,数据内容存储可以根据需要选择关系数据库MYSQL或实时数据库iHyperDB等。在使用此中间件存储数据到数据库时,系统架构如图1所示:2、中间件系统功能架构设计本专利技术提供的中间件的功能组件包括开源驱动库、设计时组件、组态、运行时组件等。中间件的功能架构如图2所示:3、功能组件设计3.1、SIEMENSPLC组件本专利技术是针对西门子PLC的S7-200/300/400设备进行数据采集的中间件。采集的西门子PLC设备必须具有以太网口,本专利技术是通过以太网连接PLC进行数据传输的。参数配置内容包括PLC地址、数据库用户名、密码信息和采集数据的存储位置,存储位置可以选择实时数据库iHyperDB或关系数据库MYSQL或选择同时在两个数据库存储数据。在控制界面上的按钮包括:-初始化按钮,用来测试中间件与PLC和数据库的连接情况;-变量配置按钮,用来打开变量配置界面;-开始采集按钮,用来启动采集数据服务;-结束采集按钮,用来停止采集数据服务。3.2、开源驱动库libnodave.dllLibnodave是德国人ThomasHergenhahn开发的一款可与西门子S7-200/300/400系列PLC进行通讯的开源、免费的函数库。本专利技术是通过此函数库与PLC建立连接,并根据配置表中的变量地址按字节读取PLC数据。本专利技术使用到的函数介绍如下:a)libnodave.openSocket(port,net_address):用来打开SOCKET连接;b)libnodave.daveInterface(libnodave.daveOSserialType,\IF1\,0,libnodave.daveProtoISOTCP,libnodave.daveSpeed187k):用来创建连接PLC的接口通道;c)libnodave.daveConnection(di,0,rack,slo本文档来自技高网...
针对PLC的数据自动采集中间件及其使用方法

【技术保护点】
一种针对PLC的数据自动采集中间件,其特征在于,包括:开源驱动库、设计时组件、运行时组件;设计时组件,用于在配置表中配置变量地址,形成一个PLC地址组态,其中,该组态存储在关系数据库中;开源驱动库,用于与PLC建立连接,并根据配置表中的变量地址按字节读取PLC数据;运行时组件,用于根据设计时组件形成的组态,通过开源驱动库从PLC中获取PLC数据,并存储到数据库中。

【技术特征摘要】
1.一种针对PLC的数据自动采集中间件,其特征在于,包括:开源驱动库、设计时组件、运行时组件;设计时组件,用于在配置表中配置变量地址,形成一个PLC地址组态,其中,该组态存储在关系数据库中;开源驱动库,用于与PLC建立连接,并根据配置表中的变量地址按字节读取PLC数据;运行时组件,用于根据设计时组件形成的组态,通过开源驱动库从PLC中获取PLC数据,并存储到数据库中。2.根据权利要求1所述的针对PLC的数据自动采集中间件,其特征在于,开源驱动库,用于与西门子S7系列PLC建立连接;开源驱动库采用Libnodave数据库。3.根据权利要求1所述的针对PLC的数据自动采集中间件,其特征在于,组态的存储结构为:字段名称字段描述字段类型Id序号intdb_namePLC数据所在DB块名intstart_addressPLC数据开始地址intend_addressPLC数据结束地址intDatatypePLC数据数据类型charTypenumber数据类型对应字节数intTagname变量命名charTagdesc变量描述char。4.根据权利要求1所述的针对PLC的数据自动采集中间件,其特征在于,所述运行时组件,包括如下装置:读取组态数据装置,用于连接关系数据...

【专利技术属性】
技术研发人员:李慧卫万勇邢庆良
申请(专利权)人:上海宝信软件股份有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1