一种可编程逻辑控制器的预处理方法、控制方法及系统
技术领域
本发明属于编程领域,尤其涉及一种可编程逻辑控制器的预处理方法、控制方法及系统。
背景技术
目前,可编程逻辑控制器(Programmable Logic Controller,PLC)的编程是在控制设备运行前或是在设备安装前完成的,PLC的编程是由多段代码组成的,每段代码包含多条语句,这些语句均存储于存储器中。
当同一设备需要生产多种型号产品时,因为各个型号不同,每个型号对应的PLC代码也不同,因此需要对每种型号都编写相应的执行代码,但是每种执行代码中均包含有一些相同的语句,这样就造成编写的程序中存在大量的重复语句,增加PLC的存储内存。
发明内容
为了解决现有技术存在的问题,本发明提供了一种可编程逻辑控制器的预处理方法、控制方法及系统。
一种可编程逻辑控制器的预处理方法,应用于可编程逻辑控制器,包括:
获取执行元件的执行代码;
封装一个或多个执行元件的执行代码为一个执行单元;
确定每个执行单元的编号;
确定所述执行单元的调用规则。
进一步的,还包括:建立可编程逻辑控制器与工控机的通讯。
进一步的,所述通讯包括:OPC协议、工业总线或网络通讯。
一种可编程逻辑控制器的控制方法,应用于可编程逻辑控制器,所述可编程逻辑控制器中预先设置有多个执行单元,每个执行单元具有相应编码,所述方法包括:
接收工控机的指令;
将所述工控机的指令转换成编码;
查找与所述编码对应的执行单元;
控制所述执行单元;
获取所述执行单元的执行结果反馈至工控机。
进一步的,将所述工控机的指令转换成编码,包括:
确定所述工控机的指令与编码的转换规则;
根据所述转换规则将工控机的指令转换成编码。
进一步的,获取所述执行单元的执行结果反馈至工控机,包括:
判断执行单元是否执行完成相应操作;
若完成,则将结果反馈至工控机。
进一步的,获取所述执行单元的执行结果反馈至工控机,还包括:
所述执行单元未执行相应操作,则报警。
一种可编程逻辑控制器的预处理系统,应用于可编程逻辑控制器,包括:
获取模块,用于获取执行元件的执行代码;
封装模块,用于封装一个或多个执行元件的执行代码为一个执行单元;
编码模块,用于确定每个执行单元的编号;
确定模块,用于确定所述执行单元的调用规则。
进一步的,还包括:建立通信模块,用于建立可编程逻辑控制器与工控机的通讯。
一种可编程逻辑控制器的控制系统,应用于可编程逻辑控制器,所述可编程逻辑控制器中预先设置有多个执行单元,每个执行单元具有相应编码,所述方法包括:
接收模块,用于接收工控机的指令;
转换模块,用于将所述工控机的指令转换成编码;
查找模块,用于查找与所述编码对应的执行单元;
控制模块,用于控制所述执行单元;
反馈模块,用于获取所述执行单元的执行结果反馈至工控机。
本发明的技术方案与最接近的现有技术相比具有如下优点:
本发明提供的技术方案将PLC中一个或多个执行元件的执行代码封装为一个独立的执行单元,每个单元包含有各自的语句,并给每个执行单元进行编号,当需要执行不同的流程时,只需在与PLC相连接的工控机上输入相应的调用程序,当不同的流程中有相同的语句时,可以重复调用同一语句,这样就减少编程中的重复语句,减小了PLC的存储内存。
附图说明
图1是本发明PLC预处理方法流程图;
图2是本发明PLC控制方法流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种可编程逻辑控制器的预处理方法,应用于可编程逻辑控制器,包括:
步骤1-1、获取执行元件的执行代码;
步骤1-2、封装一个或多个执行元件的执行代码为一个执行单元;
步骤1-3、确定每个执行单元的编号;
步骤1-4、确定所述执行单元的调用规则。
优选的,一个执行元件封装为一个独立的执行单元,当一个流程中有多个相同执行元件或是多个流程有相同的执行元件的时候,可以重复调用相应的执行单元。
其中,每个执行单元包含有手动,自动,报警等全部的操作语句。并留有统一定义的输入输出变量:如执行,停止,自动,手动等。
优选的,为每个执行单元添加编号,方便调用。
优选的,本方法还包括:建立PLC与工控机的通讯。
利用OPC协议(Object Linking and Embedding for Process Control,用于过程控制的OLE),工业总线或网络通讯等方式,将工控机与PLC之间建立通讯,OLE(ObjectLinking and Embedding,对象连接与嵌入)。
如图2所示,本发明实施例还提供了一种PLC控制方法,应用于PLC,所述PLC中预先设置有多个执行单元,每个执行单元具有相应编码,所述方法包括:
步骤2-1、接收工控机的指令;
步骤2-2、将所述工控机的指令转换成编码;
步骤2-3、查找与所述编码对应的执行单元;
步骤2-4、控制所述执行单元;
步骤2-5、获取所述执行单元的执行结果反馈至工控机。
优选的,工控机的指令包括一条或多条;
当工控机的指令为一条时,PLC接收指令,将这一条指令翻译成编号,查找所述编号对应的执行单元,PLC控制执行单元,根据执行单元中的执行代码执行相应的操作(包括手动或自动操作),然后将执行结果实时反馈至工控机。
当工控机的指令为多条时,若工控机一条一条发送,PLC接收一条指令并翻译,查找相应的执行单元去执行相应操作,然后将执行结果实时反馈至工控机,再接收第二条指令执行相应的流程;
若工控机发送一串指令时,同时接收多条指令并翻译成形相应的编号,查找相应的执行单元去执行相应操作,然后每个单元执行完成操作后实时将结果反馈至工控机。
优选的,获取所述执行单元的执行结果反馈至工控机,包括:
判断执行单元是否执行完成相应操作;
若完成,则将结果反馈至工控机。
优选的,获取所述执行单元的执行结果反馈至工控机,还包括:
所述执行单元未执行相应操作,则报警。
优选的,当执行一个连续的动作可以通过操作执行单元的编号以及执行数组,多个执行元件按一定的自动流程进行执行。
具体的,当需要执行一个连续的动作时,通过工控机发送一串指令,PLC接收到指令后翻译换成编码,根据编码查找对应的执行单元,PLC控制执行单元按照指令翻译成的编码顺序进行相应的操作,当所有执行单元执行完成后,将执行结果反馈至工控机。
优选的,因为执行单元的输入输出已经统一定义,所以工控机只需提供一个简单的流程选线接口就可以方便的操作执行单元执行相应流程。
优选的,工控机与PLC之间的通讯包括:OPC协议(OLE for Process Control,用于过程控制的OLE),工业总线或网络通讯等方式。
基于相同的发明构思本发明实施例还提供了一种PLC预处理系统,应用于PLC,包括:
获取模块,用于获取执行元件的执行代码;
封装模块,用于封装一个或多个执行元件的执行代码为一个执行单元;
编码模块,用于确定每个执行单元的编号;
确定模块,用于确定所述执行单元的调用规则。
优选的,所述封装模块包括:手动操作语句、自动操作语句和报警语句。
优选的,还包括:建立通信模块,用于建立PLC与工控机的通讯。
基于相同的发明构思本发明还提供了一种PLC控制系统,应用于PLC,所述PLC中预先设置有多个执行单元,每个执行单元具有相应编码,所述系统包括:
接收模块,用于接收工控机的指令;
转换模块,用于将所述工控机的指令转换成编码;
查找模块,用于查找与所述编码对应的执行单元;
控制模块,用于控制所述执行单元;
反馈模块,用于获取所述执行单元的执行结果反馈至工控机。
优选的,所述转换模块,包括:
确定子模块,用于确定所述工控机的指令与编码的转换规则;
转换子模块,用于根据所述转换规则将工控机的指令转换成编码。
优选的,所述反馈模块,包括:
判断子模块,用于判断执行单元是否执行完成相应操作;
反馈子模块,用于执行单元完成相应操作时,将结果反馈至工控机。
优选的,所述反馈模块包括,还包括:报警子模块,用于所述执行单元未执行相应操作进行报警提示。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable LogicDevice,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文所述功能的单元来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。