首页> 中国专利> 用于支持多种编程语言的PLC控制方法

用于支持多种编程语言的PLC控制方法

摘要

本发明提供用于支持多种编程语言的PLC控制方法。本发明涉及用于在一个PLC硬件中支持多种编程语言的方法,通过使PLC动作所需的程序代码翻译为机器语言的过程,和按程序制作不同的存储器表格的过程均在PADT执行,从而能够与OS或编程语言无关地选择PLC硬件,并且还具有可以减少每个OS为维护而消耗的时间和费用的效果。

著录项

  • 公开/公告号CN113253992A

    专利类型发明专利

  • 公开/公告日2021-08-13

    原文格式PDF

  • 申请/专利权人 LS电气株式会社;

    申请/专利号CN202110060849.8

  • 发明设计人 朴朝东;

    申请日2021-01-18

  • 分类号G06F8/30(20180101);G06F8/41(20180101);G06F9/30(20060101);

  • 代理机构72003 隆天知识产权代理有限公司;

  • 代理人崔炳哲

  • 地址 韩国京畿道

  • 入库时间 2023-06-19 12:13:22

说明书

技术领域

本发明涉及PLC(Programmable Logic Controller:可编程逻辑控制器),尤其涉及用于PLC的控制的编程语言。

背景技术

PLC是在工业现场广泛地应用于自动控制或监控的控制装置。PLC通过用户的输入程序而动作,并且对程序依次进行逻辑处理,并根据其结果控制所连接的外部装置。例如,若输入信号进入到开关等,则会被程序内部的动作技术所处理,其结果最终会输出到线圈。

程序内部的动作以多种编程语言表述。例如有IEC61131-3中定义的语言(以下,称作‘IEC语言’)或作为按制造商定义的语言的Master-K(以下,称作‘MK语言’)等。编程语言具有用于a-触点开关、b-触点开关、计时器、逻辑运算等的指令,而用于具有通信等其它多种功能的功能块的指令,可以根据制造商而定义成各种各样。

但是,随着使用如此各种各样的编程语言,按硬件所使用的编程语言也各不相同,并且OS(operation system)也需要根据程序的不同而不同。最终,对用户而言存在如下的不便,即为了使用特定功能的硬件,需要采购搭载有支持自己使用的编程语言的OS的硬件。

为了解决这种现有技术的问题点,本发明的发明者进行了研发。为了提供不会根据编程语言和OS使用不同的硬件,而在一个OS中支持各种各样的编程语言的方法,本发明的发明者付出了大量的努力,并最终完成了本发明。

发明内容

本发明的目的在于,提供一种在一个OS中支持彼此不同的编程语言的方法。

另一方面,本发明的未提及到的其它目的,会在可以从以下的详细说明及其效果容易推断出的范围内追加考虑。

本发明的用于支持多种编程语言的PLC控制方法包括:

接收编程语言的选择的步骤;接收在所述编程语言中使用的存储器的每个区域大小的步骤;向作为控制对象的PLC请求所述PLC中包括的存储器的起始地址和大小的步骤;将用于控制所述PLC的用户程序翻译为机器语言的步骤;从所述PLC接收存储器起始地址和大小的步骤;将存储器表格传送给所述PLC的步骤,在所述存储器表格中反映了所述PLC的存储器起始地址和大小、以及所述存储器的每个区域大小;以及将所翻译的所述机器语言传送给所述PLC的步骤。

特征在于,在接收所述存储器的每个区域大小的步骤中,根据编程语言而不使用的区域处于非激活状态。

优选,接收所述编程语言的选择是,接收在彼此不同的两个以上的编程语言中作出的选择。

尤其,特征在于,所述编程语言包括IEC-61131-3语言和Master-K语言。

还可包括将所述用户程序传送给所述PLC,而不翻译成机器语言的步骤。

根据本发明,能够在一个OS中支持各种各样的编程语言,因此具有每个用户可以在不变更OS的状态下使用熟悉的编程语言的优点。因此,具有能够提高用户的便利性,并且节省保养PLC的所需的时间的效果。

另一方面,需要明确的是,即便是未在此明确提及到的效果,通过本发明的技术特征而被期待的以下说明书中记载的效果以及潜在的效果,均视为被记载于本发明的说明书中。

附图说明

图1和图2示出了在MK语言和IEC语言中使用LD编写的程序的例子。

图3是表示PLC控制装置和PLC为了运行程序而连接的过程的流程图。

图4和图5示出了程序被编译并在PLC中运行的顺序。

图6示出本发明的某优选实施例的PLC控制装置的概略结构。

图7是通过本发明的某优选实施例的PLC控制装置来执行的用于支持各种语言的PLC控制方法的流程图。

需要明确的是,附图是为了理解本发明的技术思想而作为参考示出的,其并不限定本发明的保护范围。

具体实施方式

下面,参照附图,对本发明的各种各样实施例所指的本发明的构成和从该构成得到的效果进行说明。关于在说明本发明时相关的已知功能,在其对于本领域技术人员而言显而易见并且判断为其可能会使本发明的要旨不清楚时将省略对其的详细说明。

术语“第一”、“第二”等可以用于描述各种构成要素,但是这些构成要素不应受限于上述术语。上述术语仅可用于区分一个构成要素与另一个构成要素。例如,在不脱离本发明的权利范围的情况下,“第一构成要素”可以被命名为“第二构成要素”,并且类似地,“第二构成要素”也可以被命名为“第一构成要素”。此外,除非在上下文中明确表示有另行的含义,否则单数的表达方式应包括复数的表达方式。除非另外定义,否则本发明的实施例中使用的术语可以被解释为本领域技术人员通常所知的含义。

下面,参照附图,对本发明的各种各样实施例所指的本发明构成和从高构成得到的效果进行说明。

PLC利用称作PADT(Program And Debugging Tool:程序调试工具)的工具,并通过用户编写的程序而进行动作。PADT可以使用各种编程语言,作为例子有称作IEC61131-3的标准语言、以及按制造商定义的Master-K等的语言。这种编程语言可以用LD(ladderDiagram:梯形图)、IL(Instruction List:指令表)、ST(structured Text:结构化文本)、FBD(Function Block Diagram:功能块图)等各种方法描述。

图1和图2是在MK语言和IEC语言中使用LD编写的程序的一个例子。

MK语言并不是以输入变量的类型来区分基于字节(Byte)、字(Word)、双字(DoubleWord)、浮点(Floating)等数据类型的运算,而是用指令来区分。如图1所示,即便是同样的加法运算,字类型运算使用如“ADD D00000D00002 D00004”这样的ADD指令,双字类型运算使用如“DADD D00000D00002 D00004”这样的DADD指令。

相反,IEC语言利用变量来区分运算,而并非用指令来区分。如图2所示,对字运算或双字运算均使用ADD指令。只不过,在字运算的情况下,如“%MW0、%MW1”使用变量类型,在双字运算的情况下,如“%MD0、%MD1”使用变量类型,由此区分字和双字。

两种语言在计时器的使用上也不同。MK语言采用单独分配有计时器用存储器(T0000)的方式,相反,IEC语言没有单独分配计时器用存储器,而是采用在指令内部分配并使用用于计时器的存储器的方式。

图3是表示PLC控制装置和PLC为了运行程序而连接的过程的流程图。

PLC控制装置10可以使用台式PC、笔记本PC、服务器PC等各种各样的装置。PLC控制装置10可以运行PADT并且接收用户的程序或控制指令。

用户在PADT生成项目(S10),并且选择编程语言(S12)之后输入用于控制PLC20的程序(S14)。

之后,开始PLC20连接(S16),向PLC20请求信息(S18)。若从PLC20接收信息(S20),则确认PLC20是否支持用户所选择的编程语言(S22)。

若PLC20支持编程语言,则PLC连接完成(S24)并保持连接,成为等待指令的状态(S26)。

相反,若PLC20不支持用户所选择的编程语言,则结束PLC连接(S28)。这是因为PLC20不能运行用户所编写的程序。

如此确认PLC20是否支持编程语言的理由是,内部存储器结构会根据支持的语言不同而不同。表1示出了支持MK语言的PLC的内部存储器结构,表2示出了支持IEC语言的PLC的内部存储器结构。

[表1]

[表2]

与作为PC的编程语言广为使用的C语言不同地,IEC语言或MK语言为了用户方便,按照用途区分了存储器区域并赋予了名称。输入/输出区域(P或I/Q区域)与实际PLC的输入/输出触点1:1匹配,由此在PLC控制装置10每次执行扫描时会更新输入/输出。

由于IEC语言有使用内部变量的指令,因此提供自动变量区域(A区域)。从而,与MK语言不同地,不会使用指令内部变量(自动变量)来提供计时器T区域或计数器C区域。

以下,表3示出了按编程语言,生成信息的地方和使用信息的地方不同。

[表3]

就程序代码而言,IEC语言或MK语言均在PADT生成并在PLC中运行。然而,就按PLC区域的地址表格和机器语言代码而言,生成的地方和运行的地方根据编程语言而不同。

在IEC语言的情况下,按PLC区域的地址表格在PLC生成而在PADT运行,相反,在MK语言的情况下,按PLC区域的地址表格的生成和运行均在PLC进行。

为了在PLC运行编程语言,需要经过将其翻译成机器语言的编译过程。在IEC语言的情况下,编译在PADT执行,翻译结束之后的机器语言代码传递到PLC后运行。相反,在MK语言中,不同点在于,编译和运行均在PLC进行。

图4和图5示出了程序被编译并在PLC运行的顺序。

图4是示出了在IEC语言下的PLC执行顺序。

若PLC控制装置10和PLC20的连接完成(S100),则程序代码会在PLC控制装置10,即在PADT被编译(S104)。

未被编译的程序代码写入PLC20(S106),当得到确认(ACK)时(S108),写入被翻译的机器语言代码(S110),并且得到确认(S112)。

若程序代码和机器语言代码的写入均结束,则结束PLC连接(S116),PLC20运行软件,之后会通过运行机器语言代码来执行程序(S122)。

图5是使用MK语言来运行PLC的情形的流程图。

在使用MK语言的PLC20中,在PLC20执行将程序代码翻译为机器语言的编译。

因此,PLC控制装置10在与PLC20连接之后(S200),仅写入程序代码(S204)并且在得到确认之后(S206),结束与PLC20的连接(S210)。与IEC语言不同地,会省略编译步骤。

PLC20为了运行软件(S220),并且运行程序,首先将程序代码编译为机器语言(S222),并通过运行编译结束的机器语言来运行程序(S224)。

如此,根据现有技术,由于IEC语言和MK语言的存储器构成或编译过程、编译位置等不同,因此两者无法合并,存在需要根据编程语言来区分使用OS或硬件的不便之处。

图6示出本发明的某优选实施例的PLC控制装置的概略结构。

PLC控制装置100可以包括控制部110和通信部120。

控制部110包括一个以上的处理器112和存储器114。

作为用户接口的PADT116在控制部110运行。在存储器114可以存储有用于运行PADT116的程序代码和数据,而处理器112利用该程序代码和数据来运行PADT116。

通信部120为与PLC200进行通信而使用。向PLC200传递程序代码或交换各种控制指令、数据。

图7是通过本发明的某优选实施例的PLC控制装置来执行的用于支持各种语言的PLC控制方法的流程图。

PLC控制装置100通过PADT来从用户接收项目生成(S300)和编程语言选择(S302)。

在接收到编程语言选择之后,根据编程语言从用户接收存储器区域的设定。

以下,表4示出了接收按存储器区域的大小的例子。

[表4]

根据用户所选择的编程语言,接收将要使用的存储器区域的大小。在使用MK语言的情况下,由于不使用I/Q区域或A区域,因而接收将其除外的输入,而在使用IEC语言的情况下,不会接收P区域、T/C区域、D区域等的输入。

以下,表5示出了在选择了IEC语言的情况下,接收到在IEC语言下使用的区域的大小的例子。

[表5]

可以看出,在IEC语言下不使用的P/T/C/D区域未被分配存储器大小。存储器起始位置表示在PLC200中实际使用到的存储器的起始地址,区域大小合计表示存储器的全部区域之和。

若输入完每个存储器区域的大小,则接收用户的程序(S306)开始与PLC200的连接(S308)。

若PLC200的连接完成(S310),则请求PLC200的存储器起始地址和大小(S312),并从PLC200接收回复(S314)。

若接收到存储器起始地址和大小,则根据其生成存储器表格。

表6示出了在使用IEC语言的情况下,利用存储器起始地址来设定了各区域的地址的存储器表格的例子。

[表6]

在编译程序代码之后(S316)写入程序(S318),考虑到存储器起始地址和大小写入存储器表格(S322),编译了的机器语言也记录于PLC200(S326)。程序写入、存储器表格写入、机器语言写入均一并执行确认(ACK)步骤(S320、S324、S328)。

若结束所有必要的代码和数据的记录,则PLC控制装置100结束与PLC200的连接(S330)。

PLC200为了驱动而执行必要的软件(S350),并利用从PLC控制装置100接收到的存储器表格来设定存储器区域(S352)。由于存储器区域会根据编程语言而变化,因此,并不是固定的存储器区域,而是利用从PLC控制装置100接收到的存储器表格来设定。

在设定存储器区域之后,PLC200运行程序。由于接收编译结束的状态的机器语言,因此与编程语言无关地利用机器语言直接运行程序。

因此,与编程语言无关地,PLC200无需对程序代码进行编译。

表7示出了在本发明中生成程序代码、存储器地址表格、机器语言代码的地方,和运行程序代码、存储器地址表格、机器语言代码的地方。

[表7]

与现有技术不同地,无论是IEC语言还是MK语言,程序代码、PLC区域的存储器表格、翻译成机器语言的代码均通过PLC控制装置100的PADT生成,并且PLC200无需编译等过程,而从PADT接收存储器表格并执行。

如此,使得在PLC中能够支持根据编程语言而发生变化的存储器区域,并且统一了执行用于机器语言代码翻译的编译的场所,由此,解决了现有的根据编程语言而不同地选择硬件的问题,而且还具有能够在一个PLC中支持多种编程语言的效果。

本发明的保护范围不限于以上明确说明到的实施例的记载和表述。另外,再次重申,本发明所属技术领域中显而易见的变更或置换也不能限定本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号