CN112558541B - 一种plc编程扩展系统、方法及电子设备 - Google Patents

一种plc编程扩展系统、方法及电子设备 Download PDF

Info

Publication number
CN112558541B
CN112558541B CN201910912479.9A CN201910912479A CN112558541B CN 112558541 B CN112558541 B CN 112558541B CN 201910912479 A CN201910912479 A CN 201910912479A CN 112558541 B CN112558541 B CN 112558541B
Authority
CN
China
Prior art keywords
language
plc
code
programming
development platform
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
Application number
CN201910912479.9A
Other languages
English (en)
Other versions
CN112558541A (zh
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.)
Kyland Technology Co Ltd
Original Assignee
Kyland Technology Co Ltd
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 Kyland Technology Co Ltd filed Critical Kyland Technology Co Ltd
Priority to CN201910912479.9A priority Critical patent/CN112558541B/zh
Publication of CN112558541A publication Critical patent/CN112558541A/zh
Application granted granted Critical
Publication of CN112558541B publication Critical patent/CN112558541B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/056Programming the PLC

Landscapes

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

Abstract

本发明实施例提供一种PLC编程扩展系统、方法及电子设备,该系统包括CPU中央处理器、存储器、PLC编程软件和IDE开发平台,所述CPU中央处理器和PLC编程软件分别与所述存储器相连,所述IDE开发平台与所述PLC编程软件相连。本发明实施例提供的PLC编程扩展系统、方法及电子设备,通过所述IDE开发平台可直接配置出功能块定义,并生成C语言模板代码,实现了能在模板代码基础上可重复调用编码的效果;还实现了IEC61131‑3语言级别的互操作性调用和易用性,而且还能解决PLC掉电丢失数据的问题。

Description

一种PLC编程扩展系统、方法及电子设备
技术领域
一种用于PLC编程技术领域,尤其涉及一种PLC编程扩展系统、方法及电子设备。
背景技术
可编程逻辑控制器PLC是一种以微处理技术、电子信息技术、网络通信技术和自动控制技术为依托的新型通用自动控制装置,它在工业控制领域备受青睐,特别是在各种工业过程控制、生产线自动控制及各类机电一体化设备控制中得到了极为广泛的应用,与数控技术、CAD/CAM技术和机器人技术一起被称为现代工业控制四大支柱。
IEC61131-3,是工业自动化控制系统的软件设计提供标准化编程语言的国际标准,它得到了世界范围的众多PLC厂商的支持。它定义了5种编程语言,以及这5种语言的通用编程规范,其中包括三种程序逻辑单元:功能、功能块、程序。一般用户使用5种语言的任何一种就可以编写功能块,用于工业现场逻辑控制。
现有技术中,通过C语言为PLC编写功能块的实现方案,不能满足同时实现C语言与IEC61131-3标准规定的5种语言的互操作,也不能够通过功能块参数列表达到不同语言之间互相传递参数。
目前,大部分PLC编程软件没有直接的途径给客户提供C语言编程接口,少数提供了C语言编程接口的PLC编程软件,仅在PLC运行时库内提供内存数据访问接口,未提供IEC61131-3语言级别的互操作性调用。少数提供了C语言编程接口的PLC编程软件易用性不够高,对开发人员技术水平要求过高。少数提供了C语言编程接口的PLC编程软件未在C语言编程接口上提供数据掉电保护支持。
发明内容
本发明实施例提供一种用于操控PLC的C语言编程扩展系统,用以解决现有技术中梯形图语言的程序设计难以满足PLC应用领域的扩展和被控设备功能高复杂程度运算的缺陷,实现了IEC61131-3语言级别的互操作性调用和易用性,并且该系统还能解决PLC掉电丢失数据的问题。
第一方面,本发明实施例提供一种用PLC编程扩展系统,包括:
CPU中央处理器、存储器、PLC编程软件和IDE开发平台,所述CPU中央处理器和PLC编程软件分别与所述存储器相连接;
所述PLC编程软件中包含C语言实现功能块,所述C语言实现功能块用于接收C语言可执行机器码,还用于提供PLC控制系统的操作入口以及用于监视PLC的工作状态,并用于将C语言可执行机器码转换成PLC控制程序后,输入至所述存储器中;
所述存储器用于存储所述PLC控制程序;
所述IDE开发平台和所述C语言实现功能块的接口相连接,通过代码编写、代码分析、模板代码编辑以及代码编译输出所述C语言可执行机器码。
进一步地,所述IDE开发平台包括代码编辑器、编译器和图形用户界面;其中:
所述代码编辑器用于输入和编辑C语言代码;
所述图形用户界面用于通过图形化编辑C语言代码获取功能块定义,以输出可重复调用的C语言模板代码;
所述编译器用于对所述C语言代码进行编译,以及用于调试和反馈所述C语言代码的错误信息,获取的编译结果为所述C语言实现功能块能够识别的C语言可执行机器码;
进一步地,所述IDE开发平台还用于配置所述功能块的输入和输出,以及用于设置所述功能块的局部变量。
进一步地,所述IDE开发平台还用于提供PLC系统的掉电保护支持。
进一步地,所述IDE开发平台还用于提供掉电保护数据以及非掉电保护数据的设置。
进一步地,所述掉电保护数据和非掉电保护数据为两个独立的结构体。
第二方面,本发明实施例提供一种PLC编程扩展方法,其特征在于,包括:
通过IDE开发平台生成C语言可执行机器码,所述C语言可执行机器码用于操作PLC控制系统;
通过IDE开发平台生成C语言可执行机器码,所述C语言可执行机器码用于操作PLC控制系统;
将所述C语言可执行机器码输入至PLC编程软件的C语言实现功能块,并将所述C语言可执行机器码和其他IEC61131-3语言实现的程序逻辑单元进行链接,进一步转换为PLC控制程序;
将所述PLC控制程序输入至存储器中,供CPU中央处理器调用。
进一步地,所述通过IDE开发平台生成C语言可执行机器码,执行以下步骤:
S1、通过IDE开发平台在代码编辑器内的编辑代码区中输入C语言编程代码或通过所述IDE开发平台在图形用户界面输入功能块变量;
S2、通过编译器对所述C语言编程代码或所述功能块变量进行编译,若编译成功,则输出C语言可执行机器码;
若编译不成功,则进入S3;
S3、通过编译器反馈编译错误信息,若编译器输出所述C语言编程代码或所述功能块变量的错误原因,则进入S1;
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行所述程序时实现上述PLC的编程扩展方法的步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述PLC的编程扩展方法的步骤。
本发明实施例提供的PLC编程扩展系统、方法以及电子设备,通过加入IDE开发平台和C语言编程模块结合,能实现C语言与IEC61131-3标准规定的5种语言的互操作,通过功能块参数列表达到不同语言之间互相传递参数的目的;通过IDE开发平台生成对应的模块代码,用户可以随时调用,大大提高了系统的易用性和可操控性,同时也降低了对开发人员技术水平要求。通过在该IDE开发平台中设置结构体变量还能够为整个系统提供数据掉电防止丢失的功能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种PLC编程扩展系统的结构示意图;
图2为本发明实施例提供的一种PLC编程扩展方法的流程图;
图3为本发明实施例提供的一种PLC编程扩展系统中代码编辑器的界面示意图;
图4为本发明实施例提供的一种PLC编程扩展系统中图形用户界面示意图;
图5为本发明实施例提供的一种PLC编程扩展系统中调用模板代码的结构示意图;
图6为本发明实施例提供的一种PLC编程扩展系统中编译界面示意图;
图7为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种PLC编程扩展系统的结构示意图,结合图1可知,所述PLC编程扩展系统包括CPU中央处理器100、存储器200、PLC编程软件300和IDE开发平台400,CPU中央处理器100和PLC编程软件300分别和所述存储器200相连接。
同一般的微机一样,CPU中央处理器是PLC的核心。PLC中所配置的CPU中央处理器随机型不同而不同,常用有三类:通用微处理器(如Z80、8086、80286等)、单片微处理器(如8031、8096等)和位片式微处理器(如AMD29W等)。小型PLC大多采用8位通用微处理器和单片微处理器;中型PLC大多采用16位通用微处理器或单片微处理器;大型PLC大多采用高速位片式微处理器。本发明实施例采用的CPU中央处理器100可采用上述三种不同的类型。
在PLC中CPU中央处理器按系统程序赋予的功能,指挥PLC有条不紊地进行工作,读取从PLC编程软件输入到存储器的PLC控制程序和数据,经过运算处理后输出动作信号。诊断电源、PLC内部电路的工作故障。通过输入接口接收现场的状态或数据,并存入输入映象寄有器或数据寄存器中。根据执行的结果,更新有关标志位的状态和输出映象寄存器的内容,通过输出单元实现输出控制。本发明实施例中的PLC还提供了据通信的功能。
所述存储器200具有存储信息的功能,包括PLC控制程序、系统程序、中间运行结果和最终运行结果等工作数据都保存在存储器200中。
现有的存储器主要有两种:一种是可读/写操作的随机存储器RAM,另一种是只读存储器ROM、PROM、EPROM和EEPROM。
系统程序是由PLC的制造厂家编写的,和PLC的硬件组成有关,完成系统诊断、命令解释、功能子程序调用管理、逻辑运算、通信及各种参数设定等功能,提供PLC运行的平台。系统程序关系到PLC的性能,而且在PLC使用过程中不会变动,所以是由制造厂家直接固化在只读存储器ROM、PROM或EPROM中,用户不能访问和修改。
PLC控制程序是随PLC的控制对象而定的,由用户根据对象生产工艺的控制要求而编制的应用程序。为了便于读出、检查和修改,本发明实施例中的PLC控制程序存储于FLASH中,PLC运行后,数据存储于RAM中,为支持对数据的掉电保护,可采用多种硬件方案来实现,使用NVRAM、锂电池等后备电源、大电容短暂供电等方案均可,本专利软件设计上对这些硬件方案均可适配。
工作数据是PLC运行过程中经常变化、经常存取的一些数据,存放在RAM中,以适应随机存取的要求。在PLC的存储器中,设有存放输入输出继电器、辅助继电器、定时器、计数器等逻辑器件的存储区,这些器件的状态都是由PLC程序的初始设置和运行情况而确定的。在本发明实施例中,设置了掉电保护的数据在掉电时用后备电池、大电容、NVRAM等多种硬件方案的其中一种来维持其现有的状态,这部分在掉电时可保存数据的存储区域称为保持数据区。如果存储器提供给用户的存储容量不够用,PLC系统还提供有存储器扩展功能,该扩展功能通过总线扩展、串口扩展、片内I/O口扩展等方式来实现。
PLC编程软件300的作用是编辑、调试、输入用户程序,也可在线监控PLC内部状态和参数,与PLC进行人机对话。它是开发、应用、维护PLC不可缺少的工具。
PLC编程软件300中包含C语言实现功能块301,C语言实现功能块301接收C语言可执行机器码,还用于向外界提供PLC控制系统的操作入口以及监视PLC的工作状态,进行C语言编译成PLC控制程序后传入所述存储器200;还具有打印文件、系统仿真、实现数据采集和分析等功能。
本发明实施例中的PLC编程软件300主要由键盘、显示器和存储器接插口等部件组成,不仅可以直接插在PLC的编程插座上,还能用专用电缆与PLC相连,以方便编程和调试。另外,PLC编程软件还带有磁盘驱动器,以及提供录音机接口和打印机接口。
IDE开发平台400和所述PLC编程软件300中的C语言实现功能块301相连接;所述IDE开发平台400供用户使用C语言编程,所述IDE开发平台400通过图形化编辑直接配置出功能块定义,并生成C语言模板代码,为用户在模板代码基础上提供可重复调用的编码。所述IDE开发平台400包括代码编辑器401、编译器402和图形用户界面403;用户可通过IDE开发平台400在图形用户界面模块上配置出功能块的输入、输出和功能块的局部变量,以生成C语言可执行机器码,该C语言可执行机器码为二进制类型。
此外,需要说明的是,本发明实施例提供的一种PLC编程扩展系统,为用户提供使用C语言来编程PLC功能块,并在用户算法工程中使IEC61131-3规定的PLC编程语言对这样的功能块进行调用。
IEC 61131-3是由国际电工委员会(IEC)于1993年12月所制定IEC 61131标准的第3部分,用于规范可编程逻辑控制器(PLC),DCS,IPC,CNC和SCADA的编程系统的标准,应用IEC 61131-3标准已经成为工业控制领域的趋势。在PLC方面,编辑软件只需符合IEC61131-3国际标准规范,便可借由符合各项标准的语言架构,进而能建立任何人皆可了解的程序。
IEC 61131-3软件模型与传统的PLC模型(包括一个资源,运行一个任务,控制一个程序,且运行于一个封闭系统中)相比有以下特点:
IEC 61131-3软件模型在传统PLC的软件模型的基础上增加了许多内容;IEC61131-3的软件模型是一种分层结构,每一层均隐含其下层的许多特征;它奠定了将一个复杂的程序分解为若干个可以进行管理和控制的小单元,而这些被分解的小单元之间存在着清晰而规范的界面;可满足由多个处理器构成的PLC系统的软件设计。可方便地处理事件驱动的程序执行(传统的PLC的软件模型仅为按时间周期执行的程序结构)。
对以工业通信网络为基础的分散控制系统(例如由现场总线将分布于不同硬件内的功能块构成一个具体的控制任务)尤其是软逻辑/PC控制这些正在发展中的新兴控制技术,该软件模型均可覆盖和适用;因此,IEC 61131-3软件模型足以映像各类实际系统:
对于只有一个处理器的小型系统,其模型只有一个配置、一个资源和一个程序,与大多数PLC的情况完全相符。对于有多个处理器的中、大型系统,整个PLC被视作一个配置,每个处理器都用一个资源来描述,而一个资源则包括一个或多个程序。对于分散型系统,将包含多个配置,而一个配置又包含多个处理器,每个处理器用一个资源描述,每个资源则包括一个或多个程序。
图2本发明实施例提供的一种PLC编程扩展方法的流程图,结合图2可知,本发明实施例提供一种PLC编程扩展方法,包括但不限于以下步骤:
步骤S1,通过IDE开发平台400生成C语言可执行机器码,所述C语言可执行机器码用于操作PLC控制系统;
步骤S2,将所述C语言可执行机器码输入至PLC编程软件300的C语言实现功能块301,并将所述C语言可执行机器码和其他IEC61131-3语言实现的程序逻辑单元进行链接,进一步转换为PLC控制程序;
步骤S3,将所述PLC控制程序输入至存储器200中,供CPU中央处理器100调用。
基于上述实施例的内容,作为一种可选实施例,在步骤S1中,基于通过IDE开发平台生成C语言可执行机器码,包括但不限于以下步骤:
S101、通过IDE开发平台400在代码编辑器401内的编辑代码区中输入C语言编程代码或通过所述IDE开发平台400在图形用户界面403输入功能块变量;
S102、通过编译器402对所述C语言编程代码或所述功能块变量进行编译,若编译成功,则输出C语言可执行机器码;
若编译不成功,则进入S3;
S103、通过编译器402反馈编译错误信息,若编译器输出所述C语言编程代码或所述功能块变量的错误原因,则进入S1;
图3为本发明实施例提供的一种PLC编程扩展系统中代码编辑器的界面示意图;结合图3可知,在步骤S101中,通过IDE开发平台400进行C语言程序编辑;通过新建项目并定义功能类型后,向代码编辑器401内的编辑代码区输入C语言编程代码;通过所述图形用户界面403的新建POU功能可以新建程序组织项目单元。
图4为本发明实施例提供的一种PLC编程扩展系统中图形用户界面示意图;结合图4可知,通过在图形用户界面403输入操作功能块变量,并操作输入按钮可输出C语言编程代码。所述IDE开发平台400对PLC系统提供掉电保护支持,如果需要对特殊数据进行掉电保护,则需要使用结构体对象来定义需要保护的数据,来防止因设备断电引起的数据丢失。
用户可以根据需要,所述IDE开发平台400可以在图形用户界面403的变量列表上设置掉电保护数据和非掉电保护数据。设置了掉电保护的数据能够在系统在停电前把该掉电保护数据存入存储器200内,当系统恢复电源后可以随时读取该掉电保护数据。所述IDE开发平台400中掉电保护数据和非掉电保护数据是两个独立的结构体类型数据。
具体地,所述结构体类型数据为C语言中的一种特殊数据;C语言中的不同类型数据,包括整形、浮点型、字符型、数组(存储一组具有相同类型的数据)和结构体等,但是在实际问题中只有这些数据类型是不够的,在实际编程中,通常需要其中的几种类型一起来修饰某个功能块数据,例如一个异步电动机的信息就需要开关(位数据类型),速度(字数据类型),电流大小(浮点型数据类型)等等,这些数据类型都不同但是他们又是表示一个整体,要存在联系,通过结构体类型就能将这些不同类型的数据存放在一起,作为一个整体进行处理。
图5为本发明实施例提供的一种PLC编程扩展系统中调用模板代码的结构示意图;结合图5可知,用户在编程过程中可以调用存储在所述IDE开发平台400中预编译的代码模块,从而可以省去大量重复的编码工作。所述IDE开发平台400对C语言数学库提供完整支持,并且支持大部分操作系统函数:例如printf,snprintf等。可以在.h自动生成的结构体末尾追加用户自定义任意数据类型,如结构体等数据类型。
图6为本发明实施例提供的一种PLC编程扩展系统中编译界面示意图;结合图6可知,本发明实施例提供一种PLC编程扩展方法中,对于步骤S102,具体地,通过操作编译器402对代码编辑器401的编程代码或对图形用户界面403编辑的文件进行编译,在IDE开发平台400界面主菜单,点击“Build Project”可进行编译,如果编译成功,则输出包含功能块xxx.json和libxxx.a的库文件。PLC编程软件300中的C语言实现功能块301将输出的xxx.json和libxxx.a的库文件和其他IEC61131-3语言实现的程序逻辑单元进行链接,进而转化为PLC控制程序并输入存储器200中,CPU中央处理器100对PLC控制程序加工运算后输出动作信号。
进一步地,所述IDE开发平台400的主菜单提供“ImportLibrary”命令,用于将生成的xxx.json和libxxx.a两个库文件加载到PLC编程软件300的功能块库中,300中的PLC工程项目中的PLC控制程序里可以直接引用到新加入的C语言实现的功能块。
对于步骤S103,如果编译不成功,提示有错误信息,编译器402的OUTPUT窗口将会指示出错误行号,反馈出具体的编程代码出错原因或图形用户界面编辑的文件存在的错误原因。用户根据提示自行调整对应的代码,或重新编辑图形用户界面的代码文件直至编译成功。
图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(Communications Interface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行如下方法:通过IDE开发平台生成C语言可执行机器码,所述C语言可执行机器码用于操作PLC控制系统;将所述C语言可执行机器码输入至PLC编程软件的C语言实现功能块,并将所述C语言可执行机器码和其他IEC61131-3语言实现的程序逻辑单元进行链接,进一步转换为PLC控制程序;将所述PLC控制程序输入至存储器中,供CPU中央处理器调用。
此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的传输方法,例如包括:通过IDE开发平台生成C语言可执行机器码,所述C语言可执行机器码用于操作PLC控制系统;将所述C语言可执行机器码输入至PLC编程软件的C语言实现功能块,并将所述C语言可执行机器码和其他IEC61131-3语言实现的程序逻辑单元进行链接,进一步转换为PLC控制程序;将所述PLC控制程序输入至存储器中,供CPU中央处理器调用。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (8)

1.一种PLC编程扩展系统,其特征在于,包括CPU中央处理器、存储器、PLC编程软件和IDE开发平台,所述CPU中央处理器和PLC编程软件分别与所述存储器相连接;
所述PLC编程软件中包含C语言实现功能块,所述C语言实现功能块用于接收C语言可执行机器码,还用于提供PLC控制系统的操作入口以及用于监视PLC的工作状态,并用于将C语言可执行机器码转换成PLC控制程序后,输入至所述存储器中;
所述存储器用于存储所述PLC控制程序;
所述IDE开发平台和所述C语言实现功能块的接口相连接,通过代码编写、代码分析、模板代码编辑以及代码编译出所述C语言可执行机器码;
所述IDE开发平台包括代码编辑器、编译器和图形用户界面;
所述代码编辑器用于输入和编辑C语言代码;
所述图形用户界面用于通过图形化编辑C语言代码获取功能块定义,以输出可重复调用的C语言模板代码;
所述编译器用于对所述C语言代码进行编译,以及用于调试和反馈所述C语言代码的错误信息,获取的编译结果为所述C语言实现功能块能够识别的C语言可执行机器码。
2.根据权利要求1所述的PLC编程扩展系统,其特征在于,所述IDE开发平台还用于配置所述功能块的输入和输出,以及用于设置所述功能块的局部变量。
3.根据权利要求2所述的PLC编程扩展系统,其特征在于,所述IDE开发平台还用于提供PLC系统的掉电保护支持。
4.根据权利要求3所述的PLC编程扩展系统,其特征在于,所述IDE开发平台还用于提供掉电保护数据以及非掉电保护数据的设置。
5.根据权利要求4所述的PLC编程扩展系统,其特征在于,所述掉电保护数据和非掉电保护数据为两个独立的结构体。
6.一种PLC编程扩展方法,其特征在于,包括:
通过IDE开发平台生成C语言可执行机器码,所述C语言可执行机器码用于操作PLC控制系统;
将所述C语言可执行机器码输入至PLC编程软件的C语言实现功能块,并将所述C语言可执行机器码和其他IEC61131-3语言实现的程序逻辑单元进行链接,进一步转换为PLC控制程序;
将所述PLC控制程序输入至存储器中,供CPU中央处理器调用;
所述通过IDE开发平台生成C语言可执行机器码,执行以下步骤:
S1、通过IDE开发平台在代码编辑器内的编辑代码区中输入C语言编程代码或通过所述IDE开发平台在图形用户界面输入功能块变量;
S2、通过编译器对所述C语言编程代码或所述功能块变量进行编译,若编译成功,则输出C语言可执行机器码;
若编译不成功,则进入S3;
S3、通过编译器馈编译错误信息,若编译器输出所述C语言编程代码或所述功能块变量的错误原因,则进入S1。
7.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求6所述PLC的编程扩展方法的步骤。
8.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求6所述PLC的编程扩展方法的步骤。
CN201910912479.9A 2019-09-25 2019-09-25 一种plc编程扩展系统、方法及电子设备 Active CN112558541B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910912479.9A CN112558541B (zh) 2019-09-25 2019-09-25 一种plc编程扩展系统、方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910912479.9A CN112558541B (zh) 2019-09-25 2019-09-25 一种plc编程扩展系统、方法及电子设备

Publications (2)

Publication Number Publication Date
CN112558541A CN112558541A (zh) 2021-03-26
CN112558541B true CN112558541B (zh) 2022-04-15

Family

ID=75029716

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910912479.9A Active CN112558541B (zh) 2019-09-25 2019-09-25 一种plc编程扩展系统、方法及电子设备

Country Status (1)

Country Link
CN (1) CN112558541B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113805891A (zh) * 2021-09-18 2021-12-17 浙江中控技术股份有限公司 一种工业控制领域基于嵌入式开发环境的c语言开发方法
CN114460898B (zh) * 2022-01-26 2024-05-17 无锡信捷电气股份有限公司 基于CodeSys的外部扩展模块组件设计方法及系统
CN114706590B (zh) * 2022-05-05 2023-06-13 北京万昇智能科技有限公司 Plc应用包生成方法、plc应用执行方法及相关装置和系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1348121A (zh) * 2000-10-12 2002-05-08 德维森实业(深圳)有限公司 基于嵌入式实时操作系统的软逻辑控制器(ppc)
CN101354674A (zh) * 2007-07-26 2009-01-28 北京神州龙芯集成电路设计有限公司 一种实现硬件级验证的方法及装置
CN101587445A (zh) * 2009-06-19 2009-11-25 国网电力科学研究院 一种plc编译执行方法
CN101763280A (zh) * 2008-09-30 2010-06-30 Ics三重自动化软件有限公司 编译模型
CN102566481A (zh) * 2010-12-16 2012-07-11 无锡信捷电气有限公司 一种基于c语言的plc控制系统及其实现方法
CN103294470A (zh) * 2013-05-27 2013-09-11 上海华兴数字科技有限公司 内嵌自然语言的编程语言系统
CN103814333A (zh) * 2011-07-06 2014-05-21 Abb股份公司 用于对可编程控制装置编程和配置的方法和设备
CN109976760A (zh) * 2017-12-27 2019-07-05 北京东土科技股份有限公司 一种图形语言的交叉编译方法及交叉编译器

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1348121A (zh) * 2000-10-12 2002-05-08 德维森实业(深圳)有限公司 基于嵌入式实时操作系统的软逻辑控制器(ppc)
CN101354674A (zh) * 2007-07-26 2009-01-28 北京神州龙芯集成电路设计有限公司 一种实现硬件级验证的方法及装置
CN101763280A (zh) * 2008-09-30 2010-06-30 Ics三重自动化软件有限公司 编译模型
CN101587445A (zh) * 2009-06-19 2009-11-25 国网电力科学研究院 一种plc编译执行方法
CN102566481A (zh) * 2010-12-16 2012-07-11 无锡信捷电气有限公司 一种基于c语言的plc控制系统及其实现方法
CN103814333A (zh) * 2011-07-06 2014-05-21 Abb股份公司 用于对可编程控制装置编程和配置的方法和设备
CN103294470A (zh) * 2013-05-27 2013-09-11 上海华兴数字科技有限公司 内嵌自然语言的编程语言系统
CN109976760A (zh) * 2017-12-27 2019-07-05 北京东土科技股份有限公司 一种图形语言的交叉编译方法及交叉编译器

Also Published As

Publication number Publication date
CN112558541A (zh) 2021-03-26

Similar Documents

Publication Publication Date Title
CN112558541B (zh) 一种plc编程扩展系统、方法及电子设备
Estévez et al. Automatic generation of PLC automation projects from component-based models
CN104898546B (zh) 一种基于soc的plc在线调试系统和方法
CN106933212B (zh) 一种分布式制造环境下的可重构工业机器人编程控制方法
CN103562807B (zh) Plc的cpu单元、plc系统、plc辅助装置
US6826432B2 (en) Process for programming an automation application
CN101872184A (zh) 可编程控制器的顺序控制图编程及控制方法
Alvarez et al. A novel approach for supporting the development cycle of automation systems
WO2024140416A1 (zh) 一种工业控制程序开发平台及方法
WO2024131553A1 (zh) 工业控制软件开发方法、装置和计算设备
JP5262765B2 (ja) Plcのプログラム変換ツール
Estévez et al. PLCopen for achieving interoperability between development phases
Hopsu et al. On portability of IEC 61499 compliant structures and systems
CN112068522A (zh) 可重构生产线制造控制系统、方法及介质
CN111954854B (zh) 支持装置以及计算机可读取存储介质
CN102789206A (zh) 机床数控中集中式和分布式控制混合的安全逻辑控制系统
KR102560634B1 (ko) Pc 프로그램을 사용하여 plc를 제어하는 방법
CN104238438A (zh) 一种plc通用平台及其设计方法
Cai et al. Design and implementation of a prototype control system according to IEC 61499
Marcos et al. Model-driven design of industrial control systems
CN101710233A (zh) 一种基于rcp的运动控制器的设计方法
Zhang et al. An approach for resource Function Block generation: Towards RAMI4. 0-compliant PLC Programming
Catalán et al. Control design for machine tools using Domiciano, an IDE based on software components
Bengtsson et al. Developing control logic using aspect-oriented programming and sequence planning
Martinov et al. The Mechanism for Synchronizing CNC System with External Devices by Using a Part Program

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
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20210326

Assignee: Beijing Shuili Intelligent Building Technology Co.,Ltd.

Assignor: KYLAND TECHNOLOGY Co.,Ltd.

Contract record no.: X2022990000047

Denomination of invention: PLC programming expansion system, method and electronic equipment

License type: Common License

Record date: 20220121

GR01 Patent grant
GR01 Patent grant