一种可编程逻辑控制器及其用户程序的管理方法

文档序号:6602886阅读:174来源:国知局
专利名称:一种可编程逻辑控制器及其用户程序的管理方法
技术领域
本发明涉及电子通信领域,尤其涉及一种可编程逻辑控制器及其用户程序的管理方法。
背景技术
可编程逻辑控制器(PLC,Programmable Logic Controller)是一种专门为在工业环境下应用而设计的数字运算操作的电子装置,PLC已广泛应用于工业自动化领域。PLC的软件系统主要包括系统程序和用户程序,其中,系统程序用于对PLC系统进行控制管理,由 PLC制造厂商提供,可由制造厂商编制或者软件制造商编制。用户程序是根据生产过程控制的具体要求,由用户使用制造厂商提供的编程语言自行编制的应用程序。现有技术中,外部设备(如安装有PLC组态工具的台式计算机、笔记本电脑等)可以将PLC中的用户程序直接上载到外部设备中用以调试或者维护系统,这些用户程序和数据中的部分用户程序段是程序开发人员付出很多智力劳动的产出,部分数据是涉及商业秘密,应该得到很好的保护。然而,目前使用者可以通过外部设备轻易地获取并使用这些重要的用户程序和数据,使得部分核心的用户程序和数据的安全得不到保障,给程序开发者或系统使用者造成损失,如何更好地管理PLC用户程序和数据是业界一直研究的问题。

发明内容
本发明实施例所要解决的技术问题在于现有技术中使用者可以轻易获取并使用 PLC用户程序,提供一种可编程逻辑控制器及其用户程序的管理方法,可更好地保护PLC用户程序和数据。为了解决上述技术问题,本发明实施例提出的一种可编程逻辑控制器,包括数据管理模块,所述数据管理模块包括第一提取模块,用于提取PLC用户程序中的第一类用户程序;程序加密模块,用于对所述第一提取模块提取的第一类用户程序进行加密;第一存储模块,用于将所述程序加密模块加密后的第一类用户程序存储到PLC的存储器中;第二提取模块,用于提取PLC用户程序中的第二类用户程序;第二存储模块,用于将所述第二提取模块提取的第二类用户程序存储到PLC的存储器中。其中,所述数据管理模块还包括第一记录模块,用于记录所述第一存储模块将所述第一类用户程序存储到存储器的起始地址和终止地址。其中,所述数据管理模块还包括第二记录模块,用于记录所述第二存储模块将所述第二类用户程序存储到存储器的起始地址和终止地址。
其中,所述可编程逻辑控制器还包括程序调取模块,用于根据所述第一记录模块和所述第二记录模块记录的起始地址和终止地址从存储器中调取所述第一类用户程序和第二类用户程序;程序解密模块,用于对所述程序调取模块调取的第一类用户程序进行解密;程序执行模块,用于根据所述第二类用户程序以及所述程序解密模块解密后的第一类用户程序执行PLC用户程序。相应地,本发明实施例公开了一种可编程逻辑控制器用户程序的管理方法,包括提取PLC用户程序中的第一类用户程序;对所述第一类用户程序进行加密;将加密后的第一类用户程序存储到PLC的存储器中。其中,所述将加密后的第一类用户程序存储到PLC的存储器中的步骤之后,还包括记录存储所述第一类用户程序的起始地址和终止地址。其中,所述可编程逻辑控制器用户程序的管理方法还包括提取PLC用户程序中的第二类用户程序;将所述第二类用户程序存储到PLC的存储器中,并记录存储所述第二类用户程序的起始地址和终止地址。其中,所述记录存储所述第一类用户程序的起始地址和终止地址的步骤和所述记录存储所述第二类用户程序的起始地址和终止地址的步骤之后,还包括根据记录的起始地址和终止地址调取所述第一类用户程序和第二类用户程序;对所述第一类用户程序进行解密;根据所述第二类用户程序以及解密后的第一类用户程序执行PLC用户程序。实施本发明实施例,具有如下有益效果通过提取PLC用户程序中的第一类用户程序进行加密,实现了根据用户的需求, 有针对性地选择对部分用户程序(如某几段核心程序)进行加密,满足了用户想针对部分用户程序进行单独加密的需求,其他使用者获取到PLC用户程序后不能轻易地使用该PLC 用户程序被加密的核心部分,同时对于未加密的常规(普通)用户程序部分,用户可以进行常规的调试、维护和重新组态。其他使用者要破解这些核心用户程序,需要找出被加密的部分用户程序,并分别进行解密才能使用该PLC用户程序,给其他使用者增加了破译次数,增加了破译难度,解决了现有技术中使用者可以轻易获取并使用PLC用户程序,给程序开发者造成损失的问题,可以更好地保护PLC用户程序和数据。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本发明可编程逻辑控制器的第一实施例的结构示意5
图2是本发明的数据管理模块的第一实施例结构示意图;图3是本发明的数据管理模块的第二实施例结构示意图;图4是本发明存储器的结构示意图;图5是本发明可编程逻辑控制器的第二实施例的结构示意图;图6是本发明可编程逻辑控制器用户程序的管理方法的第一实施例流程图;图7是本发明可编程逻辑控制器用户程序的管理方法的第二实施例流程图;图8是本发明可编程逻辑控制器用户程序的管理方法的第三实施例流程图;图9是本发明可编程逻辑控制器用户程序的管理方法的第四实施例流程图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。如图1示出的本发明可编程逻辑控制器的第一实施例的结构示意图,可编程逻辑控制器1包括数据管理模块11、存储器12和通信模块13,数据管理模块11分别与存储器 12和通信模块13相连接,可编程逻辑控制器1通过通信模块13从外部设备下载PLC用户程序,以及通过通信模块13将本端的PLC用户程序上载到外部设备;存储器12可以为非易失的存储器(如EEPROM或者铁电存储器等),包括用户程序块、应用数据块和系统数据块,分别用于存储用户程序、应用数据和系统数据,本发明实施例主要涉及对用户程序的管理;通信模块13通过通信端口和外部设备进行通信,传输程序和数据,具有程序上下载管理功能;具体地数据管理模块11包括第一提取模块111、程序加密模块112、第一存储模块113、第二提取模块115和第二存储模块116,其中第一提取模块111,用于提取PLC用户程序中的第一类用户程序;具体地,该第一类用户程序可以为根据用户自身需要而选择的部分用户程序,如用户选择了某几段认为核心的用户程序作为第一类用户程序,或用户选择了某几段扩展的用户程序作为第一类用户程序等,一般来讲第一类用户程序是具有较高的商业价值的用户程序,他们或是花费了程序开发商较大的开发成本,或是工业生产中的保密工艺或者数据。 第一提取模块111从可编程逻辑控制器1下载的PLC用户程序中提取该第一类用户程序;程序加密模块112,用于对第一提取模块111提取的第一类用户程序进行加密;具体地,程序加密模块112可以采用DES (Data Encryption Mandard)或者RC4 等算法对第一提取模块111提取的第一类用户程序进行加密;第一存储模块113,用于将程序加密模块112加密后的第一类用户程序存储到PLC 的存储器12中;第二提取模块115,用于提取PLC用户程序中的第二类用户程序;具体地,该第二类用户程序可以为根据用户自身需要而选择的部分用户程序,如用户选择了除核心的用户程序以外的用户程序作为第二类用户程序,或用户选择了除扩展的用户程序以外的用户程序作为第二类用户程序等。一般来讲,第二类用户程序为常见的用户程序段落,是公众可以公用的已经开发成熟的子程序段落。第二提取模块111从可编程逻辑控制器1下载的PLC用户程序中提取第二类用户程序;第二存储模块116,用于将第二提取模块115提取的第二类用户程序存储到PLC的存储器12中。如图2示出的本发明的数据管理模块的第一实施例结构示意图,数据管理模块11 包括第一提取模块111、程序加密模块112、第一存储模块113、第二提取模块115和第二存储模块116外,还包括第一记录模块114,用于记录第一存储模块113将所述第一类用户程序存储到存储器12的起始地址和终止地址。具体地,每一段用户程序占用存储器12的存储空间由该段用户程序存储的起始地址和终止地址之间的范围决定,第一记录模块114 记录第一存储模块113将所述第一类用户程序存储到存储器12的起始地址和终止地址,以便后续对用户程序的调用与执行。如图3示出的本发明的数据管理模块的第二实施例结构示意图,数据管理模块11 包括第一提取模块111、程序加密模块112、第一存储模块113、第一记录模块114、第二提取模块115和第二存储模块116外,还包括第二记录模块117,其中第二记录模块117,用于记录所述第二存储模块将所述第二类用户程序存储到存储器12的起始地址和终止地址。需要说明的是,第一类用户程序可以为N段用户程序,第二类用户程序可以为M段用户程序,N和M为自然数,N和M的值根据用户的需求而决定,整个用户程序一般是采用流行的模块化结构编写,每一段用户程序可以理解为完成某一个功能的子程序函数,每一段第一类用户程序都是分别加密并存储的;第一提取模块111与第二提取模块112可以为同一个物理器件,只是按照不同指令来提取各段用户程序;第一存储模块113与第二存储模块116可以为同一个物理器件,分别将各段用户程序存储到存储器12 ;第一记录模块114 与第二记录模块117可以为同一个物理器件,分别记录各段用户程序存储到存储器12的起始地址和终止地址。还需要说明的是,存储器12对分段加密的用户程序(即第一类用户程序)进行分段存储,如图4中,进行加密的用户程序为M段,分别存储于存储器12的M段存储空间中; 另外,存储器12还存储有N段常见的用户程序(即第二类用户程序),以及PLC应用数据和系统数据。每一段用户程序或者存储空间的起始地址和终止地址分别记录于相应的第一和第二记录模块中,以便在调用的时候准确的提取程序段指令。如图5示出的本发明可编程逻辑控制器的第二实施例的结构示意图,可编程逻辑控制器1包括数据管理模块11、存储器12和通信模块13外,还包括程序调取模块14、程序解密模块15和程序执行模块16,其中程序调取模块14,用于根据第一记录模块114和第二记录模块117记录的起始地址和终止地址从存储器12中调取所述第一类用户程序和第二类用户程序;具体地,可编程逻辑控制器1需要执行PLC用户程序进行控制时(如对生产现场进行自动化控制时),程序调取模块14将调取存储器12中的PLC用户程序,包括第一类用户程序和第二类用户程序。程序解密模块15,用于对程序调取模块14调取的第一类用户程序进行解密;具体地,程序解密模块15对调取的第一类用户程序进行解密,只有解密算法与加密算法匹配时,才能解密成功,得到可以运行的第一类用户程序。
程序执行模块16,用于根据所述第二类用户程序以及程序解密模块15解密后的第一类用户程序执行PLC用户程序。上面详细说明了本发明实施例的可编程逻辑控制器1的结构,下面相应地,结合

本发明实施例的可编程逻辑控制器用户程序的管理方法。如图6示出的本发明可编程逻辑控制器用户程序的管理方法的第一实施例流程图,包括步骤S601 提取可编程逻辑控制器PLC用户程序中的第一类用户程序;具体地,该第一类用户程序可以为根据用户自身需要而选择的部分用户程序,如用户选择了某几段认为核心的用户程序作为第一类用户程序,或用户选择了某几段扩展的用户程序作为第一类用户程序等,PLC用户程序下载到PLC后或者在下载的过程中,从中提取第一类用户程序;步骤S602 对所述第一类用户程序进行加密;具体地,PLC对该第一类用户程序进行加密可以采用DES或者RC4等算法;步骤S603 将加密后的第一类用户程序存储到PLC的存储器中。如图7示出的本发明可编程逻辑控制器用户程序的管理方法的第二实施例流程图,包括步骤S701 提取可编程逻辑控制器PLC用户程序中的第一类用户程序;步骤S702 对所述第一类用户程序进行加密;步骤S703 将加密后的第一类用户程序存储到PLC的存储器中;步骤S704 记录存储所述第一类用户程序的起始地址和终止地址。具体地,每一段用户程序占用存储器的存储空间由该段用户程序存储的起始地址和终止地址之间的范围决定,PLC将加密后的第一类用户程序存储到PLC的存储器中后,记录将所述第一类用户程序存储到存储器的起始地址和终止地址,以便后续对用户程序的调用与执行。如图8示出的本发明可编程逻辑控制器用户程序的管理方法的第三实施例流程图,包括步骤S801 提取可编程逻辑控制器PLC用户程序中的第一类用户程序;步骤S802 对所述第一类用户程序进行加密;步骤S803 将加密后的第一类用户程序存储到PLC的存储器中;步骤S804 记录存储所述第一类用户程序的起始地址和终止地址。步骤S810 提取PLC用户程序中的第二类用户程序;需要说明的是,步骤810可以与步骤S801同时执行,也可以在步骤S801-S804之间任意时刻执行;具体地,该第二类用户程序可以为根据用户自身需要而选择的部分用户程序,如用户选择了除核心的用户程序以外的用户程序作为第二类用户程序,或用户选择了除扩展的用户程序以外的用户程序作为第二类用户程序等,PLC下载到PLC用户程序后,从中提取第二类用户程序。步骤S811 将所述第二类用户程序存储到PLC的存储器中,并记录存储所述第二类用户程序的起始地址和终止地址。如图9示出的本发明可编程逻辑控制器用户程序的管理方法的第四实施例流程图,包括步骤S901 提取可编程逻辑控制器PLC用户程序中的第一类用户程序;步骤S902 对所述第一类用户程序进行加密;步骤S903 将加密后的第一类用户程序存储到PLC的存储器中;步骤S904 记录存储所述第一类用户程序的起始地址和终止地址。步骤S910 提取PLC用户程序中的第二类用户程序;需要说明的是,步骤910可以与步骤S901同时执行,也可以在步骤S901-S904之间任意时刻执行;步骤S911 将所述第二类用户程序存储到PLC的存储器中,并记录存储所述第二类用户程序的起始地址和终止地址;步骤S920 根据记录的起始地址和终止地址调取所述第一类用户程序和第二类用户程序;需要说明的是,步骤S920在步骤S904和步骤S911执行完毕后才执行;具体地,PLC需要执行PLC用户程序进行控制时(如对生产现场进行自动化控制时),将调取存储器中的PLC用户程序,包括第一类用户程序和第二类用户程序。步骤S921 对所述第一类用户程序进行解密;具体地,PLC对调取的第一类用户程序进行解密,只有解密算法与加密算法匹配时,才能解密成功,得到可以运行的第一类用户程序。步骤S922 根据所述第二类用户程序以及解密后的第一类用户程序执行PLC用户程序。综上所述,实施本发明实施例,通过提取PLC用户程序中的第一类用户程序进行加密,实现了根据用户的需求,有针对性地选择对部分用户程序(如某几段核心程序)进行加密,满足了用户想针对部分用户程序进行单独加密的需求,其他使用者获取到PLC用户程序后不能轻易地使用该PLC用户程序被加密的核心部分,同时,对于未加密的常规(普通)用户程序部分,用户可以进行常规的调试、维护和重新组态。其他使用者要破解这些核心用户程序,需要找出被加密的部分用户程序,并分别进行解密才能使用该PLC用户程序, 给其他使用者增加了破译次数,增加了破译难度,解决了现有技术中使用者可以轻易获取并使用PLC用户程序(包括核心用户程序),给程序开发者造成损失的问题,可以更好地保护了 PLC用户程序和数据。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random Access Memory, RAM)等。以上所揭露的仅为本发明实施例中的较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
权利要求
1.一种可编程逻辑控制器,包括数据管理模块,其特征在于,所述数据管理模块包括 第一提取模块,用于提取可编程逻辑控制器PLC用户程序中的第一类用户程序; 程序加密模块,用于对所述第一提取模块提取的第一类用户程序进行加密;第一存储模块,用于将所述程序加密模块加密后的第一类用户程序存储到PLC的存储器中;第二提取模块,用于提取PLC用户程序中的第二类用户程序; 第二存储模块,用于将所述第二提取模块提取的第二类用户程序存储到PLC的存储器中。
2.如权利要求1所述的可编程逻辑控制器,其特征在于,所述数据管理模块还包括 第一记录模块,用于记录所述第一存储模块将所述第一类用户程序存储到存储器的起始地址和终止地址。
3.如权利要求1或2所述的可编程逻辑控制器,其特征在于,所述数据管理模块还包括第二记录模块,用于记录所述第二存储模块将所述第二类用户程序存储到存储器的起始地址和终止地址。
4.如权利要求3所述的可编程逻辑控制器,其特征在于,所述可编程逻辑控制器还包括程序调取模块,用于根据所述第一记录模块和所述第二记录模块记录的起始地址和终止地址从存储器中调取所述第一类用户程序和第二类用户程序; 程序解密模块,用于对所述程序调取模块调取的第一类用户程序进行解密; 程序执行模块,用于根据所述第二类用户程序以及所述程序解密模块解密后的第一类用户程序执行PLC用户程序。
5.如权利要求1-4所述的可编程逻辑控制器,其特征在于,该第一类用户程序为核心用户程序或作为商业秘密的数据,该第二类用户程序为可供调试和维护的普通用户程序。
6.一种可编程逻辑控制器用户程序的管理方法,其特征在于,包括 提取可编程逻辑控制器PLC用户程序中的第一类用户程序;对所述第一类用户程序进行加密;将加密后的第一类用户程序存储到PLC的存储器中。
7.如权利要求6所述的方法,其特征在于,所述将加密后的第一类用户程序存储到PLC 的存储器中的步骤之后,还包括记录存储所述第一类用户程序的起始地址和终止地址。
8.如权利要求7所述的方法,其特征在于,还包括 提取PLC用户程序中的第二类用户程序;将所述第二类用户程序存储到PLC的存储器中,并记录存储所述第二类用户程序的起始地址和终止地址。
9.如权利要求8所述的方法,其特征在于,所述记录存储所述第一类用户程序的起始地址和终止地址的步骤和所述记录存储所述第二类用户程序的起始地址和终止地址的步骤之后,还包括根据记录的起始地址和终止地址调取所述第一类用户程序和第二类用户程序;对所述第一类用户程序进行解密;根据所述第二类用户程序以及解密后的第一类用户程序执行PLC用户程序。
全文摘要
本发明实施例公开了一种可编程逻辑控制器,包括数据管理模块,数据管理模块包括第一提取模块,用于提取PLC用户程序中的第一类用户程序;程序加密模块,用于对第一提取模块提取的第一类用户程序进行加密;第一存储模块,用于将程序加密模块加密后的第一类用户程序存储到PLC的存储器中;第二提取模块,用于提取PLC用户程序中的第二类用户程序;第二存储模块,用于将第二提取模块提取的第二类用户程序存储到PLC的存储器中。相应地,本发明实施例还公开了一种可编程逻辑控制器用户程序的管理方法,实施本发明实施例,有针对性地对部分用户程序进行加密,既保留对普通程序的可调试和维护需求,又更好地保护PLC核心用户程序和数据。
文档编号G06F21/22GK102254122SQ201010180068
公开日2011年11月23日 申请日期2010年5月21日 优先权日2010年5月21日
发明者戎思吉, 陈海峰 申请人:深圳市合信自动化技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1