CN111522291A - 一种可编程控制方法及可编程控制器 - Google Patents

一种可编程控制方法及可编程控制器 Download PDF

Info

Publication number
CN111522291A
CN111522291A CN202010352010.7A CN202010352010A CN111522291A CN 111522291 A CN111522291 A CN 111522291A CN 202010352010 A CN202010352010 A CN 202010352010A CN 111522291 A CN111522291 A CN 111522291A
Authority
CN
China
Prior art keywords
code
programming
execution
programmable controller
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.)
Pending
Application number
CN202010352010.7A
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.)
Tongfang Technovator International Technology Beijing Co ltd
Original Assignee
Tongfang Technovator International Technology Beijing 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 Tongfang Technovator International Technology Beijing Co ltd filed Critical Tongfang Technovator International Technology Beijing Co ltd
Priority to CN202010352010.7A priority Critical patent/CN111522291A/zh
Publication of CN111522291A publication Critical patent/CN111522291A/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/056Programming the PLC
    • 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/13Plc programming
    • G05B2219/13004Programming the plc

Abstract

本说明书一个或多个实施例提供的一种可编程控制方法及可编程控制器,可编程控制器包括:页面化服务模块、代码生成模块、代码执行模块;方法包括:页面化服务模块与外部终端连接,将编程界面传输给外部终端,接收用户通过编程界面输入的编程代码,将编程代码传输给代码生成模块;代码生成模块接收编程代码,根据编程代码生成用于可编程控制器的执行代码;代码执行模块接收执行代码,根据执行代码执行相应控制。通过在可编程控制器中集成页面化服务模块,直接生成可视化的编程界面,使外部终端不用再安装专用软件,用户无需学习组网、专用软件接口等内容,仅利用简单明了的窗口化编程界面即可完成编程,极大提升了用户体验,简化了编程操作过程。

Description

一种可编程控制方法及可编程控制器
技术领域
本说明书一个或多个实施例涉及计算机控制技术领域,尤其涉及一种可编程控制方法及可编程控制器。
背景技术
现代社会,弱电控制产品发展多年,在可编程控制器产品中,基本形成了PLC(Programmable Logic Controller,可编程序控制器)和DDC(DirectDigital Control,直接数字控制器)两类产品形态。随着各行业信息化、智能化的不断发展。对控制器则提出了更高要求,在可编程能力、容量,通讯能力,尤其是与信息系统相结合的能力方便都提出了新的要求。用户的使用环境、使用方法,甚至用户群体也发生了很大变化。而传统方案针对不同控制器都需要安装和学习不同的编程软件、不同的组网和下载调试方式。操作较复杂、学习成本和使用成本都比较高。进而既有的控制器编程环境和方法比较难适应信息化、智能化所提出的新要求。
发明内容
有鉴于此,本说明书一个或多个实施例的目的在于提出一种可编程控制方法及可编程控制器。
基于上述目的,本说明书一个或多个实施例提供了一种可编程控制方法,应用于可编程控制器,所述可编程控制器包括:页面化服务模块、代码生成模块、代码执行模块;所述方法包括:
所述页面化服务模块与外部终端连接,将编程界面传输给所述外部终端,接收用户通过所述编程界面输入的编程代码,将所述编程代码传输给所述代码生成模块;
所述代码生成模块接收所述编程代码,根据所述编程代码生成用于所述可编程控制器的执行代码;
所述代码执行模块接收所述执行代码,根据所述执行代码执行相应控制。
在一些实施方式中,所述将所述编程代码传输给所述代码生成模块,具体包括:
获取所述编程代码的表现格式;
当所述表现格式为文本形式时,对所述编程代码的源文件进行形式检测;当所述表现格式为图形形式时,检测所述编程代码的功能块信息及连接关系信息;对检测通过的所述编程代码进行至少一种格式包装,将包装后的所述编程代码传输给所述代码生成模块。
在一些实施方式中,所述根据所述编程代码生成用于所述可编程控制器的执行代码,具体包括:
根据所述表现格式进行判断;
当所述表现格式为可执行代码时,根据所述编程代码直接生成所述执行代码;当所述表现格式为二进制代码时,对所述编程代码进行转译,编写生成所述执行代码。
在一些实施方式中,所述代码生成模块,还包括:
检测所述可编程控制器是否具有JIT功能;
当所述可编程控制器没有所述JIT功能时,向所述页面化服务模块传输反馈意见,使所述页面化服务模块根据所述反馈意见调整所述编程界面。
在一些实施方式中,所述将编程界面传输给所述外部终端,具体包括:
所述页面化服务模块根据与外部终端连接时建立的HTTP协议,确定所述外部终端的环境信息,根据所述环境信息对所述编程界面进行调整。
基于同一构思,本说明书一个或多个实施例还提供了一种可编程控制器,其特征在于,包括:页面化服务模块、代码生成模块、代码执行模块;其中,
所述页面化服务模块与所述代码生成模块通讯连接,所述代码生成模块与所述代码执行模块通讯连接;
所述页面化服务模块,用于与外部终端连接,将编程界面传输给所述外部终端,接收用户通过所述编程界面输入的编程代码,将所述编程代码传输给所述代码生成模块;
所述代码生成模块,用于接收所述编程代码,根据所述编程代码生成用于所述可编程控制器的执行代码;
所述代码执行模块,用于接收所述执行代码,根据所述执行代码执行相应控制。
在一些实施方式中,所述页面化服务模块将所述编程代码传输给所述代码生成模块,具体包括:
获取所述编程代码的表现格式;
当所述表现格式为文本形式时,对所述编程代码的源文件进行形式检测;当所述表现格式为图形形式时,检测所述编程代码的功能块信息及连接关系信息;对检测通过的所述编程代码进行至少一种格式包装,将包装后的所述编程代码传输给所述代码生成模块。
在一些实施方式中,所述代码生成模块根据所述编程代码生成用于所述可编程控制器的执行代码,具体包括:
根据所述表现格式进行判断;
当所述表现格式为可执行代码时,根据所述编程代码直接生成所述执行代码;当所述表现格式为二进制代码时,对所述编程代码进行转译,编写生成所述执行代码。
在一些实施方式中,所述代码生成模块,还包括:
检测所述可编程控制器是否具有JIT功能;
当所述可编程控制器没有所述JIT功能时,向所述页面化服务模块传输反馈意见,使所述页面化服务模块根据所述反馈意见调整所述编程界面。
在一些实施方式中,所述页面化服务模块将编程界面传输给所述外部终端,具体包括:
所述页面化服务模块根据与外部终端连接时建立的HTTP协议,确定所述外部终端的环境信息,根据所述环境信息对所述编程界面进行调整。
从上面所述可以看出,本说明书一个或多个实施例提供的一种可编程控制方法及可编程控制器,可编程控制器包括:页面化服务模块、代码生成模块、代码执行模块;方法包括:页面化服务模块与外部终端连接,将编程界面传输给外部终端,接收用户通过编程界面输入的编程代码,将编程代码传输给代码生成模块;代码生成模块接收编程代码,根据编程代码生成用于可编程控制器的执行代码;代码执行模块接收执行代码,根据执行代码执行相应控制。通过在可编程控制器中集成页面化服务模块,直接生成可视化的编程界面,使外部终端不用再安装专用软件,用户无需学习组网、专用软件接口等内容,仅利用简单明了的窗口化编程界面即可完成编程,极大提升了用户体验,简化了编程操作过程。
附图说明
为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一个或多个实施例提出的一种可编程控制方法的流程示意图;
图2为本说明书一个或多个实施例提出的可编程控制方法的数据交互流程示意图;
图3为本说明书一个或多个实施例提出的一种可编程控制器的结构示意图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本说明书进一步详细说明。
需要说明的是,除非另外定义,本说明书实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件、物件或者方法步骤涵盖出现在该词后面列举的元件、物件或者方法步骤及其等同,而不排除其他元件、物件或者方法步骤。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
如背景技术部分所述,对于编程方式,本领域中有文本语言编程、表格式编程、图形化编程等多种形态,各有优缺点。其中,图形化编程由于其对编程知识要求低、易于阅读、易于理解和调试的优点使用越来越广。在传统的编程方式中,编程环境至少包括工程师电脑和被编程的控制器硬件,有些系统还需要额外的适配器、网关等。针对不同的可编程控制器,在工程师电脑中都需要安装专用的编程软件,编程软件包含用户操作界面、可执行代码生成/编译模块和通讯/控制器管理模块等。在可编程控制器中则包含通讯模块、代码执行引擎和管理硬件功能的输入、输出等模块。在上述结构中,用户编程的操作、编程代码的有效性检查、代码生成/编译等复杂工作都在工程师电脑中完成。可执行代码通过专用的通讯总线或者串行通讯口,以专用通讯协议下发给可编程控制,而可编程控制器负责运行编译好的的代码,以实现运算、逻辑控制、输入/输出等功能。
可以看出,传统方案针对不同控制器都需要安装和学习不同的编程软件、不同的组网和下载调试方式。操作较复杂、学习成本和使用成本都比较高。同时,目前控制系统都有两种使用场景:编程调试环境和运行环境。两种使用场景在软件上运行于两种完全不同的环境下,无法融合。编程、调试、维护、升级控制程序都需要专用环境,目前都是电脑桌面软件加专用通讯网络。而运行环境中,软件部分要么是组态软件(HMI软件,Human MachineInterface软件),要么是集成系统。无论是组态软件还是集成系统,都是全Web(World WideWeb,全球广域网)环境。这就导致正常运行时使用全Web环境,而一旦系统出现问题或者需要调整,必须切换到另一种完全不同的环境。两种环境所使用的技术、方法和操作方式完全不同,给系统的使用带来很大不便。
基于此,本说明书一个或多个实施例提出一种可编程控制方法及可编程控制器,通过在可编程控制器中集成页面化服务模块,直接生成可视化的编程界面,使外部终端不用再安装专用软件,用户无需学习组网、专用软件接口等内容,仅利用简单明了的窗口化编程界面即可完成编程,极大提升了用户体验,简化了编程操作过程。其中,可编程控制器(Programmable Logic Controller)简称PC或PLC是一种数字运算操作的电子系统,专门在工业环境下应用而设计。它采用可以编制程序的存储器,用来在执行存储逻辑运算和顺序控制、定时、计数和算术运算等操作的指令,并通过数字或模拟的输入(I)和输出(O)接口,控制各种类型的机械设备或生产过程。可编程控制器是在电器控制技术和计算机技术的基础上开发出来的,并逐渐发展成为以微处理器为核心,把自动化技术、计算机技术、通讯技术融为一体的新型工业控制装置。PLC已被广泛应用于各种生产机械和生产过程的自动控制中,成为一种最重要、最普及、应用场合最多的工业控制装置,被公认为现代工业自动化的三大支柱之一。
以下,通过具体的实施例来详细说明本说明书一个或多个实施例的技术方案。
参考图1,本说明书一个实施例的可编程控制方法,应用于可编程控制器,所述可编程控制器包括:页面化服务模块、代码生成模块、代码执行模块,包括以下步骤:
步骤101,所述页面化服务模块与外部终端连接,将编程界面传输给所述外部终端,接收用户通过所述编程界面输入的编程代码,将所述编程代码传输给所述代码生成模块。
本步骤旨在,将生成的编程界面传输给外部终端,并获取用户输入的编程代码。其中,页面化服务模块主要用于通过内部的轻量级Web应用单元,将用户界面Web化,将Web化的界面传输到外部终端,并通过外部终端显示给用户,从而使用户可以通过简单的Web界面即可进行编程。外部终端可以是普通用户使用的普通电脑,也可以是专业工程师使用的专业编程电脑等等。编程代码即为编定程序的代码,就是为了让计算机等终端代为解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。
其中,由于现代外部终端的内部软件系统等存在多种操作系统,同时外部终端读取web界面的软件也不尽相同,进而,页面化服务模块可以通过外部终端的反馈进行文本界面的适应性调整,当然也可以对所有外部终端都提供一套基础的web界面数据,之后由外部终端对web界面数据进行适应性调整等等。
之后,由于编程代码的形式存在很多种,例如:文本形式、二进制代码形式、图形形式等等,在进行编程代码传输之前,可以对编程代码进行分类,并进行相对应的简单检查,例如:对文字形式的代码,检查所有连接词的使用正确性,检查全部文本的形式性错误等等;对图形形式的代码,检查每个功能块的实例信息,检测功能块的连接关系信息等等。当然也可以不进行检查、或进行全面的代码有效性检查、或交由之后的模块进行检查等等。
最后,对编程代码进行输出并传输给代码生成模块,其中,传输的方式可以是电路板电路传输、有线传输、无线传输等等。
步骤102,所述代码生成模块接收所述编程代码,根据所述编程代码生成用于所述可编程控制器的执行代码。
本步骤旨在,对接收到的编程代码进行再加工,生成可编程控制器可执行的执行代码。其中,代码生成模块主要用于接收编程代码,并对编程代码进行有效性检查、重新编译、转译等检查及再加工,将用户输入的各种形式的编程代码转换成可编程控制器可以准确识别并执行的执行代码。
其中,由于编程代码的本身格式可以存在很多种类,同时代码生成模块传输来的编程代码的表达形式也可能是很多种类,例如:编程代码本身表现形式可能是文本形式、图形形式、二进制代码形式等等;之后传输来的编程代码的表达形式可以通过多种格式如JSON(JavaScript Object Notation,JS对象简谱,是一种轻量级的数据交换格式)、XML(eXtensible Markup Language,可扩展标记语言)等格式表达。
在代码生成模块中会利用相应的格式转换规则对传输来的数据进行转换,在转换的同时还可以同步进行代码有效性的检查。之后,对于识别到的较为特殊的代码,例如:执行引擎可直接解释并执行的代码,则直接将输入的编程代码作为执行代码进行输出;或是编程代码为二进制代码这种最为底层的编程代码,需要调用诸如JIT(Just In Time,准时制生产方式)等功能单元对代码进行重新编译等等。
步骤103,所述代码执行模块接收所述执行代码,根据所述执行代码执行相应控制。
本步骤旨在,接收并执行执行代码。其中,代码执行模块主要用于执行相应代码,具体可以是执行存储逻辑运算、顺序控制、定时、计数、算术运算等操作的指令,之后通过数字或模拟的输入(I)和输出(O)接口,控制各种类型的机械设备或生产过程。根据不同的应用场景和实施需要,具体的对于执行相应控制的方式可以灵活选择。
例如,对于本实施例的方法在单一设备上执行的应用场景,可以直接对当前设备的对应部件进行操控,使得当前设备的使用者能够从当前设备的表现上直接看到执行代码对于设备的控制。
又如,对于本实施例的方法在多个设备组成的系统上执行的应用场景,可以将控制指令通过任意的数据通信方式(有线连接、NFC、蓝牙、wifi、蜂窝移动网络等)发送至系统内的其他作为接收方的预设设备上,以使得接收到控制指令的预设设备可以对其进行后续处理。可选的,该预设设备可以是预设的服务器,服务器一般设置在云端,作为数据的处理和存储中心,其能够对控制指令进行存储和分发;其中,分发的接收方是终端设备,即控制指令最终作用在终端设备,该些终端设备的持有者或操作者可以是用户、编程人员、预要使用相应设备的人员或客户等等。
再如,对于本实施例的方法在多个设备组成的系统上执行的应用场景时,可以将控制指令通过任意的数据通信方式直接发送至预设的终端设备,终端设备可以是前述段落列举中的一种或多种。
通过应用本说明书一个或多个实施例提供的一种可编程控制方法,应用于可编程控制器包括:页面化服务模块、代码生成模块、代码执行模块;方法包括:页面化服务模块与外部终端连接,将编程界面传输给外部终端,接收用户通过编程界面输入的编程代码,将编程代码传输给代码生成模块;代码生成模块接收编程代码,根据编程代码生成用于可编程控制器的执行代码;代码执行模块接收执行代码,根据执行代码执行相应控制。通过在可编程控制器中集成页面化服务模块,直接生成可视化的编程界面,使外部终端不用再安装专用软件,用户无需学习组网、专用软件接口等内容,仅利用简单明了的窗口化编程界面即可完成编程,极大提升了用户体验,简化了编程操作过程。
在本说明书的可选实施例中,为了针对不同形式的编程代码进行初步的格式或形式性检测,同时在为了更快捷的进行包装传输。所述将所述编程代码传输给所述代码生成模块,具体包括:
获取所述编程代码的表现格式;
当所述表现格式为文本形式时,对所述编程代码的源文件进行形式检测;当所述表现格式为图形形式时,检测所述编程代码的功能块信息及连接关系信息;对检测通过的所述编程代码进行至少一种格式包装,将包装后的所述编程代码传输给所述代码生成模块。
其中,编程代码的表现格式即为编程代码的本身格式,其可以是文本形式的、可以是图形形式的、还可以是二进制形式的等等。之后,源文件一般指用汇编语言或高级语言写出来的代码保存为文件后的结果,源文件是相对目标文件和可执行文件而言的。之后,图形形式的编程代码的表现形式一般与流程图类似,进而功能块可以理解为流程图中的流程框,连接关系可以理解为流程图中的流程框之间的连线。
在本说明书的可选实施例中,为了针对特定的编程代码进行相对应的操作。所述根据所述编程代码生成用于所述可编程控制器的执行代码,具体包括:
根据所述表现格式进行判断;
当所述表现格式为可执行代码时,根据所述编程代码直接生成所述执行代码;当所述表现格式为二进制代码时,对所述编程代码进行转译,编写生成所述执行代码。
其中,判断表现格式是否是可执行代码,即为获取编程代码的具体格式,并与当前可编程控制器可执行的代码类型进行比对,相同则认为是可执行代码,可以被执行引擎直接解释并执行。之后,如果表现格式是二进制代码的则需要编译。
在本说明书的可选实施例中,为了基于可编程控制器本身的功能给与用户特定的反馈,使用户规避某种特定的代码类型。所述代码生成模块,还包括:
检测所述可编程控制器是否具有JIT功能;
当所述可编程控制器没有所述JIT功能时,向所述页面化服务模块传输反馈意见,使所述页面化服务模块根据所述反馈意见调整所述编程界面。
其中,JIT功能主要用于对二进制代码的再编译。没有JIT优化的对二进制代码的转换性能较差,带有JIT功能的转译后代码的性能接近编译好的二进制代码性能。基于此,对可编程控制器内部是否包含JIT功能进行检查,在没有此功能时,向页面化服务模块提出反馈意见,使页面化服务模块在生成编程界面时生成相应的提示信息,使用户尽量规避使用二进制代码进行编码。
在本说明书的可选实施例中,为了适应现代外部终端的内部软件系统等存在多种操作系统,同时外部终端读取web界面的软件也不尽相同这一情况。所述将编程界面传输给所述外部终端,具体包括:
所述页面化服务模块根据与外部终端连接时建立的HTTP协议,确定所述外部终端的环境信息,根据所述环境信息对所述编程界面进行调整。
其中,HTTP(Hyper Text Transfer Protocol)协议为超文本传输协议,是一种用于分布式、协作式和超媒体信息系统的应用层协议。页面化服务模块通过HTTP协议获取了外部终端的环境信息,即获取了外部终端的具体系统环境,读取web界面的具体软件数据等。之后根据环境信息对编程界面进行相应的调整。
在具体应用场景中,如图2所示,用户电脑不用再安装专用软件,也不用专用的控制网络,或者说不再需要专用的工程师电脑。取而代之的是任何带有浏览器的电脑都可通过IP(Internet Protocol网际互连协议)端口,HTTP协议直接访问可编程控制器来完成控制器的编程工作。所有的应用模块都内嵌到可编程控制器中。用户编程界面通过JavaScript(简称“JS”,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言)代码运行于浏览器来实现,而代码生成/编译模块则内嵌到控制器中。
随着Web技术的进步,尤其是HTML5(HTML,Hyper Text Markup Language,超文本标记语言;HTML5是第5代超文本标记语言)的全面支持,Web界面的用户交互能力和图形性能已经全面赶上了桌面软件甚至有所超越。这就使控制程序(无论是文本程序还是图形编程)的编程过程完全可以用Web界面的方式实现。
另一方面,随着硬件性能、容量的提高和嵌入式系统的发展,代码生成、有限性检查、编译等等工作也完全可以在控制器中完成,甚至通用语言的编译工作也可以在控制器中完成。
页面化服务模块前端通过传输到外部终端的JavaScript界面与用户交互,形成用户编程的最初结果:文本编程的编程代码是文本形式的源文件;图形化编程代码则是指令(或者功能块)实例信息和连接关系信息。这些初步编程代码可以由前端或者后端做最初的有效性检查。并以多种格式如JSON、XML等表达,并通过HTTP协议传入页面化服务模块的后端,然后由页面化服务模块后端利用PHP(PHP:Hypertext Preprocessor,超文本预处理器)等再处理后交给代码生成模块处理。
代码生成模块收到初步编程代码并作最终的有效性检查,之后的通过多种形式生成执行代码:如果执行引擎能够解释执行则直接生成执行代码,如果是二进制代码的执行引擎则需要编译。
最后将执行代码交由代码执行模块进行执行。
在可编程控制器中还可以集成其他功能/应用模块,例如:通道输入输出模块、内存变量模块、PID控制(proportional-integral-derivative control,比例-积分-微分控制)模块等。
基于同一发明构思,本说明书一个或多个实施例还提供了一种可编程控制器,参考图3所示,包括:页面化服务模块301、代码生成模块302、代码执行模块303;其中,
所述页面化服务模块301与所述代码生成模块302通讯连接,所述代码生成模块302与所述代码执行模块303通讯连接;
所述页面化服务模块301,用于与外部终端连接,将编程界面传输给所述外部终端,接收用户通过所述编程界面输入的编程代码,将所述编程代码传输给所述代码生成模块302;
所述代码生成模块302,用于接收所述编程代码,根据所述编程代码生成用于所述可编程控制器的执行代码;
所述代码执行模块303,用于接收所述执行代码,根据所述执行代码执行相应控制。
作为一个可选的实施例,所述页面化服务模块301将所述编程代码传输给所述代码生成模块302,具体包括:
获取所述编程代码的表现格式;
当所述表现格式为文本形式时,对所述编程代码的源文件进行形式检测;当所述表现格式为图形形式时,检测所述编程代码的功能块信息及连接关系信息;对检测通过的所述编程代码进行至少一种格式包装,将包装后的所述编程代码传输给所述代码生成模块302。
作为一个可选的实施例,所述代码生成模块302根据所述编程代码生成用于所述可编程控制器的执行代码,具体包括:
根据所述表现格式进行判断;
当所述表现格式为可执行代码时,根据所述编程代码直接生成所述执行代码;当所述表现格式为二进制代码时,对所述编程代码进行转译,编写生成所述执行代码。
作为一个可选的实施例,所述代码生成模块302,还包括:
检测所述可编程控制器是否具有JIT功能;
当所述可编程控制器没有所述JIT功能时,向所述页面化服务模块传输反馈意见,使所述页面化服务模块根据所述反馈意见调整所述编程界面。
作为一个可选的实施例,所述页面化服务模块301将编程界面传输给所述外部终端,具体包括:
所述页面化服务模块301根据与外部终端连接时建立的HTTP协议,确定所述外部终端的环境信息,根据所述环境信息对所述编程界面进行调整。
为了描述的方便,描述以上可编程控制器时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的可编程控制器用于实现前述实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本说明书一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本说明书一个或多个实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出设备,以便避免使本说明书一个或多个实施例难以理解,并且这也考虑了以下事实,即关于这些框图设备的实施方式的细节是高度取决于将要实施本说明书一个或多个实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本说明书一个或多个实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本说明书一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (10)

1.一种可编程控制方法,其特征在于,应用于可编程控制器,所述可编程控制器包括:页面化服务模块、代码生成模块、代码执行模块;所述方法包括:
所述页面化服务模块与外部终端连接,将编程界面传输给所述外部终端,接收用户通过所述编程界面输入的编程代码,将所述编程代码传输给所述代码生成模块;
所述代码生成模块接收所述编程代码,根据所述编程代码生成用于所述可编程控制器的执行代码;
所述代码执行模块接收所述执行代码,根据所述执行代码执行相应控制。
2.根据权利要求1所述的方法,其特征在于,所述将所述编程代码传输给所述代码生成模块,具体包括:
获取所述编程代码的表现格式;
当所述表现格式为文本形式时,对所述编程代码的源文件进行形式检测;当所述表现格式为图形形式时,检测所述编程代码的功能块信息及连接关系信息;对检测通过的所述编程代码进行至少一种格式包装,将包装后的所述编程代码传输给所述代码生成模块。
3.根据权利要求2所述的方法,其特征在于,所述根据所述编程代码生成用于所述可编程控制器的执行代码,具体包括:
根据所述表现格式进行判断;
当所述表现格式为可执行代码时,根据所述编程代码直接生成所述执行代码;当所述表现格式为二进制代码时,对所述编程代码进行转译,编写生成所述执行代码。
4.根据权利要求1所述的方法,其特征在于,所述代码生成模块,还包括:
检测所述可编程控制器是否具有JIT功能;
当所述可编程控制器没有所述JIT功能时,向所述页面化服务模块传输反馈意见,使所述页面化服务模块根据所述反馈意见调整所述编程界面。
5.根据权利要求1所述的方法,其特征在于,所述将编程界面传输给所述外部终端,具体包括:
所述页面化服务模块根据与外部终端连接时建立的HTTP协议,确定所述外部终端的环境信息,根据所述环境信息对所述编程界面进行调整。
6.一种可编程控制器,其特征在于,包括:页面化服务模块、代码生成模块、代码执行模块;其中,
所述页面化服务模块与所述代码生成模块通讯连接,所述代码生成模块与所述代码执行模块通讯连接;
所述页面化服务模块,用于与外部终端连接,将编程界面传输给所述外部终端,接收用户通过所述编程界面输入的编程代码,将所述编程代码传输给所述代码生成模块;
所述代码生成模块,用于接收所述编程代码,根据所述编程代码生成用于所述可编程控制器的执行代码;
所述代码执行模块,用于接收所述执行代码,根据所述执行代码执行相应控制。
7.根据权利要求6所述的可编程控制器,其特征在于,所述页面化服务模块将所述编程代码传输给所述代码生成模块,具体包括:
获取所述编程代码的表现格式;
当所述表现格式为文本形式时,对所述编程代码的源文件进行形式检测;当所述表现格式为图形形式时,检测所述编程代码的功能块信息及连接关系信息;对检测通过的所述编程代码进行至少一种格式包装,将包装后的所述编程代码传输给所述代码生成模块。
8.根据权利要求7所述的可编程控制器,其特征在于,所述代码生成模块根据所述编程代码生成用于所述可编程控制器的执行代码,具体包括:
根据所述表现格式进行判断;
当所述表现格式为可执行代码时,根据所述编程代码直接生成所述执行代码;当所述表现格式为二进制代码时,对所述编程代码进行转译,编写生成所述执行代码。
9.根据权利要求6所述的可编程控制器,其特征在于,所述代码生成模块,还包括:
检测所述可编程控制器是否具有JIT功能;
当所述可编程控制器没有所述JIT功能时,向所述页面化服务模块传输反馈意见,使所述页面化服务模块根据所述反馈意见调整所述编程界面。
10.根据权利要求6所述的可编程控制器,其特征在于,所述页面化服务模块将编程界面传输给所述外部终端,具体包括:
所述页面化服务模块根据与外部终端连接时建立的HTTP协议,确定所述外部终端的环境信息,根据所述环境信息对所述编程界面进行调整。
CN202010352010.7A 2020-04-28 2020-04-28 一种可编程控制方法及可编程控制器 Pending CN111522291A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010352010.7A CN111522291A (zh) 2020-04-28 2020-04-28 一种可编程控制方法及可编程控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010352010.7A CN111522291A (zh) 2020-04-28 2020-04-28 一种可编程控制方法及可编程控制器

Publications (1)

Publication Number Publication Date
CN111522291A true CN111522291A (zh) 2020-08-11

Family

ID=71905021

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010352010.7A Pending CN111522291A (zh) 2020-04-28 2020-04-28 一种可编程控制方法及可编程控制器

Country Status (1)

Country Link
CN (1) CN111522291A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112233498A (zh) * 2020-10-14 2021-01-15 烟台鼎钰电子科技有限公司 一种表格式可编程显示控制器

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1409233A (zh) * 2001-09-24 2003-04-09 西门子能量及自动化公司 用于从一个集中式服务器中编程可编程控制器并产生配置数据的方法和装置
CN101872184A (zh) * 2010-06-04 2010-10-27 南大傲拓科技江苏有限公司 可编程控制器的顺序控制图编程及控制方法
CN102950595A (zh) * 2012-10-31 2013-03-06 常州数控技术研究所 工业机器人的编程系统和方法
CN105353975A (zh) * 2015-09-30 2016-02-24 成都华为技术有限公司 一种存储设备管理的方法及装置
US10068172B2 (en) * 2012-09-20 2018-09-04 IfWizard Corporation Method and system for simplified knowledge engineering
CN109143952A (zh) * 2018-06-13 2019-01-04 华东师范大学 可编程逻辑控制器编程语言转换系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1409233A (zh) * 2001-09-24 2003-04-09 西门子能量及自动化公司 用于从一个集中式服务器中编程可编程控制器并产生配置数据的方法和装置
CN101872184A (zh) * 2010-06-04 2010-10-27 南大傲拓科技江苏有限公司 可编程控制器的顺序控制图编程及控制方法
US10068172B2 (en) * 2012-09-20 2018-09-04 IfWizard Corporation Method and system for simplified knowledge engineering
CN102950595A (zh) * 2012-10-31 2013-03-06 常州数控技术研究所 工业机器人的编程系统和方法
CN105353975A (zh) * 2015-09-30 2016-02-24 成都华为技术有限公司 一种存储设备管理的方法及装置
CN109143952A (zh) * 2018-06-13 2019-01-04 华东师范大学 可编程逻辑控制器编程语言转换系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
祖国建: "《电气控制与PLC》", 31 January 2010, 华中科技大学出版社 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112233498A (zh) * 2020-10-14 2021-01-15 烟台鼎钰电子科技有限公司 一种表格式可编程显示控制器

Similar Documents

Publication Publication Date Title
US10732608B2 (en) Translation module, processing module and control system
US9235381B2 (en) Method and device for the programming and configuration of a programmable logic controller
US8327316B2 (en) Compilation model
CN110825488A (zh) 一种业务处理方法、装置及电子设备和存储介质
García et al. Developing CPPS within IEC-61499 based on low cost devices
CN107291444B (zh) Plc指令生成方法及装置和plc编程方法
CN111736954B (zh) 多智能合约虚拟机实现方法、多智能合约虚拟机及系统
CN104821954A (zh) 一种跨平台远程过程调用方法
CN111782330A (zh) 一种基于Web应用的页面数据获取方法、装置及设备
CN103605525A (zh) 桌面应用程序的实现方法和装置
CN111026439A (zh) 应用程序的兼容方法、装置、设备及计算机存储介质
US7376935B2 (en) Design-time system and method to enable programming assistance across languages and compilation boundaries
CN111267111B (zh) 一种机器人控制方法、装置及系统
CN111522291A (zh) 一种可编程控制方法及可编程控制器
CN111857658A (zh) 一种渲染动态组件的方法、装置、介质和电子设备
CN113778405A (zh) 一种跨平台app构建方法、装置、系统及介质
CN110362317B (zh) 一种代码转换方法、装置和存储介质
CN108062223B (zh) 一种Simulink模型之间建立连接关系的方法及装置
US20180321809A1 (en) Method for creating a menu structure on a measuring transducer, and measuring transducer
Cabral et al. Native OPC UA handling and IEC 61499 PLC integration within the arrowhead framework
CN114938397A (zh) 一种基于kaitai的高效率协议解包组包方法、系统和可读存储介质
CN109614104B (zh) 基于模板预处理添加新语意结构的方法、装置及电子设备
Runde et al. EDDL and semantic web—From field device integration (FDI) to Future Device Management (FDM)
CN110098991B (zh) 将EtherCAT总线系统接入通用物联云平台的设备
CN104615458A (zh) 一种基于json数据格式模块加载的方法及系统

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: 20200811

RJ01 Rejection of invention patent application after publication