預先設定的算法,檢測與已配置的FBD部件分離一定距離,并能夠與已配置的FBD部件不重疊地對配置對象FBD部件進行配置的區(qū)域。此外,推薦順序確定部102對檢測出的區(qū)域的最上部的坐標進行檢測。推薦順序確定部102在檢測出多個區(qū)域的情況下,對于所檢測出的各區(qū)域,按照預先設定的算法對推薦順序進行編號(步驟S203)。
[0036]另外,與所指定的FBD部件相距的一定距離可以是用戶能夠變更的值,也可以是預先設定的固定值。
[0037]推薦順序確定部102將確定出的推薦順序以及各區(qū)域的最上部的坐標發(fā)送至編輯器部101。編輯器部101以在各區(qū)域的最上部設置推薦順序顯示欄,將與由推薦順序確定部102編號出的推薦順序?qū)乇硎境鲂蛄械臄?shù)列、字符串的各項顯示在編輯器畫面上的方式對畫面顯示進行更新(步驟S204)。作為與推薦順序?qū)乇硎境鲂蛄械臄?shù)列、字符串的例子,可舉出第一項是1、公差是1的等差數(shù)列,換言之可舉出自然數(shù)的數(shù)列。在該情況下,在編輯器畫面上,利用從“1”開始的自然數(shù)顯示推薦順序。另外,作為與推薦順序?qū)乇硎境鲂蛄械臄?shù)列、字符串的其它例子,可舉出如A、B、C、D、…這樣的字母的字符串。此夕卜,除了單純的數(shù)列、字符串之外,也可以是將表示大框架上的順序以及其中的詳細的順序的數(shù)列、字符串的各項顯示在推薦順序顯示欄中。例如,如果使用如1.1、1.2,2.1,2.2,2.3、
2.4這樣的數(shù)列,能夠用第一位的值表示出大框架上的順序,用小數(shù)點后第一位的值表示出詳細的順序。
[0038]對于實施方式1的編程裝置100的動作,舉出具體例進行說明。另外,利用FBD語言形成的程序通常記述為處理從上向下、從左向右進行,通常不會進行在已經(jīng)配置的FBD部件的上側(cè)新配置FBD部件的操作。因此,在這里,以下述情況為例,即:將推薦順序確定部102的算法設定為,只針對所指定的FBD部件的右側(cè)、左側(cè)以及下側(cè),檢測能夠?qū)ε渲脤ο驠BD部件進行配置的區(qū)域。而且,鑒于從上向下、從左向右這樣的處理的流程,將推薦順序確定部102的算法設定為,在檢測出的各區(qū)域中,以按照右側(cè)、左側(cè)、下側(cè)的順序優(yōu)先級由高到低的方式對推薦順序進行編號。由此,推薦順序確定部102按照預先設定的算法,針對所指定的FBD部件的右側(cè)、左側(cè)以及下側(cè),從編輯器畫面檢測能夠?qū)ε渲脤ο驠BD部件進行配置的區(qū)域,在檢測出的各區(qū)域,按照右側(cè)、左側(cè)、下側(cè)的順序?qū)Ρ硎静考渲玫膬?yōu)先級的推薦順序進行編號。
[0039]另外,在本例中,與所指定的FBD部件相距的一定距離可以是在右側(cè)以及左側(cè)與下側(cè)相同,也可以是下側(cè)是較小的值。其原因是,在FBD部件的右側(cè)、左側(cè)配置輸入端子、輸出端子,因此與上下的間隔相比,將左右的間隔設為較寬,則FBD語言的程序變得容易觀看。
[0040]此外,在這里設為只針對左右以及下側(cè)這三個方向檢測能夠?qū)ε渲脤ο驠BD部件進行配置的區(qū)域的例子,但也可以將推薦順序確定部102的算法設定為,也針對上側(cè)檢測能夠?qū)ε渲脤ο驠BD部件進行配置的區(qū)域。在該情況下,鑒于通常不會進行在已經(jīng)配置的FBD部件的上側(cè)新配置FBD部件的操作,推薦順序確定部102的算法可以設定為,將從上側(cè)檢測出的區(qū)域的優(yōu)先級設為最低而對各區(qū)域的推薦順序進行編號。
[0041]圖5是表示實施方式1所涉及的編程裝置在顯示部顯示的編輯器畫面的一個例子的圖。在顯示部406顯示的編輯器畫面300包含有所指定的FBD部件301、已配置的FBD部件302、推薦順序顯示欄303。推薦順序顯示欄303顯示由推薦順序確定部102編號出的推薦順序。
[0042]推薦順序確定部102在確定推薦順序的情況下,在與所指定的FBD部件301分離一定距離且位于右側(cè)的配置備選檢索范圍304中,檢測能夠與已配置的FBD部件302不重疊地對配置對象FBD部件進行配置的區(qū)域,對檢測出的區(qū)域之中最上部的坐標進行檢測。然后,推薦順序確定部102在位于所指定的FBD部件301的左側(cè)的配置備選檢索范圍305中,檢測能夠與已配置的FBD部件302不重疊地對配置對象FBD部件進行配置的區(qū)域,對檢測出的區(qū)域之中最上部的坐標進行檢測。此外,推薦順序確定部102在位于所指定的FBD部件301的下側(cè)的配置備選檢索范圍306中,檢測能夠與已配置的FBD部件302不重疊地對配置對象FBD部件進行配置的區(qū)域,對檢測出的區(qū)域之中最上部的坐標進行檢測。而且,推薦順序確定部102對于從配置備選檢索范圍304?306檢測出的各區(qū)域,按照所指定的FBD部件301的右側(cè)、左側(cè)、下側(cè)的順序?qū)ν扑]順序進行編號。編輯器部101在從配置備選檢索范圍304?306檢測出的各區(qū)域的最上部的坐標的部分處配置推薦順序顯示欄303i?30?,將編號出的推薦順序進行顯示。由此,在配置備選檢索范圍304內(nèi)的推薦順序顯示欄303i中顯示“1”,在配置備選檢索范圍305內(nèi)的推薦順序顯示欄303 2中顯示“2”,在配置備選檢索范圍306內(nèi)的推薦順序顯示欄3033中顯示“3”。
[0043]如果對輸入部405進行操作而輸入與推薦順序?qū)臄?shù)字、或者選擇推薦順序顯示欄303i?303 3,則在與所輸入的數(shù)字或所選擇的推薦順序顯示欄303i?303 3對應的區(qū)域進行配置對象FBD部件的配置。關于用于輸入與推薦順序?qū)臄?shù)字、或者選擇推薦順序顯示欄303i?303 3的針對輸入部405的操作,具有利用鍵盤進行的推薦順序的選擇、利用鼠標進行的選擇等各種方法,不限于特定的方法。
[0044]根據(jù)實施方式1,用戶能夠從無數(shù)的配置位置中考慮到已配置的FBD部件的位置而容易地確定出FBD部件的配置位置。即,根據(jù)實施方式1,能夠以短時間決定FBD部件的配置位置。
[0045]實施方式2.
[0046]本發(fā)明所涉及的編程裝置的實施方式2的結(jié)構(gòu)與實施方式1相同。但是,在部件信息104中包含有與各FBD部件的端子相關的端子特性信息(下面,表述為端子信息),部件信息管理部103對各FBD部件的端子信息進行管理。端子信息在數(shù)據(jù)類型的基礎上,還包含有以FBD部件為單位而針對每個端子設定的連接優(yōu)先級的信息。
[0047]圖6是表示實施方式2所涉及的編程裝置的動作流程的流程圖。在使用FBD部件創(chuàng)建程序時,用戶對輸入部405進行操作,而對已配置在編輯器畫面上的FBD部件進行指定(步驟S401)。然后,用戶對輸入部405進行操作,將實施所指定的FBD部件的接線的請求發(fā)送至編輯器部101 (步驟S402)。接受到實施接線的請求的編輯器部101向推薦順序確定部102請求對所指定的FBD部件的端子進行提取。推薦順序確定部102向部件信息管理部103請求所指定的FBD部件以及已與所指定的FBD部件接線的FBD部件的端子信息。部件信息管理部103從部件信息104讀取由推薦順序確定部102請求的端子信息,并送回至推薦順序確定部102。推薦順序確定部102基于從部件信息管理部103取得的端子信息,從所指定的FBD部件對成為編譯錯誤的端子進行提取,根據(jù)從部件信息管理部103取得的每個端子的連接優(yōu)先級,對推薦順序進行編號。然后,對沒有成為編譯錯誤的剩余的端子進行提取,根據(jù)從部件信息管理部103取得的每個端子的連接優(yōu)先級,以與之前剛剛確定出的推薦順序連號的方式對推薦順序進行編號(步驟S403)。如上所述,對于本實施方式中的推薦順序,成為編譯錯誤的端子是較小號碼,沒有成為編譯錯誤的端子是成為編譯錯誤的端子的后續(xù)的號碼,由此示出接線作業(yè)的優(yōu)先級。
[0048]推薦順序確定部102將編號出的推薦順序發(fā)送至編輯器部101。編輯器部101以與所指定的FBD部件的各端子對應的方式設置推薦順序顯示欄,以將由推薦順序確定部102編號出的推薦順序顯示在編輯器畫面上的方式對畫面顯示進行更新(步驟S404)。即,在編輯器畫面上,用從“ 1 ”開始的自然數(shù)顯示推薦順序。
[0049]對于實施方式2的編程裝置的動作,舉出具體例而進行說明。圖7是表示實施方式2所涉及的編程裝置在顯示部顯示的編輯器畫面的一個例子的圖。在編輯器畫面500中顯示有所指定的FBD部件501。所指定的FBD部件501具有兩個輸入端子502、504以及兩個輸出端子503、505。此外,在編輯器畫面500中顯示有推薦順序顯示欄SOe1、506 4。推薦順序顯示欄SOe1、506 4對推薦順序確定部102確定出的推薦順序進行顯示。此外,在編輯器畫面500中配置有已與所指定的FBD部件501接線的FBD部件507、508、509。
[0050]在這里,假定FBD部件507的輸出端子507a和輸入端子502數(shù)據(jù)類型一致,在進行了接線的情況下沒有產(chǎn)生編譯錯誤。此外,假定由于FBD部件508的輸出端子508a和輸入端子504數(shù)據(jù)類型不同,因此在進行了接線的情況下會產(chǎn)生編譯錯誤。此外,假定由于FBD部件509的輸入端子509a和輸出端子503數(shù)據(jù)類型不同,因此在進行了接線的情況下,會產(chǎn)生編譯錯誤。另外,假定輸出端子505不是必須與其它FBD部件進行接線的端子,處于沒有發(fā)生編譯錯誤的狀態(tài)。此外,假定所指定的FBD部件501的各端子的連接優(yōu)先級從優(yōu)先級高的一方開始依次為:輸入端子502、輸出端子503、輸入端子504、輸出端子505