CN114564192B - 一种实时以太网工控软件开发环境的数据映射方法 - Google Patents
一种实时以太网工控软件开发环境的数据映射方法 Download PDFInfo
- Publication number
- CN114564192B CN114564192B CN202210196666.3A CN202210196666A CN114564192B CN 114564192 B CN114564192 B CN 114564192B CN 202210196666 A CN202210196666 A CN 202210196666A CN 114564192 B CN114564192 B CN 114564192B
- Authority
- CN
- China
- Prior art keywords
- data
- software
- development environment
- function
- mapping
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000013506 data mapping Methods 0.000 title claims abstract description 69
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000006870 function Effects 0.000 claims abstract description 147
- 238000011161 development Methods 0.000 claims abstract description 87
- 238000013507 mapping Methods 0.000 claims abstract description 36
- 238000004891 communication Methods 0.000 claims abstract description 31
- 230000000737 periodic effect Effects 0.000 claims abstract description 12
- 230000002093 peripheral effect Effects 0.000 claims abstract description 7
- 230000010354 integration Effects 0.000 claims abstract description 4
- 230000005540 biological transmission Effects 0.000 claims abstract description 3
- 238000007726 management method Methods 0.000 claims description 17
- 238000013461 design Methods 0.000 claims description 7
- 238000012986 modification Methods 0.000 claims description 5
- 230000004048 modification Effects 0.000 claims description 5
- 238000003032 molecular docking Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 5
- 238000012544 monitoring process Methods 0.000 abstract description 12
- 230000003993 interaction Effects 0.000 abstract description 7
- 239000000306 component Substances 0.000 description 11
- 230000006978 adaptation Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/449—Object-oriented method invocation or resolution
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Abstract
本发明提供了一种实时以太网工控软件开发环境的数据映射方法,包括:S1、将所述工控软件平台与目标系统的主站硬件平台进行适配和对接;S2、基于工控软件平台进行从站控制数据映射,将目标系统所有与外设控制相关且需周期性通信的变量及状态参数映射到软件集成开发环境中;还包括S3,当目标系统中的瞬时通信参数需要通过SDO通信对象进行数据传输映射到软件集成开发环境中时,基于软件集成开发环境开发SDO对象通信控制的IEC61131‑3的功能库。本发明提供的数据映射方法可实现系统软件集成开发环境与目标系统主站的数据关联,完成软件集成开发环境对系统内主、从站节点的控制数据交互、在线监控以及系统调试等功能。
Description
技术领域
本发明涉及工业控制软件技术领域,涉及智能制造系统中数控机床、机器人、自动化生产线等装备的分布式控制系统编程开发应用,特别地,涉及一种实时以太网工控软件开发环境的数据映射方法。
背景技术
随着“全球工业4.0”时代的到来,由于以太网通信技术在工业控制领域的渗透,工业控制系统性能不断提升,因此,工业控制系统的行业应用范围不断扩大,包括制造加工、航空航天、武器装备以及医疗卫生等。由于主站处理器模块(后简称为“主站”)为工业控制的中心处理器,它是系统的核心组件,因此,主站软件的功能完整性和性能优劣直接决定工控系统的整体性能。为了提升工控系统的人机交互能力,丰富系统软件平台功能,我们在自主可控的工控软件平台基础上,提出了一种基于CANopen通信协议的工控软件集成开发环境的数据映射方法。
发明内容
基于此,本发明提供了一种支持系统从站灵活组态、在线调试与监控等功能的工业软件集成开发环境与工控系统之间的数据映射方法,从而提高工控系统的人机交互性能,丰富系统的应用功能。
为实现上述目的,本发明提供了一种实时以太网工控软件开发环境的数据映射方法,工控软件平台包括软件集成开发环境以及运行于目标系统主控节点中的软件运行管理组件,软件集成开发环境与软件运行管理组件基于通用以太网端口进行通信;包括以下步骤:
S1:将所述工控软件平台与目标系统的主站硬件平台进行适配和对接;
具体为:基于工控软件平台中的软件运行管理组件的软件框架将目标系统的主站软件代码移植到从站数据映射对应的模板代码中,并为从站节点的相关控制参数在软件集成开发环境中建立对应的变量接口;
S2:基于工控软件平台进行从站控制数据映射,将目标系统所有与外设控制相关且需周期性通信的控制变量及状态参数映射到软件集成开发环境中;具体包括:
S21、构建各类从站的数据描述文件,为各类从站周期性控制变量在软件集成开发环境中建立变量数据交换接口;
S22、在软件运行管理组件的主站代码中,建立各类从站访问主站数据字典的数据接口函数;
S23、根据软件运行管理组件中从站数据映射的模板代码、各类从站构建的数据描述文件以及各类从站访问主站数据字典的数据接口函数,设计工控平台从站数据映射驱动,将主站数据字典中各类从站变量映射到软件集成开发环境中。
进一步的,本发明还包括:
S3:当目标系统所中的瞬时通信参数需要通过SDO通信对象进行数据传输映射到软件集成开发环境中时,需基于软件集成开发环境开发SDO对象通信控制的IEC61131-3的功能库。
进一步的,步骤S3具体包括以下步骤:
S31、基于软件集成开发环境的library工程,构建功能库函数接口,并生成包含所有功能函数接口的library库文件和对应的M4文件;
S32、将M4文件移植到主站代码空间PLC_master中替换原有*Itf.m4文件,并通过批处理文件生成新的*Itf外部接口的头文件以及包含了用户自定义函数声明的主站DEP库函数头文件;
S33、根据构建的功能库函数接口以及包含了用户自定义函数声明的主站DEP库函数头文件,在主站代码中完成IEC61131-3功能库函数的功能源码设计。
进一步的,步骤S31中,基于软件集成开发环境生成IEC61131-3的功能库函数接口及 M4文件的具体步骤主要包括功能库的工程建立、工程类型选择、功能库函数与相关接口定义以及库函数属性设置;最终生成包含所有功能函数接口的library库文件和对应M4文件。
进一步的,步骤S32中,在生成主站DEP库函数头文件之前,需根据*Itf的头文件和M4文件对*Dep.m4文件进行修改;修改完成之后,利用主站代码空间PLC_master中的 Dep批处理文件重新生成主站对应的*Dep.h头文件。
进一步的,步骤S33中功能库函数包含SDO数据下发功能函数、SDO数据上传功能函数以及SDO上传数据获取功能函数。
进一步的,步骤S22中,从站类型包括数字量IO从站、模拟量IO从站和运动控制从站;三类从站对主站数据字典的读写操作,分别设计了相关数据访问的读写函数,包括:read_Dinput/write_Doutpu,read_Ainput/write_Aoutput以及read_Enginput/write_Engoutput。
进一步的,步骤S23中,本系统各类从站数据驱动以软件运行管理组件提供的IoDrvTemplate设备驱动软件模板为基础,将从站的数据映射代码移植到该模板中,形成针对各类从站数据映射的驱动。
进一步的,步骤S23中,针对各类从站的数据映射,IoDrvTemplate设备数据映射驱动的软件模板需要进行如下修改:
a).针对各类从站修改设备类型号:各类从站映射驱动中的设备类型号要与对应的设备描述文件保持一致;
b).定义数据指针并关联数据接口:在从站数据映射驱动中定义数据指针,并将其指向对应接口;数据指针需依据各类从站输入输出变量进行定义;而软件集成开发环境的数据接口在功能函数IoDrvUpdateConfiguration中,将驱动模板中的指针替换为用户自定义的变量指针,实现数据与工控平台的关联;
c).变量实时在线更新:从站数据映射驱动中包含用于软件集成开发环境实时在线更新系统映射数据的回调函数IoDrvReadInputs以及IoDrvWriteOutputs。
进一步的,步骤S23中,由于主站数据字典的数据访问接口函数在主站代码中,需要在从站数据映射驱动中加载主站代码所生成的动态链接库,构造相关指针与主站数据字典访问函数进行关联;主站数据字典访问函数的函数指针初始化在从站设备驱动的HookFunction函数中进行,HookFunction函数为用户从站数据映射驱动提供初始化接口;
函数指针初始化完成后,在函数IoDrvReadInputs以及IoDrvWriteOutputs中,通过调用这些函数指针将主站数据字典中的数据与步骤b)中的输入/输出变量映射指针进行关联,完成主站数据字典所有控制与状态参数在软件集成开发环境中的数据对接。
本发明具有以下有益效果:
1、本发明提供的一种实时以太网工控软件开发环境的数据映射方法,可实现系统软件集成开发环境与系统主站的数据关联,完成软件集成开发环境对系统的控制数据交互、在线监控以及系统调试等功能。具体是:可实现实时以太网分布式工控系统各类型从站节点通信数据的在线监控与调试;可实现系统主站与软件集成开发环境之间的数据实时关联;可实现工控系统各类从站节点的灵活组态。
2、本发明提供的一种针对实时以太网分布式工控系统软件集成开发环境的数据映射方法,以主站CANopen协议栈的数据字典为核心,基于CANopen规范,完成主、从站间的数据映射,相关数据的数据类型可满足CANopen协议要求。该数据映射方法中的相关数据命名、格式、长度及类型等定义采用XML脚本。系统每一种从站对应一个XML脚本文件。软件集成开发环境可通过该脚本识别相关从站的映射数据及数据属性。在完成数据映射之后,所述的各类从站参数可在软件集成开发环境中实现在线监测与调试,可通过软件集成开发环境对系统所有从站的映射数据进行在线修改。此外,基于该数据映射方法,结合实际系统应用,软件集成开发环境可实现在节点顺序、数量以及类型等方面对系统所有从站的灵活配置与组态。
除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照图,对本发明作进一步详细的说明。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为工控平台整体框架图。
图2为软件集成开发环境的界面构成图。
图3为监控组态界面效果图。
图4为主站代码移植说明。
图5为系统数据映射流示意图。
图6为设备描述文件代码框架说明。
图7为软件集成开发环境中数据映射显示效果图。
图8为访问主站数据字典的接口函数说明。
图9为各类从站映射驱动的设备号说明。
图10为工控平台从站数据映射接口说明。
图11为用于主站数据字典访问的函数接口初始化说明。
图12为模拟量IO从站数据映射源码说明。
图13为IEC61131-3功能库接口及相关m4文件生成说明。
图14为对主站*Dep.m4文件的修改说明。
图15为功能库函数源码说明。
具体实施方式
以下结合附图对本发明的实施例进行详细说明,但是本发明可以根据权利要求限定和覆盖的多种不同方式实施。
本发明提供一种支持系统从站灵活组态、在线调试与监控等功能的工业软件集成开发环境与工控系统之间的数据映射方法,从而提高工控系统的人机交互性能,丰富系统的应用功能。本发明基于自主可控的工业软件集成开发环境。
本发明采用的工控软件平台是一套兼容多种软件编程语言(包括IEC61131-3语言、 C/C++语言等)的通用型软PLC平台。该平台需要与用户所提供的目标系统进行适配与对接,完成该平台和目标系统之间的相互关联与数据映射。并且,需基于该平台开发针对目标系统的功能库,用户才能基于该软件集成开发环境对目标系统进行功能应用开发。
该开发环境可与多类型目标系统实现对接,包括LINUX、Windows(Windows CE)、VxWorks、RTE以及嵌入式等平台类型。由于本系统主站模块的操作系统是LINUX系统,因此,本节将对该软件集成开发环境与LINUX系统平台之间的数据适配进行说明。该工控平台软件框架如图1所示。
该工控软件平台主要包括两大部分,分别为软件集成开发环境以及运行于目标系统主控节点中的软件运行管理组件(Runtime system)。软件集成开发环境与RuntimeSystem基于通用以太网端口进行通信。
如图2所示,软件集成开发环境主要包括菜单工具栏、设备及工程窗口、变量定义窗口、IEC61131-3逻辑编程窗口以及系统监控窗口构成。该软件集成开发环境不仅可对系统进行IEC61131-3逻辑编程,并且,该工业软件集成开发环境集成了监控组态软件的相关功能。图3为监控组态界面效果图。
在与目标用户系统进行对接过程中,需基于Runtime System软件框架将用户系统的主站软件功能移植到对应的模板中,并为从站节点的相关控制参数在软件集成开发环境中建立对应的变量接口。Runtime System具体包括如下几部分功能:
a)执行基于工控软件平台所设计的完整系统逻辑功能;
b)为软件集成开发环境提供编程调试接口;
c)集成和关联用户目标系统的主站功能;
d)实现与工控平台其他端口(比如组态监控人机交互界面)的数据通信;
e)为用户提供实时性较高的控制线程。
该工控软件平台与目标系统的适配与数据映射任务主要包括以下三个部分:与系统主站的数据适配、系统从站控制参数映射以及目标系统IEC61131-3功能库的开发。基于Runtime System管理组件的软件包架构,将详细说明本系统与工控平台进行数据适配的软件设计方法。适配和数据映射工作与目标系统主站平台的系统参数相关,对于不同系统主站硬件平台,适配方法会存在一定差异。本系统主站硬件的平台参数如表1所示。
表1目标系统主站平台的系统参数说明
基于上述工控软件平台,本发明提供了一种实时以太网工控软件开发环境的数据映射方法,包括以下步骤:
S1:将所述工控软件平台与目标系统的主站硬件平台进行适配和对接。
具体为:基于工控软件平台中软件运行管理组件的软件框架将目标系统的主站软件代码移植到对应的模板中,并为从站节点的相关控制参数在软件集成开发环境中建立对应的变量接口。
在该步骤中,基于Runtime System所提供的主控设备模板CmpTemplateEmpty,将本系统的主站软件代码移植到Runtime System的程序框架内。在CmpTemplateEmpty模板中,主站代码的接入点为CmpTemplateEmpty.c文件中的HookFunction函数。
本系统基于Runtime System的主站软件源码工作空间称为PLC_master。在该代码模板中,HookFunction函数将工控平台初始化分为若干阶段。在ulHook=CH_INIT时,表示系统处于平台的启动阶段。而当ulHook为其他参数值时,用户可根据自身系统特点,将用户系统主站的启动代码按步骤分别放入该函数的各个部分。需注意的是,由于CH_INIT阶段为工控平台的启动阶段,因此,为了保证其与用户系统主站启动互不冲突,CH_INIT阶段不增加用户主站代码。
本系统主站初始化包括网络端口启动配置、总线初始化、CANopen协议栈设置以及相关线程开辟等过程。因此,如图4所示,主站的初始化任务按照先后顺序依次移植到该初始化函数中。另外,需将用户主站代码中的其他相关代码文件(包括H文件和C文件)都添加到该模板中,并编译生成动态链接库文件(.so)。最终通过Runtime System的配置文件挂载该SO库文件来执行主站功能。该模块仅与主从站间通信以及数据存储相关,系统主站在工控平台中的适配将为下一步从站控制参数的映射奠定基础。
S2:基于工控软件平台进行从站控制数据映射,将目标系统所有与外设控制相关且需周期性通信的控制变量及状态参数映射到软件集成开发环境中。
从站控制数据映射的目的是将系统所有与外设控制相关且需周期性通信的变量及参数映射到软件集成开发环境中,便于用户对系统外设进行逻辑控制。用户可根据实际系统硬件组态,将各类从站设备描述文件添加到系统工程中。如图5所示,随着各从站设备描述文件的加入,各从站的控制和状态参数将自动关联到软件集成开发环境的工程中。从站数据映射工作将基于IoDrvTemplate设备数据映射驱动模板进行设计。关于从站控制数据映射主要包含以下步骤:
S21、构建各类从站的数据描述文件(.XML),为各类从站周期性控制变量在软件集成开发环境中建立变量数据交换接口。
具体的:从站的设备描述文件主要是为各类型从站周期性控制参数建立软件集成开发环境的逻辑变量接口。而各类从站的周期性参数与变量都位于主从站之间通信的PDO对象中。由于各类从站PDO对象中的参数存在差异,因此,需要建立各类从站所对应的设备描述文件。本系统三种从站PDO对象所包含的数据如表2所示。
表2各类从站PDO对象包含的参数说明
结合上述过程通信参数,对各类从站的设备描述文件进行构建。从站设备描述文件的模板为IoDrvTemplate.devdesc.xml。
如图6所示,基于IoDrvTemplate.devdesc.xml模板,针对各类型从站,修改该脚本文件中的相关信息,主要包括用于在软件集成开发环境中显示的设备名、设备厂商名、设备类型号及ID号、输入变量接口以及输出变量接口等。其中,各类从站的设备类型和ID号唯一。根据表2,将输入/输出变量接口加入各类型从站设备描述文件中。
S22、在软件运行管理组件的主站代码中,建立各类从站访问主站数据字典的数据接口函数。
图7为软件开发环境中数据映射显示效果图。图8为访问主站数据字典的接口函数说明。这些接口函数为各类从站数据映射驱动提供访问主站数据字典的接口。在系统运行过程中,逻辑控制单元通过这些接口函数获取相关控制和状态参数,并进行相关逻辑运算,实现系统完整功能逻辑。针对三类从站对主站数据字典的读写操作,分别设计了相关数据访问的读写函数,包括:read_Dinput/write_Doutput,read_Ainput/write_Aoutput以及read_Enginput/write_Engoutput。
S23、根据软件运行管理组件中从站数据映射的模板代码、各类从站构建的数据描述文件以及各类从站访问主站数据字典的数据接口函数,设计工控平台从站数据映射驱动,将主站数据字典中各类从站变量映射到软件集成开发环境中。
本系统各类从站数据驱动以Runtime System提供的IoDrvTemplate设备驱动软件模板为基础,将从站的数据映射代码移植到该模板中,形成针对各类从站数据映射的驱动。IoDrvTemplate设备驱动模板为目标系统各类从站数据在软件集成开发环境中的映射提供代码接口,可实现从站外设控制与状态参数在软件集成开发环境中的实时关联。针对各类从站的数据映射,IoDrvTemplate设备数据映射驱动的软件模板需要进行如下几部分修改:
a).针对各类从站修改设备类型号。各类从站映射驱动中的设备类型号要与对应的设备描述文件保持一致。图9为各类从站映射驱动的设备号说明。在本系统中,数字量IO、模拟量IO以及运动控制从站的对应设备类型号分别为0x8000、0x8001和0x8002,设备ID 分别为10010008、10010009以及10010010。根据系统从站类型,对需映射到软件集成开发环境的数据进行划分。对于数字量IO从站,分别有16路数字量输入和输出端口需要映射;对于模拟量IO从站,分别有8路模拟量输入和输出端口需要映射;对于双电机运动控制从站,可对两个电机轴进行控制,控制数据包括:位置模式位置指令、位置模式速度指令、速度模式速度指令以及插补模式插补指令等。状态数据包括:当前位置、当前速度以及当前轴状态等。
b).定义数据指针并关联数据接口。在从站数据映射驱动中定义数据指针,并将其指向对应接口。数据指针需依据各类从站输入输出变量进行定义。如图10所示,软件集成开发环境的数据接口在功能函数IoDrvUpdateConfiguration中,将驱动模板中的指针替换为用户自定义的变量指针,实现数据与工控平台的关联。
c).变量实时在线更新。从站数据映射驱动中包含用于软件集成开发环境实时在线更新系统映射数据的回调函数IoDrvReadInputs以及IoDrvWriteOutputs。这些函数基于该工控平台的软件框架被循环调用。
由于主站数据字典的数据访问接口函数在主站代码中,因此,需要在从站数据映射驱动中加载主站代码所生成的动态链接库,构造相关指针与主站数据字典访问函数进行关联,如图11所示。主站数据字典访问函数的函数指针初始化在从站设备驱动的HookFunction函数中进行。该HookFunction函数为用户从站数据映射驱动提供初始化接口。图12为模拟量IO从站数据映射源码说明。
函数指针初始化完成之后,在函数IoDrvReadInputs以及IoDrvWriteOutputs中,通过调用这些函数指针将主站数据字典中的数据与b)中的输入/输出变量映射指针进行关联,完成主站数据字典所有控制与状态参数在软件集成开发环境中的数据对接。
通过步骤S1和S2两部分工作,即可实现用户目标系统与工控平台的的数据对接,以及系统周期性控制和状态参数在软件集成开发环境中的实时关联。
由于本系统除了周期性控制及状态参数外,还包括瞬时通信参数。而瞬时通信参数需要通过SDO通信对象进行数据传输,因此,本发明还包括步骤S3:当目标系统中的瞬时通信参数需要通过SDO通信对象进行数据传输映射到软件集成开发环境中时,需基于软件集成开发环境开发SDO对象通信控制的IEC61131-3的功能库。
针对本系统CANopen协议中SDO通信对象的瞬时通信需求,基于工控平台,需开发用于SDO通信的IEC61131-3的功能库。IEC61131-3功能库的生成主要包括如下几个步骤:
S31、构建功能函数接口及生成相关M4文件。基于软件集成开发环境的library工程,定义IEC61131-3功能函数的输入输出接口,并生成对应的M4依赖文件,为在主站代码中实现IEC61131-3功能库的底层函数设计奠定基础。如图13所示,基于软件集成开发环境生成IEC61131-3功能函数接口及相关m4文件的具体步骤主要包括功能库的工程建立、工程类型选择、功能库函数与相关接口定义以及库函数属性设置等。最终生成包含所有功能函数接口的library库文件和对应M4文件。
S32、主站DEP库函数头文件生成。将IEC61131-3功能库的M4文件移植到主站代码空间PLC_master中替换原有*Itf.m4文件,通过相关批处理文件(.bat)生成新的*Itf.h外部接口头文件以及*Dep.h主站代码的依赖头文件。
在生成*Dep.h头文件之前,需根据*Itf的头文件和M4文件对*Dep.m4文件进行修改,如图14所示。修改完成之后,利用主站代码空间PLC_master中的Dep批处理文件重新生成主站对应的*Dep.h头文件。该头文件中包含了用户自定义函数的声明。
S33、功能库函数源码在主站代码中的实现。具体为:在完成功能库函数接口及函数声明之后,需在主站代码中完成功能库函数的功能源码设计。由于该功能库与SDO通信对象相关,因此,该功能库主要包含SDO数据下发(write_sdo)、SDO数据上传(read_sdo) 以及SDO上传数据获取(get_sdo_result)等功能函数,如图15所示。
综上所述,经过步骤S1、S2和S3中的相关工作,可以完成软件集成开发环境与主从站的适配与数据对接,能够实现从站的灵活硬件组态,逻辑功能的设计、编写、下载调试以及运行。对系统PDO对象直接通过数据映射关联到软件集成开发环境中,便于用户直接通过IEC61131-3编程对其进行周期性逻辑控制。而对于系统SDO对象的通信需要调用IEC61131-3功能库实现主从站间的瞬时通信功能。
本发明提供的一种针对实时以太网分布式工控系统软件集成开发环境的数据映射方法,以主站CANopen协议栈的数据字典为核心,基于CANopen规范,完成主、从站间的数据映射,相关数据的数据类型可满足CANopen协议要求。该数据映射方法中的相关数据命名、格式、长度及类型等定义采用XML脚本。系统每一种从站对应一个XML脚本文件。软件集成开发环境可通过该脚本识别相关从站的映射数据及数据属性。在完成数据映射之后,所述的各类从站参数可在软件集成开发环境中实现在线监测与调试,可通过软件集成开发环境对系统所有从站的映射数据进行在线修改。此外,基于该数据映射方法,结合实际系统应用,软件集成开发环境可实现在节点顺序、数量以及类型等方面对系统所有从站的灵活配置与组态。
本发明提供的一种实时以太网工控软件开发环境的数据映射方法,可实现系统软件集成开发环境与系统主站的数据关联,完成软件集成开发环境对系统的控制数据交互、在线监控以及系统调试等功能。该数据映射方法的主要特征是:1.可将实时以太网分布式工控系统三种类型从站的控制及状态数据映射到软件集成开发环境中。三种类型从站分别为数字量IO从站、模拟量IO从站以及运动控制从站等主流从站控制模块;2.该数据映射方法可使系统软件集成开发环境对完整系统进行数据监测以及在线调试;3.数据映射方法的核心是主站CANopen协议栈的数据对象字典,组态之后各从站节点的控制及状态参数都存于主站数据字典中,便于集中处理。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种实时以太网工控软件开发环境的数据映射方法,其特征在于,工控软件平台包括软件集成开发环境以及运行于目标系统主控节点中的软件运行管理组件,软件集成开发环境与软件运行管理组件基于通用以太网端口进行通信;包括以下步骤:
S1:将所述工控软件平台与目标系统的主站硬件平台进行适配和对接;
具体为:基于工控软件平台中的软件运行管理组件的软件框架将目标系统的主站软件代码移植到从站数据映射对应的模板代码中,并为从站节点的相关控制参数在软件集成开发环境中建立对应的变量接口;
S2:基于工控软件平台进行从站控制数据映射,将目标系统所有与外设控制相关且需周期性通信的控制变量及状态参数映射到软件集成开发环境中;具体包括:
S21、构建各类从站的数据描述文件,为各类从站周期性控制变量在软件集成开发环境中建立变量数据交换接口;
S22、在软件运行管理组件的主站代码中,建立各类从站访问主站数据字典的数据接口函数;
S23、根据软件运行管理组件中从站数据映射的模板代码、各类从站构建的数据描述文件以及各类从站访问主站数据字典的数据接口函数,设计工控平台从站数据映射驱动,将主站数据字典中各类从站变量映射到软件集成开发环境中。
2.根据权利要求1所述的一种实时以太网工控软件开发环境的数据映射方法,其特征在于,还包括:
S3:当目标系统所中的瞬时通信参数需要通过SDO通信对象进行数据传输映射到软件集成开发环境中时,需基于软件集成开发环境开发SDO对象通信控制的IEC61131-3的功能库。
3.根据权利要求2所述的一种实时以太网工控软件开发环境的数据映射方法,其特征在于,步骤S3具体包括以下步骤:
S31、基于软件集成开发环境的library工程,构建功能库函数接口,并生成包含所有功能函数接口的library库文件和对应的M4文件;
S32、将M4文件移植到主站代码空间PLC_master中替换原有*Itf.m4文件,并通过批处理文件生成新的*Itf外部接口的头文件以及包含了用户自定义函数声明的主站DEP库函数头文件;
S33、根据构建的功能库函数接口以及包含了用户自定义函数声明的主站DEP库函数头文件,在主站代码中完成IEC61131-3功能库函数的功能源码设计。
4.根据权利要求3所述的一种实时以太网工控软件开发环境的数据映射方法,其特征在于,步骤S31中,基于软件集成开发环境生成IEC61131-3的功能库函数接口及M4文件的具体步骤主要包括功能库的工程建立、工程类型选择、功能库函数与相关接口定义以及库函数属性设置;最终生成包含所有功能函数接口的library库文件和对应M4文件。
5.根据权利要求3所述的一种实时以太网工控软件开发环境的数据映射方法,其特征在于,步骤S32中,在生成主站DEP库函数头文件之前,需根据*Itf的头文件和M4文件对*Dep.m4文件进行修改;修改完成之后,利用主站代码空间PLC_master中的Dep批处理文件重新生成主站对应的*Dep.h头文件。
6.根据权利要求3所述的一种实时以太网工控软件开发环境的数据映射方法,其特征在于,步骤S33中功能库函数包含SDO数据下发功能函数、SDO数据上传功能函数以及SDO上传数据获取功能函数。
7.根据权利要求1-6任一项所述的一种实时以太网工控软件开发环境的数据映射方法,其特征在于,步骤S22中,从站类型包括数字量IO从站、模拟量IO从站和运动控制从站;三类从站对主站数据字典的读写操作,分别设计了相关数据访问的读写函数,包括:read_Dinput/write_Doutpu,read_Ainput/write_Aoutput以及read_Enginput/write_Engoutput。
8.根据权利要求1-6任一项所述的一种实时以太网工控软件开发环境的数据映射方法,其特征在于,步骤S23中,系统各类从站数据驱动以软件运行管理组件提供的IoDrvTemplate设备驱动软件模板为基础,将从站的数据映射代码移植到该模板中,形成针对各类从站数据映射的驱动。
9.根据权利要求8所述的一种实时以太网工控软件开发环境的数据映射方法,其特征在于,步骤S23中,针对各类从站的数据映射,IoDrvTemplate设备数据映射驱动的软件模板需要进行如下修改:
a).针对各类从站修改设备类型号:各类从站映射驱动中的设备类型号要与对应的设备描述文件保持一致;
b).定义数据指针并关联数据接口:在从站数据映射驱动中定义数据指针,并将其指向对应接口;数据指针需依据各类从站输入输出变量进行定义;而软件集成开发环境的数据接口在功能函数IoDrvUpdateConfiguration中,将驱动模板中的指针替换为用户自定义的变量指针,实现数据与工控平台的关联;
c).变量实时在线更新:从站数据映射驱动中包含用于软件集成开发环境实时在线更新系统映射数据的回调函数IoDrvReadInputs以及IoDrvWriteOutputs。
10.根据权利要求9所述的一种实时以太网工控软件开发环境的数据映射方法,其特征在于,步骤S23中,由于主站数据字典的数据访问接口函数在主站代码中,需要在从站数据映射驱动中加载主站代码所生成的动态链接库,构造相关指针与主站数据字典访问函数进行关联;主站数据字典访问函数的函数指针初始化在从站设备驱动的HookFunction函数中进行,HookFunction函数为用户从站数据映射驱动提供初始化接口;
函数指针初始化完成后,在函数IoDrvReadInputs以及IoDrvWriteOutputs中,通过调用这些函数指针将主站数据字典中的数据与步骤b)中的输入/输出变量映射指针进行关联,完成主站数据字典所有控制与状态参数在软件集成开发环境中的数据对接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210196666.3A CN114564192B (zh) | 2022-03-02 | 2022-03-02 | 一种实时以太网工控软件开发环境的数据映射方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210196666.3A CN114564192B (zh) | 2022-03-02 | 2022-03-02 | 一种实时以太网工控软件开发环境的数据映射方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114564192A CN114564192A (zh) | 2022-05-31 |
CN114564192B true CN114564192B (zh) | 2024-04-09 |
Family
ID=81716191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210196666.3A Active CN114564192B (zh) | 2022-03-02 | 2022-03-02 | 一种实时以太网工控软件开发环境的数据映射方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114564192B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115167265B (zh) * | 2022-07-07 | 2023-03-24 | 北京万昇智能科技有限公司 | Plc应用包生成方法、plc应用包运行方法及相关装置 |
CN116048564B (zh) * | 2022-08-19 | 2023-10-20 | 荣耀终端有限公司 | 一种参数更新方法、终端、服务器、系统及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179537A (zh) * | 2007-12-05 | 2008-05-14 | 上海电器科学研究所(集团)有限公司 | 一种工业以太网网关 |
CN102833141A (zh) * | 2012-08-23 | 2012-12-19 | 天津瑞能电气有限公司 | 一种基于DSP28335的CANopen从站系统 |
CN108650136A (zh) * | 2018-05-17 | 2018-10-12 | 中工科安科技有限公司 | 一种实现Powerlink工业实时以太网通讯的主/从站卡的设计方法 |
WO2020207585A1 (en) * | 2019-04-11 | 2020-10-15 | Nokia Solutions And Networks Gmbh & Co. Kg | Integration of serial realtime communication system deployments with mobile communication networks |
-
2022
- 2022-03-02 CN CN202210196666.3A patent/CN114564192B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179537A (zh) * | 2007-12-05 | 2008-05-14 | 上海电器科学研究所(集团)有限公司 | 一种工业以太网网关 |
CN102833141A (zh) * | 2012-08-23 | 2012-12-19 | 天津瑞能电气有限公司 | 一种基于DSP28335的CANopen从站系统 |
CN108650136A (zh) * | 2018-05-17 | 2018-10-12 | 中工科安科技有限公司 | 一种实现Powerlink工业实时以太网通讯的主/从站卡的设计方法 |
WO2020207585A1 (en) * | 2019-04-11 | 2020-10-15 | Nokia Solutions And Networks Gmbh & Co. Kg | Integration of serial realtime communication system deployments with mobile communication networks |
Also Published As
Publication number | Publication date |
---|---|
CN114564192A (zh) | 2022-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114564192B (zh) | 一种实时以太网工控软件开发环境的数据映射方法 | |
CN110543144B (zh) | 图形化编程控制机器人的方法及系统 | |
CN104778124B (zh) | 一种软件应用自动化测试方法 | |
CN107710149B (zh) | 利用连接性模型生成plc代码的方法和系统 | |
US9086692B2 (en) | Custom function blocks for use with process control systems | |
Fuchs et al. | I4. 0-compliant integration of assets utilizing the Asset Administration Shell | |
US10705511B2 (en) | Abstraction layers for automation applications | |
EP1351108B1 (en) | Method and apparatus for programming | |
US8881133B2 (en) | Method for servicing a field device of automation technology | |
CN106933212B (zh) | 一种分布式制造环境下的可重构工业机器人编程控制方法 | |
CN101226564A (zh) | 用于轮机控制仿真的系统和方法 | |
KR100559251B1 (ko) | 개방형 인터넷망 기반의 로봇 개발을 위한 분산소프트웨어 통합서비스방법 | |
US6826432B2 (en) | Process for programming an automation application | |
US8494664B2 (en) | Integrated drive management and configuration using instantiated objects | |
Romanov et al. | Unified architecture of execution level hardware and software for discrete machinery manufacturing control systems | |
CN110673844A (zh) | 一种图像处理软件开发方法及系统 | |
CN106155687A (zh) | 一种基于蓝牙4的无线实时图形化对控制器编程方法 | |
CN102339025A (zh) | 用于启动机器或者机器系列中的机器的方法和规划系统 | |
US11169510B2 (en) | Engineering system and method for planning an automation system | |
JP2019211823A (ja) | サポート装置およびサポートプログラム | |
CN104238438A (zh) | 一种plc通用平台及其设计方法 | |
CN114968196A (zh) | 基于codesys软件的开发平台架构 | |
CN112748697B (zh) | 基于CoDeSys控制器的脉冲轴控制方法 | |
JP4561331B2 (ja) | 家電機器アダプタおよびソフトウェア開発装置 | |
CN116330263A (zh) | 一种基于Codesys的智能工业机器人平台实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |