專利名稱:可編程序控制器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及可編程序控制器,特別是涉及將用戶作成的任意的用戶程序函數(shù)化,使用戶程序的內(nèi)容不能閱讀,從而防止信息泄露的安全功能。
背景技術(shù):
用戶程序是用戶花費(fèi)工時(shí)制作的用戶的財(cái)產(chǎn)??删幊绦蚩刂破魅绻麤]有用戶程序,則任何工作也不做,所以一定要處于存儲有用戶程序的狀態(tài)。圖10表示現(xiàn)有的可編程序控制器的程序圖。在圖10中,可編程序控制器1備有進(jìn)行運(yùn)算處理的微機(jī)2;存儲順序程序或數(shù)據(jù)的存儲器3,該存儲器3由存儲系統(tǒng)程序的系統(tǒng)存儲器4和兼?zhèn)浯鎯τ脩舫绦?的用戶存儲器的存儲器5構(gòu)成;對外部進(jìn)行信號的輸入輸出用的輸入輸出I/F(接口)7;以及與個(gè)人計(jì)算機(jī)或其他可編程序控制器、控制裝置等進(jìn)行數(shù)據(jù)的存取用的通信I/F(接口)8,它們都連接在總線9上。
在這樣的系統(tǒng)中,一般用戶不采用禁止參照用戶程序的單元,有時(shí)能簡單地獲得作為用戶的財(cái)產(chǎn)的程序。
在這樣的情況下,一般是使用采用密碼的安全功能,但在采用密碼的安全功能的情況下,存在密碼一旦被泄露,安全功能就能簡單地被破壞的安全漏洞。這是因?yàn)樵O(shè)定密碼的用戶設(shè)定自己感覺容易的密碼,所以成為其他人容易推測的密碼。另外,即使設(shè)定了其他人難以推測的密碼,而對設(shè)定密碼的本人來說,多半成為覺得難記的密碼,存在忘記的危險(xiǎn)性、或者留在筆記本等中而結(jié)果能簡單地泄露給別人的問題。
另外,在引用文獻(xiàn)1(特開平10-133719號公報(bào))中,公開了可以沒有用戶程序存儲器的可編程序控制器。
發(fā)明內(nèi)容
本發(fā)明的目的在于在具有采用密碼的安全功能的可編程序控制器中,存在一旦泄露了密碼就成為無防備的安全漏洞,對此提供一種防止用戶程序的泄露的安全功能。
為了達(dá)到上述目的,本發(fā)明將用戶程序的一部分或其全部作成用戶定義的函數(shù),進(jìn)行函數(shù)化,作為系統(tǒng)程序的一部分,存儲在系統(tǒng)存儲器中。在系統(tǒng)存儲器中,作為系統(tǒng)程序的一部分只允許寫入用戶定義函數(shù),任何用戶都不能讀出作為系統(tǒng)程序的一部分的用戶定義函數(shù)。因此,從任何用戶那里都不能讀出系統(tǒng)程序,所以能禁止閱覽作為系統(tǒng)程序的一部分用戶程序。因此,能防止成為作為用戶定義的函數(shù)進(jìn)行了函數(shù)化后的系統(tǒng)程序的一部分的用戶程序的泄露。
另外,用戶程序區(qū)與以往一樣,能寫入、讀出,所以有一定程度的兼容性。
除此以外,本發(fā)明還有以下優(yōu)點(diǎn)。
1.能簡練地表達(dá)用戶程序。
2.關(guān)系到用戶程序區(qū)的容量提高、或用戶程序的容量的節(jié)約。
圖1是本發(fā)明的可編程序控制器的框圖。
圖2是表示本發(fā)明的存儲區(qū)的結(jié)構(gòu)的結(jié)構(gòu)圖。
圖3是表示系統(tǒng)存儲器的結(jié)構(gòu)的結(jié)構(gòu)圖。
圖4是表示用戶定義函數(shù)表的詳圖。
圖5是表示系統(tǒng)存儲器的結(jié)構(gòu)的詳圖。
圖6是表示用戶定義函數(shù)向系統(tǒng)存儲器的傳輸方法的說明圖。
圖7是表示用戶定義函數(shù)傳輸時(shí)在用戶定義函數(shù)的最后附加Return語句的處理方法的處理圖。
圖8是執(zhí)行存儲在系統(tǒng)程序中的用戶定義函數(shù)的流程圖。
圖9是表示用戶定義函數(shù)執(zhí)行后,返回用戶程序的方法的說明圖。
圖10是現(xiàn)有的可編程序控制器的框圖。
具體實(shí)施例方式
以下,說明用于實(shí)施本發(fā)明的最佳方式。
用圖1說明本發(fā)明的可編程序控制器的實(shí)施例。
圖1表示本發(fā)明的可編程序控制器的框圖。在圖1中,可編程序控制器1備有進(jìn)行運(yùn)算處理的微機(jī)2;存儲順序程序或數(shù)據(jù)的存儲器3,該存儲器3由存儲系統(tǒng)程序及函數(shù)化后的用戶程序11的系統(tǒng)存儲器4和兼?zhèn)浯鎯τ脩舫绦?的用戶存儲器的存儲器5構(gòu)成。關(guān)于該函數(shù)化后的用戶程序?qū)⒃诤竺嬖敿?xì)說明。另外,用戶程序不限制于全部函數(shù)化后存儲在系統(tǒng)存儲器中。還備有對外部進(jìn)行信號的輸入輸出用的輸入輸出I/F(接口)7;以及與個(gè)人計(jì)算機(jī)或其他可編程序控制器、控制裝置等進(jìn)行數(shù)據(jù)的存取用的通信I/F(接口)8,它們都連接在總線9上。
圖2表示可編程序控制器的存儲區(qū)3??删幊绦蚩刂破鞯拇鎯^(qū)3中備有存儲系統(tǒng)程序用的系統(tǒng)存儲器4、以及存儲用戶作成的用戶程序6等用的用戶存儲區(qū)5兩者。在本發(fā)明中,將用戶程序6的一部分、或其全部作成稱為FUNxx(n)的名稱的用戶定義的函數(shù),進(jìn)行函數(shù)化,作為系統(tǒng)程序10的一部分存儲在系統(tǒng)存儲器4中。這里,通過不做從包含用戶定義函數(shù)的系統(tǒng)程序10進(jìn)行的讀出處理,從而使系統(tǒng)程序的區(qū)域的參照成為不可能。因此,用戶定義函數(shù)包含定義了函數(shù)的用戶本身,對任何用戶來說都不能閱覽。
其次,說明用戶定義函數(shù)向系統(tǒng)存儲器的傳輸方法。圖3中示出了系統(tǒng)存儲器4的存儲區(qū)結(jié)構(gòu)。如圖3所示,系統(tǒng)存儲器4被分成存儲關(guān)于系統(tǒng)的信息的系統(tǒng)部分12、以及存儲關(guān)于用戶定義函數(shù)的信息的部分。另外,存儲關(guān)于用戶定義函數(shù)的信息的部分被分成存儲關(guān)于用戶定義函數(shù)的信息的用戶定義函數(shù)表13、以及存儲用戶定義函數(shù)本身的用戶定義函數(shù)區(qū)14。這里,圖4中示出了用戶定義函數(shù)表13的詳細(xì)內(nèi)容。在圖4中,在用戶定義函數(shù)表13中,有存儲識別用戶定義函數(shù)的識別編號17的區(qū)域、以及存儲被存儲在用戶定義函數(shù)區(qū)中的用戶定義函數(shù)的開始地址15和結(jié)束地址16的區(qū)域。識別用戶定義函數(shù)的識別編號17是將多個(gè)用戶程序函數(shù)化后時(shí),為了識別而設(shè)的編號。
其次,在圖5中示出了用戶定義函數(shù)表13和用戶定義函數(shù)區(qū)14的詳細(xì)內(nèi)容。在用戶定義函數(shù)表13中存儲了圖4所示的信息。即如圖5所示,存儲FUNxx(1)的開始地址和結(jié)束地址,其次,存儲FUNxx(2)的開始地址和結(jié)束地址,接著存儲FUNxx(3)……。
在用戶定義函數(shù)區(qū)14中存儲用戶定義函數(shù)。即,存儲FUNxx(1),其次,存儲FUNxx(2),接著存儲FUNxx(3)……。識別編號2以后的用戶定義函數(shù)的開始地址,根據(jù)前一個(gè)識別編號的用戶定義函數(shù)的結(jié)束地址來決定。
圖6中示出了用戶定義函數(shù)的傳輸方法。用備有作成、傳輸用戶定義函數(shù)的功能的專用工具,作成用戶定義函數(shù),將作成的用戶定義函數(shù)傳輸給系統(tǒng)存儲器。所謂專用工具是能用PC(個(gè)人計(jì)算機(jī))等進(jìn)行處理的應(yīng)用軟件,進(jìn)行與現(xiàn)有的對梯形程序(ladder program)進(jìn)行程序編制的工具類似的工作。不同的地方在于程序的存儲地點(diǎn)不是用戶存儲區(qū),而是存儲在系統(tǒng)存儲器中;以及只能進(jìn)行程序的讀出。用該應(yīng)用軟件進(jìn)行用戶定義函數(shù)的函數(shù)化,以及進(jìn)行函數(shù)化后的用戶程序向可編程序控制器的傳輸。用該應(yīng)用軟件能將用戶定義函數(shù)寫入系統(tǒng)程序,但不能從系統(tǒng)程序讀出用戶定義函數(shù)。傳輸用戶定義函數(shù)時(shí),作成的用戶定義函數(shù)存儲在用戶定義函數(shù)區(qū)中,將存儲的區(qū)域的開始地址和結(jié)束地址存儲在用戶定義函數(shù)表中。另外,該應(yīng)用軟件在將用戶定義函數(shù)存儲在用戶定義函數(shù)區(qū)中時(shí),將返回用戶程序用的“Return語句”附加在用戶定義函數(shù)的最后。圖7中示出了應(yīng)用軟件將“Return語句”附加在用戶定義函數(shù)的最后的處理方法。這樣將“Return語句”附加在最后,用戶定義函數(shù)執(zhí)行后能返回用戶程序。
說明作為系統(tǒng)程序的一部分存儲在系統(tǒng)存儲器中的用戶定義函數(shù)的讀出方法。用戶定義函數(shù)的讀出,只有在從用戶程序讀出函數(shù)的情況下,才能進(jìn)行用戶定義函數(shù)的讀出。圖8及圖9中示出了用戶程序和用戶定義函數(shù)執(zhí)行時(shí)的處理的流程圖、以及對應(yīng)于流程圖的說明圖。執(zhí)行了用戶定義函數(shù)時(shí),根據(jù)識別用戶定義函數(shù)的識別編號,訪問存儲了對應(yīng)的用戶定義函數(shù)的信息的用戶定義函數(shù)表。訪問用戶定義函數(shù)表時(shí),將現(xiàn)在的用戶程序的地址存儲在系統(tǒng)區(qū)域中。然后,從用戶定義函數(shù)表讀出用戶定義函數(shù)的開始地址和結(jié)束地址。根據(jù)讀出的開始地址和結(jié)束地址,從用戶定義函數(shù)區(qū)讀出并執(zhí)行用戶定義函數(shù)。根據(jù)用戶定義函數(shù)的偏移信息,訪問存儲有用戶定義函數(shù)的信息的用戶定義函數(shù)表時(shí),將該時(shí)刻的用戶程序的地址存儲在存儲系統(tǒng)信息的“用戶程序的地址存儲區(qū)”中。用戶定義函數(shù)執(zhí)行后,返回用戶程序時(shí),根據(jù)存儲在該“用戶程序的地址存儲區(qū)”中的用戶程序的地址,返回用戶程序。
存儲在用戶存儲器中的用戶程序能與以往一樣,在什么樣的用戶中都能讀出、寫入,所以有某種程度的兼容性。另外,將用戶程序的一部分或其全部作成用戶定義的函數(shù),進(jìn)行函數(shù)化,作為系統(tǒng)程序的一部分,存儲在系統(tǒng)存儲器中,所以能簡練地表達(dá)存儲在用戶存儲器中的用戶程序。因此,提高了程序的可讀性,也提高了可維修性。與此相伴隨,也關(guān)系到用戶存儲器的節(jié)約。
作為發(fā)明的效果,能例舉如下。(1)由于其他用戶不能閱覽作為系統(tǒng)程序的一部分存儲在系統(tǒng)存儲器中的用戶程序,所以能確保充分的安全性。(2)由于用戶程序區(qū)與以往一樣,能寫入、讀出,所以有某種程度的兼容性。(3)通過將用戶程序函數(shù)化,能簡練地表達(dá)用戶程序。因此,提高了用戶程序的可讀性。(4)通過將以往存儲在用戶程序區(qū)中的用戶程序的一部分或其全部,作為系統(tǒng)程序的一部分,存儲在系統(tǒng)存儲器中,增加了能存儲的用戶程序的容量。還能節(jié)約用戶程序的容量。
權(quán)利要求
1.一種可編程序控制器,其特征在于具有用于存儲用戶作成的用戶程序等的用戶存儲器;以及用于存儲系統(tǒng)程序的系統(tǒng)存儲器,具有將用戶作成的任意的用戶程序的一部分或其全部函數(shù)化的單元。
2.一種可編程序控制器,其特征在于具有用于存儲用戶作成的用戶程序等的用戶存儲器;以及用于存儲系統(tǒng)程序的系統(tǒng)存儲器,具有將用戶作成的任意的用戶程序的一部分或其全部函數(shù)化的單元;將函數(shù)化后的用戶程序作為系統(tǒng)程序的一部分,傳輸給系統(tǒng)存儲器的單元;以及根據(jù)存儲在用戶存儲器中的用戶程序,執(zhí)行作為系統(tǒng)程序的一部分的函數(shù)化后的用戶程序的單元。
3.一種可編程序控制器,其特征在于將所述用戶程序函數(shù)化后存儲在所述系統(tǒng)存儲器中時(shí),劃分成用戶定義函數(shù)表及用戶定義函數(shù)區(qū),用戶定義函數(shù)表存放用戶定義函數(shù)的開始地址和結(jié)束地址,將該用戶定義函數(shù)存儲在所述用戶定義函數(shù)區(qū)中。
全文摘要
迄今關(guān)于可編程序控制器,用戶作成的程序雖然有使用密碼的安全功能,但存在由于密碼的泄露,用戶程序泄漏的危險(xiǎn)性。本發(fā)明提供可編程序控制器,特別具有下列功能將用戶作成的任意的用戶程序函數(shù)化的功能;將函數(shù)化后的用戶程序作為系統(tǒng)程序的一部分,傳輸給可編程序控制器的系統(tǒng)存儲器的功能;根據(jù)用戶程序,執(zhí)行作為系統(tǒng)程序的一部分的函數(shù)化后的用戶程序的功能;與此相伴隨的用戶程序區(qū)的容量增加、或用戶程序區(qū)的節(jié)約的功能;以及不可能閱覽函數(shù)化后的用戶程序的內(nèi)容,防止信息的泄露的安全功能。
文檔編號G05B19/05GK1801013SQ200510108238
公開日2006年7月12日 申請日期2005年10月8日 優(yōu)先權(quán)日2005年1月7日
發(fā)明者山本啟 申請人:日立工業(yè)設(shè)備系統(tǒng)株式會社