CN112415943A - 一种io端口配置装置、方法和plc组态软件 - Google Patents

一种io端口配置装置、方法和plc组态软件 Download PDF

Info

Publication number
CN112415943A
CN112415943A CN202011260749.1A CN202011260749A CN112415943A CN 112415943 A CN112415943 A CN 112415943A CN 202011260749 A CN202011260749 A CN 202011260749A CN 112415943 A CN112415943 A CN 112415943A
Authority
CN
China
Prior art keywords
port
mapping
logical
hardware
logical port
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
Application number
CN202011260749.1A
Other languages
English (en)
Inventor
王灵军
李�杰
夏元仕
刘鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gree Electric Appliances Inc of Zhuhai
Original Assignee
Gree Electric Appliances Inc of Zhuhai
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Gree Electric Appliances Inc of Zhuhai filed Critical Gree Electric Appliances Inc of Zhuhai
Priority to CN202011260749.1A priority Critical patent/CN112415943A/zh
Publication of CN112415943A publication Critical patent/CN112415943A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/054Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/11Plc I-O input output
    • G05B2219/1138Configuration of I-O

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

本发明公开了一种IO端口配置装置、PLC组态软件及其IO端口配置方法,该装置包括:定义单元定义逻辑端口的资源,并使用逻辑端口进行变量定义;逻辑端口是被控PLC硬件的物理端口的虚拟化端口,逻辑端口在PLC应用程序代码中使用逻辑端口的资源;映射单元,配置逻辑端口和被控PLC硬件的物理端口之间的映射关系;映射单元,还在PLC应用程序运行于被控PLC硬件的情况下,根据配置得到的逻辑端口和被控PLC硬件的物理端口之间的映射关系,实现逻辑端口与被控PLC硬件的物理端口之间的数据和功能的映射和传送。该方案,通过解耦应用程序和被控主板硬件,提高组态软件所开发应用程序的可移植性,提高更换硬件主板的IO资源时应用程序代码变更的效率。

Description

一种IO端口配置装置、方法和PLC组态软件
技术领域
本发明属于计算机技术领域,具体涉及一种IO端口配置装置、PLC组态软件及其IO端口配置方法,尤其涉及一种PLC组态软件的IO端口虚拟化配置、PLC组态软件及其IO端口虚拟化配置方法。
背景技术
组态软件,又称组态监控系统软件,是指数据采集与过程控制的专用软件,也是指在自动控制系统监控层一级的软件平台和开发环境。PLC(指可编程逻辑控制器)组态软件编写的应用程序从所控制的硬件主板输入端口(Input)读取输入,进行逻辑处理,然后将输出送至输出端口(Output)。
在PLC组态软件编写的应用程序代码中,声明变量时会明确指定所使用的端口地址。在需要更换所控制的硬件主板时,需要按照新硬件的IO端口资源,逐一更改代码中原来所指定的端口地址。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的目的在于,提供一种IO端口配置装置、PLC组态软件及其IO端口配置方法,以解决PLC组态软件的应用程序代码中声明变量时会明确指定所使用的端口地址,在更换硬件主板的IO资源时需逐一更改应用程序代码中原来所指定的端口地址,存在更换效率低的问题,达到通过解耦应用程序和被控主板硬件,提高组态软件所开发应用程序的可移植性,提高更换硬件主板的IO资源时应用程序代码变更的效率的效果。
本发明提供一种IO端口配置装置,包括:定义单元和映射单元;其中,所述定义单元,被配置为定义逻辑端口的资源,并使用所述逻辑端口进行变量定义;所述逻辑端口是被控PLC硬件的物理端口的虚拟化端口,所述逻辑端口在PLC应用程序代码中使用所述逻辑端口的资源;所述映射单元,被配置为配置所述逻辑端口和被控PLC硬件的物理端口之间的映射关系;所述映射单元,还被配置为在PLC应用程序运行于被控PLC硬件的情况下,根据配置得到的所述逻辑端口和被控PLC硬件的物理端口之间的映射关系,实现所述逻辑端口与被控PLC硬件的物理端口之间的数据和功能的映射和传送。
在一些实施方式中,所述定义单元,定义逻辑端口的资源,包括:统一定义所述逻辑端口的资源,并使用使用excel导入,或者通过组态软件提供的UI定义;或者,在应用程序代码中使用时,定义所述逻辑端口的资源的集合,并形成所述逻辑端口的资源的配置表。
在一些实施方式中,所述定义单元,使用所述逻辑端口进行变量定义,包括:使用所述逻辑端口,在应用程序的ST代码中定义变量。
在一些实施方式中,所述映射单元,配置所述逻辑端口和被控PLC硬件的物理端口之间的映射关系,包括:使用PLC组态软件提供的逻辑端口与被控PLC硬件的物理端口之间的映射功能和相应U1,对所述逻辑端口与被控PLC硬件的物理端口之间的关系进行增加、删除、修改、查找中的至少一种处理后,形成所述逻辑端口和被控PLC硬件的物理端口之间的映射关系;所述映射关系,包括IO端口映射表。
在一些实施方式中,所述映射单元,根据配置得到的所述逻辑端口和被控PLC硬件的物理端口之间的映射关系,实现所述逻辑端口与被控PLC硬件的物理端口之间的数据和功能的映射和传送,包括:增加映射层,根据配置得到的所述逻辑端口和被控PLC硬件的物理端口之间的映射关系,对所述逻辑端口和被控PLC硬件的物理端口之间进行数据传送和功能映射,实现对被控PLC硬件的物理端口的资源配置。
在一些实施方式中,还包括:所述映射单元,还被配置为在更换所述被控PLC硬件的情况下,或在所述被控PLC硬件的物理端口的资源出现更换的情况下,重新配置所述逻辑端口和更换的被控PLC硬件的物理端口之间的映射关系;所述映射单元,还被配置为在更换的被控PLC硬件的情况下,根据重新配置得到的所述逻辑端口和更换的被控PLC硬件的物理端口之间的映射关系,实现所述逻辑端口与更换的被控PLC硬件的物理端口之间的数据和功能的映射和传送。
与上述装置相匹配,本发明再一方面提供一种PLC组态软件,包括:设计部分和运行部分;所述设计部分,包括逻辑端口资源管理模块、物理端口资源管理模块和映射管理模块;所述运行部分,包括运行时映射模块;还包括:以上所述的IO端口配置装置;所述IO端口配置装置,能够使用所述设计部分和所述运行部分实现对被控PLC硬件的IO端口的配置。
与上述PLC组态软件相匹配,本发明再一方面提供一种PLC组态软件的IO端口配置方法,包括:使用所述逻辑端口资源管理模块,定义逻辑端口的资源,并使用所述逻辑端口进行变量定义;所述逻辑端口是被控PLC硬件的物理端口的虚拟化端口,所述逻辑端口在PLC应用程序代码中使用所述逻辑端口的资源;所述映射单元,具体还被配置为使用所述映射管理模块,配置所述逻辑端口和被控PLC硬件的物理端口之间的映射关系;所述映射单元,具体还被配置为在PLC应用程序运行于被控PLC硬件的情况下,使用所述运行时映射模块和所述物理端口资源管理模块,根据配置得到的所述逻辑端口和被控PLC硬件的物理端口之间的映射关系,实现所述逻辑端口与被控PLC硬件的物理端口之间的数据和功能的映射和传送。
在一些实施方式中,定义逻辑端口的资源,包括:统一定义所述逻辑端口的资源,并使用使用excel导入,或者通过组态软件提供的UI定义;或者,在应用程序代码中使用时,定义所述逻辑端口的资源的集合,并形成所述逻辑端口的资源的配置表。
在一些实施方式中,使用所述逻辑端口进行变量定义,包括:使用所述逻辑端口,在应用程序的ST代码中定义变量。
在一些实施方式中,配置所述逻辑端口和被控PLC硬件的物理端口之间的映射关系,包括:使用PLC组态软件提供的逻辑端口与被控PLC硬件的物理端口之间的映射功能和相应U1,对所述逻辑端口与被控PLC硬件的物理端口之间的关系进行增加、删除、修改、查找中的至少一种处理后,形成所述逻辑端口和被控PLC硬件的物理端口之间的映射关系;所述映射关系,包括IO端口映射表。
在一些实施方式中,根据配置得到的所述逻辑端口和被控PLC硬件的物理端口之间的映射关系,实现所述逻辑端口与被控PLC硬件的物理端口之间的数据和功能的映射和传送,包括:增加映射层,根据配置得到的所述逻辑端口和被控PLC硬件的物理端口之间的映射关系,对所述逻辑端口和被控PLC硬件的物理端口之间进行数据传送和功能映射,实现对被控PLC硬件的物理端口的资源配置。
在一些实施方式中,还包括:在更换所述被控PLC硬件的情况下,或在所述被控PLC硬件的物理端口的资源出现更换的情况下,重新配置所述逻辑端口和更换的被控PLC硬件的物理端口之间的映射关系;在更换的被控PLC硬件的情况下,根据重新配置得到的所述逻辑端口和更换的被控PLC硬件的物理端口之间的映射关系,实现所述逻辑端口与更换的被控PLC硬件的物理端口之间的数据和功能的映射和传送。
由此,本发明的方案,通过将IO端口虚拟化为逻辑端口,IO端口的应用程序代码中使用逻辑端口资源,而非实际端口资源;并可将逻辑端口资源重映射至实际的被控主板硬件的实际端口资源,通过解耦应用程序和被控主板硬件,提高组态软件所开发应用程序的可移植性,提高更换硬件主板的IO资源时应用程序代码变更的效率。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为本发明的IO端口配置装置的一实施例的结构示意图;
图2为PLC组态软件的一实施例的架构示意图;
图3为本发明的IO端口配置方法的一实施例的流程示意图;
图4为本发明的方法中对IO端口进行重新配置的一实施例的流程示意图;
图5为映射关系的一实施例的关系示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明的实施例,提供了一种IO端口配置装置。参见图1所示本发明的装置的一实施例的结构示意图。该IO端口配置装置可以包括:定义单元和映射单元。
其中,所述定义单元,被配置为定义逻辑端口的资源,并使用所述逻辑端口进行变量定义。实际上,可以是接收对逻辑端口的资源进行定义的信息,以及接收使用所述逻辑端口进行变量定义的信息。所述逻辑端口是被控PLC硬件的物理端口的虚拟化端口,所述逻辑端口在PLC应用程序代码中使用所述逻辑端口的资源。
在一些实施方式中,所述定义单元,定义逻辑端口的资源,包括:统一定义所述逻辑端口的资源,并使用使用excel导入,或者通过组态软件提供的UI定义;或者,在应用程序代码中使用时,定义所述逻辑端口的资源的集合,并形成所述逻辑端口的资源的配置表。
具体地,开发者定义逻辑端口资源的方法,至少有两种方法。比如:方法一,开发者可以明确地统一定义逻辑端口资源,包括使用excel导入、或者通过组态软件的UI(UserInterface,用户界面)。方法二,开发者在代码中使用时自由定义,由组态软件收集。定义的逻辑端口资源集合形成逻辑端口资源配置表。通过定义逻辑端口资源,其一,定义可用逻辑端口资源集合,便于约束资源使用范围,其二,指定了后面映射的逻辑端口的集合。
在一些实施方式中,所述定义单元,使用所述逻辑端口进行变量定义,包括:使用所述逻辑端口,在应用程序的ST代码中定义变量。
具体地,在应用程序的代码中使用逻辑端口进行变量定义。比如:在ST(即处理一种静态区间最值问题的有力方法)代码中定义变量时使用逻辑端口。
通过在应用程序的代码中使用逻辑端口进行变量定义,其一,通过使用逻辑端口进行变量定义,实现了变量定义与实际硬件端口的解耦。其二,因为是使用逻辑端口,可以随需要映射至不同硬件的不同端口,实现了程序资源的复用。如果需要运行在不同的PLC硬件上,只需更改逻辑端口的映射关系,其它程序资源基本可以不变。
所述映射单元,被配置为配置所述逻辑端口和被控PLC硬件的物理端口之间的映射关系。实际上,可以是接收对所述逻辑端口和被控PLC硬件的物理端口之间的映射关系进行配置的信息。
在一些实施方式中,所述映射单元,配置所述逻辑端口和被控PLC硬件的物理端口之间的映射关系,包括:使用PLC组态软件提供的逻辑端口与被控PLC硬件的物理端口之间的映射功能和相应U1,对所述逻辑端口与被控PLC硬件的物理端口之间的关系进行增加、删除、修改、查找中的至少一种处理后,形成所述逻辑端口和被控PLC硬件的物理端口之间的映射关系。所述映射关系,包括IO端口映射表。
具体地,组态软件提供逻辑端口与物理端口之间的映射功能和相应UI,开发者可以在这里进行二者之间的映射,包括增加、删除、修改、查找等。其中,映射的结果保存为IO端口映射表。通过提供用户进行映射管理的用户界面(UI),方便用户进行端口映射相关的操作。
所述映射单元,还被配置为在PLC应用程序运行于被控PLC硬件的情况下,根据配置得到的所述逻辑端口和被控PLC硬件的物理端口之间的映射关系,实现所述逻辑端口与被控PLC硬件的物理端口之间的数据和功能的映射和传送。
具体地,将被控PLC硬件的端口资源虚拟化为逻辑端口,代码中使用逻辑端口资源,能够实现逻辑端口和实际物理端口资源的映射功能,解耦应用程序与PLC硬件。从而,通过解耦应用程序和被控主板硬件,提高组态软件所开发应用程序代码的可移植性,提高变更的效率。
由此,将IO端口虚拟化为逻辑端口,IO端口的应用程序代码中使用逻辑端口资源,而非实际端口资源。并可将逻辑端口资源重映射至实际的被控主板硬件的实际端口资源,能够解决硬件主板IO资源变更所带来的代码需要修改时修改效率低的问题,从而提升硬件主板IO资源变更所带来的代码需要修改时的修改效率。
在一些实施方式中,所述映射单元,在PLC应用程序运行的情况下,根据配置得到的所述逻辑端口和被控PLC硬件的物理端口之间的映射关系,实现所述逻辑端口与被控PLC硬件的物理端口之间的数据和功能的映射和传送,包括:增加映射层,根据配置得到的所述逻辑端口和被控PLC硬件的物理端口之间的映射关系,对所述逻辑端口和被控PLC硬件的物理端口之间进行数据传送和功能映射,实现对被控PLC硬件的物理端口的资源配置。
具体地,在PLC的运行时,增加映射层,实现逻辑端口和物理端口之间的数据和功能的映射和传送。该映射层通过处理IO端口映射表进行数据和功能映射。通过在运行时增加映射层,以处理映射关系数据,尽量保证了程序处理的不变性,最大程度简化了程序在不同PLC硬件上移植时端口重新编码的工作,以配置数据驱动。
在一些实施方式中,还包括:对IO端口进行重新配置的过程。
所述映射单元,还被配置为在更换所述被控PLC硬件的情况下,或在所述被控PLC硬件的物理端口的资源出现更换的情况下,重新配置所述逻辑端口和更换的被控PLC硬件的物理端口之间的映射关系。
所述映射单元,还被配置为在更换的被控PLC硬件的情况下,根据重新配置得到的所述逻辑端口和更换的被控PLC硬件的物理端口之间的映射关系,实现所述逻辑端口与更换的被控PLC硬件的物理端口之间的数据和功能的映射和传送。
具体地,当更换被控PLC,或被控PLC资源出现变更时,只需在前述步骤3中进行逻辑端口和物理端口的重映射,进行配置关系的变更,刷新IO端口映射表即可,无需改动应用程序代码。使用组态软件编写的项目应用程序,在运行的硬件平台时,通过逻辑端口重映射,可以以少量的组态适配工作节省了改动每个项目的更改总成本。
由此,通过引入逻辑端口和物理端口资源的运行时映射层,实现逻辑IO端口功能至物理端口之间的转发,使得实现不同PLC硬件端口资源的适配只需更改映射表。从而,使端口的映射可以推迟至开发过程中最晚的时刻,不需要一定在应用开发启动时就确定所用的硬件IO资源,便于软/硬件的并行开发。
经大量的试验验证,采用本发明的技术方案,通过将IO端口虚拟化为逻辑端口,IO端口的应用程序代码中使用逻辑端口资源,而非实际端口资源。并可将逻辑端口资源重映射至实际的被控主板硬件的实际端口资源,通过解耦应用程序和被控主板硬件,提高组态软件所开发应用程序的可移植性,提高更换硬件主板的IO资源时应用程序代码变更的效率。
根据本发明的实施例,还提供了对应于IO端口配置装置的一种PLC组态软件。该PLC组态软件可以包括:设计部分和运行部分;所述设计部分,包括逻辑端口资源管理模块M1、物理端口资源管理模块M2和映射管理模块M3;所述运行部分,包括运行时映射模块R1;还包括:以上所述的IO端口配置装置。所述IO端口配置装置,能够使用所述设计部分和所述运行部分实现对被控PLC硬件的IO端口的配置。
其中,所述定义单元,具体还被配置为使用所述逻辑端口资源管理模块M1,定义逻辑端口的资源,并使用所述逻辑端口进行变量定义。所述逻辑端口是被控PLC硬件的物理端口的虚拟化端口,所述逻辑端口在PLC应用程序代码中使用所述逻辑端口的资源。
所述映射单元,具体还被配置为使用所述映射管理模块M3,配置所述逻辑端口和被控PLC硬件的物理端口之间的映射关系。
所述映射单元,具体还被配置为在PLC应用程序运行于被控PLC硬件的情况下,使用所述运行时映射模块R1和所述物理端口资源管理模块M2,根据配置得到的所述逻辑端口和被控PLC硬件的物理端口之间的映射关系,实现所述逻辑端口与被控PLC硬件的物理端口之间的数据和功能的映射和传送。
在组态软件编写的应用程序代码中,还存在一种场景,在开发应用程序时,所控制的硬件的资源配置还不明晰,会导致代码的端口地址变更,此时,也难以有效并行开发。
在一些实施方式中,本发明的方案,提供一种PLC组态软件IO端口虚拟化配置方法,将IO端口虚拟化为逻辑端口,IO端口的应用程序代码中使用逻辑端口资源,而非实际端口资源;并可将逻辑端口资源重映射至实际的被控主板硬件的实际端口资源,能够解决硬件主板IO资源变更所带来的代码需要修改时修改效率低的问题,从而提升硬件主板IO资源变更所带来的代码需要修改时的修改效率。
具体地,本发明的方案,将被控PLC硬件的端口资源虚拟化为逻辑端口,代码中使用逻辑端口资源。从而,可以保存历史资产,提高知识复用率;使用组态软件编写的项目应用程序,在运行的硬件平台时,通过逻辑端口重映射,可以以少量的组态适配工作节省了改动每个项目的更改总成本。
其中,历史资产是指以往所开发的PLC应用程序等,其可以复用,或重新在新的PLC上使用,或以其为基础开发新的应用程序。如替换PLC硬件,原来的应用程序代码通过重映射至新的PLC的物理端口后,就可以使用;无须重新为新的PLC开发新的应用程序,复用了以外的劳动成果。
本发明的方案,能够实现逻辑端口和实际物理端口资源的映射功能,解耦应用程序与PLC硬件。从而,通过解耦应用程序和被控主板硬件,提高组态软件所开发应用程序代码的可移植性,提高变更的效率。
本发明的方案,引入逻辑端口和物理端口资源的运行时映射层,实现逻辑IO端口功能至物理端口之间的转发。从而,使端口的映射可以推迟至开发过程中最晚的时刻,不需要一定在应用开发启动时就确定所用的硬件IO资源,便于软/硬件的并行开发。
下面结合图2所示的例子,对本发明的方案的具体实现过程进行示例性说明。
图2为PLC组态软件的一实施例的架构示意图。如图2所示,PLC组态软件的架构中,分为设计时和运行时。设计时,用于开发者开发应用程序;运行时,运行于被控PLC上的必要环境和资源。
在设计时,需要逻辑端口资源管理模块M1、物理端口资源管理模块M2和映射管理模块M3。在运行时,需要运行时映射模块R1。
其中,逻辑端口资源管理模块M1,能够管理逻辑端口资源,实现增加、删除、修改、查找,以及逻辑端口资源配置表的读取或存入。
例如:管理逻辑端口资源,可以是提供管理界面和相应功能,供开发者使用来管理。比如增加一个逻辑端口的定义,删除已有定义,或者查看某个逻辑端口的使用情况,或者整体替换等等。
物理端口资源管理模块M2,能够管理被控PLC的物理端口资源,实现增加、删除、修改、查找,物理端口配置表的读取或存入。
例如:管理被控PLC的物理端口资源,可以是提供管理界面和相应功能,供开发者使用来管理。比如增加一个物理端口资源,删除原有引入的资源错误,或者查看某个物理端口的使用情况,或者整体替换等等。
映射管理模块M3,能够管理逻辑端口和物理端口之间的映射关系,实现增加、删除、修改、查找,映射表的读取或存入。
例如:管理逻辑端口和物理端口之间的映射关系,比如指定逻辑端口L0.1映射至物理端口P0.1;或者更改已有的,如将L0.1重新映射至P0.2等等。
运行时映射模块R1,能够动态管理逻辑端口和物理端口之间的数据和功能的映射和传送。
例如:参见图5所示的例子,比如定义了逻辑端口资源LI0.1(应用程序代码中使用),其映射至某PLC硬件A的的物理AI1.1。当应用程序代码编译成应用程序运行于A上时,需要将I1.1端口的输入与LI0.1连接起来,这样当AI1.1上有输入时,LI0.1同样有输入。映射层按照映射表建立起LI0.1和AI1.1之间的虚拟通道,进行输入信号的路由(AI1.1-->LI0.1)。
下面对IO端口的概念进行具体说明:
逻辑端口,是抽象的IO端口资源,供应用程序的代码使用。
物理端口,是PLC的实际物理IO端口资源。
端口映射,是配置逻辑端口和物理端口之间的对应关系。理论上,逻辑端口数量不受可用物理端口资源的限制。
在一些实施方式中,本发明的方案提供的一种PLC组态软件IO端口虚拟化配置方法,包括:
步骤1、开发者定义逻辑端口资源。
具体地,开发者定义逻辑端口资源的方法,至少有两种方法。比如:
方法一,开发者可以明确地统一定义逻辑端口资源,包括使用excel导入、或者通过组态软件的UI(User Interface,用户界面)。
方法二,开发者在代码中使用时自由定义,由组态软件收集。定义的逻辑端口资源集合形成逻辑端口资源配置表。
通过定义逻辑端口资源,其一,定义可用逻辑端口资源集合,便于约束资源使用范围,其二,指定了后面映射的逻辑端口的集合。
步骤2、在应用程序的代码中使用逻辑端口进行变量定义。
比如:在ST(structured text,译为结构化文本,是IEC61131.3标准所支持的一种PLC编程语言)代码中定义变量时使用逻辑端口。
在应用程序的代码中使用逻辑端口进行变量定义,其一,通过使用逻辑端口进行变量定义,实现了变量定义与实际硬件端口的解耦。其二,因为是使用逻辑端口,可以随需要映射至不同硬件的不同端口,实现了程序资源的复用。如果需要运行在不同的PLC硬件上,只需更改逻辑端口的映射关系,其它程序资源基本可以不变。
步骤3、组态软件提供逻辑端口与物理端口之间的映射功能和相应UI,开发者可以在这里进行二者之间的映射,包括增加、删除、修改、查找等。
其中,映射的结果保存为IO端口映射表。
通过提供用户进行映射管理的用户界面(UI),方便用户进行端口映射相关的操作。
步骤4、在PLC的运行时,增加映射层,实现逻辑端口和物理端口之间的数据和功能的映射和传送,可以参见图5所示的例子。
该映射层通过处理IO端口映射表进行数据和功能映射。
通过在运行时增加映射层,以处理映射关系数据,尽量保证了程序处理的不变性,最大程度简化了程序在不同PLC硬件上移植时端口重新编码的工作,以配置数据驱动。
步骤5、当更换被控PLC,或被控PLC资源出现变更时,只需在前述步骤3中进行逻辑端口和物理端口的重映射,进行配置关系的变更,刷新IO端口映射表即可,无需改动应用程序代码。
可见,实现不同PLC硬件端口资源的适配,只需更改映射表。
需要说明的时,用户使用组态软件可以高自由度,不一定严格遵从步骤1至步骤5这样的过程,但是一定每一步的工作都需要做。比如,步骤1中,可以在开始时全部定义,也可以边组态边定义。
在一些实施方式中,可以变动逻辑端口至物理端口映射方式。如提供用户界面的方式,也可以改为提供如excel形式的导入等。
在一些实施方式中,可以使用非运行时映射层进行数据路由。
比如:使用非运行时映射层进行数据路由,比如在程序编译时实现映射关系翻译,运行时不用再处理映射,会对应用程序的性能有提升。
由于本实施例的PLC组态软件所实现的处理及功能基本相应于前述图1所示的装置的实施例、原理和实例,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
经大量的试验验证,采用本发明的技术方案,通过将被控PLC硬件的端口资源虚拟化为逻辑端口,代码中使用逻辑端口资源;使用组态软件编写的项目应用程序,在运行的硬件平台时,通过逻辑端口重映射,可以以少量的组态适配工作节省了改动每个项目的更改总成本。
根据本发明的实施例,还提供了对应于PLC组态软件的一种PLC组态软件的IO端口配置方法,如图3所示本发明的方法的一实施例的流程示意图。该PLC组态软件的IO端口配置方法可以包括:步骤S110至步骤S130。
在步骤S110中,使用所述逻辑端口资源管理模块(M1),定义逻辑端口的资源,并使用所述逻辑端口进行变量定义。实际上,可以是接收对逻辑端口的资源进行定义的信息,以及接收使用所述逻辑端口进行变量定义的信息。所述逻辑端口是被控PLC硬件的物理端口的虚拟化端口,所述逻辑端口在PLC应用程序代码中使用所述逻辑端口的资源。
在一些实施方式中,步骤S110中定义逻辑端口的资源,包括:统一定义所述逻辑端口的资源,并使用使用excel导入,或者通过组态软件提供的UI定义;或者,在应用程序代码中使用时,定义所述逻辑端口的资源的集合,并形成所述逻辑端口的资源的配置表。
具体地,开发者定义逻辑端口资源的方法,至少有两种方法。比如:方法一,开发者可以明确地统一定义逻辑端口资源,包括使用excel导入、或者通过组态软件的UI(UserInterface,用户界面)。方法二,开发者在代码中使用时自由定义,由组态软件收集。定义的逻辑端口资源集合形成逻辑端口资源配置表。通过定义逻辑端口资源,其一,定义可用逻辑端口资源集合,便于约束资源使用范围,其二,指定了后面映射的逻辑端口的集合。
在一些实施方式中,步骤S110中使用所述逻辑端口进行变量定义,包括:使用所述逻辑端口,在应用程序的ST代码中定义变量。
具体地,在应用程序的代码中使用逻辑端口进行变量定义。比如:在ST(即处理一种静态区间最值问题的有力方法)代码中定义变量时使用逻辑端口。
通过在应用程序的代码中使用逻辑端口进行变量定义,其一,通过使用逻辑端口进行变量定义,实现了变量定义与实际硬件端口的解耦。其二,因为是使用逻辑端口,可以随需要映射至不同硬件的不同端口,实现了程序资源的复用。如果需要运行在不同的PLC硬件上,只需更改逻辑端口的映射关系,其它程序资源基本可以不变。
在步骤S120中,所述映射单元,具体还被配置为使用所述映射管理模块M3,配置所述逻辑端口和被控PLC硬件的物理端口之间的映射关系。实际上,可以是接收对所述逻辑端口和被控PLC硬件的物理端口之间的映射关系进行配置的信息。
在一些实施方式中,步骤S120中配置所述逻辑端口和被控PLC硬件的物理端口之间的映射关系,包括:使用PLC组态软件提供的逻辑端口与被控PLC硬件的物理端口之间的映射功能和相应U1,对所述逻辑端口与被控PLC硬件的物理端口之间的关系进行增加、删除、修改、查找中的至少一种处理后,形成所述逻辑端口和被控PLC硬件的物理端口之间的映射关系。所述映射关系,包括IO端口映射表。
具体地,组态软件提供逻辑端口与物理端口之间的映射功能和相应UI,开发者可以在这里进行二者之间的映射,包括增加、删除、修改、查找等。其中,映射的结果保存为IO端口映射表。通过提供用户进行映射管理的用户界面(UI),方便用户进行端口映射相关的操作。
在步骤S130中,所述映射单元,具体还被配置为在PLC应用程序运行于被控PLC硬件的情况下,使用所述运行时映射模块R1和所述物理端口资源管理模块M2,根据配置得到的所述逻辑端口和被控PLC硬件的物理端口之间的映射关系,实现所述逻辑端口与被控PLC硬件的物理端口之间的数据和功能的映射和传送。
具体地,将被控PLC硬件的端口资源虚拟化为逻辑端口,代码中使用逻辑端口资源,能够实现逻辑端口和实际物理端口资源的映射功能,解耦应用程序与PLC硬件。从而,通过解耦应用程序和被控主板硬件,提高组态软件所开发应用程序代码的可移植性,提高变更的效率。
由此,将IO端口虚拟化为逻辑端口,IO端口的应用程序代码中使用逻辑端口资源,而非实际端口资源;并可将逻辑端口资源重映射至实际的被控主板硬件的实际端口资源,能够解决硬件主板IO资源变更所带来的代码需要修改时修改效率低的问题,从而提升硬件主板IO资源变更所带来的代码需要修改时的修改效率。
在一些实施方式中,步骤S120中在PLC应用程序运行的情况下,根据配置得到的所述逻辑端口和被控PLC硬件的物理端口之间的映射关系,实现所述逻辑端口与被控PLC硬件的物理端口之间的数据和功能的映射和传送,包括:增加映射层,根据配置得到的所述逻辑端口和被控PLC硬件的物理端口之间的映射关系,对所述逻辑端口和被控PLC硬件的物理端口之间进行数据传送和功能映射,实现对被控PLC硬件的物理端口的资源配置。
具体地,在PLC的运行时,增加映射层,实现逻辑端口和物理端口之间的数据和功能的映射和传送。该映射层通过处理IO端口映射表进行数据和功能映射。通过在运行时增加映射层,以处理映射关系数据,尽量保证了程序处理的不变性,最大程度简化了程序在不同PLC硬件上移植时端口重新编码的工作,以配置数据驱动。
在一些实施方式中,还包括:对IO端口进行重新配置的过程。
下面结合图4所示本发明的方法中对IO端口进行重新配置的一实施例流程示意图,进一步说明对IO端口进行重新配置的具体过程,可以包括:步骤S210和步骤S220。
步骤S210,在更换所述被控PLC硬件的情况下,或在所述被控PLC硬件的物理端口的资源出现更换的情况下,重新配置所述逻辑端口和更换的被控PLC硬件的物理端口之间的映射关系。
步骤S220,在更换的被控PLC硬件的情况下,根据重新配置得到的所述逻辑端口和更换的被控PLC硬件的物理端口之间的映射关系,实现所述逻辑端口与更换的被控PLC硬件的物理端口之间的数据和功能的映射和传送。
具体地,当更换被控PLC,或被控PLC资源出现变更时,只需在前述步骤3中进行逻辑端口和物理端口的重映射,进行配置关系的变更,刷新IO端口映射表即可,无需改动应用程序代码。使用组态软件编写的项目应用程序,在运行的硬件平台时,通过逻辑端口重映射,可以以少量的组态适配工作节省了改动每个项目的更改总成本。
由此,通过引入逻辑端口和物理端口资源的运行时映射层,实现逻辑IO端口功能至物理端口之间的转发,使得实现不同PLC硬件端口资源的适配只需更改映射表。从而,使端口的映射可以推迟至开发过程中最晚的时刻,不需要一定在应用开发启动时就确定所用的硬件IO资源,便于软/硬件的并行开发。
由于本实施例的方法所实现的处理及功能基本相应于前述PLC组态软件的实施例、原理和实例,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
经大量的试验验证,采用本实施例的技术方案,通过将被控PLC硬件的端口资源虚拟化为逻辑端口,代码中使用逻辑端口资源;引入逻辑端口和物理端口资源的运行时映射层,实现逻辑IO端口功能至物理端口之间的转发;使端口的映射可以推迟至开发过程中最晚的时刻,不需要一定在应用开发启动时就确定所用的硬件IO资源,便于软/硬件的并行开发。
综上,本领域技术人员容易理解的是,在不冲突的前提下,上述各有利方式可以自由地组合、叠加。
以上所述仅为本发明的实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

Claims (13)

1.一种IO端口配置装置,其特征在于,包括:定义单元和映射单元;其中,
所述定义单元,被配置为定义逻辑端口的资源,并使用所述逻辑端口进行变量定义;所述逻辑端口是被控PLC硬件的物理端口的虚拟化端口,所述逻辑端口在PLC应用程序代码中使用所述逻辑端口的资源;
所述映射单元,被配置为配置所述逻辑端口和被控PLC硬件的物理端口之间的映射关系;
所述映射单元,还被配置为在PLC应用程序运行于被控PLC硬件的情况下,根据配置得到的所述逻辑端口和被控PLC硬件的物理端口之间的映射关系,实现所述逻辑端口与被控PLC硬件的物理端口之间的数据和功能的映射和传送。
2.根据权利要求1所述的IO端口配置装置,其特征在于,所述定义单元,定义逻辑端口的资源,包括:
统一定义所述逻辑端口的资源,并使用使用excel导入,或者通过组态软件提供的UI定义;
或者,在应用程序代码中使用时,定义所述逻辑端口的资源的集合,并形成所述逻辑端口的资源的配置表。
3.根据权利要求1所述的IO端口配置装置,其特征在于,所述定义单元,使用所述逻辑端口进行变量定义,包括:
使用所述逻辑端口,在应用程序的ST代码中定义变量。
4.根据权利要求1所述的IO端口配置装置,其特征在于,所述映射单元,配置所述逻辑端口和被控PLC硬件的物理端口之间的映射关系,包括:
使用PLC组态软件提供的逻辑端口与被控PLC硬件的物理端口之间的映射功能和相应U1,对所述逻辑端口与被控PLC硬件的物理端口之间的关系进行增加、删除、修改、查找中的至少一种处理后,形成所述逻辑端口和被控PLC硬件的物理端口之间的映射关系;所述映射关系,包括IO端口映射表。
5.根据权利要求1所述的IO端口配置装置,其特征在于,所述映射单元,根据配置得到的所述逻辑端口和被控PLC硬件的物理端口之间的映射关系,实现所述逻辑端口与被控PLC硬件的物理端口之间的数据和功能的映射和传送,包括:
增加映射层,根据配置得到的所述逻辑端口和被控PLC硬件的物理端口之间的映射关系,对所述逻辑端口和被控PLC硬件的物理端口之间进行数据传送和功能映射,实现对被控PLC硬件的物理端口的资源配置。
6.根据权利要求1至5中任一项所述的IO端口配置装置,其特征在于,还包括:
所述映射单元,还被配置为在更换所述被控PLC硬件的情况下,或在所述被控PLC硬件的物理端口的资源出现更换的情况下,重新配置所述逻辑端口和更换的被控PLC硬件的物理端口之间的映射关系;
所述映射单元,还被配置为在更换的被控PLC硬件的情况下,根据重新配置得到的所述逻辑端口和更换的被控PLC硬件的物理端口之间的映射关系,实现所述逻辑端口与更换的被控PLC硬件的物理端口之间的数据和功能的映射和传送。
7.一种PLC组态软件,其特征在于,包括:设计部分和运行部分;所述设计部分,包括逻辑端口资源管理模块(M1)、物理端口资源管理模块(M2)和映射管理模块(M3);所述运行部分,包括运行时映射模块(R1);
还包括:如权利要求1至6中任一项所述的IO端口配置装置;所述IO端口配置装置,能够使用所述设计部分和所述运行部分实现对被控PLC硬件的IO端口的配置。
8.一种如权利要求7所述的PLC组态软件的IO端口配置方法,其特征在于,包括:
使用所述逻辑端口资源管理模块(M1),定义逻辑端口的资源,并使用所述逻辑端口进行变量定义;所述逻辑端口是被控PLC硬件的物理端口的虚拟化端口,所述逻辑端口在PLC应用程序代码中使用所述逻辑端口的资源;
所述映射单元,具体还被配置为使用所述映射管理模块(M3),配置所述逻辑端口和被控PLC硬件的物理端口之间的映射关系;
所述映射单元,具体还被配置为在PLC应用程序运行于被控PLC硬件的情况下,使用所述运行时映射模块(R1)和所述物理端口资源管理模块(M2),根据配置得到的所述逻辑端口和被控PLC硬件的物理端口之间的映射关系,实现所述逻辑端口与被控PLC硬件的物理端口之间的数据和功能的映射和传送。
9.根据权利要求8所述的IO端口配置方法,其特征在于,定义逻辑端口的资源,包括:
统一定义所述逻辑端口的资源,并使用使用excel导入,或者通过组态软件提供的UI定义;
或者,在应用程序代码中使用时,定义所述逻辑端口的资源的集合,并形成所述逻辑端口的资源的配置表。
10.根据权利要求8所述的IO端口配置方法,其特征在于,使用所述逻辑端口进行变量定义,包括:
使用所述逻辑端口,在应用程序的ST代码中定义变量。
11.根据权利要求8所述的IO端口配置方法,其特征在于,配置所述逻辑端口和被控PLC硬件的物理端口之间的映射关系,包括:
使用PLC组态软件提供的逻辑端口与被控PLC硬件的物理端口之间的映射功能和相应U1,对所述逻辑端口与被控PLC硬件的物理端口之间的关系进行增加、删除、修改、查找中的至少一种处理后,形成所述逻辑端口和被控PLC硬件的物理端口之间的映射关系;所述映射关系,包括IO端口映射表。
12.根据权利要求8所述的IO端口配置方法,其特征在于,根据配置得到的所述逻辑端口和被控PLC硬件的物理端口之间的映射关系,实现所述逻辑端口与被控PLC硬件的物理端口之间的数据和功能的映射和传送,包括:
增加映射层,根据配置得到的所述逻辑端口和被控PLC硬件的物理端口之间的映射关系,对所述逻辑端口和被控PLC硬件的物理端口之间进行数据传送和功能映射,实现对被控PLC硬件的物理端口的资源配置。
13.根据权利要求8至13中任一项所述的IO端口配置方法,其特征在于,还包括:
在更换所述被控PLC硬件的情况下,或在所述被控PLC硬件的物理端口的资源出现更换的情况下,重新配置所述逻辑端口和更换的被控PLC硬件的物理端口之间的映射关系;
在更换的被控PLC硬件的情况下,根据重新配置得到的所述逻辑端口和更换的被控PLC硬件的物理端口之间的映射关系,实现所述逻辑端口与更换的被控PLC硬件的物理端口之间的数据和功能的映射和传送。
CN202011260749.1A 2020-11-12 2020-11-12 一种io端口配置装置、方法和plc组态软件 Pending CN112415943A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011260749.1A CN112415943A (zh) 2020-11-12 2020-11-12 一种io端口配置装置、方法和plc组态软件

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011260749.1A CN112415943A (zh) 2020-11-12 2020-11-12 一种io端口配置装置、方法和plc组态软件

Publications (1)

Publication Number Publication Date
CN112415943A true CN112415943A (zh) 2021-02-26

Family

ID=74830879

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011260749.1A Pending CN112415943A (zh) 2020-11-12 2020-11-12 一种io端口配置装置、方法和plc组态软件

Country Status (1)

Country Link
CN (1) CN112415943A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113612671A (zh) * 2021-08-02 2021-11-05 上海同星智能科技有限公司 总线适配器与通道绑定配置方法、映射管理器及连接系统
CN114257658A (zh) * 2021-12-24 2022-03-29 珠海格力电器股份有限公司 通信协议转换配置方法、通信协议转换方法和相关设备
US12047201B2 (en) 2021-08-02 2024-07-23 Shanghai Tosun Technology Ltd. Binding and configuration method for bus adapter and channel, bus adapter and connection system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5142469A (en) * 1990-03-29 1992-08-25 Ge Fanuc Automation North America, Inc. Method for converting a programmable logic controller hardware configuration and corresponding control program for use on a first programmable logic controller to use on a second programmable logic controller
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
US20120297379A1 (en) * 2011-05-17 2012-11-22 International Business Machines Corporation Vendor-independent resource configuration interface for self-virtualizing input/output device
CN106125664A (zh) * 2016-08-12 2016-11-16 绵阳市维博电子有限责任公司 一种嵌入式plc控制系统
CN107861459A (zh) * 2017-11-09 2018-03-30 山东省计算中心(国家超级计算济南中心) 一种可配置显控一体化的plc控制系统及其控制方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5142469A (en) * 1990-03-29 1992-08-25 Ge Fanuc Automation North America, Inc. Method for converting a programmable logic controller hardware configuration and corresponding control program for use on a first programmable logic controller to use on a second programmable logic controller
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
US20120297379A1 (en) * 2011-05-17 2012-11-22 International Business Machines Corporation Vendor-independent resource configuration interface for self-virtualizing input/output device
CN106125664A (zh) * 2016-08-12 2016-11-16 绵阳市维博电子有限责任公司 一种嵌入式plc控制系统
CN107861459A (zh) * 2017-11-09 2018-03-30 山东省计算中心(国家超级计算济南中心) 一种可配置显控一体化的plc控制系统及其控制方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
束长宝等: "《PLC应用实践》", 31 December 2008 *
郁汉琪等: "《电工电子实训教程》", 30 June 2017 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113612671A (zh) * 2021-08-02 2021-11-05 上海同星智能科技有限公司 总线适配器与通道绑定配置方法、映射管理器及连接系统
CN113612671B (zh) * 2021-08-02 2022-09-06 上海同星智能科技有限公司 总线适配器与通道绑定配置方法、映射管理器及连接系统
WO2023011298A1 (zh) * 2021-08-02 2023-02-09 上海同星智能科技有限公司 总线适配器与通道绑定配置方法、映射管理器及连接系统
US12047201B2 (en) 2021-08-02 2024-07-23 Shanghai Tosun Technology Ltd. Binding and configuration method for bus adapter and channel, bus adapter and connection system
US12047200B2 (en) 2021-08-02 2024-07-23 Shanghai Tosun Technology Ltd. Binding and configuration method for bus adapter and channel and configuration method for mapping table
CN114257658A (zh) * 2021-12-24 2022-03-29 珠海格力电器股份有限公司 通信协议转换配置方法、通信协议转换方法和相关设备

Similar Documents

Publication Publication Date Title
CN112415943A (zh) 一种io端口配置装置、方法和plc组态软件
JP7090657B2 (ja) アプリケーションをアップグレードするための方法、装置、デバイスならびに記憶媒体
US9459850B2 (en) Adaptive cloud aware just-in-time (JIT) compilation
CN109614165B (zh) 一种com组件的多版本并行运行方法和装置
US20100205604A1 (en) Systems and methods for efficiently running multiple instances of multiple applications
WO2019079080A1 (en) USE OF SEMANTIC ANNOTATIONS TO ORDER COMPATIBILITY BEHAVIORS
US20030130980A1 (en) Efficient configuration data migration technique
US20140109045A1 (en) Flexible and run-time-modifiable inclusion of functionality in computer code
CN114089975B (zh) 计算软件的扩展方法、装置、非易失性存储介质及处理器
CN115543224B (zh) 基于zns ssd的文件系统控制方法、装置及设备
CN113835644B (zh) 整机迁移方法、装置、设备及存储介质
CN115291946A (zh) 鸿蒙系统移植方法、装置、电子设备及可读介质
CN112604273B (zh) 数据驱动的游戏系统功能加载方法、设备及存储介质
CN116569141A (zh) 工作流修补
CN117908980A (zh) 基于Kubernetes资源对象的快速配置方法和系统
CN109408226A (zh) 数据处理方法、装置及终端设备
CN106843973B (zh) 一种移植嵌入式系统并在sd卡启动的方法
CN106775956B (zh) Xen虚拟机Fork机制建立方法
CN112256355A (zh) 数据驱动的系统功能加载方法、设备及存储介质
CN116049000A (zh) 环境参数配置方法、装置、设备、存储介质及产品
CN110333870B (zh) Simulink模型变量分配的处理方法、装置及设备
CN111158913A (zh) 一种管理方法、管理装置、电子设备和存储介质
CN113535230B (zh) 一种工程源码动态自适应不同硬件资源的方法及系统
CN109960522A (zh) 一种软件升级方法及装置
CN116126366B (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