專利名稱:可編程控制器用程序生成裝置、方法及程序存儲(chǔ)介質(zhì)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種為了使可編程控制器用各種功能模塊進(jìn)行動(dòng)作所必要的程序的程序生成裝置等。
背景技術(shù):
作為現(xiàn)有的可編程控制器用各種功能模塊所必要的參數(shù)、例如對(duì)象功能模塊中對(duì)于用戶需求的規(guī)格所必要的設(shè)定值的一個(gè)設(shè)定方法,具有如下方法,即,在可編程控制器的外部,作成包含將每個(gè)功能模塊賦予意義并進(jìn)行設(shè)定的設(shè)定值的定序程序,將該定序程序傳送至可編程控制器而執(zhí)行。在這里,對(duì)每個(gè)上述功能模塊賦予意義的設(shè)定值,傳送至對(duì)象的各功能模塊對(duì)用戶公開的內(nèi)部存儲(chǔ)器區(qū)域、或用于確認(rèn)功能模塊狀態(tài)的內(nèi)部存儲(chǔ)器區(qū)域。
在由上述定序程序進(jìn)行可編程控制器用各種功能模塊用的參數(shù)設(shè)定時(shí),使用分配給對(duì)象模塊的每個(gè)參數(shù)區(qū)域地址,作成定序程序。然后,由定序程序設(shè)計(jì)者作成的定序程序,為了確認(rèn)是否對(duì)各功能模塊進(jìn)行了正確的參數(shù)設(shè)定而通過調(diào)試作業(yè)進(jìn)行檢查。
在這里,為了減少上述現(xiàn)有技術(shù)中的問題點(diǎn)、即定序程序設(shè)計(jì)者在調(diào)試作業(yè)中的煩瑣操作,提出了以下方法,即,作為對(duì)于定序程序設(shè)計(jì)者來說更容易理解的表示方法,不使用分配給對(duì)象模塊的每個(gè)參數(shù)區(qū)域地址,取而代之,使用賦給地址的字符串(標(biāo)簽名)(參考專利文獻(xiàn)1)。但是,這種方法中,在作成參數(shù)設(shè)定用定序程序這一點(diǎn)上,與上述的現(xiàn)有技術(shù)相同。
專利文獻(xiàn)1日本國(guó)專利申請(qǐng)公開號(hào)特開平11-338732號(hào)另一方面,作為可編程控制器用各功能模塊用設(shè)定方法的另一個(gè),是使用應(yīng)用軟件的方法。該方法取代由定序程序進(jìn)行參數(shù)設(shè)定,而是將在應(yīng)用軟件中設(shè)定的參數(shù)設(shè)定值作為可編程控制器用的參數(shù)使用,在可編程控制器啟動(dòng)時(shí),傳送至各功能模塊的參數(shù)區(qū)域地址,進(jìn)行參數(shù)設(shè)定。另外,此時(shí)使用的并非地址,而是使用對(duì)每個(gè)功能模塊定義的項(xiàng)目名稱進(jìn)行設(shè)定。
發(fā)明內(nèi)容
但是,在作為現(xiàn)有方法之一的可編程控制器用的各功能模塊用的參數(shù)設(shè)定中,由于使用分配給對(duì)象模塊的各個(gè)參數(shù)區(qū)域地址作成定序程序,所以定序程序設(shè)計(jì)者必須注意不產(chǎn)生向錯(cuò)誤地址的設(shè)定或不適當(dāng)內(nèi)容的設(shè)定,還要根據(jù)位、字節(jié)、文字及雙字這些對(duì)象模塊中特有的數(shù)據(jù)類型的不同而變更定序程序。
該情況下,為了從定序程序確認(rèn)其內(nèi)容,必須掌握所有分配給各功能模塊的每個(gè)參數(shù)區(qū)域地址,在設(shè)定項(xiàng)目較多的情況下,或內(nèi)容很復(fù)雜的情況下等,會(huì)產(chǎn)生地址、設(shè)定值的遺漏等,存在對(duì)于定序程序設(shè)計(jì)者來說管理工時(shí)增大,易于出現(xiàn)失誤,調(diào)試作業(yè)需要時(shí)間的問題。
另外,在作為現(xiàn)有的另一個(gè)方法,將使用應(yīng)用軟件設(shè)定的參數(shù)設(shè)定值作為可編程控制器用的參數(shù)使用的情況下,不需要作成定序程序就可以進(jìn)行向參數(shù)區(qū)域地址的傳送,但另一方面,在設(shè)定完成后的調(diào)整時(shí)等進(jìn)行設(shè)定值的變更的情況下,必須準(zhǔn)備作為可編程控制器用各種功能模塊用設(shè)定單元的應(yīng)用軟件,與其他控制用程序相同地,會(huì)產(chǎn)生無法通過定序程序進(jìn)行向各功能模塊的參數(shù)設(shè)定的問題。
本發(fā)明就是為了解決上述問題而提出的,其目的在于,得到一種可編程控制器用程序生成裝置,其在可編程控制器用各種功能模塊用的參數(shù)設(shè)定中,可以不用逐個(gè)掌握分配給對(duì)象模塊的每個(gè)參數(shù)區(qū)域地址而生成定序程序。
本發(fā)明設(shè)計(jì)與可編程控制器連接而使用的可編程控制器用程序生成裝置,其具有設(shè)定信息生成單元,其使用具有可變更設(shè)定的地址信息的功能模塊的固有信息,作成可編程控制器用的參數(shù)形式的模塊設(shè)定信息;解析變換單元,其解析上述模塊設(shè)定信息的參數(shù),生成文件,該文件成為用于變換為指定可編程控制器動(dòng)作的定序程序的信息源;以及程序變換編入單元,其將由上述解析變換單元生成的文件變換為定序程序。
發(fā)明的效果本發(fā)明由于具有設(shè)定信息生成單元,其使用具有可變更設(shè)定的地址信息的功能模塊的固有信息,作成可編程控制器用的參數(shù)形式的模塊設(shè)定信息;解析變換單元,其解析上述模塊設(shè)定信息的參數(shù),生成文件,該文件成為用于變換為指定可編程控制器動(dòng)作的定序程序的信息源;以及程序變換編入單元,其將由上述解析變換單元生成的文件變換為定序程序,所以,不需要逐個(gè)掌握分配給可編程控制器用各種功能模塊的每個(gè)參數(shù)區(qū)域地址,就可以自動(dòng)生成參數(shù)設(shè)定用定序程序,從而可以得到預(yù)先防止由于地址指定的錯(cuò)誤或數(shù)據(jù)類型的不同而產(chǎn)生的編程格式的異常的效果。
圖1是表示本發(fā)明的實(shí)施方式1所涉及的可編程控制器用程序生成裝置的構(gòu)成及利用該裝置傳送定序程序的可編程控制器的構(gòu)成圖。
圖2是表示本發(fā)明的實(shí)施方式1所涉及的可編程控制器用程序生成裝置的模塊固有信息11的圖。
圖3是表示本發(fā)明的實(shí)施方式1所涉及的可編程控制器用程序生成裝置的參數(shù)數(shù)據(jù)生成單元12中的處理的流程圖。
圖4是表示本發(fā)明的實(shí)施方式1所涉及的可編程控制器用程序生成裝置的模塊設(shè)定信息13的數(shù)據(jù)結(jié)構(gòu)圖。
圖5是表示圖3的步驟440中作成模塊設(shè)定信息13的處理步驟的流程圖。
圖6是本發(fā)明的實(shí)施方式1所涉及的可編程控制器用程序生成裝置的參數(shù)解析單元14所進(jìn)行的處理的流程圖。
圖7是本發(fā)明的實(shí)施方式1所涉及的可編程控制器用程序生成裝置的參數(shù)解析單元14和程序解析單元31所進(jìn)行的將變換數(shù)據(jù)記錄單元20中保存的變換數(shù)據(jù)文件及錯(cuò)誤信息文件50的收受和變換處理的流程圖。
具體實(shí)施例方式
通過實(shí)施例1及實(shí)施例2說明用于實(shí)施本發(fā)明的最佳實(shí)施方式。
實(shí)施例1圖1是表示本發(fā)明的實(shí)施方式1所涉及的可編程控制器用程序生成裝置1的構(gòu)成、以及從該裝置傳送定序程序的可編程控制器40的構(gòu)成圖??删幊炭刂破饔贸绦蛏裳b置1,是將每個(gè)功能模塊的動(dòng)作步驟和每個(gè)模塊動(dòng)作時(shí)的設(shè)定參數(shù)變換為定序程序的裝置,其由以下部分構(gòu)成可編程控制器用各種功能模塊用設(shè)定單元10,其對(duì)定序程序進(jìn)行使可編程控制器的各種功能模塊動(dòng)作的定序部分和動(dòng)作時(shí)的參數(shù)的編輯、寫入/讀入等;變換數(shù)據(jù)記錄單元20,其存儲(chǔ)從可編程控制器用各種功能模塊用設(shè)定單元10輸出并變換為定序程序的信息;以及可編程控制器用編程單元30,其對(duì)可編程控制器進(jìn)行參數(shù)、定序程序等的編輯/設(shè)定等。
可編程控制器用程序生成裝置1的硬件,可以作為個(gè)人計(jì)算機(jī)的功能的一部分構(gòu)成。構(gòu)成可編程控制器用程序生成裝置1的各軟件、文件,保存在個(gè)人計(jì)算機(jī)內(nèi)的存儲(chǔ)器或存儲(chǔ)介質(zhì)中,由軟件進(jìn)行的處理,可以利用計(jì)算機(jī)中的CPU進(jìn)行。另外,即使在硬件不是個(gè)人計(jì)算機(jī)的情況下,只要有存儲(chǔ)軟件或文件的存儲(chǔ)介質(zhì)和執(zhí)行軟件的CPU等就可以實(shí)現(xiàn)。
可編程控制器用各種功能模塊用設(shè)定單元10由以下部分構(gòu)成參數(shù)數(shù)據(jù)生成單元12,其基于存儲(chǔ)模塊固有的信息的模塊固有信息11,生成可編程控制器用的參數(shù)形式的模塊設(shè)定信息13;以及參數(shù)解析單元14,其根據(jù)模塊設(shè)定信息13,作成變換數(shù)據(jù)文件,輸出到變換數(shù)據(jù)記錄單元20,該變換數(shù)據(jù)文件包含作為定序程序的基礎(chǔ)的信息。
另外,本實(shí)施方式的結(jié)構(gòu)中,參數(shù)數(shù)據(jù)生成單元12相當(dāng)于設(shè)定信息生成單元,參數(shù)解析單元14相當(dāng)于解析變換單元。
變換數(shù)據(jù)記錄單元20存儲(chǔ)參數(shù)解析單元14輸出的變換數(shù)據(jù)文件。該變換數(shù)據(jù)文件由以下部分構(gòu)成程序文件21,其存儲(chǔ)以文本形式記述的定序程序;以及變換信息文件22,其存儲(chǔ)作為變換對(duì)象的對(duì)象文件的路徑名和其文件名。
可編程控制器用編程單元30由變換數(shù)據(jù)記錄單元20讀入變換數(shù)據(jù)文件,在可編程控制器用編程單元30內(nèi)的程序解析單元31進(jìn)行變換數(shù)據(jù)文件的檢查后,作為將可編程控制器動(dòng)作編程后的定序程序32輸出到可編程控制器40,同時(shí)將定序程序32編入可編程控制器40。
利用這樣構(gòu)成的可編程控制器用程序生成裝置,通過將設(shè)定了各種功能模塊中的設(shè)定參數(shù)的定序程序編入可編程控制器中,可以反映模塊固有信息的內(nèi)容而進(jìn)行動(dòng)作。以下進(jìn)行詳細(xì)說明。
圖2是表示本發(fā)明的實(shí)施方式1所涉及的可編程控制器用程序生成裝置的模塊固有信息11的圖。模塊固有信息11包含如下信息模塊識(shí)別編號(hào)11a,其標(biāo)識(shí)模塊;識(shí)別符11b,其用于識(shí)別參數(shù)項(xiàng)目;寫入觸發(fā)信號(hào)11c,其用于使功能模塊反映參數(shù)設(shè)定項(xiàng)目的內(nèi)容;在各功能模塊內(nèi)被分配的內(nèi)部存儲(chǔ)器的地址編號(hào)11d;項(xiàng)目名稱11e,其被分配給參數(shù)設(shè)定項(xiàng)目;數(shù)據(jù)類型11f,其表示10進(jìn)制(有符號(hào)/無符號(hào))/16進(jìn)制/位這些參數(shù)設(shè)定項(xiàng)目的數(shù)據(jù)形式;數(shù)據(jù)長(zhǎng)度11g,其表示與其數(shù)據(jù)類型相對(duì)應(yīng)的數(shù)據(jù)容量;上下限值11h,其表示參數(shù)項(xiàng)目的設(shè)定范圍,該范圍用于檢查用戶輸入的數(shù)值是否是適當(dāng)?shù)臄?shù)值,即輸入值是否包含在正常范圍內(nèi);以及默認(rèn)值11i,其表示該參數(shù)設(shè)定項(xiàng)目的初始值。
另外,圖2中,寫入觸發(fā)信號(hào)11c的數(shù)字,表示在作為觸發(fā)信號(hào)的規(guī)定的位成為ON的情況下的其對(duì)象編號(hào)的數(shù)字,在表示其對(duì)象編號(hào)時(shí),對(duì)象編號(hào)的位成為ON,表示對(duì)象編號(hào)的寫入觸發(fā)信號(hào)存在。因此在寫入觸發(fā)信號(hào)為0的情況下,表示對(duì)象編號(hào)的位全部是OFF,為0的情況下表示不進(jìn)行寫入觸發(fā)。
另外,數(shù)據(jù)長(zhǎng)度11g的長(zhǎng)度表示為字節(jié)長(zhǎng)度單位。因此在數(shù)據(jù)類型為“位類型”而數(shù)據(jù)長(zhǎng)度為“2”的情況下,表示2個(gè)字節(jié)。
由于模塊固有信息11的信息中,至少具有在各功能模塊內(nèi)被分配的內(nèi)部存儲(chǔ)器的地址編號(hào)11d,所以不需要掌握所有分配給各功能模塊的每個(gè)參數(shù)區(qū)域地址,具有可以降低管理工時(shí)的效果。另外,由于具有數(shù)據(jù)類型11f,所以具有預(yù)先防止因數(shù)據(jù)類型的不同導(dǎo)致編程異常的效果。此外,由于具有表示參數(shù)項(xiàng)目的設(shè)定范圍的上下限值11h,所以可以有效地進(jìn)行范圍外數(shù)值輸入的預(yù)先檢查。通過模塊固有信息11的信息向定序程序變換,編入可編程控制器40中,分別實(shí)現(xiàn)上述效果,可以實(shí)現(xiàn)定序程序質(zhì)量的提高。
下面對(duì)參數(shù)數(shù)據(jù)生成單元12利用模塊固有信息11作成模塊設(shè)定信息13的處理進(jìn)行說明。圖3是表示本發(fā)明的實(shí)施方式1所涉及的可編程控制器用程序生成裝置的參數(shù)數(shù)據(jù)生成單元12中的處理的流程圖。
步驟400中,讀入模塊固有信息11(以從11a至11i的方式定義的功能模塊的參數(shù)數(shù)據(jù))。在步驟410中,用戶由讀入的模塊固有信息設(shè)定必要的參數(shù)設(shè)定值。在步驟420中使用讀入的模塊固有信息的上下限值11h的值進(jìn)行錯(cuò)誤檢查,檢查是否在其上下限值的范圍內(nèi)正確地輸入。在存在錯(cuò)誤的情況下,通過步驟430要求再次輸入,再次進(jìn)行錯(cuò)誤檢查。從參數(shù)設(shè)定值中去除錯(cuò)誤后,通過步驟440生成模塊設(shè)定信息13。
對(duì)步驟440的模塊設(shè)定信息13的作成進(jìn)行詳細(xì)說明。首先,對(duì)模塊設(shè)定信息13的數(shù)據(jù)結(jié)構(gòu)進(jìn)行說明。圖4是本發(fā)明的實(shí)施方式1所涉及的可編程控制器用程序生成裝置的模塊設(shè)定信息13的數(shù)據(jù)結(jié)構(gòu)圖。
模塊設(shè)定信息13由以下部分構(gòu)成整體偏移量100,其表示作為1個(gè)模塊部分的功能模塊的數(shù)據(jù)量;每個(gè)功能模塊具有的機(jī)種識(shí)別符110,其用于標(biāo)識(shí)功能模塊;以及初始設(shè)定信息120,其包括表示存儲(chǔ)初始設(shè)定用的數(shù)據(jù)的存儲(chǔ)器地址的初始設(shè)定用相對(duì)地址等。
初始設(shè)定信息120中存在表示初始設(shè)定中設(shè)定的項(xiàng)目數(shù)量(即,模塊的個(gè)數(shù))的設(shè)定項(xiàng)目個(gè)數(shù)(n)200、作為第1個(gè)設(shè)定項(xiàng)目的設(shè)定項(xiàng)目1240以及表示其存儲(chǔ)位置的項(xiàng)目1相對(duì)地址210的組合,并且與其相同的結(jié)構(gòu),存在與存儲(chǔ)在設(shè)定項(xiàng)目個(gè)數(shù)(n)200中的模塊的個(gè)數(shù)相同的數(shù)量。
作為參數(shù)數(shù)據(jù)的最小單位的每個(gè)地址所對(duì)應(yīng)的設(shè)定項(xiàng)目1,2,3,...,n分別由下述部分構(gòu)成寫入觸發(fā)信號(hào)300,其用于設(shè)定內(nèi)容的更新;設(shè)定項(xiàng)目的對(duì)象地址310;設(shè)定數(shù)據(jù)個(gè)數(shù)320;以及設(shè)定數(shù)據(jù)330,其成為每個(gè)數(shù)據(jù)所需要的實(shí)際數(shù)據(jù)區(qū)域。
功能模塊具有寫入觸發(fā)信號(hào),該寫入觸發(fā)信號(hào)可以在用戶指定的任意定時(shí),指定反映指定地址中設(shè)定的內(nèi)容的定時(shí)。該寫入觸發(fā)信號(hào)用于在信號(hào)狀態(tài)發(fā)生從Off狀態(tài)向On狀態(tài)的變化的定時(shí),進(jìn)行向內(nèi)部存儲(chǔ)器的更新。寫入觸發(fā)信號(hào)300是存儲(chǔ)該功能模塊固有信號(hào)中存在的觸發(fā)信號(hào)的區(qū)域。但是,該信號(hào)并不一定隨該功能模塊而存在。因此在該信號(hào)不存在的情況下,后述的定序程序中也不添加進(jìn)行寫入觸發(fā)信號(hào)的On/Off處理的程序。
下面,對(duì)圖3的步驟440中的作成模塊設(shè)定信息13的處理步驟進(jìn)行說明。圖5是表示圖3的步驟440中的作成模塊設(shè)定信息13的處理步驟的流程圖。
在步驟442中存儲(chǔ)對(duì)象地址310、設(shè)定數(shù)據(jù)個(gè)數(shù)320、設(shè)定數(shù)據(jù)(由用戶輸入的數(shù)值)330。作為模塊設(shè)定信息13的一部分,在對(duì)象功能模塊的模塊固有信息中設(shè)定了寫入觸發(fā)信號(hào)11c的信息的情況下,在步驟443中,在存儲(chǔ)模塊設(shè)定信息13的寫入觸發(fā)信號(hào)300中存儲(chǔ)該信息。在步驟444中,如果1個(gè)數(shù)據(jù)的信息被存儲(chǔ),則使處理次數(shù)計(jì)數(shù)器加1并監(jiān)視處理次數(shù)。步驟445中,為了計(jì)算設(shè)定數(shù)據(jù)向需要設(shè)定的下一項(xiàng)目的存儲(chǔ)位置,將1個(gè)項(xiàng)目的數(shù)據(jù)量與項(xiàng)目相對(duì)地址220相加。從步驟442到步驟445的處理重復(fù)由步驟444監(jiān)視的處理次數(shù)(即,設(shè)定項(xiàng)目個(gè)數(shù)(n)200)的次數(shù)。在步驟446中存儲(chǔ)標(biāo)識(shí)功能模塊的功能模塊識(shí)別符110。在步驟447中,計(jì)算功能模塊識(shí)別符110加上初始設(shè)定信息120后的字節(jié)數(shù),在整體偏移量100中存儲(chǔ)該計(jì)算的數(shù)值,完成1個(gè)功能模塊的初始設(shè)定信息的存儲(chǔ)。
對(duì)參數(shù)解析單元14將模塊設(shè)定信息13變換為變換數(shù)據(jù)文件20的處理進(jìn)行說明。圖6是本發(fā)明的實(shí)施方式1涉及的可編程控制器用程序生成裝置的參數(shù)解析單元14進(jìn)行的處理的流程圖。
首先,在步驟510中,由模塊設(shè)定信息13中存儲(chǔ)的信息,從圖4的初始設(shè)定信息120,取得應(yīng)設(shè)定的功能模塊的對(duì)象地址310。由于地址310指向被分配給功能模塊的參數(shù)區(qū)域地址,所以存儲(chǔ)例如“0”這樣的內(nèi)容。向該“0”這樣的值附加表示是功能模塊的地址的“G”,表示為“G0”。另外,該值中由于不包含安裝功能模塊的信息,所以必須附加被安裝的安裝位置的信息。
以前,該必須附加的信息必須從定序程序中檢索變更對(duì)象位置,進(jìn)行變更的操作。但是通過本裝置,通過預(yù)先將用戶所指定的功能模塊的安裝位置的信息附加于對(duì)象地址310中,在變更作業(yè)中不需要地址的檢索、變更操作。在安裝位置為0的情況下,附加表示其安裝位置的“U0¥”,在傳送命令中使用的功能模塊的對(duì)象地址包含安裝位置而表現(xiàn)為“U0¥G0”。
通過上述方式,即使各模塊的對(duì)象地址相同的情況下,也可以正常地構(gòu)成定序程序而使其動(dòng)作。
在步驟520中,與步驟510相同地,從模塊設(shè)定信息13中存儲(chǔ)的初始設(shè)定信息120中取得應(yīng)設(shè)定的功能模塊的數(shù)據(jù)的數(shù)據(jù)長(zhǎng)度。在步驟530中也同樣地取得實(shí)際數(shù)據(jù)。步驟540中將從步驟510至步驟530取得的數(shù)據(jù)組合后作成傳送命令。
在步驟540中作成傳送命令。傳送命令格式表示為[傳送命令(MOVP)][設(shè)定數(shù)據(jù)330][對(duì)象地址310]這樣的格式?!癕OV”表示傳送,該命令附加的“P”表示脈沖命令。脈沖命令表示僅在指定信號(hào)上升沿時(shí)執(zhí)行的命令,以后即使條件成立也不執(zhí)行該命令。初始設(shè)定信息由于僅需要在定序程序啟動(dòng)時(shí)執(zhí)行一次,所以該定序程序必須為脈沖命令。例如,在向地址“0”傳送“10進(jìn)制的100”這一數(shù)值的情況下,作成“MOVP K100 U0¥G0”這樣的命令(“K100”的“K”表示10進(jìn)制。在指定16進(jìn)制的情況下為“H”)。將從步驟510至540的一系列處理按照設(shè)定數(shù)據(jù)個(gè)數(shù)320中存儲(chǔ)的次數(shù)重復(fù)進(jìn)行,作成向?qū)ο蟮刂?10傳送設(shè)定數(shù)據(jù)330的內(nèi)容的傳送命令。
在步驟550中檢查寫入觸發(fā)信號(hào)的有無。存在這樣的功能模塊,即,由傳送命令寫入對(duì)象地址310的設(shè)定數(shù)據(jù)330,僅寫入內(nèi)部存儲(chǔ)器區(qū)域而不進(jìn)行內(nèi)容的反映。這樣的功能模塊中,準(zhǔn)備寫入觸發(fā)信號(hào)300,將該信號(hào)的從Off向On的變換作為觸發(fā)而進(jìn)行內(nèi)容的更新。在這里所謂的信號(hào),是指設(shè)置于可編程控制器和功能模塊之間的信號(hào),由從功能模塊向可編程控制器的輸入信號(hào)(X信號(hào))和從可編程控制器向功能模塊的輸出信號(hào)(Y信號(hào))構(gòu)成,利用這兩個(gè)信號(hào)的On/Off狀態(tài),進(jìn)行可編程控制器和功能模塊的動(dòng)作指示、確認(rèn)。
如上所述,由于寫入觸發(fā)信號(hào)300是用于從可編程控制器對(duì)功能模塊指示反映設(shè)定數(shù)據(jù)的信號(hào),所以歸類為從可編程控制器向功能模塊的輸出信號(hào)(Y信號(hào))。因此,在寫入觸發(fā)信號(hào)300存在的情況下,在寫入內(nèi)部存儲(chǔ)器區(qū)域的傳送命令之后追加寫入觸發(fā)信號(hào)的On(SET Y0)。由于寫入觸發(fā)信號(hào)是在該信號(hào)從Off變化到On時(shí)被識(shí)別的信號(hào),所以在使信號(hào)為On之后必須使其為Off。在這里,在使寫入觸發(fā)信號(hào)為On的命令之后追加確認(rèn)On狀態(tài)(LD Y9)和使寫入觸發(fā)信號(hào)為Off(RST Y0)的命令。“SET”表示使其后指定的信號(hào)為On的命令,“RST”表示相反地使該信號(hào)為Off的命令。“LD”是讀取指定的對(duì)象信號(hào)的On信息作為運(yùn)算結(jié)果的命令,決定該命令之后的后續(xù)命令是否執(zhí)行。這里的例子中,接受Y0為On的條件而執(zhí)行“RST Y0”的命令。
通過上述處理作成的傳送命令、和在寫入觸發(fā)信號(hào)的On/Off處理中變換的定序程序,利用步驟570,展開為文本形式的文件而向變換數(shù)據(jù)記錄單元20輸出。此時(shí)輸出的變換數(shù)據(jù)文件,包括存儲(chǔ)了定序程序的程序文件21和為了將程序文件21讀取到可編程控制器用編程單元30中所必要的變換信息文件22。該變換信息文件22中,設(shè)定存在程序文件21的文件夾路徑名和附加到該變換后的定序程序中的名稱。
下面,對(duì)在可編程控制器用編程單元30中,通過參數(shù)解析單元14讀取由初始設(shè)定信息120變換后的變換數(shù)據(jù)文件的方法進(jìn)行說明。
在參數(shù)解析單元14和可編程控制器用編程單元30的程序解析單元31之間,為了進(jìn)行由變換數(shù)據(jù)記錄單元20中存儲(chǔ)的信息向定序程序的變換,經(jīng)由共用存儲(chǔ)器進(jìn)行事件的授受和這之間的信息的傳送。在事件發(fā)送側(cè)發(fā)送事件時(shí),將與該事件的種類對(duì)應(yīng)的信息寫入共用存儲(chǔ)器中,接收側(cè)執(zhí)行與該事件的種類和該共用存儲(chǔ)器的內(nèi)容相對(duì)應(yīng)的處理。另外,在本實(shí)施方式的結(jié)構(gòu)中,程序解析單元31相當(dāng)于程序變換編入單元。
圖7是本發(fā)明的實(shí)施方式1所涉及的可編程控制器用程序生成裝置的參數(shù)解析單元14和程序解析單元31進(jìn)行的變換數(shù)據(jù)文件的授受和變換處理的流程圖。
首先如步驟600所示,將在變換數(shù)據(jù)記錄單元20中存儲(chǔ)的變換數(shù)據(jù)文件的文件夾路徑名和文件名寫入共用存儲(chǔ)器中,在步驟610發(fā)送用于向程序解析單元31側(cè)登錄其內(nèi)容的登錄用事件。接受該變換登錄事件的程序解析單元31參考變換數(shù)據(jù)文件的內(nèi)容,向進(jìn)行變換的定序程序中讀取內(nèi)容。如果登錄完成,則程序解析單元31發(fā)送登錄完成的事件,向參數(shù)解析單元14通知變換登錄完成。
接受登錄完成的參數(shù)解析單元14,為了執(zhí)行變換信息的錯(cuò)誤檢查,在步驟620中發(fā)送變換信息錯(cuò)誤檢查的要求事件。程序解析單元31接受該事件,執(zhí)行登錄后的內(nèi)容(即,變換信息文件22)的錯(cuò)誤檢查。在這里進(jìn)行確認(rèn)文件格式、程序的書寫錯(cuò)誤的一致性檢查。如果錯(cuò)誤檢查結(jié)束,則由程序解析單元31發(fā)送錯(cuò)誤檢查結(jié)束的事件。接受該事件的參數(shù)解析單元14在步驟630中進(jìn)行存儲(chǔ)錯(cuò)誤內(nèi)容的錯(cuò)誤信息文件50的確認(rèn)。通過步驟640確認(rèn)錯(cuò)誤的有無,在發(fā)生錯(cuò)誤的情況下,在步驟651中刪除變換數(shù)據(jù)記錄單元20中保存的變換數(shù)據(jù)文件,中止變換處理。
在錯(cuò)誤檢查正常結(jié)束的情況下,在步驟650中發(fā)送登錄執(zhí)行事件,變換數(shù)據(jù)記錄單元20的內(nèi)容通過可編程控制器用編程單元30,進(jìn)行向可利用的定序程序的變換。如果變換處理結(jié)束,則由于變換處理結(jié)束的事件由程序解析單元31發(fā)送,所以通過該事件的接受,在步驟660中,使用從程序解析單元31輸出的錯(cuò)誤信息文件50,進(jìn)行向程序的變換是否正確進(jìn)行的變換錯(cuò)誤檢查的確認(rèn)。由于參數(shù)解析單元14不管有無變換處理的錯(cuò)誤,都結(jié)束變換,所以進(jìn)行變換數(shù)據(jù)文件的刪除,結(jié)束一系列的變換處理。
如上所述,由于參數(shù)解析單元31中變換的定序程序以FB(功能塊)的形式輸出,所以成為在定序程序的基礎(chǔ)上可再利用的部件,在具有相同的系統(tǒng)結(jié)構(gòu)的系統(tǒng)中,或者使用相同功能模塊的情況下,不需要對(duì)該功能模塊設(shè)定相同的定序程序,可以適當(dāng)?shù)鼐幦攵ㄐ虺绦蚝蠛?jiǎn)單地進(jìn)行挪用變更。另外,F(xiàn)B內(nèi)的處理黑箱化,成為確保品質(zhì)的程序,因此可以避開地址設(shè)定錯(cuò)誤、造成設(shè)定范圍異常的設(shè)定值的錯(cuò)誤設(shè)定,有助于減少定序程序的調(diào)試時(shí)間。
如上所述,根據(jù)本發(fā)明的實(shí)施方式,由于具有參數(shù)數(shù)據(jù)生成單元12,其使用功能模塊所具有的固有信息11,作成可編程控制器用的參數(shù)形式的模塊設(shè)定信息13;參數(shù)解析單元14,其解析上述模塊設(shè)定信息13的參數(shù),變換為變換數(shù)據(jù)文件,該變換數(shù)據(jù)文件成為使可編輯控制器動(dòng)作程序化的定序程序的信息源;以及程序解析單元31,其由從變換數(shù)據(jù)記錄單元20輸入的變換數(shù)據(jù)文件,生成定序程序32,進(jìn)行向可編程控制器40的編入,因此,可編程控制器用各種功能模塊中,將設(shè)定用定序程序可以分配給功能模塊的地址或數(shù)據(jù)類型、順序命令的使用方法等可以無意識(shí)地作成,所以能夠預(yù)先防止定序程序中所使用的分配給各種功能模塊的地址的設(shè)定錯(cuò)誤、或?qū)τ谠O(shè)定值的附加意義的錯(cuò)誤標(biāo)識(shí)。
另外,設(shè)定現(xiàn)有的可編程控制器用各種功能模塊的情況下,由于可編程控制器用各種功能模塊用參數(shù)作為可編程控制器用的參數(shù)的一部分而存在,所以在進(jìn)行系統(tǒng)的規(guī)格變更、微調(diào)整的情況下,有時(shí)候需要設(shè)定上述各種功能模塊用參數(shù)設(shè)定用的應(yīng)用軟件,該情況下,存在無法變更成為規(guī)格變更、微調(diào)整的參數(shù)內(nèi)容的問題,但在本實(shí)施方式中,可編程控制器用各種功能模塊用設(shè)定單元10擁有對(duì)象功能模塊的所有參數(shù)信息,由于可以將規(guī)格變更、微調(diào)整的結(jié)果作為定序程序進(jìn)行反映,所以具有能夠解決上述問題的效果。
另外,現(xiàn)有方式中,由于參數(shù)在系統(tǒng)中僅存在1個(gè)(在1個(gè)可編程控制器中有1個(gè)功能模塊用參數(shù)),所以無法僅使某一部分的功能模塊有效,在本實(shí)施方式中,由于模塊固有信息分別擁有功能模塊的參數(shù)信息,所以可以僅使某一部分的功能模塊有效,另外也可以進(jìn)行設(shè)定變更。
另外,與可編程控制器用各種功能模塊的安裝位置的變更對(duì)應(yīng),僅通過得到功能模塊固有的參數(shù)信息就可以恰當(dāng)?shù)氐玫娇梢赃M(jìn)行對(duì)應(yīng)的定序程序。
實(shí)施例2實(shí)施方式1中的模塊固有信息11,沒有記述與可編程控制器40和功能模塊之間的位置關(guān)系相關(guān)的信息,但在實(shí)施方式2中,對(duì)模塊固有信息11中附加了功能模塊的安裝位置信息11j的情況進(jìn)行說明。除了附加了功能模塊的安裝信息11j之外,與實(shí)施方式1相同。
參數(shù)解析單元14進(jìn)行由作為模塊設(shè)定信息13的一部分的功能模塊設(shè)定信息變換為定序程序的處理。在圖6的步驟510中,從模塊設(shè)定信息13存儲(chǔ)的信息中取得應(yīng)在圖4的初始設(shè)定信息120中設(shè)定的功能模塊的對(duì)象地址310。取得對(duì)象地址310后,(與實(shí)施方式1相同地,取得“G0”)通過將預(yù)先由用戶指定的功能模塊的安裝位置的信息11j自動(dòng)附加到對(duì)象地址310中,變更作業(yè)中不需要地址的檢索、變更操作。在安裝位置為“0”的情況下,附加表示該安裝位置的“U0¥”,傳送命令中使用的功能模塊的對(duì)象地址包含安裝位置而表現(xiàn)為“U0¥G0”。該處理為實(shí)施方式1中所述的內(nèi)容,但是預(yù)先由用戶指定的功能模塊的安裝位置的信息與模塊固有信息11分開指定。
另一方面,實(shí)施方式2中,功能模塊的安裝位置信息11j包含在模塊固有信息11中。由此,參數(shù)解析單元14可以將模塊固有信息11內(nèi)的安裝位置信息11j自動(dòng)地附加于對(duì)象地址310中。在安裝位置信息11j為“1”的情況下,附加表示其安裝位置的“U1¥”,在傳送命令中使用的功能模塊的對(duì)象地址包含安裝位置而表現(xiàn)為“U1¥G0”。
因此,在功能模塊的模塊安裝位置變更了的情況下,僅通過變更功能模塊的安裝位置信息11j,就可根據(jù)該變更信息自動(dòng)地由參數(shù)解析單元14生成程序文件21。另外,此時(shí)寫入觸發(fā)信號(hào)11c是功能模塊側(cè)具有的對(duì)象編號(hào),由于根據(jù)該安裝位置,必須使信號(hào)的編號(hào)也變更,所以在功能模塊的安裝位置信息11j變更的同時(shí),必須變更寫入觸發(fā)信號(hào)11c。
由此,由于通過模塊固有信息11具有安裝位置信息11j,即使在功能模塊的模塊安裝位置發(fā)生變更的情況下,也能夠根據(jù)模塊固有信息11自動(dòng)生成參數(shù)設(shè)定用定序程序,所以可以得到預(yù)先防止地址指定的錯(cuò)誤或因數(shù)據(jù)類型的不同造成的編程異常的效果。
工業(yè)實(shí)用性如上所述,本發(fā)明所涉及的可編程控制器用程序生成裝置,適用于在可編程控制器用各種功能模塊用的參數(shù)設(shè)定中,不用逐個(gè)掌握分配給對(duì)象模塊的每個(gè)參數(shù)區(qū)域地址而生成定序程序。
權(quán)利要求
1.一種可編程控制器用程序生成裝置,其特征在于,具有設(shè)定信息生成單元,其使用具有可變更設(shè)定的地址信息的功能模塊的固有信息,作成可編程控制器用的參數(shù)形式的模塊設(shè)定信息;解析變換單元,其解析上述模塊設(shè)定信息的參數(shù),生成文件,該文件成為用于變換為指定可編程控制器動(dòng)作的定序程序的信息源;以及程序變換編入單元,其將由上述解析變換單元生成的文件變換為定序程序。
2.根據(jù)權(quán)利要求1所述的可編程控制器用程序生成裝置,其特征在于,上述固有信息包含表示數(shù)據(jù)形式的數(shù)據(jù)類型信息。
3.根據(jù)權(quán)利要求1所述的可編程控制器用程序生成裝置,其特征在于,上述固有信息包含表示參數(shù)項(xiàng)目設(shè)定范圍的上下限值或表示初始值的默認(rèn)值的信息。
4.根據(jù)權(quán)利要求1所述的可編程控制器用程序生成裝置,其特征在于,上述模塊設(shè)定信息包含上述功能模塊的安裝位置信息。
5.根據(jù)權(quán)利要求4所述的可編程控制器用程序生成裝置,其特征在于,上述固有信息內(nèi)具有上述功能模塊的安裝位置信息。
6.根據(jù)權(quán)利要求1所述的可編程控制器用程序生成裝置,其特征在于,變換后的定序程序以各功能模塊為單位分別輸出,以功能塊的形式生成。
7.一種可編程控制器用程序生成方法,其特征在于,具有以下步驟使用具有可變更設(shè)定的地址信息的功能模塊的固有信息,作成可編程控制器用的參數(shù)形式的模塊設(shè)定信息的步驟;解析上述模塊設(shè)定信息的參數(shù),生成文件的步驟,該文件成為用于變換為指定可編程控制器動(dòng)作的定序程序的信息源;以及將由上述步驟生成的文件變換為定序程序的步驟。
8.一種存儲(chǔ)介質(zhì),其存儲(chǔ)用于使計(jì)算機(jī)執(zhí)行上述權(quán)利要求7中記載的方法的程序。
全文摘要
本發(fā)明的目的在于,提供一種可編程控制器用程序生成裝置,其在可編程控制器用各種功能模塊用的參數(shù)設(shè)定中,不用逐個(gè)掌握分配給對(duì)象模塊的每個(gè)參數(shù)區(qū)域地址而生成定序程序。其具有設(shè)定信息生成單元(12),其使用功能模塊所具有的固有信息,作成可編程控制器用的參數(shù)形式的模塊設(shè)定信息;解析變換單元(14),其解析上述模塊設(shè)定信息的參數(shù),生成文件,該文件成為用于變換為使可編程控制器動(dòng)作程序化的定序程序的信息源;以及程序變換編入單元(31),其將由上述解析變換單元生成的文件變換為定序程序。
文檔編號(hào)G05B19/05GK1989464SQ20058002541
公開日2007年6月27日 申請(qǐng)日期2005年7月26日 優(yōu)先權(quán)日2004年7月28日
發(fā)明者中山幸雄 申請(qǐng)人:三菱電機(jī)株式會(huì)社