CN117908462B - 一种梯形图程序应用装置和方法 - Google Patents
一种梯形图程序应用装置和方法 Download PDFInfo
- Publication number
- CN117908462B CN117908462B CN202410087426.9A CN202410087426A CN117908462B CN 117908462 B CN117908462 B CN 117908462B CN 202410087426 A CN202410087426 A CN 202410087426A CN 117908462 B CN117908462 B CN 117908462B
- Authority
- CN
- China
- Prior art keywords
- file
- ladder diagram
- variable
- input
- module
- 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
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000010586 diagram Methods 0.000 claims abstract description 226
- 238000012545 processing Methods 0.000 claims abstract description 139
- 230000006870 function Effects 0.000 claims description 49
- 230000008569 process Effects 0.000 claims description 45
- 230000006978 adaptation Effects 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 4
- 230000008676 import Effects 0.000 claims description 2
- 238000002054 transplantation Methods 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 4
- 238000013475 authorization Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/056—Programming the PLC
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13004—Programming the plc
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
Abstract
本申请提供一种梯形图程序应用装置和方法。本申请提供的梯形图程序应用装置,应用于飞腾平台,所述梯形图程序应用装置至少包括上位机;上位机用于基于梯形图库在所述飞腾平台上构建目标工程文件,目标工程文件中至少包括一个梯形图,上位机至少包括梯形图库;上位机中至少还包括编译模块,用于根据飞腾平台指令集编译所述目标工程文件。本申请提供的梯形图程序应用装置和方法,一方面,通过将梯形图抽象为统一规范的变量表文件与处理逻辑文件的通用形式,将不同平台的梯形图文件集成在飞腾平台,实现了梯形图在多平台之间的自由传递和处理,可复用性好且梯形图移植的时间成本小;另一方面,实现了在飞腾平台通过梯形图进行PLC编程。
Description
技术领域
本申请涉及梯形图编程技术领域,尤其涉及一种梯形图程序应用装置和方法。
背景技术
作为五种组态语言中的一种,梯形图被广泛应用于PLC中。目前的PLC技术较为纯熟,已经存在了在其他平台开发PLC的先例。
飞腾平台为基于ARM指令集授权的代表性国产芯片,在ARM8的授权基础上,飞腾平台的CPU逐渐形成了自身的指令集。然而,现有的支持梯形图编程的PLC尚未与飞腾平台进行适配,属于国产芯片盲区;而且遗存工业多采用梯形图编程,在梯形图的移植时,因为不同公司的产品对于梯形图的处理方式不同,导致移植多基于人工处理十分耗时。因此,梯形图在飞腾平台的可复用性差、移植的时间成本大,且能够进行梯形图编程的平台少,梯形图本身的可移植性也较差。
发明内容
有鉴于此,本申请提供一种梯形图程序应用装置和方法,用以实现在飞腾平台通过梯形图进行PLC编程以及减少梯形图移植的时间成本。
具体地,本申请是通过如下技术方案实现的:
本申请第一方面提供一种梯形图程序应用装置,所述梯形图程序应用装置应用于飞腾平台,所述梯形图程序应用装置至少包括上位机;其中,
所述上位机用于基于梯形图库在所述飞腾平台上构建目标工程文件,所述目标工程文件中至少包括一个梯形图,所述上位机至少包括梯形图库;
其中,所述梯形图库包括多个梯形图,所述梯形图库中存储的每个梯形图至少包括关联存储的外部变量文件和处理逻辑文件,其中,外部变量文件用于存储对应梯形图中的变量信息,所述变量信息至少包括输入区变量和输出区变量,所述输入区变量和所述输出区变量采用相同的存储地址,存储在同一内存空间中,读写请求根据访问地址和权限标识对同一存储地址中的所述输入区变量或所述输出区变量进行读写控制;
处理逻辑文件用于存储对应梯形图中的处理逻辑;
所述上位机中至少还包括编译模块,用于根据飞腾平台指令集编译所述目标工程文件,其中,编译所述目标工程文件至少包括匹配所述目标工程文件中的梯形图外部变量文件和处理逻辑文件,根据匹配到的文件搜索编译指令对应的寄存器,利用寄存器编译所述匹配到的文件。
可选的,所述输入区变量具有第一标识符,所述输出区变量具有第二标识符,所述读写请求中至少包括访问地址、权限标识;
所述读写请求根据访问地址和权限标识对同一存储地址中的所述输入区变量或所述输出区变量进行读写控制,具体包括:
根据所述访问地址确定目标内存区域;
匹配所述权限标识与所述第一标识符和所述第二标识符;
若所述权限标识与所述第一标识符匹配,对所述输入区变量进行读写控制;
若所述权限标识与所述第二标识符匹配,对所述输出区变量进行读写控制。
可选的,所述读写请求根据访问地址和权限标识对同一存储地址中的所述输入区变量或所述输出区变量进行读写控制,具体包括:
若所述读写请求为读请求,读所述访问地址对应的内容空间中的所述输入区变量或所述输出区变量;
若所述读写请求为写请求,所述读写请求至少还包括写入的变量信息,将所述访问地址对应的内容空间中的所述输入区变量或所述输出区变量替换为所述读写请求中写入的变量信息。
可选的,每个梯形图为一个功能模块,一个功能模块中包括一个或多个元器件,处理逻辑为梯形图中一个或多个数据处理函数;
其中,所述处理逻辑文件用于存储对应梯形图中的处理逻辑,具体包括:
追踪梯形图中各个元器件的输入、输出数据,形成数据处理过程;
根据数据处理过程确定实现对应功能的数据处理函数,每一个数据处理过程与一个或多个数据处理函数对应;
根据数据处理过程的逻辑顺序确定数据处理函数的排列顺序,形成处理逻辑文件。
可选的,所述上位机还包括适配模块和多种应用接口,每种应用接口对应的梯形图文件格式和存储的文件不同;
所述适配模块用于识别外界输入的梯形图的文件格式,基于外界输入的梯形图的文件格式匹配对应的目标应用接口,基于所述目标应用接口从存储的文件中提取变量信息和逻辑处理过程,形成外界输入的梯形图对应的外部变量文件和处理逻辑文件,识别并存储所述外界输入的梯形图。
可选的,所述识别并存储所述外界输入的梯形图,具体包括:
所述目标应用接口抽取外界输入的梯形图的输入变量信息和输出变量信息,分别创建输入变量信息的第三标识和输出变量信息的第四标识,为外部变量文件分配一个存储地址,将所述外界输入的梯形图的输入变量信息、第三标识和所述外界输入的梯形图的输出变量信息、第四标识存储至分配的存储地址,以形成外部变量文件;
根据所述外界输入的梯形图的数据处理过程,匹配实现对应功能的数据处理函数,根据匹配到的数据处理函数形成处理逻辑文件;
存储外界输入的梯形图对应的外部变量文件和处理逻辑文件,以存储外界输入的梯形图。
可选的,所述梯形图库中存储的每个梯形图至少包括关联存储的外部变量文件和处理逻辑文件,具体包括:
所述梯形图库中的每个梯形图对应的外部变量文件至少包括变量信息,变量信息至少包括变量的名称、类型、值以及属性;
以变量表的形式存储变量信息,形成与梯形图对应的外部变量文件;
针对所述梯形图库中的每个梯形图,根据数据处理过程,匹配实现对应功能的数据处理函数,根据匹配到的数据处理函数形成处理逻辑,以工程文件的形式存储抽取得到的处理逻辑;
关联所述外部变量文件和所述工程文件。
可选的,所述上位机,还包括编写模块、检测模块和下装模块;其中,
所述编写模块,用于响应于用户的选择利用梯形图库搭建目标工程文件,所述编写模块与编译模块连接;
所述检测模块,用于模拟所述搭建好的目标工程文件的运行过程和结果,以检测程序的正确性,所述检测模块与下装模块连接;
所述下装模块,用于将编译目标工程文件获得的可执行的二进制文件导入到实际的PLC设备,以对程序进行实时修正。
可选的,所述梯形图程序应用装置还包括下位机,所述下位机,用于在PLC设备上接收并处理上位机编译目标工程文件获得的可执行的二进制文件;所述下位机包括执行模块、调试模块和上装模块;其中,
所述执行模块,用于接收并解析可执行的二进制文件;
所述调试模块,用于在PLC设备中模拟所述二进制文件的运行过程,保证程序运行的准确性;
所述上装模块,用于将PLC设备上导出的二进制文件重新上传到所述上位机以进行重新编写和编译。
本申请第二方面提供一种梯形图程序应用方法,所述梯形图程序应用方法应用于飞腾平台,所述方法包括:
基于梯形图库在所述飞腾平台上构建目标工程文件,所述目标工程文件中至少包括一个梯形图,所述上位机至少包括梯形图库;
其中,所述梯形图库包括多个梯形图,所述梯形图库中存储的每个梯形图至少包括关联存储的外部变量文件和处理逻辑文件,其中,外部变量文件用于存储对应梯形图中的变量信息,所述变量信息至少包括输入区变量和输出区变量,所述输入区变量和所述输出区变量采用相同的存储地址,存储在同一内存空间中,读写请求根据访问地址和权限标识对同一存储地址中的所述输入区变量或所述输出区变量进行读写控制;处理逻辑文件用于存储对应梯形图中的处理逻辑;
匹配所述目标工程文件中的梯形图外部变量文件和处理逻辑文件,根据匹配到的文件搜索编译指令对应的寄存器,利用寄存器编译所述匹配到的文件。
本申请提供的梯形图程序应用装置和方法,所述梯形图程序应用装置应用于飞腾平台,所述梯形图程序应用装置至少包括上位机;其中,所述上位机用于基于梯形图库在所述飞腾平台上构建目标工程文件,所述目标工程文件中至少包括一个梯形图,所述上位机至少包括梯形图库;其中,所述梯形图库包括多个梯形图,所述梯形图库中存储的每个梯形图至少包括关联存储的外部变量文件和处理逻辑文件,其中,外部变量文件用于存储对应梯形图中的变量信息,所述变量信息至少包括输入区变量和输出区变量,所述输入区变量和所述输出区变量采用相同的存储地址,存储在同一内存空间中,读写请求根据访问地址和权限标识对同一存储地址中的所述输入区变量或所述输出区变量进行读写控制;处理逻辑文件用于存储对应梯形图中的处理逻辑;所述上位机中至少还包括编译模块,用于根据飞腾平台指令集编译所述目标工程文件,其中,编译所述目标工程文件至少包括匹配所述目标工程文件中的梯形图外部变量文件和处理逻辑文件,根据匹配到的文件搜索编译指令对应的寄存器,利用寄存器编译所述匹配到的文件。一方面,通过将梯形图抽象为统一规范的变量表文件与处理逻辑文件的通用形式,将不同平台的梯形图文件集成在飞腾平台,实现了梯形图在多平台之间的自由传递和处理,可复用性好且梯形图移植的时间成本小;另一方面,根据各个平台可以识别的通用文件格式和飞腾平台的指令集和对应的寄存器编译对应的文件,从而实现了在飞腾平台通过梯形图进行PLC编程。
附图说明
图1为本申请提供的梯形图程序应用装置实施例一的结构示意图;
图2为本申请一示例性实施例示出的进程映像的示意图;
图3为本申请一示例性实施例示出的梯形图程序应用装置的架构图;
图4为本申请一示例性实施例示出的上位机的界面图;
图5为本申请提供的梯形图程序应用方法实施例一的流程图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请提供一种梯形图程序应用装置和方法,用以实现在飞腾平台通过梯形图进行PLC编程以及减少梯形图移植的时间成本。
本申请提供的梯形图程序应用装置和方法,所述梯形图程序应用装置应用于飞腾平台,所述梯形图程序应用装置至少包括上位机;其中,所述上位机用于基于梯形图库在所述飞腾平台上构建目标工程文件,所述目标工程文件中至少包括一个梯形图,所述上位机至少包括梯形图库;其中,所述梯形图库包括多个梯形图,所述梯形图库中存储的每个梯形图至少包括关联存储的外部变量文件和处理逻辑文件,其中,外部变量文件用于存储对应梯形图中的变量信息,所述变量信息至少包括输入区变量和输出区变量,所述输入区变量和所述输出区变量采用相同的存储地址,存储在同一内存空间中,读写请求根据访问地址和权限标识对同一存储地址中的所述输入区变量或所述输出区变量进行读写控制;处理逻辑文件用于存储对应梯形图中的处理逻辑;所述上位机中至少还包括编译模块,用于根据飞腾平台指令集编译所述目标工程文件,其中,编译所述目标工程文件至少包括匹配所述目标工程文件中的梯形图外部变量文件和处理逻辑文件,根据匹配到的文件搜索编译指令对应的寄存器,利用寄存器编译所述匹配到的文件。一方面,通过将梯形图抽象为统一规范的变量表文件与处理逻辑文件的通用形式,将不同平台的梯形图文件集成在飞腾平台,实现了梯形图在多平台之间的自由传递和处理,可复用性好且梯形图移植的时间成本小;另一方面,根据各个平台可以识别的通用文件格式和飞腾平台的指令集和对应的寄存器编译对应的文件,从而实现了在飞腾平台通过梯形图进行PLC编程。
下面给出具体的实施例,用以详细介绍本申请的技术方案。
图1为本申请提供的梯形图程序应用装置实施例一的结构示意图。请参照图1,本实施例提供的装置,所述梯形图程序应用装置应用于飞腾平台,所述梯形图程序应用装置至少包括上位机;其中,
所述上位机用于基于梯形图库在所述飞腾平台上构建目标工程文件,所述目标工程文件中至少包括一个梯形图,所述上位机至少包括梯形图库;
其中,所述梯形图库包括多个梯形图,所述梯形图库中存储的每个梯形图至少包括关联存储的外部变量文件和处理逻辑文件,其中,外部变量文件用于存储对应梯形图中的变量信息,所述变量信息至少包括输入区变量和输出区变量,所述输入区变量和所述输出区变量采用相同的存储地址,存储在同一内存空间中,读写请求根据访问地址和权限标识对同一存储地址中的所述输入区变量或所述输出区变量进行读写控制;
处理逻辑文件用于存储对应梯形图中的处理逻辑;
优选的,所述上位机包括内存,根据飞腾平台的存储器容量修改上位机中的IEC内存分配,修改后内存至少包括数据区内存和程序区内存,分别用于存储数据文件和程序代码。
所述上位机中至少还包括编译模块,用于根据飞腾平台指令集编译所述目标工程文件,其中,编译所述目标工程文件至少包括匹配所述目标工程文件中的梯形图外部变量文件和处理逻辑文件,根据匹配到的文件搜索编译指令对应的寄存器,利用寄存器编译所述匹配到的文件。
具体的,所述编译模块,用于将所述编写好的程序编译成机器语言,进而将机器语言编译成可执行的二进制文件,并传递给下位机。
为了使飞腾平台的指令集能够编译上述步骤生成的通用的外部变量文件和处理逻辑文件,优选的,本发明提供了编译优化。具体来说,(1)针对飞腾ARM V8指令集、CPU、寄存器进行编译器后端优化;(2)基于存储器容量修改IEC内存分配;(3)基于NVSRAM掉电保持驱动改进传统的以文件方式实现掉电保持功能。
具体的,飞腾ARMV8指令集包含一系列指令,飞腾ARMV8指令集的形式包括以下特征:(1)精简指令集:ARM架构具备简化的指令集,提供了高效的指令执行,有助于提高性能和降低功耗;(2)64位架构:飞腾ARM V8采用64位指令集,支持更大的内存地址空间和更高的数据处理能力;(3)SIMD(Single Instruction,Multiple Data,单指令多数据流)指令:提供对同一指令执行多个数据操作的能力,有助于并行处理数据,提高多媒体和图形应用的性能;(4)虚拟化支持:ARM V8架构具有强大的虚拟化支持,使其在服务器和云计算环境中表现出色;(5)安全性增强:ARM V8引入了一些安全性增强特性,有助于保护系统免受各种攻击和威胁。
需要说明的是,可根据寄存器和所述匹配到的文件的文件类型,使用相应的命令进行编译,若寄存器需要其他选项或参数,可根据实际需要进行调整。
具体来说,梯形图的编译分为上位机编译和下位机执行。在上位机编译时,基于上述通用的外部变量文件和处理逻辑文件和IEC61131-3标准,将梯形图编译为IL指令表语言,作为上位机的通用中间代码,通用中间代码为各平台通用的,通用中间代码由长度为1字节的操作码组成,不同指令的操作码不同,不同指令的操作码为一个或多个;其中,所述通用中间代码为硬件独立,与通信软件和操作系统无关,可在不同的目标系统上执行,确保可移植性。
进一步的,下位机执行程序代码时,下位机至少包括内存存取模块和U-code解释器,内存存取模块与飞腾平台通讯连接,用于对数据进行发送和读取,对可执行代码进行存取,内存存取模块将数据和/或代码转换为标准格式,与U-code解释器通讯,内存存取模块在下位机中是独立的,在进行平台移植时仅需要修改该模块的内容,不需要修改U-code解释器等其他内核函数。为了与飞腾平台配合使用,修改内存存取模块为小端字节顺序,读取可执行的通用中间代码后发送至U-code解释器,U-code解释器用于对通用中间代码进行解释执行,确定通用中间代码中每条操作码的类型,基于所述类型确定执行函数,U-code以堆栈的方式执行所述执行函数。具体来说:首先加载指令把所有指令入栈,其次在指令执行前结合栈中的第一个和第二个元素(根据指令类型元素个数有所不同),最后操作的结果被返回栈。
下位机执行梯形图应用程序以实现目标工程文件对应的功能。为了实现梯形图应用程序与外部变量通信,下位机中设有至少一个进程映像,图2为本申请一示例性实施例示出的进程映像的示意图。请参照图2,进程映像用于处理外部变量。其中,进程映像中至少包括:段头、第一存储空间、第二存储空间、第三存储空间和第四存储空间。第一存储空间用于物理输入(%I)的存储,第二存储空间用于物理输出(%Q)的存储,第三存储空间用于标识符(%M)的存储,第四存储空间gaps为不用的存储空间。
进一步的,下位机设有两个共享内存区,包括I区和Q区,I区用于存储物理输入数据,Q区用于存储物理输出数据,设有第一接口和第二接口,分别用于使进程映像与I区和Q区内存变量相联系,可选的,第一接口为EnvReadProcImg接口,第二接口为EnvWriteProcImg接口,第一接口在程序每次循环之前调用,负责读取共享内存区I区(即物理输入),并写入进程映像的输入区;第二接口在程序每次循环之后调用,负责把进程映像的输出区写入到共享内存Q区(即物理输出)。作为一种可选的实施例,根据飞腾平台的存储要求,设置I区和Q区大小。
作为一种可选的实施例,为了下载外界输入的梯形图,本发明还提供了串口适配模块,优选的,可以为RS485串口驱动适配模块,所述串口适配模块用于根据下载执行切换串口的功能,串口的功能至少包括梯形图程序下载功能和MODBUS RTU通讯协议的串口驱动功能,两个功能能够复用一个串口,充分发挥了硬件的能力,提高了硬件的利用率;作为一种可选的实施例,本发明还能够通过共享内存方式实现梯形图程序和本地IO、远程IO的数据通信;硬件的适配还包括通讯协议适配,包括modbus TCP slave协议、RTU slave协议适配。
可选的,所述上位机还包括适配模块和多种应用接口,每种应用接口对应的梯形图文件格式和存储的文件不同;
所述适配模块用于识别外界输入的梯形图的文件格式,基于外界输入的梯形图的文件格式匹配对应的目标应用接口,基于所述目标应用接口从存储的文件中提取变量信息和逻辑处理过程,形成外界输入的梯形图对应的外部变量文件和处理逻辑文件,识别并存储所述外界输入的梯形图。
具体的,应用接口与梯形图的文件格式是一一匹配的。换言之,每种应用接口与一个梯形图相匹配,以识别并存储该梯形图。
可选的,每个梯形图为一个功能模块,一个功能模块中包括一个或多个元器件,处理逻辑为梯形图中一个或多个数据处理函数;
其中,所述处理逻辑文件用于存储对应梯形图中的处理逻辑,具体包括:
追踪梯形图中各个元器件的输入、输出数据,形成数据处理过程;
根据数据处理过程确定实现对应功能的数据处理函数,每一个数据处理过程与一个或多个数据处理函数对应;
根据数据处理过程的逻辑顺序确定数据处理函数的排列顺序,形成处理逻辑文件。
具体的,每个数据处理过程与一个数据处理函数或多个数据处理函数对应,可根据数据处理过程的逻辑顺序确定与之对应的数据处理函数的排列顺序,将数据处理函数按照排列顺序组合起来形成处理逻辑文件。
可选的,所述识别并存储所述外界输入的梯形图,具体包括:
所述目标应用接口抽取外界输入的梯形图的输入变量信息和输出变量信息,分别创建输入变量信息的第三标识和输出变量信息的第四标识,为外部变量文件分配一个存储地址,将所述外界输入的梯形图的输入变量信息、第三标识和所述外界输入的梯形图的输出变量信息、第四标识存储至分配的存储地址,以形成外部变量文件;
根据所述外界输入的梯形图的数据处理过程,匹配实现对应功能的数据处理函数,根据匹配到的数据处理函数形成处理逻辑文件;
存储外界输入的梯形图对应的外部变量文件和处理逻辑文件,以存储外界输入的梯形图。
具体的,将外界输入的梯形图的输入变量信息和输出变量信息作为与梯形图对应的外部变量文件进行存储,将外界输入的梯形图的数据处理工程作为与梯形图对应的处理逻辑文件进行存储。
可选的,所述梯形图库中存储的每个梯形图至少包括关联存储的外部变量文件和处理逻辑文件,具体包括:
所述梯形图库中的每个梯形图对应的外部变量文件至少包括变量信息,变量信息至少包括变量的名称、类型、值以及属性;
以变量表的形式存储变量信息,形成与梯形图对应的外部变量文件;
针对所述梯形图库中的每个梯形图,根据数据处理过程,匹配实现对应功能的数据处理函数,根据匹配到的数据处理函数形成处理逻辑,以工程文件的形式存储抽取得到的处理逻辑;
关联所述外部变量文件和所述工程文件。
具体的,将每个梯形图对应的外部变量文件和工程文件关联起来,以方便后续匹配对应的目标应用接口。
可选的,所述输入区变量具有第一标识符,所述输出区变量具有第二标识符,所述读写请求中至少包括访问地址、权限标识;
所述读写请求根据访问地址和权限标识对同一存储地址中的所述输入区变量或所述输出区变量进行读写控制,具体包括:
根据所述访问地址确定目标内存区域;
匹配所述权限标识与所述第一标识符和所述第二标识符;
若所述权限标识与所述第一标识符匹配,对所述输入区变量进行读写控制;
若所述权限标识与所述第二标识符匹配,对所述输出区变量进行读写控制。
可选的,所述读写请求根据访问地址和权限标识对同一存储地址中的所述输入区变量或所述输出区变量进行读写控制,具体包括:
若所述读写请求为读请求,读所述访问地址对应的内容空间中的所述输入区变量或所述输出区变量;
若所述读写请求为写请求,所述读写请求至少还包括写入的变量信息,将所述访问地址对应的内容空间中的所述输入区变量或所述输出区变量替换为所述读写请求中写入的变量信息。
可选的,所述上位机,还包括编写模块、检测模块和下装模块;其中,
所述编写模块,用于响应于用户的选择利用梯形图库搭建目标工程文件,所述编写模块与编译模块连接;
所述检测模块,用于模拟所述搭建好的目标工程文件的运行过程和结果,以检测程序的正确性,所述检测模块与下装模块连接;
所述下装模块,用于将编译目标工程文件获得的可执行的二进制文件导入到实际的PLC设备,以对程序进行实时修正。
具体的,图3为本申请一示例性实施例示出的梯形图程序应用装置的架构图。请参照图3,在编写模块,可利用梯形图直观的按照预期绘制程序。绘制好的每一个工程就对应一个实际的控制程序,可通过不同的工程实现不同的目的。所述上位机同时支持32位操作系统与64位操作系统,本申请对于32位操作系统与64位操作系统建立了不同的操作系统的配置,本申请中选用64位操作系统进行说明。
进一步地,在检测模块,可检测PLC设备或上位机本身对程序的执行结果,根据检索结果对编写的程序进行调整优化。利用PLC设备或仿真设备可以对PLC的运行过程和结果进行模拟,初步检测程序的正确性。
进一步地,在下装模块,可将编译好的二进制文件导入到实际的PLC设备中,并通过上位机观察PLC设备的运行情况,以对程序进行实时修正。图4为本申请一示例性实施例示出的上位机的界面图。
可选的,所述梯形图程序应用装置还包括下位机,所述下位机优选的可以为PLC设备,在PLC设备上接收并处理上位机编译目标工程文件获得的可执行的二进制文件;所述下位机包括执行模块、调试模块和上装模块;其中,
所述执行模块,用于接收并解析可执行的二进制文件;
所述调试模块,用于在PLC设备中模拟所述二进制文件的运行过程,保证程序运行的准确性;
所述上装模块,用于将PLC设备上导出的二进制文件重新上传到所述上位机以进行重新编写和编译。
具体的,请继续参照图3,所述调试模块,包括IO模块和PN通讯模块;在IO模块中,IO操作指的是获取设备的输入以及在运算后向设备输出。在程序的逻辑部分中包括形式上的模拟量输入输出变量及其在操作系统的地址。而实际的数字量输入输出则通过IO模块进行处理。在PLC设备上包含多个IO模块,每个IO模块都对应着多个数字量的输入输出点。通过这些IO模块PLC设备可以获取外部的输入以向外部机器输出。在PLC设备中存在一个地址变量转换表,可以将程序中的模拟量地址与实际的数字量地址进行映射保证程序运行的准确性。
在PN通讯模块中,PN通讯指的是利用ProfiNet协议进行主站和从站的通讯。针对于IO操作从站负责收集输入输出信息,而总站除少部分IO外主要负责程序的运行。而主站与从站的同行则是在下位机执行。PN通讯在最初作为一个独立的模块存在,后为保证实时性以及可靠性,其作为一部分直接嵌入在了下位机中。
需要说明的是,所述上装模块在实际情况下多为现场调试阶段使用。
本实施例提供的梯形图程序应用装置,所述梯形图程序应用装置应用于飞腾平台,所述梯形图程序应用装置至少包括上位机;其中,所述上位机用于基于梯形图库在所述飞腾平台上构建目标工程文件,所述目标工程文件中至少包括一个梯形图,所述上位机至少包括梯形图库;其中,所述梯形图库包括多个梯形图,所述梯形图库中存储的每个梯形图至少包括关联存储的外部变量文件和处理逻辑文件,其中,外部变量文件用于存储对应梯形图中的变量信息,所述变量信息至少包括输入区变量和输出区变量,所述输入区变量和所述输出区变量采用相同的存储地址,存储在同一内存空间中,读写请求根据访问地址和权限标识对同一存储地址中的所述输入区变量或所述输出区变量进行读写控制;处理逻辑文件用于存储对应梯形图中的处理逻辑;所述上位机中至少还包括编译模块,用于根据飞腾平台指令集编译所述目标工程文件,其中,编译所述目标工程文件至少包括匹配所述目标工程文件中的梯形图外部变量文件和处理逻辑文件,根据匹配到的文件搜索编译指令对应的寄存器,利用寄存器编译所述匹配到的文件。一方面,通过将梯形图抽象为统一规范的变量表文件与处理逻辑文件的通用形式,将不同平台的梯形图文件集成在飞腾平台,实现了梯形图在多平台之间的自由传递和处理,可复用性好且梯形图移植的时间成本小;另一方面,根据各个平台可以识别的通用文件格式和飞腾平台的指令集和对应的寄存器编译对应的文件,从而实现了在飞腾平台通过梯形图进行PLC编程。
图5为本申请提供的梯形图程序应用方法实施例一的流程图。请参照图5,本实施例提供的方法,所述梯形图程序应用方法应用于飞腾平台,所述方法包括:
S501、基于梯形图库在所述飞腾平台上构建目标工程文件,所述目标工程文件中至少包括一个梯形图,所述上位机至少包括梯形图库。
其中,所述梯形图库包括多个梯形图,所述梯形图库中存储的每个梯形图至少包括关联存储的外部变量文件和处理逻辑文件,其中,外部变量文件用于存储对应梯形图中的变量信息,所述变量信息至少包括输入区变量和输出区变量,所述输入区变量和所述输出区变量采用相同的存储地址,存储在同一内存空间中,读写请求根据访问地址和权限标识对同一存储地址中的所述输入区变量或所述输出区变量进行读写控制;处理逻辑文件用于存储对应梯形图中的处理逻辑。
具体的,可通过对一个或多个元器件进行组合和封装,创建出针对于某些特定功能的可复用的梯形图。
在一可能的实现方式中,所述梯形图还可以通过外部导入的方式获得,在导入时,将梯形图抽象为统一规范的外部变量文件和处理逻辑文件的通用形式。其中,外部变量文件用于存储梯形图中的变量信息,处理逻辑文件用于存储梯形图中的处理逻辑。
S502、匹配所述目标工程文件中的梯形图外部变量文件和处理逻辑文件,根据匹配到的文件搜索编译指令对应的寄存器,利用寄存器编译所述匹配到的文件。
具体实现时,可通过搭载在飞腾平台上的寄存器来编译所述目标工程文件,根据寄存器和所述目标工程文件的文件类型,使用相应的命令进行编译,成功编译后得到可执行的二进制文件。
本实施例提供的梯形图程序应用方法,所述梯形图程序应用方法应用于飞腾平台,所述梯形图程序应用装置至少包括上位机;其中,所述上位机用于基于梯形图库在所述飞腾平台上构建目标工程文件,所述目标工程文件中至少包括一个梯形图,所述上位机至少包括梯形图库;其中,所述梯形图库包括多个梯形图,所述梯形图库中存储的每个梯形图至少包括关联存储的外部变量文件和处理逻辑文件,其中,外部变量文件用于存储对应梯形图中的变量信息,所述变量信息至少包括输入区变量和输出区变量,所述输入区变量和所述输出区变量采用相同的存储地址,存储在同一内存空间中,读写请求根据访问地址和权限标识对同一存储地址中的所述输入区变量或所述输出区变量进行读写控制;处理逻辑文件用于存储对应梯形图中的处理逻辑;所述上位机中至少还包括编译模块,用于根据飞腾平台指令集编译所述目标工程文件,其中,编译所述目标工程文件至少包括匹配所述目标工程文件中的梯形图外部变量文件和处理逻辑文件,根据匹配到的文件搜索编译指令对应的寄存器,利用寄存器编译所述匹配到的文件。一方面,通过将梯形图抽象为统一规范的变量表文件与处理逻辑文件的通用形式,将不同平台的梯形图文件集成在飞腾平台,实现了梯形图在多平台之间的自由传递和处理,可复用性好且梯形图移植的时间成本小;另一方面,根据各个平台可以识别的通用文件格式和飞腾平台的指令集和对应的寄存器编译对应的文件,从而实现了在飞腾平台通过梯形图进行PLC编程。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (9)
1.一种梯形图程序应用装置,其特征在于,所述梯形图程序应用装置应用于飞腾平台,所述梯形图程序应用装置至少包括上位机;其中,
所述上位机用于基于梯形图库在所述飞腾平台上构建目标工程文件,所述目标工程文件中至少包括一个梯形图,所述上位机至少包括梯形图库;
其中,所述梯形图库包括多个梯形图,所述梯形图库中存储的每个梯形图至少包括关联存储的外部变量文件和处理逻辑文件,其中,外部变量文件用于存储对应梯形图中的变量信息,所述变量信息至少包括输入区变量和输出区变量,所述输入区变量和所述输出区变量采用相同的存储地址,存储在同一内存空间中,读写请求根据访问地址和权限标识对同一存储地址中的所述输入区变量或所述输出区变量进行读写控制;
处理逻辑文件用于存储对应梯形图中的处理逻辑;
所述上位机中至少还包括编译模块,用于根据飞腾平台指令集编译所述目标工程文件,其中,编译所述目标工程文件至少包括匹配所述目标工程文件中的梯形图外部变量文件和处理逻辑文件,根据匹配到的文件搜索编译指令对应的寄存器,利用寄存器编译所述匹配到的文件;
所述上位机还包括适配模块和多种应用接口,每种应用接口对应的梯形图文件格式和存储的文件不同;
所述适配模块用于识别外界输入的梯形图的文件格式,基于外界输入的梯形图的文件格式匹配对应的目标应用接口,基于所述目标应用接口从存储的文件中提取变量信息和逻辑处理过程,形成外界输入的梯形图对应的外部变量文件和处理逻辑文件,识别并存储所述外界输入的梯形图。
2.根据权利要求1所述的装置,其特征在于,
所述输入区变量具有第一标识符,所述输出区变量具有第二标识符,所述读写请求中至少包括访问地址、权限标识;
所述读写请求根据访问地址和权限标识对同一存储地址中的所述输入区变量或所述输出区变量进行读写控制,具体包括:
根据所述访问地址确定目标内存区域;
匹配所述权限标识与所述第一标识符和所述第二标识符;
若所述权限标识与所述第一标识符匹配,对所述输入区变量进行读写控制;
若所述权限标识与所述第二标识符匹配,对所述输出区变量进行读写控制。
3.根据权利要求1所述的装置,其特征在于,所述读写请求根据访问地址和权限标识对同一存储地址中的所述输入区变量或所述输出区变量进行读写控制,具体包括:
若所述读写请求为读请求,读所述访问地址对应的内容空间中的所述输入区变量或所述输出区变量;
若所述读写请求为写请求,所述读写请求至少还包括写入的变量信息,将所述访问地址对应的内容空间中的所述输入区变量或所述输出区变量替换为所述读写请求中写入的变量信息。
4.根据权利要求1所述的装置,其特征在于,每个梯形图为一个功能模块,一个功能模块中包括一个或多个元器件,处理逻辑为梯形图中一个或多个数据处理函数;
其中,所述处理逻辑文件用于存储对应梯形图中的处理逻辑,具体包括:
追踪梯形图中各个元器件的输入、输出数据,形成数据处理过程;
根据数据处理过程确定实现对应功能的数据处理函数,每一个数据处理过程与一个或多个数据处理函数对应;
根据数据处理过程的逻辑顺序确定数据处理函数的排列顺序,形成处理逻辑文件。
5.根据权利要求1所述的装置,其特征在于,所述识别并存储所述外界输入的梯形图,具体包括:
所述目标应用接口抽取外界输入的梯形图的输入变量信息和输出变量信息,分别创建输入变量信息的第三标识和输出变量信息的第四标识,为外部变量文件分配一个存储地址,将所述外界输入的梯形图的输入变量信息、第三标识和所述外界输入的梯形图的输出变量信息、第四标识存储至分配的存储地址,以形成外部变量文件;
根据所述外界输入的梯形图的数据处理过程,匹配实现对应功能的数据处理函数,根据匹配到的数据处理函数形成处理逻辑文件;
存储外界输入的梯形图对应的外部变量文件和处理逻辑文件,以存储外界输入的梯形图。
6.根据权利要求1所述的装置,所述梯形图库中存储的每个梯形图至少包括关联存储的外部变量文件和处理逻辑文件,具体包括:
所述梯形图库中的每个梯形图对应的外部变量文件至少包括变量信息,变量信息至少包括变量的名称、类型、值以及属性;
以变量表的形式存储变量信息,形成与梯形图对应的外部变量文件;
针对所述梯形图库中的每个梯形图,根据数据处理过程,匹配实现对应功能的数据处理函数,根据匹配到的数据处理函数形成处理逻辑,以工程文件的形式存储抽取得到的处理逻辑;
关联所述外部变量文件和所述工程文件。
7.根据权利要求1所述的装置,其特征在于,所述上位机,还包括编写模块、检测模块和下装模块;其中,
所述编写模块,用于响应于用户的选择利用梯形图库搭建目标工程文件,所述编写模块与编译模块连接;
所述检测模块,用于模拟搭建好的目标工程文件的运行过程和结果,以检测程序的正确性,所述检测模块与下装模块连接;
所述下装模块,用于将编译目标工程文件获得的可执行的二进制文件导入到实际的PLC设备,以对程序进行实时修正。
8.根据权利要求1所述的装置,其特征在于,所述梯形图程序应用装置还包括下位机,所述下位机,用于在PLC设备上接收并处理上位机编译目标工程文件获得的可执行的二进制文件;所述下位机包括执行模块、调试模块和上装模块;其中,
所述执行模块,用于接收并解析可执行的二进制文件;
所述调试模块,用于在PLC设备中模拟所述二进制文件的运行过程,保证程序运行的准确性;
所述上装模块,用于将PLC设备上导出的二进制文件重新上传到所述上位机以进行重新编写和编译。
9.一种梯形图程序应用方法,其特征在于,所述梯形图程序应用方法应用于飞腾平台,所述方法包括:
基于梯形图库在所述飞腾平台上构建目标工程文件,所述目标工程文件中至少包括一个梯形图,上位机至少包括梯形图库、适配模块和多种应用接口,每种应用接口对应的梯形图文件格式和存储的文件不同;
所述适配模块用于识别外界输入的梯形图的文件格式,基于外界输入的梯形图的文件格式匹配对应的目标应用接口,基于所述目标应用接口从存储的文件中提取变量信息和逻辑处理过程,形成外界输入的梯形图对应的外部变量文件和处理逻辑文件,识别并存储所述外界输入的梯形图;
其中,所述梯形图库包括多个梯形图,所述梯形图库中存储的每个梯形图至少包括关联存储的外部变量文件和处理逻辑文件,其中,外部变量文件用于存储对应梯形图中的变量信息,所述变量信息至少包括输入区变量和输出区变量,所述输入区变量和所述输出区变量采用相同的存储地址,存储在同一内存空间中,读写请求根据访问地址和权限标识对同一存储地址中的所述输入区变量或所述输出区变量进行读写控制;处理逻辑文件用于存储对应梯形图中的处理逻辑;
匹配所述目标工程文件中的梯形图外部变量文件和处理逻辑文件,根据匹配到的文件搜索编译指令对应的寄存器,利用寄存器编译所述匹配到的文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410087426.9A CN117908462B (zh) | 2024-01-22 | 2024-01-22 | 一种梯形图程序应用装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410087426.9A CN117908462B (zh) | 2024-01-22 | 2024-01-22 | 一种梯形图程序应用装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117908462A CN117908462A (zh) | 2024-04-19 |
CN117908462B true CN117908462B (zh) | 2025-02-18 |
Family
ID=90696569
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410087426.9A Active CN117908462B (zh) | 2024-01-22 | 2024-01-22 | 一种梯形图程序应用装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117908462B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104731022A (zh) * | 2013-12-20 | 2015-06-24 | 欧姆龙株式会社 | 控制单元、输出控制方法和程序 |
CN114721325A (zh) * | 2022-05-11 | 2022-07-08 | 傲拓科技股份有限公司 | 一种多平台多版本plc工程兼容的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5297257A (en) * | 1991-04-15 | 1994-03-22 | Allen-Bradley Company, Inc. | Distributing a real-time control program to a plurality of input/output nodes |
CN115248570B (zh) * | 2022-05-09 | 2024-10-29 | 山东省计算中心(国家超级计算济南中心) | 一种编译型可编程逻辑控制器的开发环境及管理开发作业方法 |
-
2024
- 2024-01-22 CN CN202410087426.9A patent/CN117908462B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104731022A (zh) * | 2013-12-20 | 2015-06-24 | 欧姆龙株式会社 | 控制单元、输出控制方法和程序 |
CN114721325A (zh) * | 2022-05-11 | 2022-07-08 | 傲拓科技股份有限公司 | 一种多平台多版本plc工程兼容的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117908462A (zh) | 2024-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104346274B (zh) | 程序调试器及一种程序的调试方法 | |
CN103136107A (zh) | 一种嵌入式程序动态分配内存的变量调试方法 | |
EP2706459B1 (en) | Apparatus and method for validating a compiler for a reconfigurable processor | |
CN102289593A (zh) | 多学科虚拟实验交互式仿真解算系统 | |
CN106843918A (zh) | 对包括arm芯片、dsp芯片和fpga芯片的嵌入式系统进行程序更新的方法 | |
CN102981882B (zh) | 解析方法和装置 | |
CN111475150A (zh) | 一种跨语言绑定方法、装置、设备及存储介质 | |
CN113687817A (zh) | 一种消息格式解析器及解析方法 | |
CN101196848B (zh) | 运行日志获取方法 | |
EP2972880B1 (en) | Kernel functionality checker | |
EP3805879A1 (en) | Support device and support program | |
US7716642B1 (en) | Techniques for detecting coding incompatibilities | |
CN117908462B (zh) | 一种梯形图程序应用装置和方法 | |
CN111176663B (zh) | 应用程序的数据处理方法、装置、设备及存储介质 | |
CN108334313A (zh) | 用于大型soc研发的持续集成方法、装置及代码管理系统 | |
CN109947407B (zh) | 一种数据获取方法及装置 | |
CN112052040A (zh) | 处理方法、装置、计算机设备和存储介质 | |
CN105893660B (zh) | 一种面向符号bdd操作的cpu设计方法及计算系统 | |
CN102750167A (zh) | 应用程序启动方法、装置和计算机系统 | |
CN114296705A (zh) | 应用程序包生成方法、装置、电子设备以及存储介质 | |
US20040098708A1 (en) | Simulator for software development and recording medium having simulation program recorded therein | |
CN117608590B (zh) | 数据组包解包方法、装置和计算机设备 | |
Wan et al. | Research on embedded file management system based on Forth virtual machine | |
CN115801920B (zh) | 通信方法、通信芯片、电子设备及计算机可读存储介质 | |
CN117075902A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |