CN109765836A - Plc程序的自动生成方法、装置和实现装置 - Google Patents
Plc程序的自动生成方法、装置和实现装置 Download PDFInfo
- Publication number
- CN109765836A CN109765836A CN201910108238.9A CN201910108238A CN109765836A CN 109765836 A CN109765836 A CN 109765836A CN 201910108238 A CN201910108238 A CN 201910108238A CN 109765836 A CN109765836 A CN 109765836A
- Authority
- CN
- China
- Prior art keywords
- plc
- program
- form document
- control object
- template
- 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
Links
Landscapes
- Programmable Controllers (AREA)
Abstract
本发明提供了一种PLC程序的自动生成方法、装置和实现装置,其中,该方法包括:获取PLC模板程序;该PLC模板程序包括硬件组态、变量名称、安全程序和普通程序;获取保存有当前PLC的控制对象的表格文件;在表格文件中,通过预设的安全区域和模式区域将控制对象进行设备划分,每个控制对象保存在对应的表格坐标中;根据PLC模板程序和表格文件,生成当前PLC对应的PLC程序。本发明可以缩短PLC离线程序的编写时间,保证PLC程序的一致性,从而降低了编程的错误率、提高了工作效率,降低了项目成本。
Description
技术领域
本发明涉及电气编程技术领域,尤其是涉及一种PLC(Programmable LogicController,可编程逻辑控制器)程序的自动生成方法、装置和实现装置。
背景技术
汽车市场的愈发繁荣,大大促进了汽车企业对新车型的研发以及对整车厂产能的提高。为了提高产能,很多汽车厂都会考虑根据现有的车型平台建立新的生产线,从厂房布局设计、厂房及附属配套建造、生产线规划、生产线工艺设计、生产线电气方案设计、电气编程、电气调试等多个步骤提高产能;为了保证新车型及时上市,上述步骤均需要采用新方法缩短工期,提高工作效率。其中,现有的电气编程方式需要人工修改模板程序,对PLC工程师的依赖程度较高,当工程师经验不足时,编程时间和编程质量都难以保证,容易延误工期,提高项目成本。
发明内容
有鉴于此,本发明的目的在于提供一种PLC程序的自动生成方法、装置和实现装置,以缩短PLC离线程序的编写时间,保证PLC程序的一致性,从而降低编程的错误率、提高工作效率,降低项目成本。
第一方面,本发明实施例提供了一种PLC程序的自动生成方法,其中,该方法包括:获取PLC模板程序;PLC模板程序包括硬件组态、变量名称、安全程序和普通程序;获取保存有当前PLC的控制对象的表格文件;表格文件中,通过预设的安全区域和模式区域将控制对象进行设备划分,每个控制对象保存在对应的表格坐标中;根据PLC模板程序和表格文件,生成当前PLC对应的PLC程序。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,根据PLC模板程序和表格文件,生成当前PLC对应的PLC程序的步骤,包括:根据表格文件中,每个控制对象保存的对应的表格坐标,从PLC模板程序中导出对应的程序块的XML(Extensible Markup Language,可扩展标记语言)文件;根据表格文件,修改XML文件的变量名称;将修改后的XML文件导入TIA Portal(Totally Integrated Automation Portal,全集成自动化门户)中,生成当前PLC对应的PLC程序。
结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第二种可能的实施方式,其中,根据表格文件,修改XML文件的变量名称的步骤,包括:从表格文件中读取需要修改的变量名称和目标名称;查找XML文件中需要修改的变量名称;将需要修改的变量名称替换为目标名称。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,该方法还包括:从表格文件中获得存储文件夹名称;建立存储文件夹名称对应的文件夹;将PLC程序保存在文件夹中。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,该方法还包括:接收用户输入的模式区域的数量、HMI的数量、带模式旋钮的操作盒的数量。
第二方面,本发明实施例还提供了一种PLC程序的自动生成装置,其中,该装置包括:模板程序获取模块,用于获取PLC模板程序;PLC模板程序包括硬件组态、变量名称、安全程序和普通程序;表格文件获取模块,用于获取保存有当前PLC的控制对象的表格文件;表格文件中,通过预设的安全区域和模式区域将控制对象进行设备划分,每个控制对象保存在对应的表格坐标中;程序生成模块,用于根据PLC模板程序和表格文件,生成当前PLC对应的PLC程序。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,程序生成模块,还用于:根据表格文件中,每个控制对象保存的对应的表格坐标,从PLC模板程序中导出对应的程序块的XML文件;根据表格文件,修改XML文件的变量名称;将修改后的XML文件导入TIA Portal中,生成当前PLC对应的PLC程序。
结合第二方面的第一种可能的实施方式,本发明实施例提供了第二方面的第二种可能的实施方式,其中,上述程序生成模块,还用于:从表格文件中读取需要修改的变量名称和目标名称;查找XML文件中需要修改的变量名称;将需要修改的变量名称替换为目标名称。
结合第二方面,本发明实施例提供了第二方面的第三种可能的实施方式,其中,上述装置还包括:名称获得模块,用于从表格文件中获得存储文件夹名称;文件夹建立模块,用于建立存储文件夹名称对应的文件夹;保存模块,用于将PLC程序保存在文件夹中。
第三方面,本发明实施例还提供了一种PLC程序的自动生成实现装置,该装置包括存储器和处理器,其中,所述存储器用于存储一条或多条计算机指令,一条或多条计算机指令被处理器执行,以实现上述第一方面的方法。
本发明实施例带来了以下有益效果:
本发明提供了一种PLC程序的自动生成方法、装置和实现装置,表格文件中保存有当前PLC的控制对象,并通过预设的安全区域和模式区域将控制对象进行设备划分,每个控制对象保存在对应的表格坐标中;获取到PLC模板程序后,根据上述PLC模板程序和上述表格文件,生成当前PLC对应的PLC程序。本发明可以缩短PLC离线程序的编写时间,保证PLC程序的一致性,从而降低了编程的错误率、提高了工作效率,降低了项目成本。
本发明的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本发明的上述技术即可得知。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施方式,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种PLC程序的自动生成方法的流程图;
图2为本发明实施例提供的另一种PLC程序的自动生成方法的流程图;
图3为本发明实施例提供的一种编写PLC离线程序的流程图;
图4为本发明实施例提供的一种应用程序与TIA Portal数据交换的示意图;
图5为本发明实施例提供的另一种应用程序与TIA Portal数据交换的示意图;
图6为本发明实施例提供的另一种PLC程序的自动生成方法的流程图;
图7为本发明实施例提供的一种标准库的结构示意图;
图8为本发明实施例提供的一种操作界面的结构示意图;
图9为本发明实施例提供的另一种操作界面的结构示意图;
图10为本发明实施例提供的另一种操作界面的结构示意图;
图11为本发明实施例提供的另一种操作界面的结构示意图;
图12为本发明实施例提供的一种PLC项目程序的示意图;
图13为本发明实施例提供的一种PLC程序的自动生成装置的结构示意图;
图14为本发明实施例提供的一种PLC程序的自动生成实现装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在目前的生产中,汽车厂如果没有软件标准,一般会要求供应商提供电气控制方案和编写PLC离线程序的方案,整车厂的相关部门也会提需求并审核供应商的电气控制方案。PLC离线程序的主动权在于供应商,供应商编写PLC离线程序就需要从零做起。
如果汽车厂有成熟的电气标准,工程师在编程时会按照该标准执行,每个PLC内部除了工艺逻辑一致,其他方面也都能够保持一致,有利于后期生产线维护和生产过程中的问题排除。成熟的电气标准可以使工程师现场调试时省去很多麻烦,不会因为工程师的业务能力而严重影响程序质量;在PLC编写离线时保证了程序质量,在工程师现场调试时也会非常顺利,工程师只需要配置简单参数和验证程序逻辑,不需要关心程序块本身是否正确。
汽车厂有软件标准时,汽车厂电气程序标准会提供一个模板程序,但是这些模板程序常常并不完全符合所有新项目,供应商仍需要对模板程序进行人工修改,包括:硬件组态、变量名称、安全程序和普通程序逻辑等,虽然汽车厂自己的电气程序标准保证了程序的一致性和质量,但是对PLC工程师的依赖比较高。模板程序通常只能保证工程师不需要从零做起,并不能脱离对工程师的依赖。对项目来说,熟悉标准的工程师工作起来会更顺手、编写离线的速度会更快,不熟悉汽车厂电气标准的工程师速度和质量就会较低。无论是从供应商的角度还是从汽车厂的角度,在已有的软件标准中做修改还不是最高效的方法。
基于此,本发明实施例提供了一种PLC程序的自动生成方法、装置和实现装置,该技术可以应用于汽车工业或其他工业或制造领域的电气编程中;该技术可以采用相关的软件或硬件实现,下面通过实施例进行描述。为便于对本实施例进行理解,首先对本发明实施例所公开的一种PLC程序的自动生成方法进行详细介绍。
参见图1所示的一种PLC程序的自动生成方法的流程图,该方法包括如下步骤:
步骤S102,获取PLC模板程序;该PLC模板程序包括硬件组态、变量名称、安全程序和普通程序;
该模板程序可以根据汽车厂电气程序标准或供应商的电气控制方案获得,并保存在服务器或计算机的存储地址对应的存储区中;其中,硬件组态通常根据新建生产线中电气硬件选型清单获得,不同的生产线所用到的电气硬件设备数量可能不同,不同线体中设备名称、设备类型、设备品牌和模板程序也可能不同,因此,需要根据当前生产线对模板程序中的相关参数进行修改。
生产线布局通常会根据生产工艺划分,从而会影响到安全区域的划分,不同的安全区域划分同样影响到安全程序的结构,因此,上述安全程序通常需要根据线体工艺、布局进行编写或者修改。上述普通程序中包含PLC控制下的所有设备,根据线体工艺的难易程度,不同线体的PLC下属设备类型及数量是不同的,因此,编写普通程序时也需要修改模板程序,删除不需要的程序,额外添加模板没有的程序。
步骤S104,获取保存有当前PLC的控制对象的表格文件;在表格文件中,通过预设的安全区域和模式区域将控制对象进行设备划分,每个控制对象保存在对应的表格坐标中;
其中,控制对象通常指的是机器人、滚床、电机、升降机等实际生产需用到的设备;
根据生产线的电气方案以及机械设计,可以将各种PLC控制的设备在表格文件中统计出来,并根据一套PLC下的安全区域和模式区域将控制对象进行设备划分,根据表格文件中的各统计信息所在的坐标(该坐标可以为统计信息所在的行列值)有选择性的从PLC模板程序中导出所需要的程序块的文件。
上述安全区域,是一种完全封闭的区域,人员只能从安全门进入,一条生产线可能会分成几个安全区域,当安全区域1出现故障,人员从安全区域1的安全门进入维修,此时安全区域2和3等区域依然是封闭的,只有安全区域1的门被打开了,这时安全区域1内的设备会停止,安全区域2和3等区域依然是安全的,里面的设备可以继续工作。这样就能保证不会整条线都停止。
上述模式区域,就是将区域划分为手动模式和自动模式;一般情况下模式区域的划分和安全区域的划分保持一致,但是如果整条线是滚床或者输送带等传输设备,输送带就会横跨所有的安全区域和模式区域,这时只要一个安全区域不安全了,输送带就暂停动作,如果其中一个模式区域打到手动模式了,输送带也不能自动运行。模式区域的作用主要在于,整条生产线其中一个模式区域不在自动模式下,其他在自动模式的区域内的机器人、转台等依然可以自动工作。
步骤S106,根据PLC模板程序和表格文件,生成当前PLC对应的PLC程序。
在实际实现时,可以预先确定生成的PLC程序的存储地址,在该存储地址新建文件夹,用于存放生成的PLC程序,便于在实际生产中对PLC程序进行存储与调用。根据表格文件可以修改从PLC模板程序中导出的程序块的文件,修改内容包括需要调用的功能块的数量、功能块引脚变量名称、背景数据块的名称等;例如,通过读取表格文件,可以获取需要修改的名称,以及修改后的目标名称,对需要修改的名称进行查找,然后用目标名称进行替换。
本发明实施例提供了一种PLC程序的自动生成方法,表格文件中保存有当前PLC的控制对象,并通过预设的安全区域和模式区域将控制对象进行设备划分,每个控制对象保存在对应的表格坐标中;获取到PLC模板程序后,根据上述PLC模板程序和上述表格文件,生成当前PLC对应的PLC程序。本发明可以缩短PLC离线程序的编写时间,保证PLC程序的一致性,从而降低了编程的错误率、提高了工作效率,降低了项目成本。
参见图2所示的另一种PLC程序的自动生成方法的流程图,该方法在图1所示的方法的基础上实现,该方法包括如下步骤:
步骤S202,获取PLC模板程序的存储地址;通过该存储地址可以获得预先保存的PLC模板程序;
步骤S204,获取保存有当前PLC的控制对象的表格文件;
该表格文件可以为Excel表格文件;在表格文件中,同一个安全区域、同一个模式区域的同种控制对象归列在一起;PLC的控制对象在表格中的列位置需要和该控制对象在PLC全局库中的程序块对应,即每个控制对象在PLC全局库中都有对应的程序块进行控制。
步骤S206,确定程序存储地址;该存储地址用于保存新生成的PLC程序;
步骤S208,根据表格文件中,每个控制对象保存的对应的表格坐标,从PLC模板程序中导出对应的程序块的XML文件;
步骤S210,根据表格文件,修改XML文件的变量名称;
该步骤S210具体可以通过下述方式实现:
步骤(1),从表格文件中读取需要修改的变量名称和目标名称;
步骤(2),查找XML文件中需要修改的变量名称;
步骤(3),将需要修改的变量名称替换为目标名称。
如果一个程序块的XML文件需要修改多个变量名称,则需要调用多次该XML文件,并在PLC程序中的Network(网络段)内,XML文件中的标志位之后添加该XML的文件内容并更改。例如,如果需要在一个PLC程序块1内调用多个PLC程序块2,并且每个PLC程序块2都需要在PLC程序块1中的新的Network(网络段)调用,则需要在PLC程序块1的XML文件的标志位后面添加PLC程序块2的XML文件内容。
步骤S212,将修改后的XML文件导入TIA Portal中,生成当前PLC对应的PLC程序;
步骤S214,从表格文件中获得存储文件夹名称;
步骤S216,建立存储文件夹名称对应的文件夹,将PLC程序保存在文件夹中。
在实际实现时,导入TIA Portal之前需要读取Excel表格文件中的信息,从Excel表格文件中获得新生成程序的存储文件夹名称,先建立文件夹,然后将相应的程序导入到文件夹中。
上述将修改后的XML文件导入TIA Portal中,TIA Portal平台可以通过下述方法步骤编写PLC程序,如图3所示,该方法包括:
步骤(1),在TIA Portal平台上创建项目,在项目中进行硬件组态、编写PLC程序等工作;
步骤(2),创建好项目后,将现场电气设备(相当于上述控制对象)组态到上述项目中;组态过程中需要对每个设备分配名称、物理地址、IP(Internet Protocol,网际协议)地址等必要参数;该设备包括交换机、阀岛、变频器、I/O模块、机器人、RFID(Radio FrequencyIdentification,无线射频识别)等;
步骤(3),导入现场电气设备的I/O(Input/Output,输入/输出接口)点;通常,在电气方案确定之后,电气工程师会绘制电气图纸,PLC控制下的设备能够在图纸中体现出来;将图纸中的I/O信号点以Excel(电子表格)的格式导出,然后在TIA Portal平台中的“PLC变量”下面,导入I/O信号点;
步骤(4),创建安全运行组;
上述TIA Portal的底层没有对外开放接口,目前不能通过TIA Portal实现这个创建,但是可以提前在PLC模板程序中创建完毕,自动生成PLC程序后,安全运行组也都会包含在新生成的项目中。
步骤(5),根据安全区域编写安全程序;PLC程序分为普通程序和安全程序,安全程序需要创建一个安全运行组,在安全运行组内编写安全程序;根据现场划分的安全区域编写安全程序。
由于TIA Portal的底层还未开放,安全程序目前不能自动生成,但是已经在PLC模板程序中编写完成,自动生成PLC程序后,这些安全程序也会包含在新生成的项目中。
步骤(6),编写普通程序;
通过,由人工编写普通程序时,普通程序是编写PLC离线程序工作中,工作量最大的一部分,如果有成熟的电气标准则会节约时间,而且工程师的个人思路和业务能力主导PLC离线程序的思路和质量,这对项目来说是不可控因素也是危险因素。而将修改后的XML文件导入TIA Portal中,由TIA Portal平台自动生成PLC程序,则可以避免上述问题。
上述PLC程序的自动生成方法可以由应用程序实现;如果该应用程序与TIAPortal在不同的主机上,可以通过图4所示的方式实现应用程序与TIA Portal的数据交换;图4中,应用程序(即图4中的程序1)安装在应用计算机上,TIA Portal设置在TIA Portal项目计算机上;程序2用于将TIA Portal项目中的模板程序以XML格式导出至应用计算机中,以供应用程序调用;应用计算机和TIA Portal项目计算机通过XML文件的格式实现数据交换;TIA Portal是处理PLC程序的一个平台;通过TIA Portal进程可以实现打开TIAPortal、编译TIA Portal项目、关闭TIA Portal等操作。
如果应用程序和TIA Portal项目位于同一台计算机上,可以通过图5所示的方式实现应用程序与TIA Portal的数据交换;图5中,应用程序可以通过公共API(ApplicationProgramming Interface,应用程序编程接口)接口启动TIA Portal,应用程序可以打开、保存或关闭TIA Portal项目,应用程序还可以连接到正在运行的TIA Portal,并使用TIAPortal功能请求、生成和修改项目数据,或启动导入或导出过程,数据在TIA Portal处理过程的数据下进行创建,并存储在项目数据汇总。
上述PLC程序的自动生成方法,在工程组态的自动化的场景中,可以以成熟的模板程序为基础,根据不同的项目需求能够按照一定的规则自动地对模板程序进行增减,缩短了编写PLC离线程序的时间,提高了效率;通常,采用人工编写PLC程序的方式,可能需要一名PLC工程师编写并在现场调试2套PLC系统;而采用自动生成的方式,工程师只需要根据工艺需求编写简单逻辑;一名工程师可能编写并调试4套系统甚至更多。另外,PLC程序的自动生成方法能够保证所有PLC程序的一致性,便于现场调试和维修;由于人为对程序的修改,难免会遗漏或者变量连接错误,但是自动生成PLC程序,自动修改变量及相应名称等则可以降低编程错误率,缩短编程时间甚至可以替代人为编写PLC程序,提高了工作效率,缩短了工期,降低了项目成本。
参见图6所示的另一种PLC程序的自动生成方法的流程图,该方法在图1或图2所示的方法的基础上实现,该方法利用C#开发应用程序执行PLC程序代码的自动生成,通过使用C#语法开发应用程序,使用TIA Portal Openness API接口(即上述提到的公共API接口)访问TIA Portal中的项目数据、PLC数据、HMI(Human Machine Interface,人机接口触摸屏)数据,从外部控制TIA Portal,从而实现工程组态的自动化,TIA Portal Openness API接口使用C#开发应用程序时,在程序开头插入名称空间语句,以确保程序的正常进行,如图7所示的标准库的结构示意图;空间语句是C#的一种语法形式,表示导入名字空间。在某段程序开头需要加上该标准库中的某一个空间语句,例如Using.Siemens;标准库中的空间语句是系统预定义的。
该方法步骤如下:
步骤S602,接收用户输入的模式区域的数量、HMI的数量、带模式旋钮的操作盒的数量;其中,该带模式旋钮可以调整操作盒的工作模式,将旋钮旋到手动侧,操作盒就是手动模式;旋钮旋到自动侧,操作盒就是自动模式。
参见图8所示的一种操作界面的结构示意图,运行程序时,会出现可以人工选择和操作的面板,用户可以在操作界面上输入模式区域的数量、HMI的数量、带模式旋钮的Panel(操作盒)的数量;也可以不输入,这些信息能够在BOM(Bill of Material,物料清单)表中读取,该BOM表相当于上述表格文件;输入的信息可以在“区域设定”一栏中查看,如图9所示。
步骤S604,在“模板工程路径”中找到PLC模板程序在电脑中的存储路径,点击“浏览”按钮查找路径;
步骤S606,在“新工程文件夹”中输入新生成的PLC项目在电脑中的存储路径,点击“浏览”按钮查找路径;
步骤S608,“BOM表导入”中找到要生成的新项目的BOM表在电脑中的存储路径,点击“导入”按钮导入BOM表信息,导入的信息可以在“Bom信息”一栏中查看;
步骤S610,点击“一键生成”按钮对模板项目进行修改然后生成新的TIA Portal项目;如图10所示。
步骤S612,当显示生成成功时,可以在“新工程文件夹”路径下面查看生成的PLC项目,如图11所示,图12为PLC项目程序的示意图。上述图7、图8、图9、图10、图11和图12所示的界面,相互之间可以任意切换。编程人员可以通过这几个界面输入信息,也可以通过应用程序直接自动读取表格文件。
本发明实施例通过一键自动生成PLC程序,能够保证所有PLC程序的一致性,便于现场调试和维修,且可以自动修改变量及相应名称等,降低了编程错误率;通过读取BOM表信息对同类型的多个设备程序从1到多执行加法操作,而不是传统方式中在PLC程序库中写全所有设备程序然后进行删减。由于不同的项目所需要的设备种类通常不一样,数量也不同,编写比较全的PLC程序库就会导致工作量特别大,而采用本发明实施例提供的PLC程序的自动生成反复可以减少编程工作量,提高工作效率,缩短工期,降低项目成本,从而获得更大的经济效益。
对应于上述方法实施例,参见图13所示的一种PLC程序的自动生成装置的结构示意图,该装置包括:
模板程序获取模块130,用于获取PLC模板程序;PLC模板程序包括硬件组态、变量名称、安全程序和普通程序;
表格文件获取模块131,用于获取保存有当前PLC的控制对象的表格文件;表格文件中,通过预设的安全区域和模式区域将控制对象进行设备划分,每个控制对象保存在对应的表格坐标中;
程序生成模块132,用于根据PLC模板程序和表格文件,生成当前PLC对应的PLC程序。
进一步的,上述程序生成模块,还用于:根据表格文件中,每个控制对象保存的对应的表格坐标,从PLC模板程序中导出对应的程序块的XML文件;根据表格文件,修改XML文件的变量名称;将修改后的XML文件导入TIA Portal中,生成当前PLC对应的PLC程序。
上述程序生成模块,还用于:从表格文件中读取需要修改的变量名称和目标名称;查找XML文件中需要修改的变量名称;将需要修改的变量名称替换为目标名称。
上述装置还包括:名称获得模块,用于从表格文件中获得存储文件夹名称;文件夹建立模块,用于建立存储文件夹名称对应的文件夹;保存模块,用于将PLC程序保存在文件夹中。
本发明实施例提供的PLC程序的自动生成装置,与上述实施例提供的PLC程序的自动生成方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
对应于上述方法与装置实施例,参见图14所示的一种PLC程序的自动生成实现装置的结构示意图,该装置包括存储器100和处理器101,其中,存储器100用于存储一条或多条计算机指令,一条或多条计算机指令被所述处理器执行,以实现上述PLC程序的自动生成方法。
进一步,图14所示的实现装置还包括总线102和通信接口103,处理器101、通信接口103和存储器100通过总线102连接。
其中,存储器100可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图14中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processing,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施方式中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施方式所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器100,处理器101读取存储器100中的信息,结合其硬件完成前述实施方式的方法的步骤。
进一步,本发明实施方式还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述PLC程序的自动生成方法,该方法可以包括以上方法中的一种或多种。在本申请所提供的几个实施方式中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施方式仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施方式的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施方式中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施方式,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施方式对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施方式所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施方式技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种PLC程序的自动生成方法,其特征在于,所述方法包括:
获取PLC模板程序;所述PLC模板程序包括硬件组态、变量名称、安全程序和普通程序;
获取保存有当前PLC的控制对象的表格文件;所述表格文件中,通过预设的安全区域和模式区域将所述控制对象进行设备划分,每个所述控制对象保存在对应的表格坐标中;
根据所述PLC模板程序和所述表格文件,生成所述当前PLC对应的PLC程序。
2.根据权利要求1所述的方法,其特征在于,所述根据所述PLC模板程序和所述表格文件,生成所述当前PLC对应的PLC程序的步骤,包括:
根据所述表格文件中,每个所述控制对象保存的对应的表格坐标,从所述PLC模板程序中导出对应的程序块的XML文件;
根据所述表格文件,修改所述XML文件的变量名称;
将修改后的所述XML文件导入TIA Portal中,生成所述当前PLC对应的PLC程序。
3.根据权利要求2所述的方法,其特征在于,所述根据所述表格文件,修改所述XML文件的变量名称的步骤,包括:
从所述表格文件中读取需要修改的变量名称和目标名称;
查找所述XML文件中所述需要修改的变量名称;
将所述需要修改的变量名称替换为所述目标名称。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从所述表格文件中获得存储文件夹名称;
建立所述存储文件夹名称对应的文件夹;
将所述PLC程序保存在所述文件夹中。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收用户输入的模式区域的数量、HMI的数量、带模式旋钮的操作盒的数量。
6.一种PLC程序的自动生成装置,其特征在于,所述装置包括:
模板程序获取模块,用于获取PLC模板程序;所述PLC模板程序包括硬件组态、变量名称、安全程序和普通程序;
表格文件获取模块,用于获取保存有当前PLC的控制对象的表格文件;所述表格文件中,通过预设的安全区域和模式区域将所述控制对象进行设备划分,每个所述控制对象保存在对应的表格坐标中;
程序生成模块,用于根据所述PLC模板程序和所述表格文件,生成所述当前PLC对应的PLC程序。
7.根据权利要求6所述的装置,其特征在于,所述程序生成模块,还用于:
根据所述表格文件中,每个所述控制对象保存的对应的表格坐标,从所述PLC模板程序中导出对应的程序块的XML文件;
根据所述表格文件,修改所述XML文件的变量名称;
将修改后的所述XML文件导入TIA Portal中,生成所述当前PLC对应的PLC程序。
8.根据权利要求7所述的装置,其特征在于,所述程序生成模块,还用于:
从所述表格文件中读取需要修改的变量名称和目标名称;
查找所述XML文件中所述需要修改的变量名称;
将所述需要修改的变量名称替换为所述目标名称。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
名称获得模块,用于从所述表格文件中获得存储文件夹名称;
文件夹建立模块,用于建立所述存储文件夹名称对应的文件夹;
保存模块,用于将所述PLC程序保存在所述文件夹中。
10.一种PLC程序的自动生成实现装置,其特征在于,包括存储器和处理器,其中,所述存储器用于存储一条或多条计算机指令,所述一条或多条计算机指令被所述处理器执行,以实现权利要求1至5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910108238.9A CN109765836A (zh) | 2019-02-02 | 2019-02-02 | Plc程序的自动生成方法、装置和实现装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910108238.9A CN109765836A (zh) | 2019-02-02 | 2019-02-02 | Plc程序的自动生成方法、装置和实现装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109765836A true CN109765836A (zh) | 2019-05-17 |
Family
ID=66454810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910108238.9A Pending CN109765836A (zh) | 2019-02-02 | 2019-02-02 | Plc程序的自动生成方法、装置和实现装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109765836A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111475159A (zh) * | 2020-03-20 | 2020-07-31 | 吉利汽车研究院(宁波)有限公司 | 一种自动生成程序的方法、装置及存储介质 |
CN111611684A (zh) * | 2020-04-07 | 2020-09-01 | 广州明珞汽车装备有限公司 | 干涉区逻辑块的生成方法、系统、装置和存储介质 |
CN111857028A (zh) * | 2020-06-24 | 2020-10-30 | 广州明珞汽车装备有限公司 | 一种plc程序生成方法、系统、设备及存储介质 |
CN112255962A (zh) * | 2020-10-30 | 2021-01-22 | 浙江佳乐科仪股份有限公司 | 基于人工智能的plc编程系统 |
US10942710B1 (en) | 2019-09-24 | 2021-03-09 | Rockwell Automation Technologies, Inc. | Industrial automation domain-specific language programming paradigm |
EP3798948A1 (en) * | 2019-09-26 | 2021-03-31 | Rockwell Automation Technologies, Inc. | Ai design analysis and recommendations |
US11048483B2 (en) | 2019-09-24 | 2021-06-29 | Rockwell Automation Technologies, Inc. | Industrial programming development with an extensible integrated development environment (IDE) platform |
US11080176B2 (en) | 2019-09-26 | 2021-08-03 | Rockwell Automation Technologies, Inc. | Testing framework for automation objects |
CN113341864A (zh) * | 2021-06-07 | 2021-09-03 | 重庆高新技术产业研究院有限责任公司 | 一种基于plc的控制相似性可逆向逻辑系统及其分析方法 |
US11163536B2 (en) | 2019-09-26 | 2021-11-02 | Rockwell Automation Technologies, Inc. | Maintenance and commissioning |
US11308447B2 (en) | 2020-04-02 | 2022-04-19 | Rockwell Automation Technologies, Inc. | Cloud-based collaborative industrial automation design environment |
CN114488928A (zh) * | 2021-12-31 | 2022-05-13 | 广东省离散智造科技创新有限公司 | 一种plc程序框架生成方法、系统、装置及存储介质 |
CN114488927A (zh) * | 2021-12-31 | 2022-05-13 | 广东省离散智造科技创新有限公司 | 一种plc硬件组态方法、系统、装置及存储介质 |
US11392112B2 (en) | 2019-09-26 | 2022-07-19 | Rockwell Automation Technologies, Inc. | Virtual design environment |
US11733687B2 (en) | 2019-09-26 | 2023-08-22 | Rockwell Automation Technologies, Inc. | Collaboration tools |
-
2019
- 2019-02-02 CN CN201910108238.9A patent/CN109765836A/zh active Pending
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11681502B2 (en) | 2019-09-24 | 2023-06-20 | Rockwell Automation Technologies, Inc. | Industrial automation domain-specific language programming paradigm |
US11048483B2 (en) | 2019-09-24 | 2021-06-29 | Rockwell Automation Technologies, Inc. | Industrial programming development with an extensible integrated development environment (IDE) platform |
US12001818B2 (en) | 2019-09-24 | 2024-06-04 | Rockwell Automation Technologies, Inc. | Extensible IDE platform with open APIs |
US11269598B2 (en) | 2019-09-24 | 2022-03-08 | Rockwell Automation Technologies, Inc. | Industrial automation domain-specific language programming paradigm |
US10942710B1 (en) | 2019-09-24 | 2021-03-09 | Rockwell Automation Technologies, Inc. | Industrial automation domain-specific language programming paradigm |
US11669309B2 (en) | 2019-09-24 | 2023-06-06 | Rockwell Automation Technologies, Inc. | Extensible integrated development environment (IDE) platform with open application programming interfaces (APIs) |
US11822906B2 (en) | 2019-09-26 | 2023-11-21 | Rockwell Automation Technologies, Inc. | Industrial programming development with a converted industrial control program |
US11042362B2 (en) | 2019-09-26 | 2021-06-22 | Rockwell Automation Technologies, Inc. | Industrial programming development with a trained analytic model |
US11080176B2 (en) | 2019-09-26 | 2021-08-03 | Rockwell Automation Technologies, Inc. | Testing framework for automation objects |
EP3798948A1 (en) * | 2019-09-26 | 2021-03-31 | Rockwell Automation Technologies, Inc. | Ai design analysis and recommendations |
US11163536B2 (en) | 2019-09-26 | 2021-11-02 | Rockwell Automation Technologies, Inc. | Maintenance and commissioning |
US11829121B2 (en) | 2019-09-26 | 2023-11-28 | Rockwell Automation Technologies, Inc. | Virtual design environment |
US12039292B2 (en) | 2019-09-26 | 2024-07-16 | Rockwell Automation Technologies, Inc. | Maintenance and commissioning |
US11733687B2 (en) | 2019-09-26 | 2023-08-22 | Rockwell Automation Technologies, Inc. | Collaboration tools |
US11640566B2 (en) | 2019-09-26 | 2023-05-02 | Rockwell Automation Technologies, Inc. | Industrial programming development with a converted industrial control program |
US11392112B2 (en) | 2019-09-26 | 2022-07-19 | Rockwell Automation Technologies, Inc. | Virtual design environment |
US11481313B2 (en) | 2019-09-26 | 2022-10-25 | Rockwell Automation Technologies, Inc. | Testing framework for automation objects |
CN111475159B (zh) * | 2020-03-20 | 2023-03-14 | 吉利汽车研究院(宁波)有限公司 | 一种自动生成程序的方法、装置及存储介质 |
CN111475159A (zh) * | 2020-03-20 | 2020-07-31 | 吉利汽车研究院(宁波)有限公司 | 一种自动生成程序的方法、装置及存储介质 |
US11663553B2 (en) | 2020-04-02 | 2023-05-30 | Rockwell Automation Technologies, Inc. | Cloud-based collaborative industrial automation design environment |
US11308447B2 (en) | 2020-04-02 | 2022-04-19 | Rockwell Automation Technologies, Inc. | Cloud-based collaborative industrial automation design environment |
CN111611684A (zh) * | 2020-04-07 | 2020-09-01 | 广州明珞汽车装备有限公司 | 干涉区逻辑块的生成方法、系统、装置和存储介质 |
CN111611684B (zh) * | 2020-04-07 | 2024-03-22 | 广州明珞汽车装备有限公司 | 干涉区逻辑块的生成方法、系统、装置和存储介质 |
CN111857028A (zh) * | 2020-06-24 | 2020-10-30 | 广州明珞汽车装备有限公司 | 一种plc程序生成方法、系统、设备及存储介质 |
CN112255962A (zh) * | 2020-10-30 | 2021-01-22 | 浙江佳乐科仪股份有限公司 | 基于人工智能的plc编程系统 |
CN113341864A (zh) * | 2021-06-07 | 2021-09-03 | 重庆高新技术产业研究院有限责任公司 | 一种基于plc的控制相似性可逆向逻辑系统及其分析方法 |
CN114488927A (zh) * | 2021-12-31 | 2022-05-13 | 广东省离散智造科技创新有限公司 | 一种plc硬件组态方法、系统、装置及存储介质 |
CN114488928A (zh) * | 2021-12-31 | 2022-05-13 | 广东省离散智造科技创新有限公司 | 一种plc程序框架生成方法、系统、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109765836A (zh) | Plc程序的自动生成方法、装置和实现装置 | |
US7643892B2 (en) | Historian integrated with MES appliance | |
CN102508654B (zh) | 嵌入式可编程控制器的梯形图编辑器设计方法 | |
CN112734284B (zh) | 流程工业能耗优化决策系统及提高评估结果准确度方法 | |
CN102044016A (zh) | 以电子表格定义规则实现自动化产品配置的方法及装置 | |
CN107861716A (zh) | 软件定义型控制系统及控制方法 | |
CN107003664B (zh) | 信息系统构建辅助工具以及信息系统构建辅助程序 | |
CN102004954A (zh) | 一种产品信息系统和产品设计系统的信息集成方法 | |
CN116756042B (zh) | 一种基于数字孪生技术的数据一体化管理系统及方法 | |
CN108319744A (zh) | 产品参数化设计开发平台及方法 | |
CN104932774B (zh) | 一种信息处理方法及电子设备 | |
Sobczyk et al. | A method for measuring operational and financial performance of a production value stream | |
CN109408991A (zh) | 一种基于fanuc picture人机界面的模型参数可视化加工方法 | |
CN108595727A (zh) | 箱变的设计方法、装置和实现装置 | |
Deng et al. | Simulation study on steel plant capacity and equipment efficiency based on plant simulation | |
CN109472038A (zh) | 一种钢铁冶炼工艺参数曲线形态匹配的方法及系统 | |
Johansson et al. | Information structure to support discrete event simulation in manufacturing systems | |
CN105930583A (zh) | 一种基于装备多领域对象模型的自动化系统及其设计方法 | |
CN101364088A (zh) | 工业人机界面变量访问方法及系统 | |
CN109284828A (zh) | 一种超参数调优方法、装置及设备 | |
CN104899045B (zh) | 一种通用的软件编码辅助系统及方法 | |
CN110689596B (zh) | Maya动画角色制作的Yeti毛发的绑定控制缩放方法 | |
CN105447279A (zh) | 几何产品智能公差规范设计方法和可视化公差标注系统 | |
CN107273134A (zh) | 数控程序执行方法及装置 | |
Aicher et al. | Consistent engineering information model for mechatronic components in production automation engineering |
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: 20190517 |
|
RJ01 | Rejection of invention patent application after publication |