CN112416355A - Plc组态软件的端口转换方法及系统 - Google Patents
Plc组态软件的端口转换方法及系统 Download PDFInfo
- Publication number
- CN112416355A CN112416355A CN202011262682.5A CN202011262682A CN112416355A CN 112416355 A CN112416355 A CN 112416355A CN 202011262682 A CN202011262682 A CN 202011262682A CN 112416355 A CN112416355 A CN 112416355A
- Authority
- CN
- China
- Prior art keywords
- port
- configuration software
- plc
- plc configuration
- logical
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Programmable Controllers (AREA)
Abstract
本发明公开了一种PLC组态软件的端口转换方法及系统,所述方法包括:建立PLC组态软件使用的逻辑端口和PLC硬件设备的物理端口之间的映射关系表;对所述PLC组态软件进行编译,采用所述映射关系表将所述PLC组态软件使用的逻辑端口转换为所述PLC硬件设备的物理端口。采用本发明的技术方案,可以在不采用中间层的情况下实现组态软件应用程序与特定PLC硬件的解耦。
Description
技术领域
本发明涉及PLC组态软件领域,尤其涉及一种PLC组态软件的端口转换方法及系统。
背景技术
PLC组态软件编写的应用程序从所控制的硬件主板输入端口(Input)读取输入,进行逻辑处理,然后将输出送至输出端口(Output)。
可以将IO端口抽象成逻辑端口,应用代码使用逻辑端口,实现应用程序与特定PLC硬件的解耦。在需要输出至目标PLC硬件时,将逻辑端口映射至PLC物理端口,这样实现逻辑端口和物理端口的绑定。
目前的PLC组态软件中没有逻辑端口的概念,只有物理端口的。在应用代码中总是使用确定的PLC的物理端口。
可以在运行时中加入一个中间层来动态管理逻辑端口至物理端口的映射,实现二者之间的功能和交互,但是这带来了额外的管理和交互开销。
发明内容
本发明的目的是针对现有技术的组态软件中采用中间层来动态管理逻辑端口至物理端口的映射导致额外的管理和交互开销的技术问题,本发明提出一种PLC组态软件的端口转换方法及系统。
本发明实施例中,提供了一种PLC组态软件的端口转换方法,其包括:
建立PLC组态软件使用的逻辑端口和PLC硬件设备的物理端口之间的映射关系表;
对所述PLC组态软件进行编译,采用所述映射关系表将所述PLC组态软件使用的逻辑端口转换为所述PLC硬件设备的物理端口。
本发明实施例中,在编译所述PLC组态软件前,对所述PLC组态软件进行预处理,将所述PLC组态软件的应用程序代码转化为结构化文本代码文件,并将所述映射关系表转换为所述结构化文本代码文件中的全局变量。
本发明实施例中,所述全局变量采用结构化数组,所述结构化数组的每个单元包括逻辑端口值和与所述逻辑端口值对应的物理端口值。
本发明实施例中,对所述PLC组态软件进行编译时,生成抽象语法树,采用所述结构化数组进行逻辑端口和物理端口的转换。
本发明实施例中,采用所述结构化数组进行逻辑端口和物理端口的转换,具体包括:
在生成抽象语法树的过程中,若遇到逻辑端口时,查找所述结构化数组,逐项比较所述逻辑端口值与所述结构化数组的每个单元的逻辑端口值,如果所述逻辑端口值与所述结构化数组的某个单元的逻辑端口值一致,则使用该单元中的物理端口值替换抽象语法树中的逻辑端口值。
本发明实施例中,还提供了一种PLC组态软件的端口转换系统,其包括:
端口映射模块,用于建立PLC组态软件使用的逻辑端口和PLC硬件设备的物理端口之间的映射关系表;
编译模块,用于对所述PLC组态软件进行编译,采用所述映射关系表将所述PLC组态软件使用的逻辑端口转换为所述PLC硬件设备的物理端口。
本发明实施例中,所述的PLC组态软件的端口转换系统,还包括:
预处理模块,用于在编译所述PLC组态软件前,对所述PLC组态软件进行预处理,将所述PLC组态软件的应用程序代码转化为结构化文本代码文件,并将所述映射关系表转换为所述结构化文本代码文件中的全局变量。
本发明实施例中,所述全局变量采用结构化数组,所述结构化数组的每个单元包括逻辑端口值和与所述逻辑端口值对应的物理端口值。
本发明实施例中,所述编译模块对所述PLC组态软件进行编译时,生成抽象语法树,采用所述结构化数组进行逻辑端口和物理端口的转换。
本发明实施例中,所述编译模块在生成抽象语法树的过程中,若遇到逻辑端口时,查找所述结构化数组,逐项比较所述逻辑端口值与所述结构化数组的每个单元的逻辑端口值,如果所述逻辑端口值与所述结构化数组的某个单元的逻辑端口值一致,则使用该单元中的物理端口值替换抽象语法树中的逻辑端口值。
与现有技术相比较,在本发明的PLC组态软件的端口转换方法及系统中,建立PLC组态软件使用的逻辑端口和PLC硬件设备的物理端口之间的映射关系表,对所述PLC组态软件进行编译,采用所述映射关系表将所述PLC组态软件使用的逻辑端口转换为所述PLC硬件设备的物理端口,通过在代码编译过程中引入逻辑端口至物理端口的映射符号表,实现物理端口对代码中使用的逻辑端口的替代,在编译时完成二者的映射转换,消除了运行时中间层,实现了组态软件应用程序与特定PLC硬件的解耦。
附图说明
图1是本发明实施例的PLC组态软件的端口转换方法的流程图。
图2是本发明实施例的PLC组态软件的端口转换系统的结构示意图。
具体实施方式
如图1所示,本发明实施例中,提供了一种PLC组态软件的端口转换方法,其包括步骤S1-S3。下面分别进行说明。
步骤S1: 建立PLC组态软件使用的逻辑端口和PLC硬件设备的物理端口之间的映射关系表。
需要说明的时,本发明实施例中,为实现应用程序与特定PLC硬件的解耦,将PLC硬件设备的输入输出端口抽象成逻辑端口,应用代码使用逻辑端口,并建立PLC组态软件使用的逻辑端口和PLC硬件设备的物理端口之间的映射关系表,在需要输出至目标PLC硬件时,将逻辑端口映射至PLC物理端口,这样实现逻辑端口和物理端口的绑定。
步骤S2:对所述PLC组态软件进行预处理,将所述PLC组态软件的应用程序代码转化为结构化文本代码文件,并将所述映射关系表转换为所述结构化文本代码文件中的全局变量。
需要说明的是,PLC组态软件加载至PLC硬件设备前,需要对PLC组态软件进行编译。在PLC组态软件在编译前,需要将PLC组态软件的应用程序代码转化为结构化文本代码文件(Structured Text,ST),然后再进行编译。本发明实施例中,在所述预处理的过程中,将所述映射关系表转换为所述结构化文本代码文件中的全局变量。所述全局变量采用结构化数组。所述结构化数组的每个单元的类型是一个结构化数据类型,其包括两个成员,第一个成员为逻辑端口的值,第二个成员为物理端口的值。每一个结构化数据类型单元表示了一组逻辑端口和物理端口的映射关系,所述结构化数组则表示了所有的映射关系。
步骤S3:对所述PLC组态软件进行编译,采用所述映射关系表转换得到的结构化数组将所述PLC组态软件使用的逻辑端口转换为所述PLC硬件设备的物理端口。
需要说明的是,对所述PLC组态软件进行编译时,生成抽象语法树,采用所述结构化数组进行逻辑端口和物理端口的转换。在生成抽象语法树的过程中,若遇到逻辑端口时,查找所述结构化数组,逐项比较所述逻辑端口值与所述结构化数组的每个单元的逻辑端口值,如果所述逻辑端口值与所述结构化数组的某个单元的逻辑端口值一致,则使用该单元中的物理端口值替换抽象语法树中的逻辑端口值。如此,只有在生成抽象语法树的过程中遇到逻辑端口时才需要进行该端口映射关系的处理,无需单独在PLC组态软件的所有应用程序代码中全局搜索和替代逻辑端口,提高了端口替代的效率。
值得注意的是,本领域普通技术人员可以理解:实现上述方法的步骤或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤,而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
如图2所示,本发明实施例中,还提供了了一种PLC组态软件的端口转换系统,其包括端口映射模块1、预处理模块2及编译模块3。下面分别进行说明。
所述端口映射模块1,用于建立PLC组态软件使用的逻辑端口和PLC硬件设备的物理端口之间的映射关系表。
所述预处理模块2,用于在编译所述PLC组态软件前,对所述PLC组态软件进行预处理,将所述PLC组态软件的应用程序代码转化为结构化文本代码文件,并将所述映射关系表转换为所述结构化文本代码文件中的全局变量。所述全局变量采用结构化数组,所述结构化数组的每个单元包括逻辑端口值和与所述逻辑端口值对应的物理端口值。
所述编译模块3,用于对所述PLC组态软件进行编译,采用所述映射关系表转换得到的结构化数组将所述PLC组态软件使用的逻辑端口转换为所述PLC硬件设备的物理端口。
所述编译模块3对所述PLC组态软件进行编译时,生成抽象语法树,采用所述结构化数组进行逻辑端口和物理端口的转换。所述编译模块3在生成抽象语法树的过程中,若遇到逻辑端口时,查找所述结构化数组,逐项比较所述逻辑端口值与所述结构化数组的每个单元的逻辑端口值,如果所述逻辑端口值与所述结构化数组的某个单元的逻辑端口值一致,则使用该单元中的物理端口值替换抽象语法树中的逻辑端口值。
需要说明的是,上述PLC组态软件的端口转换系统中,各模块/单元之间的信息交互、执行过程等内容,与本发明实施例提供的PLC组态软件的端口转换方法基于同一构思,其实现过程和带来的技术效果与所述PLC组态软件的端口转换方法相同,具体内容可参见对所述PLC组态软件的端口转换方法的相关叙述,此处不再赘述。
综上所述,在本发明的PLC组态软件的端口转换方法及系统中,建立PLC组态软件使用的逻辑端口和PLC硬件设备的物理端口之间的映射关系表,对所述PLC组态软件进行编译,采用所述映射关系表将所述PLC组态软件使用的逻辑端口转换为所述PLC硬件设备的物理端口,通过在代码编译过程中引入逻辑端口至物理端口的映射符号表,实现物理端口对代码中使用的逻辑端口的替代,在编译时完成二者的映射转换,消除了运行时中间层,实现了组态软件应用程序与特定PLC硬件的解耦。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种PLC组态软件的端口转换方法,其特征在于,包括:
建立PLC组态软件使用的逻辑端口和PLC硬件设备的物理端口之间的映射关系表;
对所述PLC组态软件进行编译,采用所述映射关系表将所述PLC组态软件使用的逻辑端口转换为所述PLC硬件设备的物理端口。
2.如权利要求1所述的PLC组态软件的端口转换方法,其特征在于,在编译所述PLC组态软件前,对所述PLC组态软件进行预处理,将所述PLC组态软件的应用程序代码转化为结构化文本代码文件,并将所述映射关系表转换为所述结构化文本代码文件中的全局变量。
3.如权利要求2所述的PLC组态软件的端口转换方法,其特征在于,所述全局变量采用结构化数组,所述结构化数组的每个单元包括逻辑端口值和与所述逻辑端口值对应的物理端口值。
4.如权利要求3所述的PLC组态软件的端口转换方法,其特征在于, 对所述PLC组态软件进行编译时,生成抽象语法树,采用所述结构化数组进行逻辑端口和物理端口的转换。
5.如权利要求4所述的PLC组态软件的端口转换方法,其特征在于,采用所述结构化数组进行逻辑端口和物理端口的转换,具体包括:
在生成抽象语法树的过程中,若遇到逻辑端口时,查找所述结构化数组,逐项比较所述逻辑端口值与所述结构化数组的每个单元的逻辑端口值,如果所述逻辑端口值与所述结构化数组的某个单元的逻辑端口值一致,则使用该单元中的物理端口值替换抽象语法树中的逻辑端口值。
6.一种PLC组态软件的端口转换系统,其特征在于,包括:
端口映射模块,用于建立PLC组态软件使用的逻辑端口和PLC硬件设备的物理端口之间的映射关系表;
编译模块,用于对所述PLC组态软件进行编译,采用所述映射关系表将所述PLC组态软件使用的逻辑端口转换为所述PLC硬件设备的物理端口。
7.如权利要求6所述的PLC组态软件的端口转换系统,其特征在于,还包括:
预处理模块,用于在编译所述PLC组态软件前,对所述PLC组态软件进行预处理,将所述PLC组态软件的应用程序代码转化为结构化文本代码文件,并将所述映射关系表转换为所述结构化文本代码文件中的全局变量。
8.如权利要求7所述的PLC组态软件的端口转换系统,其特征在于,所述全局变量采用结构化数组,所述结构化数组的每个单元包括逻辑端口值和与所述逻辑端口值对应的物理端口值。
9.如权利要求8所述的PLC组态软件的端口转换系统,其特征在于,所述编译模块对所述PLC组态软件进行编译时,生成抽象语法树,采用所述结构化数组进行逻辑端口和物理端口的转换。
10.如权利要求9所述的PLC组态软件的端口转换系统,其特征在于,所述编译模块在生成抽象语法树的过程中,若遇到逻辑端口时,查找所述结构化数组,逐项比较所述逻辑端口值与所述结构化数组的每个单元的逻辑端口值,如果所述逻辑端口值与所述结构化数组的某个单元的逻辑端口值一致,则使用该单元中的物理端口值替换抽象语法树中的逻辑端口值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011262682.5A CN112416355A (zh) | 2020-11-12 | 2020-11-12 | Plc组态软件的端口转换方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011262682.5A CN112416355A (zh) | 2020-11-12 | 2020-11-12 | Plc组态软件的端口转换方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112416355A true CN112416355A (zh) | 2021-02-26 |
Family
ID=74832154
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011262682.5A Pending CN112416355A (zh) | 2020-11-12 | 2020-11-12 | Plc组态软件的端口转换方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112416355A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1777861A (zh) * | 2003-04-21 | 2006-05-24 | 耐特塞尔公司 | 具有可重新配置的数据通路的盘阵列控制器 |
US20070173959A1 (en) * | 2006-01-24 | 2007-07-26 | National Instruments Corporation | System and method for automatically updating the memory map of a programmable logic controller to customized hardware |
CN102566483A (zh) * | 2010-12-21 | 2012-07-11 | 鸿富锦精密工业(深圳)有限公司 | 可编程逻辑控制系统 |
US20170344504A1 (en) * | 2014-12-22 | 2017-11-30 | Eaton Industries (Netherlands) B.V. | Method for accessing a number of slave devices with registers by a master device over a network |
CN110376959A (zh) * | 2019-07-25 | 2019-10-25 | 大连理工大学 | 一种基于fpga平台的软plc组态软件生成系统 |
-
2020
- 2020-11-12 CN CN202011262682.5A patent/CN112416355A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1777861A (zh) * | 2003-04-21 | 2006-05-24 | 耐特塞尔公司 | 具有可重新配置的数据通路的盘阵列控制器 |
US20070173959A1 (en) * | 2006-01-24 | 2007-07-26 | National Instruments Corporation | System and method for automatically updating the memory map of a programmable logic controller to customized hardware |
CN102566483A (zh) * | 2010-12-21 | 2012-07-11 | 鸿富锦精密工业(深圳)有限公司 | 可编程逻辑控制系统 |
US20170344504A1 (en) * | 2014-12-22 | 2017-11-30 | Eaton Industries (Netherlands) B.V. | Method for accessing a number of slave devices with registers by a master device over a network |
CN110376959A (zh) * | 2019-07-25 | 2019-10-25 | 大连理工大学 | 一种基于fpga平台的软plc组态软件生成系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10942943B2 (en) | Dynamic field data translation to support high performance stream data processing | |
EP1119807B1 (en) | Program code conversion | |
KR101699981B1 (ko) | 외래 정보를 분할함에 의한 가상 머신 코드의 메모리 최적화 | |
US9892144B2 (en) | Methods for in-place access of serialized data | |
US9684493B2 (en) | R-language integration with a declarative machine learning language | |
CN101553779B (zh) | 将主机系统应用程序转换为开放系统应用程序的转换装置和方法 | |
CN110673856B (zh) | 一种数据处理方法、装置及机器可读存储介质 | |
CN111143446A (zh) | 数据对象的数据结构转换处理方法、装置及电子设备 | |
CN102298518A (zh) | 从技术未知的管理命令到多个管理协议的转换 | |
US20230020618A1 (en) | Spreadsheet Flat Data Extractor | |
CN103020196B (zh) | 处理数据库操作请求的系统 | |
US20060129985A1 (en) | Development and execution platform | |
US9684497B1 (en) | Optimized compiling of a template function | |
CN112416355A (zh) | Plc组态软件的端口转换方法及系统 | |
CN112379886A (zh) | 数据格式转换系统及其方法 | |
CN1296815C (zh) | 二进制翻译中标志位的优化处理方法 | |
CN107643892B (zh) | 接口处理方法、装置、存储介质和处理器 | |
CN101561884A (zh) | 一种可变数据印刷过程中的脚本实现方法及装置 | |
CN115629802A (zh) | 程序移植处理方法及装置 | |
CN110221778A (zh) | 酒店数据的处理方法、系统、存储介质以及电子设备 | |
CN111191106B (zh) | Dsl的构建方法、系统、电子设备和介质 | |
WO2013049175A1 (en) | Abstracting computational instructions to improve performance | |
CN112882774A (zh) | 并行执行的智能合约芯片装置及方法、区块链节点装置 | |
CN112527885A (zh) | 一种etl中基于规则配置的数据处理的系统和方法 | |
CN114579135B (zh) | 一种安装包生成方法及装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210226 |
|
RJ01 | Rejection of invention patent application after publication |