买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】最优编译PLC命令的方法_LS 产电株式会社_201610916790.7 

申请/专利权人:LS 产电株式会社

申请日:2016-10-20

公开(公告)日:2020-06-19

公开(公告)号:CN107024900B

主分类号:G05B19/05(20060101)

分类号:G05B19/05(20060101)

优先权:["20151021 KR 10-2015-0146850"]

专利状态码:失效-未缴年费专利权终止

法律状态:2022.09.30#未缴年费专利权终止;2017.09.01#实质审查的生效;2017.08.08#公开

摘要:本公开提供了一种编译PLC可编程逻辑控制器命令的方法,所述方法包括:确定从针对要在PLC中执行的程序中包含的命令的多个编译处理方案中选择的一个编译处理方案;并且基于所选编译处理方案而执行针对速率或大小优化的命令编译。

主权项:1.一种编译可编程逻辑控制器PLC命令的方法,所述方法包括:基于用户的环境而选择速率选项或大小选项或默认选项;确定从针对要在PLC中执行的程序中包含的命令的多个编译处理方案中选择的针对速率优化或大小优化或默认的一个编译处理方案;并且基于所选编译处理方案而执行针对速率优化或大小优化或默认的命令编译,执行命令编译包括:当所选编译处理方案被确定为针对所述速率或者默认时,基于其是否可以被直接编译来确定所述所选编译处理方案是否是简单命令处理;当所选编译处理方案被确定为简单编译处理方案时,由直接编译处理方案以汇编语言执行所述命令编译;当所选编译处理方案被确定为针对所述大小时,不基于其是否可以被直接编译来确定所述所选编译处理方案是否是简单命令处理,而是通过参照针对所述大小优化的命令映射表识别以二进制文件存储的命令处理函数的地址,然后调用所述命令处理函数,然后将被需要执行所述命令的命令处理函数复制到编译区域以在当驱动所述PLC时识别所述命令处理函数的地址,并且然后调用所述存储的函数来执行所述命令,来以间接编译处理方案执行所述命令编译。

全文数据:最优编译PLC命令的方法技术领域[0001]本公开涉及一种最优编译PLC可编程逻辑控制器命令的方法,并且特别地,如下一种最优编译PLC命令的方法,其中,为了改进针对要由PADT编程和调试工具编译器编译的PLC命令的编译处理方案,可以通过基于用户的环境而选择速率选项或大小选项而由针对速率或针对大小优化的编译处理方案编译该命令来优化用户程序。背景技术[0002]在工业现场处的系统例如工厂自动化系统采用了综合控制装置例如可编程逻辑控制器PLC1LC配备有作为基础单元的通用主处理单元MPUAPU执行将用户使用编程和调试工具PADT编写的程序转换为PLC可以识别的代码的编译过程。[0003]因此,为了驱动PLC,应该转换由用户使用PADT编写的程序以使得MPU可以识别它。[0004]PADT是执行编程、编辑和调试功能的软件。PADT执行在由用户创建的项目中编译命令以使得PLC可以识别它并且然后下载到PLC的功能。[0005]此时,取决于采用的方法,该命令可以以多种方法由PDAT编译并可以例如在执行率和可修改性上改变。[0006]同时,命令的处理速率和程序的大小是关于PLC的性能的关键因素。具体地,处理速率越高,生产率可以增加,并且程序的大小越大,更多的输入输出可以被控制。[0007]在现有技术中,PLC仅支持固定的命令处理速率和固定的程序大小,并且因此不能灵活地修改命令的处理速率和程序的大小来适合于系统的特性。[0008]因此,存在以下问题:在实际应用中当命令处理速率很低或程序大小不足时,PLC应该使用其较高的版本来替代或者应该改变系统。发明内容[0009]本公开的一个方面是提供一种最优编译PLC可编程逻辑控制器命令的方法,并且特别地,如下一种最优编译PLC命令的方法,其中,为了改进针对要由PADT编程和调试工具编译器编译的PLC命令的编译处理方案,可以通过基于用户的环境而选择速率选项或大小选项以使得可以由针对速率优化的编译处理方案或针对大小优化的编译处理方案编译命令来优化用户程序。[0010]本公开的其他对象不限于上面描述的对象并且其他对象和优点可以由以下参照本公开的实施例描述的描述而领会。[0011]根据本发明的一个方面,提供了一种编译PLC可编程逻辑控制器命令的方法,该方法包括:确定从针对要在PLC中执行的程序中包含的命令的多个编译处理方案选择的一个编译处理方案;并且基于所选编译处理方案而执行针对速率或大小优化的命令编译。[0012]执行命令编译可以包括:当所述所选编译处理方案被确定为针对所述大小时,基于任意建立的标准确定所述所选编译处理方案是否是简单命令处理;当所述所选编译处理方案被确定为简单编译处理方案时,由直接编译处理方案以汇编语言执行所述命令编译;并且当所述所选编译处理方案被确定为不是简单编译处理方案时,通过参照针对所述速率优化的命令映射表识别以二进制文件存储的命令处理函数的地址,然后调用所述命令处理函数,然后将被需要执行所述命令的命令处理函数复制到编译区域以在当驱动所述PLC时识别所述命令处理函数的地址,并且然后调用存储的函数来执行所述命令,来以间接编译处理方案执行所述命令编译。[0013]执行命令编译可以包括:当所述所选编译处理方案被确定为针对所述大小时,通过参照针对所述大小优化的命令映射表识别以二进制文件存储的命令处理函数的地址,然后调用所述命令处理函数,然后将被需要执行所述命令的命令处理函数复制到编译区域以在当驱动所述PLC时识别所述命令处理函数的地址,并且然后调用所述存储的函数以执行所述命令,来以间接编译处理方案执行所述命令编译。[0014]执行命令编译可以包括:当所述所选编译处理方案被确定为默认时,基于任意建立的标准而确定所述所选编译处理方案是否是简单命令处理;当所述所选编译处理方案被确定为简单编译处理方案时,由直接编译处理方案执行所述命令编译;并且当所述所选编译处理方案被确定为不是简单编译处理方案时,通过参照默认下设置的命令映射表识别以二进制文件存储的命令处理函数的地址,然后调用所述命令处理函数,然后将被需要执行所述命令的命令处理函数复制到编译区域以在当驱动所述PLC时识别所述命令处理函数的地址,并且然后调用所述存储的函数以执行所述命令,来以间接编译处理方案执行所述命令编译。[0015]确定一个编译处理方案可以包括:提供对应于速率的第一选项框以及对应于大小的第二选项框;并且确定如果勾选了所述第一选项框,则所述速率选项被选中;如果勾选了所述第二选项框,则所述大小选项被选中;并且如果没有选项框被勾选,则所述默认被选中。[0016]最优编译PLC命令的方法可以基于所述PLC中的程序大小或剩余数据存储容量而设置为自动选择针对所述命令的多个编译处理方案中的一个编译处理方案。[0017]设置为自动选择一个编译处理方案:可以设置为在正常情况下选择针对所述速率的编译处理方案或在当所述程序大小超过任意参考大小时选择针对所述大小的编译处理方案。[0018]设置为自动选择一个编译处理方案可以设置为在正常情况下选择针对所述速率的编译处理方案或在当所述PLC中的剩余数据存储容量低于任意参考容量时选择针对所述大小的编译处理方案。[0019]根据本发明的另一个方面,本公开可以以下面的方式在PADT编程和调试工具编译器中改进编译处理方案:基于用户的环境选择速率选项或大小选项来基于针对速率或大小优化的编译处理方案而编译命令,从而优化用户程序。[0020]根据本发明的又一方面,一种最优编译PLC程序的方法致使用户选择任意编译处理方案以使得该PLC程序可以被灵活地应用于各种系统。[0021]例如,当选择速率选项时,可以通过提供针对速率优化的编译处理方案以各种方式来提高其速率。相反,当选择大小选项时,其大小被优化以增加程序存储容量的效率,并且当没有选择选项时,可以使用基本目标代码来执行编译。附图说明[0022]图i是示出了根据本公开的实施例的最优编译PLC命令的方法中的用户代码的框图。[0023]图2是示出了根据本公开的实施例的最优编译PLC命令的方法中的开发人员的代码的框图。[0024]图3是示出了根据本公开的实施例的最优编译PLC命令的方法中的命令处理的框图。[0025]图4是示出了根据本公开的实施例的最优编译PLC命令的方法的流程图。[0026]图5是示出了根据本公开的实施例的设置编译处理方案以最优编译PLC命令的过程的视图。[0027]图6是示出了根据本公开的实施例的在最优编译PLC命令的方法中的生成目标文件的过程的框图。[0028]图7是示出了根据本公开的实施例的最优编译PLC命令的方法的视图。[0029]图8是示出了根据本公开的实施例的在最优编译PLC命令的方法中的直接编译的视图。[0030]图9是示出了根据本公开的实施例的在最优编译PLC命令的方法中的间接编译的流程图。[0031]图1〇是示出了根据本公开的另一个实施例的最优编译PLC命令的方法的流程图。具体实施方式[0032]本公开可以被各种修改并且包括各种实施例。因此,一些具体实施例将借由插图在附图中被举例说明并且在下面的详细描述中被描述。然而,这无意将本公开限制于具体实施例,并且要理解的是,它们涵盖落入本公开的精神和保护范围中所有修改、等同物或改变。[0033]以下,根据本公开的优选实施例将参照附图进行详细地描述。[0034]图1是示出了根据本公开的实施例的最优编译PLC命令的方法中的用户代码的框图。[0035]参照图1,用户通过使用编程和调试工具PADT编写程序1。[0036]图2是示出了根据本公开的实施例的最优编译PLC命令的方法中的开发人员的代码的框图。[0037]参照图2,开发人员通过使用源编辑工具来创建命令处理函数代码2。命令处理函数代码2可以是例如voidmovevoid。由开发人员创建的命令处理函数代码2由MPU专用编译器3编译为二进制格式的目标代码4〇MPU专用编译器3可以为C语言或C++编译器。[0038]编译后的二进制格式的目标代码4在其上存储命令处理函数。这些目标代码4被用于基于命令而提取起始地址和大小,使得命令映射表被创建。[0039]图3是示出了根据本公开的实施例的最优编译PLC命令的方法中的命令处理的框图。[0040]参照图3,示出了当用户已在PADT中编写MOVE命令时执行的过程。PADT编译器5可以基本上将由用户编写的程序转换为使能PLC运行的格式。为了执行该命令,应该基于该命令调用处理函数。[0041]当用户已通过PADT编写了MOVE命令6时,在处理程序7期间可以调用MOVE命令处理函数⑻。[0042]如果调用了MOVE命令,则参照命令映射表9识别存储在二进制文件10中的MOVE命令处理函数的地址(11,并且然后调用存储在二进制文件10中的MOVE命令处理函数代码12。随后,将MOVE命令处理函数代码插入到编译区域中(13。当如上面描述的编译处理完成时,生成PLC驱动文件14。[0043]图4是示出了根据本公开的实施例的最优编译PLC命令的方法的流程图。图5是示出了根据本公开的实施例的设置编译处理方案以最优编译PLC命令的过程的视图。[0044]参照图4,通过使用PADT的阶梯程序创建要在PLC中执行的程序代码S100。[0045]此后,设置针对要在PLC中执行的程序中包括的命令的多个编译处理方案中的一个编译处理方案S200。[0046]例如,当前公开可以致使用户勾选或释放速率选项和大小选项以使得用于最优编译处理的方案可以被设置。此时,如果没有选项被选中,则可以设置的是,利用基本目标代码的编译被执行。同时,如果大小选项被选中,则可以设置的是,针对大小优化的编译被执行。[0047]参考图5,示出了选择速率选项或大小选项的选择框10。选择框1〇可以包括对应于速率选项的第一选择框11和对应于大小选项的第二选择框12。[0048]如果第一框11已被勾选,则确定出该速率选项被选中。相反,如果第二选择框I2已被勾选,则确定出大小选项被选中。然而,如果在第一选择框11和第二选择框12上不存在任意勾选,贝!j确定出默认选项被选中。[0049]根据针对在要在PLC中执行的程序中包含的命令的多个编译处理方案中的一个所选编译处理方案来执行命令编译,并且因此生成PLC驱动文件S300。[0050]为了这样做,确定出已从针对要在PLC中执行的程序中包含的命令的多个编译处理方案选择了哪个编译处理方案S200。[0051]参照图6,当所选编译处理方案被确定为针对速率时,MPU专用编译器以针对速率优化的二进制文件的格式生成目标代码。[0052]当所选编译处理方案被确定为针对大小时,MPU专用编译器以针对大小优化的二进制文件的格式生成目标代码。[0053]当所选编译处理方案被确定为默认时,MPU专用编译器以默认下设置的二进制格式生成目标代码。[0054]此后,当处理命令时,PADT编译器将由用户编写的程序转换为使能PLC运行的格式。[0055]g卩,当所选编译处理方案为针对速率时,PADT编译器使用针对速率优化的目标代码来执行针对速率优化的命令编译,从而生成PLC驱动文件。同时,当所选编译处理方案为针对大小时,PADT编译器使用针对大小优化的目标代码来执行针对大小优化的命令编译,从而生成PLC驱动文件。[0056]进一步地,当所选编译处理方案为默认时,PADT编译器使用默认下设置的目标代码来执行命令编译,从而生成PLC驱动文件。[0057]如上面描述而生成的PLC驱动文件被下载到PLCS400。[0058]图7是示出了根据本公开的实施例的最优编译PLC命令的方法的视图。[0059]参照图7,确定出针对要在PLC中执行的程序中包含的命令的多个编译处理方案选择了哪个编译处理方案S301。[0060]当在S301中所选编译处理方案被确定为针对速率时,基于任意建立的标准确定出所选编译处理方案是否是简单命令处理S302。关于其是否是简单命令处理的标准为命令是否可以被直接编译。如果该命令可以被直接编译,则其符合简单命令。[0061]像这样,当速率选项被选中时,PADT编译器检查使用中的命令来确定该使用中的命令是否是一个可以由直接编译处理方案编译的命令。[0062]例如,如果一个命令的代码非常长并且复杂,则直接编译不能被执行,这是因为其可能在CPU中被写为C代码。因此,当确定出该命令可以被直接编译时,PADT编译器在针对速率优化的汇编语言中直接执行编译。然而,当确定出该命令不能被直接编译时,PADT编译器遵循与速率选项有关的被写为C代码的命令执行例程。[0063]在此,如图8中示出的,直接编译是PADT编译器通过其执行并存储命令的任意编译处理方案。当用户编写任意命令时,PADT编译器在编译时允许用于处理被存储在PLC编译区域上的命令的所有代码。然后,如果存在在程序处理中使用的任意命令,则可以在不需要调用任意单独函数的情况下执行命令,这是因为针对该命令的执行代码已被存储在编译区域上。[0064]同时,针对间接编译,当用户由如图9中示出的阶梯程序编写任意指令时,PADT编译器在处理编译的同时检查命令。PADT编译器参照存储在PADT上的命令映射表识别存储在二进制文件中的命令处理函数的地址,并且然后调用该命令处理函数。然后,被需要执行该命令的命令处理函数被复制到PW的编译区域中的结束部分。因此,当驱动该PLC时,可以通过识别命令处理函数的地址并调用存储的函数来进行命令处理。[0065]当在S302中所选编译处理方案被确定为简单命令处理时,命令编译由直接编译处理方案在汇编语言中执行S3〇3。[0066]同时,当在S302中所选编译处理方案被确定为不是简单命令处理时,PADT编译器参照针对速率优化的命令映射表识别存储在二进制文件中的命令处理函数的地址S304。随后,基于命令处理函数的地址而调用命令处理函数S3〇5,需要执行该命令的命令处理函数被复制到编译区域以使得命令编译由间接编译处理方案执行S306。因此,当驱动该PLC时,可以通过识别命令处理函数的地址并调用存储的函数来执行该命令。[0067]同时,当在S301中所选编译处理方案被确定为针对大小时,PADT编译器参照针对大小优化的命令映射表识别存储在二进制文件中的命令处理函数的地址S307。随后,基于命令处理函数的地址而调用命令处理函数S308,需要执行该命令的函数被复制到编译区域以使得命令编译由间接编译处理方案执行(S309。因此,当驱动该PLC时,可以通过识别命令处理函数PLC的地址并调用存储的函数来执行该命令。[0068]像这样,如果所选编译处理方案为针对大小,则PADT编译器对使用中的命令执行间接编译。间接编译处理方案对减少整体程序大小是有用的,这是因为其会相对于相同命令仅复制一次执行例程。进一步地,当处理间接编译时可以关联于大小选项编译在0代码中创建的命令执行例程,从而减少了程序大小。[0069]同时,当在S301中所选编译处理方案被确定为默认时,基于任意建立的标准确定出所选编译处理方案是否是简单命令处理S310。[0070]当在S310中所选编译处理方案被确定为简单命令处理时,命令编译由直接编译处理方案执行S311。[0071]然而,当在S301中所选编译处理方案被确定为不是简单命令处理时,识别出参照默认下设置的命令映射表以二进制文件存储的命令处理函数的地址(S312。随后,基于命令处理函数的地址而调用命令处理函数S313,需要执行该命令的函数被复制到编译区域以使得命令编译由间接编译处理方案执行(S314。因此,当驱动该PLC时,可以通过识别命令处理函数的地址并调用存储的函数来执行该命令。[0072]像这样,用户可以选择针对适合于系统环境的命令的编译处理方案。如果速率选项被选中,则编译该PLC程序来优化处理速率并且因此以相对于现有技术的32%的增加速率使能该控制。此外,如果大小选项被选中,则该程序可以以其大小相对于现有程序大小增加达至30%而被使用。因此,采用本公开的PLC以其中它可以覆盖的其处理速率和程序大小而变得灵活,使得其可以被应用于各种系统。[0073]根据本公开,一种最优编译PLC程序的方法致使用户选择任意编译处理方案,使得该PLC程序可以被灵活地应用于各种系统。[0074]图10是示出了根据本公开的另一个实施例的最优编译PLC命令的方法的流程图。[0075]参照图10,要在PLC中执行的程序代码通过使用PADT的阶梯程序而编写S510。[0076]基于PLC中的程序大小或剩余数据存储容量,程序被设置为自动选择针对要在PLC中执行的程序中包含的命令的多个编译处理方案中的一个编译处理方案S520。[0077]例如,为了自动选择一个编译处理方案,可以设置该程序以使得在正常情况下选择针对速率的编译处理方案而当程序大小超过任意参考大小时选择针对大小的编译处理方案。[0078]另一个示例,为了自动选择一个编译处理方案,可以设置该程序以使得在正常情况下选择针对速率的编译处理方案而当PLC中的剩余数据存储容量低于任意参考容量时选择针对大小的编译处理方案。[0079]根据自动地从针对要在PLC中执行的程序中包含的命令的多个编译处理方案所选的一个编译处理方案来执行命令编译,并且因此生成PLC驱动文件S530。[0080]为了这样做,确定出从针对要在PLC中执行的程序中包含的命令的多个编译处理方案选择出了哪个编译处理方案。[0081]当所选编译处理方案被确定为针对速率时,执行针对速率优化的命令编译。当所选编译处理方案确定为针对大小时,执行针对大小优化的命令编译。[0082]当所选编译处理方案被确定为默认时,执行默认下设置的命令编译来生成目标代码,并且因此生成PLC驱动文件。生成的PLC驱动文件被下载到PLCS540。[0083]虽然上面已经描述了根据本公开的实施例,但是它们只是示范性的,并且本领域中的那些技术人员将理解的是,由此得出的各种修改和改变可以在落入本公开的保护范围中的等效范围内实现。因此,本公开的真实技术范围应由附属的权利要求限定。

权利要求:1.一种编译PLC可编程逻辑控制器命令的方法,所述方法包括:确定从针对要在PLC中执行的程序中包含的命令的多个编译处理方案中选择的一个编译处理方案;并且基于所选编译处理方案而执行针对速率或大小优化的命令编译。2.根据权利要求1所述的方法,其中执行命令编译包括:_当所述所选编译处理方案被确定为针对所述大小时,基于任意建立的标准确定所述所选编译处理方案是否是简单命令处理;当所述所选编译处理方案被确定为简单编译处理方案时,由直接编译处理方案以汇编语言执行所述命令编译;并且当所述所选编译处理方案被确定为不是简单编译处理方案时,通过参照针对所述速率优化的命令映射表识别以二进制文件存储的命令处理函数的地址,然后调用所述命令处理函数,然后将被需要执行所述命令的命令处理函数复制到编译区域以在当驱动所述PLC时识别所述命令处理函数的地址,并且然后调用存储的函数以执行所述命令,来以间接编译处理方案执行所述命令编译。3.根据权利要求1所述的方法,其中执行命令编译包括:当所述所选编译处理方案被确定为针对所述大小时,通过参照针对所述大小优化的命令映射表识别以二进制文件存储的命令处理函数的地址,然后调用所述命令处理函数,然后将被需要执行所述命令的命令处理函数复制到编译区域以在当驱动所述PLC时识别所述命令处理函数的地址,并且然后调用所述存储的函数来执行所述命令,来以间接编译处理方案执行所述命令编译。4.根据权利要求1所述的方法,其中执行命令编译包括:当所述所选编译处理方案被确定为默认时,基于任意建立的标准而确定所述所选编译处理方案是否是简单命令处理;当所述所选编译处理方案被确定为简单编译处理方案时,由直接编译处理方案执行所述命令编译;并且当所述所选编译处理方案被确定为不是简单编译处理方案时,通过参照默认下设置的命令映射表识别以二进制文件存储的命令处理函数的地址,然后调用所述命令处理函数,然后将被需要执行所述命令的命令处理函数复制到编译区域以在当驱动所述PLC时识别所述命令处理函数的地址,并且然后调用所述存储的函数以执行所述命令,来以间接编译处理方案执行所述命令编译。5.根据权利要求1所述的方法,其中确定一个编译处理方案包括:提供对应于速率的第一选项框以及对应于大小的第二选项框;并且确定如果勾选了所述第一选项框,则所述速率选项被选中;如果勾选了所述第二选项框,则所述大小选项被选中;并且如果没有选项框被勾选,则所述默认被选中。6.根据权利要求1所述的方法,进一步包括:基于所述PLC中的程序大小或剩余数据存储容量而设置为自动选择针对所述命令的多个编译处理方案中的一个编译处理方案。7.根据权利要求6所述的方法,其中,设置为自动选择一个编译处理方案包括:设置为在正常情况下选择针对所述速率的编译处理方案或在当所述程序大小超过任意参考大小时选择针对所述大小的编译处理方案。8.根据权利要求6所述的方法,其中,设置为自动选择一个编译处理方案包括:设置为在正常情况下选择针对所述速率的编译处理方案或在当所述PLC中的剩余数据存储容量低于任意参考容量时选择针对所述大小的编译处理方案。

百度查询: LS 产电株式会社 最优编译PLC命令的方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。