專利名稱:安全控制器的程序開發(fā)支持方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種安全控制器的程序開發(fā)支持裝置,其中,安全控制器程序通過一系列的用戶操作而自動(dòng)產(chǎn)生,該一系列的用戶操作用于描述與在圖像顯示器屏幕上的編程區(qū)中的所期望的控制規(guī)范對(duì)應(yīng)的邏輯電路圖。
背景技術(shù):
與通用可編程控制器(PLC)類似,除邏輯計(jì)算功能以及輸入/輸出控制功能之外, 安全控制器合并了用于安全方面的自診斷功能以確保其控制期間的高度安全性和可靠性, 同時(shí),安全控制器也具有強(qiáng)制執(zhí)行安全控制的功能(故障/安全功能),以使得當(dāng)在自診斷結(jié)果中檢測出異常時(shí),其控制不會(huì)導(dǎo)致危險(xiǎn)。更具體地,這里所指的安全性是標(biāo)準(zhǔn)化的安全標(biāo)準(zhǔn)。安全標(biāo)準(zhǔn)包括IEC61508以及 EN標(biāo)準(zhǔn)。在IEC 61508(涉及可編程電子系統(tǒng)的功能安全的國際電工委員會(huì))中,定義了每小時(shí)的危險(xiǎn)故障概率(每小時(shí)的故障概率),并且SIL級(jí)別(安全完整性級(jí)別)根據(jù)該概率被分成四級(jí)。在EN標(biāo)準(zhǔn)中,評(píng)估機(jī)器的風(fēng)險(xiǎn)(risk)等級(jí),其中強(qiáng)制性地采取措施以減少風(fēng)險(xiǎn),并且在EN%4-1中定義了 5個(gè)安全類別。這里所指的安全控制器、安全I(xiàn)/O端子等等與這樣的安全標(biāo)準(zhǔn)中的一個(gè)對(duì)應(yīng)。圖37示出了用于創(chuàng)建安全控制器控制程序的傳統(tǒng)程序開發(fā)支持裝置(由日本的 Omron公司制造的安全網(wǎng)絡(luò)控制器)的邏輯電路圖顯示示例。該程序開發(fā)支持裝置(第一相關(guān)技術(shù))被配置為使得通過一系列的用戶操作而自動(dòng)產(chǎn)生安全控制器控制程序,該一系列的用戶操作通過下述而完成與所期望的控制規(guī)范對(duì)應(yīng)的邏輯電路圖依序在圖像顯示器的屏幕上的編程區(qū)(filed)801中布置從預(yù)先準(zhǔn)備的多種類型的功能塊中選擇出的一類功能塊(FB81到FB85),并且為每一個(gè)功能塊設(shè)置必要的唯一的參數(shù)(未示出)(在這個(gè)例子里,通過鼠標(biāo)的拖拽操作為拉絲(wire draw)自動(dòng)設(shè)置參數(shù))。與用戶在編程區(qū)801繪制的邏輯電路對(duì)應(yīng)創(chuàng)建的電路圖數(shù)據(jù)(未示出)經(jīng)過預(yù)定的編譯過程,并且被轉(zhuǎn)換成安裝(setting)文件,安全控制器能夠直接在該安裝文件上執(zhí)行譯碼。以上述方式獲得的用于執(zhí)行的安裝文件通過通信或者通過便攜式記錄介質(zhì)被安裝在目標(biāo)安全控制器中。根據(jù)第一相關(guān)技術(shù),關(guān)于功能塊和端子顯示器(這里指電路元件)的布置位置在編程區(qū)801中并不固定,并且因此所期望的電路元件可以被布置在編程區(qū)801中的任意位置上,而且電路元件的布置自由度較高。為了容納所有所期望的電子元件并且布置(布局) 這樣的電子元件以便整個(gè)的電路操作在有限大小的編程區(qū)801內(nèi)可以被容易地理解,在設(shè)計(jì)方面需要一定的判斷力和資格,因此,對(duì)于那些判斷力較差以及不夠資格的人(例如,指Omron 公司的目錄(可從 URL http //www. fa. omron. co. jp/product/32. html 獲得))來說可能并非是用戶友好的。圖38示出了用于創(chuàng)建安全控制器控制程序的另一個(gè)傳統(tǒng)程序開發(fā)支持裝置(由德國的PILZ公司制造)的邏輯電路圖顯示示例。該程序開發(fā)支持裝置(第二相關(guān)技術(shù))也被配置為使得通過一系列的用戶操作而自動(dòng)產(chǎn)生安全控制器控制程序,該一系列的用戶操作通過下述而完成與所期望的控制規(guī)范對(duì)應(yīng)的邏輯電路圖依序在圖像顯示器的屏幕上的編程區(qū)901中布置從預(yù)先準(zhǔn)備的多種類型的功能塊中選擇出的一類功能塊(FB91到FB95),并且為每一個(gè)功能塊設(shè)置必要的唯一的參數(shù)(未示出)(在這個(gè)例子里,通過鼠標(biāo)的拖拽操作為拉絲自動(dòng)設(shè)置參數(shù))。此外,在第二相關(guān)的技術(shù)中,根據(jù)在編程區(qū)901上顯示的功能塊布置模板900的指導(dǎo)來執(zhí)行對(duì)于編程區(qū)901的功能塊的布置,其中,利用作為參考方向的屏幕的垂直方向來
定義多個(gè)行(Rl,R2,R3......)和多個(gè)列(Cl,C2,C3......),行(R)方向的一端(左端)
被定義為輸入側(cè),另一端(右端)被定義為輸出側(cè),與行(Rl,R2,R3......)和列(Cl,C2,
C3......)的每一個(gè)交叉位置對(duì)應(yīng)而定義多個(gè)塊可布置的位置(All到A33)。與第一相關(guān)技術(shù)類似,與用戶在編程區(qū)901繪制的邏輯電路對(duì)應(yīng)創(chuàng)建的電路圖數(shù)據(jù)經(jīng)過預(yù)定的編譯過程,并且被轉(zhuǎn)換成安裝文件,安全控制器能夠直接在該安裝文件上執(zhí)行譯碼。以上述方式獲得的用于執(zhí)行的安裝文件通過通信或者通過便攜式記錄介質(zhì)被安裝在目標(biāo)安全控制器中。根據(jù)第二相關(guān)技術(shù),由于在編程區(qū)901中提前限定了電路元件的布置位置,所以選擇所期望的電路元件。此后,當(dāng)通過鼠標(biāo)的拖拽操作等將相關(guān)的電路元件帶到靠近預(yù)定的布置位置時(shí),所拖拽的電路元件被自動(dòng)引領(lǐng)到該預(yù)定的布置位置。因此,即使是那些對(duì)于布局的設(shè)計(jì)缺乏判斷力或者資格的人也能在編程區(qū)901中有效地布置多個(gè)所選擇的電路元件,并且不需要像在第一相關(guān)技術(shù)(例如,指PILZ 公司的目錄(從URLhttp://WWW. pilz. jp/p_saferelay7. htm可獲得))中那樣為所選擇的電路元件的布局而感到煩惱。
發(fā)明內(nèi)容
在這種類型的程序開發(fā)支持裝置中,必要的功能塊需要被合適地布置在邏輯電路圖的必要的位置,同時(shí)不僅要考慮在輸入和輸出之間的信號(hào)邏輯,而且要考慮在產(chǎn)生與所希望的安全控制器規(guī)范對(duì)應(yīng)的邏輯電路圖期間的安全控制器的特有的各種情況。例如,當(dāng)創(chuàng)建邏輯電路圖以便如果從一個(gè)、或兩個(gè)或多個(gè)輸入端子獲得的輸入信號(hào)指示預(yù)定的邏輯值(危險(xiǎn)),則從一個(gè)、或兩個(gè)或多個(gè)輸出端子傳送具有預(yù)定邏輯值(停止危險(xiǎn)源)的輸出信號(hào)時(shí),如果邏輯電路圖是沒有安全規(guī)范的正??刂破?PLC等),則相應(yīng)于輸入/輸出邏輯的邏輯計(jì)算功能塊僅僅需要被布置在輸入/輸出端子列之間。然而,如果邏輯電路圖是具有安全規(guī)范的控制器,則即使從輸入端子獲得指示某類危險(xiǎn)的輸入信號(hào),相關(guān)的輸入信號(hào)也可能來自其自身檢測危險(xiǎn)的輸入設(shè)備(安全緊急停止開關(guān)、安全燈窗簾、安全限制開關(guān)、安全門開關(guān)等等)的故障,并且因此這樣的輸入信號(hào)不能被立即檢索并提供給必要的邏輯計(jì)算。因此,對(duì)于每一個(gè)輸入設(shè)備的、結(jié)合了合適的故障診斷功能等的輸入系統(tǒng)功能塊需要至少被布置在邏輯計(jì)算功能塊(例如,AND功能塊)級(jí)
> . 、r -
即使通過這樣的輸入系統(tǒng)功能塊而獲得了指示某類危險(xiǎn)的輸入信號(hào),這樣的輸入信號(hào)也可能來自當(dāng)知曉危險(xiǎn)的工人進(jìn)入危險(xiǎn)區(qū)域進(jìn)行調(diào)節(jié)和維護(hù)時(shí),并且因此這樣的輸入信號(hào)不能被立即檢索并提供給必要的邏輯計(jì)算。當(dāng)滿足與調(diào)節(jié)和維護(hù)時(shí)機(jī)對(duì)應(yīng)的預(yù)定條件時(shí),具有使輸入信號(hào)無效的功能的無效功能塊需要至少被布置在邏輯計(jì)算功能塊級(jí)之前。當(dāng)通過這樣的輸入系統(tǒng)功能塊和/或無效功能塊而獲得指示某類危險(xiǎn)的輸入信號(hào)時(shí),由于安全配置的原因,這樣的輸入信號(hào)可能不能被立即檢索并提供給必要的邏輯計(jì)算(特別地,在輸入信號(hào)來自于即時(shí)操作/即時(shí)恢復(fù),接觸點(diǎn)的情況下),這是,所述安全配置的原因在于,輸出信號(hào)的狀態(tài)不能隨著從指示危險(xiǎn)的狀態(tài)恢復(fù)到指示安全的狀態(tài)而被立即恢復(fù)。因此,具有保持輸入信號(hào)的危險(xiǎn)狀態(tài)的設(shè)置功能、釋放保持危險(xiǎn)狀態(tài)的重置功能以及定義重置條件的功能的設(shè)置/重置功能塊有時(shí)候可能需要至少被布置在邏輯計(jì)算功能塊級(jí)之前??紤]到輸出設(shè)備自身故障的可能性,將邏輯計(jì)算輸出條件功能塊的輸出信號(hào)無條件地傳送到輸出設(shè)備不一定合適。因此,結(jié)合了合適的故障診斷功能等(例如,EDM/功能塊)的外部輸出設(shè)備監(jiān)視功能塊需要至少被布置在每一個(gè)輸出設(shè)備的輸出條件功能塊級(jí)
> . 、r -考慮到每一個(gè)輸出設(shè)備的唯一操作延遲時(shí)間,同時(shí)傳送來自多個(gè)輸出端子的每一個(gè)的輸出信號(hào)不一定合適。因此,具有延遲輸出信號(hào)的開啟(ON)定時(shí)和/或關(guān)斷(OFF)定時(shí)的功能的端子模式功能塊需要至少被布置在輸出條件功能塊級(jí)之后。因此,在對(duì)插入邏輯電路圖的安全控制器的編程期間,用戶被請求來執(zhí)行將必要的功能塊合適地布置到從輸入端子到輸出端子的信號(hào)路徑的必要位置上的任務(wù)。在充分考慮到上述安全控制器的特有情形后適當(dāng)?shù)貓?zhí)行這項(xiàng)任務(wù),因此對(duì)于不熟悉安全控制器的編程的初學(xué)者來說是不容易的,并且,可能會(huì)遺漏必要的功能塊,且可能發(fā)生例如必要的功能塊出現(xiàn)了但是被布置在錯(cuò)誤的位置上這樣的編程錯(cuò)誤。在第一和第二相關(guān)的技術(shù)中,在每一個(gè)功能塊要被布置到編程區(qū)的位置和在相關(guān)位置處布置的功能塊類型之間不存在嚴(yán)格的關(guān)系,因此即使最初要被布置的多個(gè)功能塊中的一個(gè)因?yàn)殄e(cuò)誤而遺漏或者被布置在錯(cuò)誤的位置,也難以從每一個(gè)功能塊的布局中立即識(shí)別出這樣的缺陷。因此,在相關(guān)的技術(shù)中,為了找到編程錯(cuò)誤,需要在考慮特定控制情形的同時(shí)按順序追蹤從輸入端子到輸出端子的信號(hào)路徑的安全驗(yàn)證任務(wù),并且這樣驗(yàn)證任務(wù)的復(fù)雜性是使這種類型的安全控制器的廣泛使用受到約束的一個(gè)原因。假設(shè)隨著安全控制器的廣泛使用,在安全控制器的編程中使用的功能塊的類型會(huì)越來越多地增加,因此期望有更不太可能導(dǎo)致編程錯(cuò)誤的安全控制器的編程開發(fā)支持裝置,并且其能夠在即使假定存在眾多類型的功能塊的未來的情形中發(fā)生編程錯(cuò)誤也能容易地發(fā)現(xiàn)該錯(cuò)誤。此外,由于在上述的第一和第二相關(guān)技術(shù)中用于限定功能塊之間的連接關(guān)系的唯一參數(shù)的設(shè)置被設(shè)計(jì)為通過連接相關(guān)功能塊的信號(hào)線的拖拽操作來執(zhí)行,所以當(dāng)依賴于輸出電路圖嘗試驗(yàn)證在所完成的程序中的輸出條件功能塊的設(shè)置參數(shù)時(shí),必然需要用于檢驗(yàn)所完成的邏輯電路圖的布線以及在安全輸入/輸出設(shè)備對(duì)應(yīng)表(圖39)上的輸入/輸出關(guān)系的復(fù)雜的操作,因而驗(yàn)證變得比較麻煩。
考慮到上述的問題,本發(fā)明的一個(gè)目的是提供一種安全控制器的編程開發(fā)支持裝置,其中更不太可能發(fā)生諸如功能塊被布置在錯(cuò)誤的位置或以錯(cuò)誤的順序被布置的錯(cuò)誤, 并且即使發(fā)生這樣的編程錯(cuò)誤,也能夠容易地發(fā)現(xiàn)該編程錯(cuò)誤,并且其中便于對(duì)所完成的程序中的輸出條件功能塊的參數(shù)驗(yàn)證。上述技術(shù)問題能夠通過具有下述配置的安全控制器的編程開發(fā)支持裝置來解決。安全控制器的編程開發(fā)支持裝置具有基本的配置,包括處理單元,操作以使得通過一系列的用戶操作而自動(dòng)產(chǎn)生安全控制器的控制程序,該一系列的用戶操作用于通過順序地將從提前準(zhǔn)備的多種類型的功能塊中選擇出的一種類型的功能塊布置在圖像顯示器的屏幕上的編程區(qū)中,并且通過為每一個(gè)功能塊設(shè)置必要的唯一參數(shù),來完成與所希望的控制規(guī)范對(duì)應(yīng)的邏輯電路圖。除了這樣的基本配置,編程開發(fā)支持裝置包括引導(dǎo)顯示設(shè)備,顯示在所述編程區(qū)上,用于使得能夠根據(jù)功能塊布置模版的引導(dǎo)來將所述功能塊布置到所述編程區(qū)中,所述功能塊布置模版以塊可布置位置來定義,以便與行和列的每一個(gè)交叉位置對(duì)應(yīng),并且功能塊布置模版將行方向的一個(gè)端側(cè)定義為輸入端子側(cè),且將另一個(gè)端側(cè)定義為輸出端子側(cè)。功能塊配置模板被分成位于模板輸入側(cè)的輸入側(cè)模板,其包括分別接受與輸入信號(hào)相關(guān)的預(yù)定類型的功能塊的布置的多個(gè)連續(xù)列;以及位于模板輸出側(cè)的輸出側(cè)模板, 其包括分別接受與輸出信號(hào)相關(guān)的預(yù)定類型的功能塊的布置的多個(gè)連續(xù)列。根據(jù)包括如上操作的引導(dǎo)顯示設(shè)備的配置,將對(duì)于編程區(qū)的功能塊的布置引導(dǎo)到在編程區(qū)上顯示的塊可布置位置,該塊可布置位置被限定為與行和列的每一個(gè)交叉位置位置,因此,當(dāng)在自動(dòng)地垂直和水平對(duì)準(zhǔn)每一個(gè)功能塊的同時(shí)對(duì)其進(jìn)行布置,由此用戶不需要關(guān)注功能塊的布局。由于在所完成的邏輯電路上對(duì)于每一個(gè)功能塊來說相同的類型按列方向排列,所以可以以列為單位來檢驗(yàn)相同類型的功能塊是否排成一列以對(duì)所完成的邏輯電路進(jìn)行驗(yàn)證,或者如果在一行中遺漏了功能塊,則可以檢驗(yàn)用于檢驗(yàn)相關(guān)功能塊的布置是否被遺忘的機(jī)械校驗(yàn)任務(wù),因此便于所完成的邏輯電路的驗(yàn)證。由于功能塊配置模板被分成位于模板輸入側(cè)的輸入側(cè)模板和位于模板輸出側(cè)的輸出側(cè)模板,所述輸入側(cè)模板包括分別接受與輸入信號(hào)相關(guān)的預(yù)定類型的功能塊的布置的多個(gè)連續(xù)列,所述輸出側(cè)模板包括分別接受與輸出信號(hào)相關(guān)的預(yù)定類型的功能塊的布置的多個(gè)連續(xù)列,所以布置在輸入側(cè)模板的每一行上的一系列功能塊處理一個(gè)公共的輸入信號(hào),并且布置在輸出側(cè)板的每一行上的一系列功能塊也處理一個(gè)公共的輸出信號(hào),由此,在所創(chuàng)建的邏輯電路中的每一個(gè)輸入/輸出信號(hào)系統(tǒng)之間以及每一個(gè)模版的每一行之間的對(duì)應(yīng)關(guān)系是清楚的,并且因此更不太可能發(fā)生將一個(gè)輸入(或輸出)信號(hào)系統(tǒng)的功能塊布置到其他輸入(或輸出)信號(hào)系統(tǒng)中的編程錯(cuò)誤。如果輸入側(cè)模板和輸出側(cè)模板在引導(dǎo)顯示設(shè)備中的編程區(qū)上交替顯示,則可以專用于輸入側(cè)邏輯電路或輸出側(cè)邏輯電路中的一個(gè),以便對(duì)相關(guān)側(cè)功能塊的布置給予全部的關(guān)注,并且變得進(jìn)一步更不太可能發(fā)生編程錯(cuò)誤。此外,如果在引導(dǎo)顯示設(shè)備中的編程區(qū)上首先顯示輸入側(cè)模板并且隨后顯示輸出側(cè)模板,則用戶在完成了與輸入側(cè)邏輯電路相關(guān)的編程后,進(jìn)行與輸出側(cè)邏輯電路相關(guān)的編程,其中輸入側(cè)邏輯電路的編程結(jié)果在輸出側(cè)邏輯電路的編程期間是必要的,因此更不太可能發(fā)生編程錯(cuò)誤。在本發(fā)明的優(yōu)選實(shí)施例的編程開發(fā)支持裝置中,引導(dǎo)顯示設(shè)備可以包括指引設(shè)備,用于根據(jù)提前定義的布置過程,將每一個(gè)功能塊指引到提前定義的布置列中,從而使得根據(jù)為每一種類型提前定義的布置列和布置過程將由用戶選擇的功能塊布置到每一個(gè)模板的相應(yīng)列的塊可布置位置。根據(jù)這樣的配置,由于引導(dǎo)顯示設(shè)備包括上述的“用于指引的指引設(shè)備”,所以由用戶選擇的功能不僅被配置在為每一種類型提前定義的布置列中,而且根據(jù)提前定義的布置過程(時(shí)間布置順序)而被布置在每一個(gè)模版的相關(guān)列的塊可布置位置上,這樣,可以通過定義布置過程來抑制由于在布置時(shí)布置另一個(gè)必要功能塊的失敗而導(dǎo)致發(fā)生的編程錯(cuò)誤,從而提前完成在每一個(gè)功能塊的布置時(shí)需要參考的另一個(gè)功能塊的布置。在這種情況下,根據(jù)計(jì)劃的布置順序?qū)⒚恳粋€(gè)功能塊指引到所計(jì)劃的布置列的指引設(shè)備可以是引導(dǎo)顯示器,用于促使用戶的必要的操作。按照這樣的配置,通過經(jīng)由引導(dǎo)顯示器對(duì)用戶的思維進(jìn)行作用,可以通過用戶的操作根據(jù)預(yù)定的布置過程將每一個(gè)功能塊指引到所計(jì)劃的布置列。用于根據(jù)所計(jì)劃的布置過程將每一個(gè)功能塊指引到所計(jì)劃的布置列的指引設(shè)備可以檢測下述操作并且禁止所述操作,或者檢測所述操作以發(fā)出警告在所述操作中,根據(jù)除了為每一種類型提前定義的布置列之外的布置列或者根據(jù)除了提前定義的布置過程之外的布置過程來將用戶選擇的功能塊布置到每一個(gè)模板上。根據(jù)這樣的配置,通過禁止措施或者警告,能夠消除錯(cuò)誤的功能塊布置操作,使得可以通過用戶的有意操作或者強(qiáng)制性的操作,根據(jù)所計(jì)劃的布置過程將每一個(gè)功能塊指引到所計(jì)劃的布置列。用于根據(jù)所計(jì)劃的布置過程將每一個(gè)功能塊指引到所計(jì)劃的布置列的指引設(shè)備強(qiáng)制性地拒絕將除了計(jì)劃被布置的功能塊之外的功能塊布置到相應(yīng)列中。根據(jù)這樣的強(qiáng)制性拒絕方法,每一個(gè)功能塊可以被可靠地布置在從輸入端到輸出端的行方向上的信號(hào)路徑的相應(yīng)列上,而不管用戶通過施加外界力(phasical force)而表達(dá)的意愿如何。用于將每一個(gè)功能塊的配置指引到相應(yīng)的列的指引設(shè)備可以一起使用引導(dǎo)顯示方法和強(qiáng)制性拒絕方法。根據(jù)這樣的配置,通過使用視覺對(duì)用戶的思維產(chǎn)生影響并施加外界力,每一個(gè)功能塊可意被更可靠地布置在從輸入端到輸出端的行方向上的信號(hào)路徑的相應(yīng)列上??梢圆捎酶鞣N模式來用于引導(dǎo)顯示,以促使用戶將每一個(gè)功能塊布置在相應(yīng)的列上。第一方面包括將顯示要被配置在相關(guān)列上的功能塊的名或者功能塊所屬的類型名的索引布置在模板上與每一列對(duì)應(yīng)的位置。第二方面包括對(duì)模板上的每一列以及要被布置在相關(guān)列上的功能塊提供相同的或公共的可視特征(例如,相同的色彩、相同的或公共的背景圖案、相同的或公共的標(biāo)記等
寸J ο第三方面包括使得模板上的每一列的布置計(jì)劃區(qū)域以及要被布置在相關(guān)列上的功能塊具有相同的輪廓外形。
根據(jù)上述的引導(dǎo)顯示方法,沿著行方向從輸入端側(cè)延伸到輸出端側(cè)的每個(gè)信號(hào)路徑橫穿一系列的列,因此通過以檢驗(yàn)列表的方式連續(xù)搜索沿著相同的信號(hào)路徑與每一條信號(hào)路徑交叉的列顯示,可以減少忘記布置或者錯(cuò)誤布置功能塊。即使在功能塊的布置完成之后,也可以以檢驗(yàn)列表的形式類似地連續(xù)搜索沿著相同的信號(hào)路徑與每一條信號(hào)路徑交叉的列顯示,以便容易地驗(yàn)證忘記布置或者錯(cuò)誤布置功能塊??梢圆捎酶鞣N模式來用于強(qiáng)制性拒絕功能,該強(qiáng)制性拒絕功能用于強(qiáng)制性地拒絕將除了計(jì)劃被布置的功能塊之外的功能塊布置到相關(guān)列。第一方面包括對(duì)于每一列僅僅向用戶呈現(xiàn)在相關(guān)列上可布置的類型的功能塊作為菜單(小窗口、下拉菜單等等),并且允許僅當(dāng)用戶在菜單上做出選擇操作時(shí)才將功能塊布置到相關(guān)列。第二方面包括將可選功能塊的組布置在屏幕上的特定區(qū)域,其中即使在除了相關(guān)功能塊可以被布置的列之外的列上做出了放下操作,功能塊可以通過鼠標(biāo)的拖拽操作而被移動(dòng)到編程區(qū),但是功能塊不能被固定位置。第三方面包括將可選功能塊的組布置在屏幕上的特定區(qū)域,其中功能塊的顯示和每一列的指定一起操作,并且僅僅相關(guān)列中可布置的功能塊被激活,且僅在激活狀態(tài)下通過拖放操作而被移動(dòng)到編程區(qū)并且被固定在相關(guān)列。在這種情況下,當(dāng)模板是輸入側(cè)模板時(shí),提前定義的布置過程可以是從靠近輸入端側(cè)的列開始依序布置每一個(gè)功能塊的布置過程。當(dāng)將多個(gè)功能塊在輸入側(cè)模板的每一列中布置成一條直線以便從靠近輸入端側(cè)的功能塊開始依序進(jìn)行處理,從而便于對(duì)于電路操作的理解時(shí),這樣的配置在抑制編程錯(cuò)誤方面是有效的。當(dāng)模板是輸出側(cè)模板時(shí),提前定義的布置過程可以是從靠近輸出端側(cè)的列開始依序布置每一個(gè)功能塊的布置過程。當(dāng)將多個(gè)功能塊在輸出側(cè)模板的每一列中布置成一條直線以便從靠近輸出端側(cè)的功能塊開始依序進(jìn)行處理,從而便于對(duì)于電路操作的理解時(shí),這樣的配置在抑制編程錯(cuò)誤方面是有效的。此外,當(dāng)將每一個(gè)功能塊布置在輸入側(cè)模版時(shí),關(guān)于至少在輸入端子和輸入到該輸入端子的輸入設(shè)備之間的對(duì)應(yīng)關(guān)系的設(shè)置對(duì)于每一個(gè)功能塊來說是需要的,當(dāng)在輸入側(cè)模板完成該設(shè)置時(shí),所設(shè)置的對(duì)應(yīng)關(guān)系被記錄在裝置的存儲(chǔ)介質(zhì)中作為輸入設(shè)備表;當(dāng)將每一個(gè)功能塊布置在輸出側(cè)模板上時(shí),至少需要設(shè)置輸入信號(hào)作為輸出條件功能塊的唯一參數(shù),該輸出條件功能塊是功能塊之一;進(jìn)一步布置輸入信號(hào)設(shè)置設(shè)備,用于使得當(dāng)設(shè)置該輸入信號(hào)時(shí)能夠通過參考輸入設(shè)備表從菜單顯示的輸入信號(hào)列表中選擇所希望的輸入信號(hào),并且從而與相關(guān)技術(shù)的例子中需要返回追蹤邏輯電路圖上的布線相反,在完成程序后, 任何人可以通過檢驗(yàn)通常在這種類型的編程之前創(chuàng)建的安全輸入/輸出設(shè)備對(duì)應(yīng)表和菜單顯示的輸入信號(hào)列表來容易地執(zhí)行驗(yàn)證,并且分別記錄輸入信號(hào)數(shù)據(jù)的任務(wù)對(duì)于菜單顯示來說變得沒有必要。通過將要設(shè)置的輸入信號(hào)名布置在于圖像顯示器的屏幕上打開的菜單窗口內(nèi)來執(zhí)行輸入信號(hào)列表的菜單顯示,輸入信號(hào)的選擇操作以及程序完成后的驗(yàn)證任務(wù)將進(jìn)一步變得容易。
應(yīng)該注意的是,可以采用各種其他模式來用于輸入信號(hào)列表的菜單顯示模式。例如,如果輸入端子的數(shù)量增加諸如16點(diǎn)、32點(diǎn)以及64點(diǎn),則要被選擇的輸入信號(hào)的數(shù)量相應(yīng)于所增加的輸入端子的數(shù)量而增加,在這種情況下,通過將輸入信號(hào)分成幾個(gè)組來分幾次對(duì)輸入信號(hào)進(jìn)行菜單顯示。當(dāng)輸入點(diǎn)的數(shù)量非常多時(shí),如果與目標(biāo)輸出條件功能塊相關(guān)的輸入信號(hào)的范圍可以被邏輯地估計(jì)為一定的程度,則可以提供AI功能,以使得通過優(yōu)選地限制(narrow)屬于高可能性組的輸入信號(hào)或者限制屬于相關(guān)組的輸入信號(hào)來執(zhí)行菜單顯示,由此可以有效地執(zhí)行選擇操作。關(guān)于在菜單顯示的輸入信號(hào)列表中的輸入信號(hào)顯示,除了表示輸入信號(hào)的名、符號(hào)等之外,可以使用目標(biāo)輸入端子的名、符號(hào)等,并且在顯示屏幕具有額外空間的條件下, 如果已知要被比較的安全輸入/輸出設(shè)備對(duì)應(yīng)表的通常形式,則可以通過基于為每一個(gè)輸出條件功能塊設(shè)置的輸入信號(hào)數(shù)據(jù)以及被分配給每一個(gè)輸出端子的安全輸出設(shè)備數(shù)據(jù)執(zhí)行逆裝配處理,來以圖形的形式顯示安全輸入/輸出設(shè)備對(duì)應(yīng)表,以進(jìn)一步利于檢驗(yàn)。根據(jù)本發(fā)明,提供了一種安全控制器的程序開發(fā)支持裝置,其中更不太可能發(fā)生諸如功能塊被布置在錯(cuò)誤的位置或以錯(cuò)誤的順序被布置的錯(cuò)誤,并且即使發(fā)生這樣的編程錯(cuò)誤,也能夠容易地發(fā)現(xiàn)該編程錯(cuò)誤,并且其中便于對(duì)所完成的程序中的輸出條件功能塊的參數(shù)驗(yàn)證。根據(jù)本發(fā)明,還提供了一種安全控制器的程序開發(fā)支持方法,其中通過由輸入操作單元使能的一系列的用戶操作而自動(dòng)產(chǎn)生安全控制器的控制程序,該一系列的用戶操作用于通過順序地將從提前準(zhǔn)備的多種類型的功能塊中選擇出的一種類型的功能塊布置在圖像顯示器的屏幕上的編程區(qū)中,并且通過為每一個(gè)功能塊設(shè)置必要的唯一參數(shù),來完成與所希望的控制規(guī)范對(duì)應(yīng)的邏輯電路圖;該程序開發(fā)支持方法包括在所述編程區(qū)上顯示引導(dǎo)顯示單元,用于使得能夠根據(jù)功能塊布置模版的引導(dǎo)來將所述功能塊布置到所述編程區(qū)中,所述功能塊布置模版具有與行和列的每一個(gè)交叉位置對(duì)應(yīng)的塊可布置位置,并且將行方向的一個(gè)端側(cè)定義為輸入端子側(cè),且將另一個(gè)端側(cè)定義為輸出端子側(cè);其中所述功能塊布置模板被分成,位于模板輸入側(cè)的輸入側(cè)模板,其包括分別接受與輸入信號(hào)相關(guān)的預(yù)定類型的功能塊的布置的多個(gè)連續(xù)列,以及位于模板輸出側(cè)的輸出側(cè)模板,其包括分別接受與輸出信號(hào)相關(guān)的預(yù)定類型的功能塊的布置的多個(gè)連續(xù)列。
圖IA和IB示出了包括安全控制器的安全控制系統(tǒng)的概念視圖;圖2示出了概念性地表示程序開發(fā)支持裝置的功能的框圖;圖3示出了程序開發(fā)支持裝置的電子硬件配置的示意框圖;圖4示出了安全控制器的電子硬件配置的示意框圖;圖5示出了程序開發(fā)支持裝置(第一實(shí)施例)的軟件配置的流程圖(第1號(hào));圖6示出了程序開發(fā)支持裝置(第一實(shí)施例)的軟件配置的流程圖(第2號(hào));圖7示出了程序開發(fā)支持裝置(第一實(shí)施例)的軟件配置的流程圖(第3號(hào));圖8示出了輸入側(cè)電路圖數(shù)據(jù)產(chǎn)生過程的詳細(xì)流程圖(與無效功能塊對(duì)應(yīng)的過程);
圖9示出了輸入側(cè)電路圖數(shù)據(jù)產(chǎn)生過程的詳細(xì)流程圖(與設(shè)置/重置功能塊對(duì)應(yīng)的過程);圖10示出了輸出側(cè)電路圖數(shù)據(jù)產(chǎn)生過程的詳細(xì)流程圖(與端子模式功能塊對(duì)應(yīng)的過程);圖11示出了輸出側(cè)電路圖數(shù)據(jù)產(chǎn)生過程的詳細(xì)流程圖(與EDM功能塊對(duì)應(yīng)的過程);圖12示出了輸出側(cè)電路圖數(shù)據(jù)產(chǎn)生過程的詳細(xì)流程圖(與輸出條件功能塊對(duì)應(yīng)的過程);圖13示出了程序開發(fā)支持裝置(第二實(shí)施例)的軟件配置的流程圖(第1號(hào));圖14示出了程序開發(fā)支持裝置(第二實(shí)施例)的軟件配置的流程圖(第2號(hào));圖15示出了程序開發(fā)支持裝置(第三實(shí)施例)的軟件配置的流程圖(第1號(hào));圖16示出了程序開發(fā)支持裝置(第三實(shí)施例)的軟件配置的流程圖(第2號(hào));圖17示出了安全輸出條件設(shè)置過程的詳細(xì)流程圖;圖18示出了安全程序模板數(shù)據(jù)(輸入側(cè))的一個(gè)例子的示范性視圖;圖19示出了安全程序模板數(shù)據(jù)(輸出側(cè))的一個(gè)例子的示范性視圖;圖20示出了用戶創(chuàng)建的邏輯電路數(shù)據(jù)(IOb)的一個(gè)例子的示范性視圖;圖21示出了輸入設(shè)備表的示范性視圖;圖22示出了輸出條件設(shè)置表的示范性視圖;圖23示出了將下載的參數(shù)數(shù)據(jù)(控制程序)設(shè)置到安全控制器的一個(gè)例子的示范性視圖;圖M示出了在輸入側(cè)模板上開始FB布置的初始階段的屏幕示范性視圖;圖25示出了 FB選擇菜單窗口的示范性視圖;圖26A和26B示出了輸入無效條件設(shè)置菜單窗口的示范性視圖;圖27示出了重置條件設(shè)置菜單窗口的示范性視圖;圖觀示出了利用輸入FB、無效條件FB以及重置FB布置的輸入側(cè)模板的屏幕示范性視圖;圖四示出了在輸出側(cè)模板上開始FB布置設(shè)置的初始階段的屏幕示范性視圖;圖30A、30B示出了和焊接檢驗(yàn)相關(guān)的各種菜單窗口的屏幕示范性視圖;圖31A和31B示出了端子模式設(shè)置菜單窗口的示范性視圖;圖32示出了輸出條件設(shè)置窗口的示范性視圖;圖33示出了在輸入側(cè)模板上完成FB布置的檢驗(yàn)屏幕示范性視圖;圖34示出了在輸出側(cè)模板上完成FB布置的檢驗(yàn)屏幕示范性視圖;圖35示出了當(dāng)FB的布置過程有錯(cuò)誤的時(shí)候顯示的警告窗口的屏幕示范性視圖;圖36示出了每一個(gè)FB的優(yōu)選的布置示例以及配置過程的示范性視圖;圖37示出了根據(jù)程序開發(fā)支持裝置(第一相關(guān)技術(shù))的邏輯電路圖顯示示例;圖38示出了根據(jù)程序開發(fā)支持裝置(第二相關(guān)技術(shù))的邏輯電路圖顯示;示例; 以及圖39示出了安全輸入/輸出設(shè)備對(duì)應(yīng)表的示范性視圖。
具體實(shí)施例方式將參考附圖詳細(xì)地描述根據(jù)本發(fā)明的安全控制器的程序開發(fā)支持裝置的合適的實(shí)施例。圖1示出了表示根據(jù)本發(fā)明的包括作為程序開發(fā)支持裝置的目標(biāo)的安全控制器的安全控制系統(tǒng)的概念視圖。通過經(jīng)由總線網(wǎng)絡(luò)加將一個(gè)安全控制器1和兩個(gè)或多個(gè)安全I(xiàn)/O端子5連接起來而配置如圖IA中示出的安全控制系統(tǒng)。在圖IA示出的安全控制系統(tǒng)中,安全控制器1充當(dāng)主動(dòng)裝置(master),安全I(xiàn)/O端子5充當(dāng)從動(dòng)裝置(slave)。輸入設(shè)備3和輸出設(shè)備4分別連接到安全控制器1和安全I(xiàn)/O端子5。輸入設(shè)備 3可以是安全緊急停止開關(guān)、安全燈簾、安全限制開關(guān)、安全門開關(guān)等。輸出設(shè)備4可以是安全繼電器、安全觸點(diǎn)等。當(dāng)被應(yīng)用到圖IA所示的主-從安全控制系統(tǒng)時(shí),本發(fā)明的程序開發(fā)支持裝置10 可以被連接到連接安全控制器1和每一個(gè)安全I(xiàn)/O端子5的總線網(wǎng)絡(luò)加。另一方面,當(dāng)被應(yīng)用到圖IB所示的獨(dú)立控制系統(tǒng)時(shí),本發(fā)明的程序開發(fā)支持裝置10通過預(yù)定線纜2b而被直接連接。然后,在程序開發(fā)支持裝置10中產(chǎn)生的和安全性相關(guān)的控制程序被轉(zhuǎn)換成可由每個(gè)安全控制器1執(zhí)行的格式,并且然后被發(fā)送給安全控制器1。圖3示出了表示根據(jù)本發(fā)明的程序開發(fā)支持裝置的電子硬件配置的示意框圖。參考圖1和圖3明顯的是,在所示出的例子中利用膝上型電腦作為主體來配置程序開發(fā)支持裝置10。如本領(lǐng)域技術(shù)人員所熟知的那樣,通過由系統(tǒng)總線17將CPU 11、輸入操作單元 12、圖像顯示器13、工作RAM 14、存儲(chǔ)設(shè)備15以及通信單元16進(jìn)行連接來配置膝上型電腦的硬件配置。利用微處理器作為主體來配置CPU 11,并且其全面控制整個(gè)膝上型電腦。利用鼠標(biāo)、鍵盤等作為主體來配置輸入操作單元12,并且其充當(dāng)用于向膝上型電腦給出各種指令的人機(jī)接口。利用液晶顯示器等來配置圖像顯示器13,其中在圖像顯示器13的屏幕13a上顯示根據(jù)本發(fā)明的編程區(qū)201,如在下文中參考圖M等將詳細(xì)描述的。當(dāng)CPU 11執(zhí)行要在下面描述的系統(tǒng)程序、應(yīng)用程序等時(shí),工作RAM 14用作工作區(qū)域。用硬盤等來配置存儲(chǔ)設(shè)備15,并且其中包括輸出圖像存儲(chǔ)器15a、系統(tǒng)存儲(chǔ)器1 以及程序存儲(chǔ)器15c。涉及到本發(fā)明,輸出圖像存儲(chǔ)器1 用于當(dāng)在圖像顯示器13的屏幕 13a上顯示各種圖像時(shí)存儲(chǔ)各種圖像數(shù)據(jù),并且系統(tǒng)存儲(chǔ)器1 用于存儲(chǔ)用來配置膝上型電腦的基本功能的固件(包括操作系統(tǒng))。程序存儲(chǔ)器15c用于存儲(chǔ)要在膝上型電腦中執(zhí)行的各種應(yīng)用程序。如上所述的,眾所周知,當(dāng)存儲(chǔ)在輸出圖像存儲(chǔ)器15a、系統(tǒng)存儲(chǔ)器1 和程序存儲(chǔ)器15c中的各種程序和數(shù)據(jù)被CPU 11執(zhí)行時(shí),它們在工作RAM14的工作區(qū)域內(nèi)被開發(fā)和執(zhí)行。圖4示出了安全控制器1的電子硬件配置的示意框圖。如圖所示,安全控制器1 包括通信I/F單元101、中央處理單元102、輸入端子單元10 和輸出端子單元104b。提供通信I/F單元101以當(dāng)在安全控制器1和網(wǎng)絡(luò)2a、2b之間執(zhí)行通信時(shí)實(shí)現(xiàn)接口功能。中央處理單元102全面控制整個(gè)安全控制器1,并且利用微處理器、ROM、RAM等作為主體來配置該中央處理單元102。輸入端子單元10 包括用于從輸入設(shè)備3接收信號(hào)的多個(gè)輸入端子(端子1、端
子2........端子η)。輸出端子單元104b包括用于將輸出信號(hào)發(fā)送給輸出設(shè)備4的多個(gè)
輸出端子(端子1、端子2........端子η)。輸入側(cè)的端子異常診斷單元103a包括分別與輸入端子單元10 的每一個(gè)輸入端子對(duì)應(yīng)的單獨(dú)的診斷單元。每一個(gè)單獨(dú)的診斷單元被配置為與多個(gè)輸入設(shè)備類型對(duì)應(yīng)的通用目的診斷單元,其中,利用與每一種輸入設(shè)備類型對(duì)應(yīng)的參數(shù)來設(shè)置診斷單元,以使得以相關(guān)設(shè)備類型的專用形式來構(gòu)成診斷單元。在以后將要描述的編程任務(wù)中,用于將端子異常診斷單元103a指定給每一種輸入設(shè)備類型的參數(shù)表現(xiàn)為輸入系統(tǒng)功能塊的參數(shù)。在輸出側(cè)的端子異常診斷單元10 類似地包括分別與輸出端子單元104b的每一個(gè)輸出端子對(duì)應(yīng)的單獨(dú)的診斷單元。每一個(gè)單獨(dú)的診斷單元被配置為與多個(gè)輸出設(shè)備類型對(duì)應(yīng)的通用目的診斷單元,其中,利用與每一種輸出設(shè)備類型對(duì)應(yīng)的參數(shù)來設(shè)置診斷單元, 以使得其被指定為與相關(guān)輸出設(shè)備類型對(duì)應(yīng)的診斷單元。圖2示出了概念性地表示程序開發(fā)支持裝置10的功能的框圖。如圖所示,當(dāng)關(guān)注于用于實(shí)現(xiàn)本發(fā)明的配置時(shí),程序開發(fā)支持裝置10所必需的功能組件包括安全輸入設(shè)備表10a、邏輯電路圖數(shù)據(jù)10b、用于創(chuàng)建設(shè)置參數(shù)的編譯器10c、以及通過編譯器IOc從邏輯電路圖數(shù)據(jù)IOb轉(zhuǎn)換過來的設(shè)置參數(shù)10d。將參考圖18至圖23中所示的圖以及圖5至圖 17中所示的描述根據(jù)本發(fā)明的程序開發(fā)支持裝置的操作的流程圖來詳細(xì)描述所述功能組件。將參考圖5至圖17描述根據(jù)本發(fā)明的程序開發(fā)支持裝置的操作。在各個(gè)流程圖里示出的應(yīng)用程序被存儲(chǔ)在上面參考圖3而描述的程序存儲(chǔ)器15c中。在流程圖中示出的操作在與處理單元對(duì)應(yīng)的CPU 11的控制下被執(zhí)行處理。圖5至圖17示出了表示程序開發(fā)支持裝置的軟件配置的流程圖。在圖5中,當(dāng)處理開始時(shí),執(zhí)行接收對(duì)于設(shè)置安全輸入/輸出端子的用戶動(dòng)作的處理(步驟101)。用戶動(dòng)作包括配置程序開發(fā)支持裝置10的膝上型電腦中的預(yù)定鍵輸入操作、鼠標(biāo)操作等。通過這樣的用戶動(dòng)作來設(shè)置與安全輸入/輸出端子相關(guān)的各種數(shù)據(jù)。以這種方式獲得的與安全輸入/輸出端子相關(guān)的各種數(shù)據(jù)被存儲(chǔ)在工作RAM 14中(步驟102)。圖M示出了在輸入側(cè)模板上開始功能塊(這里被稱作“FB” )布置的初始階段的屏幕示范性視圖,并且圖四示出了在輸出側(cè)模板上開始FB布置設(shè)置的初始階段的屏幕示范性視圖。如圖M所示,關(guān)于輸入安全邏輯向?qū)?wizard)的窗口 200在配置程序開發(fā)支持裝置10的膝上型電腦的圖像顯示器13的屏幕13a上打開。這里,“安全邏輯向?qū)А笔顷P(guān)于創(chuàng)建與安全控制器的控制程序?qū)?yīng)的邏輯電路圖的各種用戶支持功能的共同術(shù)語。在打開的窗口 200中定義具有水平邊較長的矩形形狀的編程區(qū)201,并且在編程區(qū)201中顯示本發(fā)明主要部分的輸入模板202。在輸入側(cè)模板202上,提供了多個(gè)塊可布置位置以便與沿屏幕的水平方向延伸的
行(Rl,R2,R2,......)和沿屏幕的垂直方向延伸的列(Cl,C2,C3)的每一個(gè)交叉點(diǎn)對(duì)應(yīng)。
在輸入側(cè)模板202的左側(cè)邊緣上與每一行(Rl,R2,R3,R4,......)對(duì)應(yīng)地顯示與相關(guān)行的
輸入端子有關(guān)的信息。
在這個(gè)例子中,第一行(Rl)被指派給兩個(gè)輸入端子[IN0/1],并且這樣的輸入端子被設(shè)置為接收來自復(fù)制(duplication)規(guī)范的安全緊急停止開關(guān)的一對(duì)NC(正常關(guān)斷) 信號(hào)。第二行(似)被指派給兩個(gè)輸入端子[IN2/3],并且這樣的輸入端子被設(shè)置為接收來自復(fù)制規(guī)范的安全門開關(guān)的一對(duì)NC信號(hào)。第三行(R3)被指派給一個(gè)輸入端子[IN4],并且這樣的輸入端子被設(shè)置為接收來自非復(fù)制規(guī)范的門開關(guān)的信號(hào)。相應(yīng)于這樣的輸入端子的設(shè)置,布置用于實(shí)現(xiàn)與各個(gè)端子相關(guān)的自診斷功能的功能塊以便與輸入側(cè)模板202的第一列(Cl)中的每一行(R1,R2,R3)的端子設(shè)置對(duì)應(yīng)。換句話說,分別地,安全緊急停止開關(guān)功能塊(FBll)被布置在與第一列(Cl)的第一行(Rl)對(duì)應(yīng)的塊可布置位置(水平邊較長的矩形形狀的小區(qū)域),復(fù)制規(guī)范的安全燈簾功能塊(FB12)被布置在與第二行對(duì)應(yīng)的功能塊可布置位置,并且非復(fù)制規(guī)范的安全燈簾功能塊(FBU)被布置在與第三行(舊)對(duì)應(yīng)的功能塊可布置位置。返回到圖5的流程圖,在執(zhí)行步驟101、102的處理后,執(zhí)行上述輸入端子的設(shè)置以及功能塊的布置。輸入無效功能塊或輸入/輸出傳送功能塊(FBOl)被設(shè)計(jì)為布置在輸入側(cè)模板202 的第二列(以)中的每一行的塊布置位置,類似地,設(shè)置/重置塊或輸入/輸出傳送功能塊 (FBOl)被設(shè)計(jì)為布置在第三列(O)的每一行的塊布置位置上。通過使得對(duì)于每一列可選的功能塊僅僅可以從菜單窗口中選擇來實(shí)現(xiàn)這樣的設(shè)計(jì)。表示要被布置在相關(guān)列的功能塊的內(nèi)容的索引203-1至203-3與每一列(C1,C2, C3)相應(yīng)地顯示在輸入側(cè)模板202的上部邊緣。與第一列(Cl)相應(yīng)的索引203-1的內(nèi)容是表示輸入系統(tǒng)功能塊的“輸入”,與第二列((^)相應(yīng)的索引203-2的內(nèi)容是表示輸入無效功能塊的“無效”,并且與第三列(C3)相應(yīng)的索引203-3的內(nèi)容是表示設(shè)置/重置功能塊的
“重置”。對(duì)于每一行(R1,R2,R3,R4,......),與輸入側(cè)模板202的左側(cè)邊緣上的輸入顯示
信息相同的輸入顯示信息被顯示在該模板的右側(cè)邊緣上。也就是說,在輸入側(cè)模板上,以行為單位對(duì)每一行分配一個(gè)輸入信號(hào)。這樣,根據(jù)具有這種結(jié)構(gòu)的輸入側(cè)模板202,與相同的輸入信號(hào)相關(guān)的功能塊被布置在同一行中,并且相同類型的功能塊被布置在同一列中,因此,比較不太可能發(fā)生諸如把要被布置在某一輸入信號(hào)路徑上的功能塊布置在另外的輸入信號(hào)路徑上、或者把要以某一順序布置的多個(gè)功能塊以另外的順序布置的編程錯(cuò)誤。圖四示出了在輸出側(cè)模板上的開始FB布置設(shè)置的初始階段的屏幕示范性視圖。 如圖所示,在這個(gè)例子中,輸出側(cè)模板210被顯示于在屏幕上打開的窗口 200的編程區(qū)201
中。在輸出側(cè)模板210上,與行(R1,R2,R3,R4,......)和列(C4,C5,C6)的每一個(gè)交叉點(diǎn)
對(duì)應(yīng)地定義塊可布置位置(水平邊較長的矩形形狀的小區(qū)域)。在輸出側(cè)模板210的右側(cè)邊緣上對(duì)應(yīng)于每一行(Rl,R2,R3,R4,......)顯示與
相關(guān)行有關(guān)的端子信息。在所示出的例子中,第一行(Rl)被分配了兩個(gè)具有安全規(guī)范的輸出端子
,并且這樣的輸出端子的每一個(gè)被有線地連接到兩個(gè)安全繼電器。第二行(似)被分派了一個(gè)輸出端子
,并且這樣的輸出端子被有線地連接到一個(gè)安全繼電器。在這個(gè)例子中,第三行(R3)以及第四行(R4)分別被分配了一個(gè)輸出端子
和
,但是這樣的輸出端子的布線連接目的地不是確定的。
位于輸出側(cè)模板210的第一級(jí)的第四列(C4)被分配以輸出條件功能塊,第五列 (C5)或者下一列被分配以焊接檢驗(yàn)(EDM)功能塊,并且第六列(C6)或者隨后的列被分配以端子模式功能塊。為了闡明上述內(nèi)容,表示要被布置在相關(guān)列的功能塊的索引203-4至203-6對(duì)應(yīng)于每一列(C4,C5,C6)而被顯示在輸出側(cè)模板210的上部邊緣。特別地,索引203-4的內(nèi)容是“輸出條件”,表示確定是一個(gè)、或兩個(gè)或多個(gè)輸入信號(hào)的邏輯值將產(chǎn)生輸出的輸出條件功能塊。索引203-5的內(nèi)容是“焊接檢驗(yàn)(EDM) ”,表示用于執(zhí)行連接到輸出端子的安全繼電器的焊接檢驗(yàn)的焊接檢驗(yàn)(EDM)功能塊。索引203-6的內(nèi)容是“端子模式”,表示用于將端子模式設(shè)置為啟動(dòng)延遲、關(guān)斷延遲等的端子模式功能塊。在這個(gè)初始階段的屏幕中,遠(yuǎn)程I/O功能塊(FB61)被布置在第六列(C6)的第一行(Rl)的塊可布置位置,并且遠(yuǎn)程I/O功能塊(FB^)被布置在第二行(似)的塊可布置位置。應(yīng)當(dāng)注意,重要的一點(diǎn)是,類似于上述輸入側(cè)模板的情形,每一列(C4,C5,C6)被分別分配了特定類型的功能塊,并且具體而言,位于第一級(jí)的列(C4)在輸出側(cè)模板上被分配以輸出條件功能塊,這樣,與滿足輸出條件而獲得的輸出信號(hào)相關(guān)的功能塊被布置在行的塊可布置位置上,在所述行中,輸出條件功能塊被布置在至少該列上(C4)。根據(jù)這樣的輸出側(cè)模板,執(zhí)行與相同的輸出信號(hào)相關(guān)的處理的功能塊可以被布置在與布置用于產(chǎn)生相關(guān)輸出信號(hào)的輸出條件功能塊的行相同的行中,并且相同類型的功能塊分別被布置在特定的列中,這樣,類似于輸入側(cè)模板,比較不太可能發(fā)生諸如把要被布置在某一輸入信號(hào)路徑上的功能塊布置在另外的輸入信號(hào)路徑上、或者把要以某一順序布置的多個(gè)功能塊以另外的順序布置的編程錯(cuò)誤。根據(jù)本發(fā)明的程序開發(fā)支持裝置,整個(gè)模板被分開顯示為輸入側(cè)模板202和輸出側(cè)模板210,如圖M和圖四分開示出的那樣,因此,與集成地結(jié)合并顯示模板的情況相比, 比較不太可能發(fā)生編程錯(cuò)誤。此外,通過不僅將模板分成輸入側(cè)和輸出側(cè),而且在分離的屏幕上交替地顯示輸入側(cè)模板202和輸出側(cè)模板210,可以更可靠地防止由于錯(cuò)誤地識(shí)別輸入信號(hào)路徑和輸出信號(hào)路徑而導(dǎo)致的功能塊的布置錯(cuò)誤。在上述的圖M和圖四中,Dl是用于在垂直方向滾動(dòng)屏幕的滾動(dòng)條,D2是用于強(qiáng)制返回先前屏幕的“返回”按鈕,D3是用于強(qiáng)制移動(dòng)到下一個(gè)屏幕的“下一個(gè)”按鈕,以及 D4是用于取消各種命令的取消按鈕。通過滾動(dòng)條Dl而顯而易見的是,當(dāng)所需的輸入端子增加到8個(gè)點(diǎn)、16個(gè)點(diǎn)、32個(gè)點(diǎn)、64個(gè)點(diǎn)等時(shí),輸入側(cè)模板202和輸出側(cè)模板210能夠在垂直方向以任意的長度進(jìn)行擴(kuò)展,在這樣的情況下,通過操作滾動(dòng)條Dl可以將從屏幕上隱藏的特定行帶到編程區(qū)200。在本發(fā)明中,采用上述安全邏輯向?qū)矸乐褂捎谏鲜鲚斎雮?cè)模板202和輸出側(cè)模板210上的各種原因而導(dǎo)致的編程錯(cuò)誤。將在下面參考圖18至圖23的圖表來詳細(xì)描述安全邏輯向?qū)У膬?nèi)容。返回到圖5,在安全輸入/輸出端子設(shè)置的存儲(chǔ)完成之后(步驟10 ,執(zhí)行對(duì)應(yīng)用了安全邏輯向?qū)У妮斎雮?cè)模板202的顯示(步驟10 ,如圖M所示。此后,執(zhí)行輸入側(cè)電路圖數(shù)據(jù)產(chǎn)生過程(步驟104),其是本發(fā)明的主要部分。在安全邏輯向?qū)У闹С窒聢?zhí)行輸入側(cè)電路圖數(shù)據(jù)產(chǎn)生過程。如圖5所示,每次執(zhí)行對(duì)于輸入側(cè)模板的FB布置的用戶動(dòng)作時(shí)(步驟10 ),輸入側(cè)電路數(shù)據(jù)產(chǎn)生過程(步驟104)確定FB是否根據(jù)預(yù)定的“布置列”和“布置過程”(步驟 104b)來布置,其中,如果FB是根據(jù)預(yù)定的“布置列”和“布置過程”配置的(步驟104b中的是),則存儲(chǔ)(記錄)相關(guān)FB的布置內(nèi)容(步驟I(Mc),確認(rèn)用戶側(cè)繼續(xù)FB布置的意圖 (步驟10 ,并且等待下一個(gè)用戶動(dòng)作(步驟10 )以重復(fù)類似的過程。如果確定FB不是根據(jù)預(yù)定的“布置列”和“布置過程”布置的(步驟104b中的否),則不存儲(chǔ)(記錄)這樣的FB的布置內(nèi)容,并且重復(fù)在屏幕上顯示預(yù)定的警告的過程(步驟104d),直到確認(rèn)在用戶的輸入側(cè)繼續(xù)FB布置的意圖(步驟105)。充當(dāng)確定標(biāo)準(zhǔn)的預(yù)定的“布置列”定義了輸入側(cè)模板202上的哪一列用來布置每一個(gè)功能塊,并且該預(yù)定的“布置列”被存儲(chǔ)在工作RAM 14等中,作為安全程序模板數(shù)據(jù) (輸入側(cè)),如圖18所示。如圖18所示,通過下述來配置安全程序模板數(shù)據(jù)(輸入側(cè))以表格的形式,對(duì)
每一列(第一列,第二列,第三列,......)存儲(chǔ)允許被存儲(chǔ)在相關(guān)列中的功能塊的“類型
名”(輸入系統(tǒng)功能塊等)并且存儲(chǔ)包括在彼此相關(guān)的、相關(guān)“類型名”中的各個(gè)功能塊的列表。返回到圖5,利用圖17所示的安全程序模板數(shù)據(jù)(輸入側(cè))來檢驗(yàn)在用戶動(dòng)作 (104a)中指定的“列”以及特定“功能塊名”的組合,以確定FB是否是根據(jù)步驟104b的確定過程中的預(yù)定“布置列”來布置的。在圖M示出的輸入側(cè)模板202上,例如,當(dāng)希望將邏輯操作OR功能塊(FB21)布置到第一行(Rl)的第二列(C2)的塊可布置位置時(shí),利用鼠標(biāo)點(diǎn)擊第一行(Rl)的下拉按鈕 (PB2)。然后,菜單窗口 204被打開,從而與輸入側(cè)模板202重疊,如圖25A所示。在菜單窗口 204上通過三層垂直顯示三個(gè)功能塊。這三個(gè)功能塊是輸入/輸出傳送功能塊(FBOl)、邏輯操作OR功能塊(FB21)以及邏輯操作AND和OR功能塊(FB22)。在這種情況下,如果通過鼠標(biāo)的預(yù)定操作等選擇了邏輯操作OR功能塊(FB21),則所選擇的功能塊(FB21)被布置在由第一行(Rl)以及第二列(以)所指定的塊可布置位置。類似的,當(dāng)希望將設(shè)置/重置功能塊(FB31)布置到位于第一行(Rl)的第三列 (C3)的塊可布置位置上時(shí),操作第三列的下拉按鈕PB3。然后,菜單窗口 205被打開,如圖 25B所示。在菜單窗口 205中通過兩層垂直顯示所選擇的功能塊。所述功能塊是輸入/輸出傳送功能塊(FBOl)以及設(shè)置/重置功能塊(FB31)。在這種情況下,如果通過鼠標(biāo)的操作等選擇了設(shè)置/重置功能塊(FB31),則所選擇的功能塊(FB31)被布置到位于第一行(Rl)的第三列(O)的塊可布置位置上。當(dāng)從這種狀態(tài)設(shè)置輸入無效條件時(shí),通過鼠標(biāo)的預(yù)定操作進(jìn)一步打開圖26示出的菜單窗口 206。如圖所示,在菜單窗口 206上顯示關(guān)于AND條件設(shè)置的信號(hào)名列以及關(guān)于OR條件設(shè)置的信號(hào)名列,并且在配置相應(yīng)信號(hào)名列的信號(hào)名的前端顯示復(fù)選框列207、208。如果在圖25A所示的菜單窗口 204中選擇了 OR操作,則在菜單窗口 206的OR條件設(shè)置區(qū)域內(nèi),用鼠標(biāo)的點(diǎn)擊操作等做出復(fù)選標(biāo)記,如圖26A所示。如果在圖25A所示的菜單窗口 204中選擇了 AND操作(未示出),則在菜單窗口 206的AND條件設(shè)置區(qū)域內(nèi),對(duì)于相應(yīng)輸入信號(hào)名的復(fù)選框207,用鼠標(biāo)操作等做出復(fù)選標(biāo)記,如圖26B所示。通過這樣的操作,任何人可以容易地執(zhí)行對(duì)輸入無效功能塊的選擇和對(duì)于輸入無效條件的設(shè)置。當(dāng)在選擇設(shè)置/重置功能塊后設(shè)置重置條件時(shí),打開如圖27所示的菜單窗口 209 以執(zhí)行相應(yīng)重置條件的設(shè)置。也就是說,如圖27A所示,當(dāng)在菜單窗口 209用鼠標(biāo)操作下拉菜單按鈕D7時(shí),顯示重置條件列表,從而設(shè)置最佳重置條件,此后,如圖27B所示,操作確定按鈕D8以容易地設(shè)置所希望的重置條件。當(dāng)取消以重做重置條件時(shí),操作取消按鈕D9。圖觀示出了在執(zhí)行功能塊的選擇以及每一個(gè)條件的設(shè)置之后的輸入側(cè)模板的例子。如圖所示,可以通過選擇和指定操作以希望的方式來布置輸入系統(tǒng)功能塊、無效條件功能塊以及重置功能塊?;氐綀D5,在安全邏輯向?qū)еС窒聢?zhí)行的輸入側(cè)電路圖數(shù)據(jù)產(chǎn)生過程104中也做出關(guān)于FB是否是根據(jù)預(yù)定的“布置過程”來布置的確定。這里,預(yù)定的“布置過程”是這樣的規(guī)則其中,即使順序是相同的,關(guān)于作為例子的圖觀中使用塊布置例子的每一行(R1, R2,R3,......)的布置的時(shí)間順序,功能塊也需要按照從最近的一個(gè)到輸入端子的順序來布置。圖8和圖9示出了引導(dǎo)每一個(gè)FB以便根據(jù)預(yù)定的“布置過程”來布置的過程的例子。需要對(duì)關(guān)于功能塊當(dāng)前怎樣被布置在輸入側(cè)模板上以執(zhí)行處理做出確定。為此,由用戶創(chuàng)建的邏輯電路數(shù)據(jù)(IOb)被存儲(chǔ)在工作RAM 14中,如圖20所示。如圖所示,在邏輯電路數(shù)據(jù)中(IOb)存儲(chǔ)什么功能塊當(dāng)前正被布置在行和列所指定的每一個(gè)塊可布置位置。如下面所述的,通過參考邏輯電路數(shù)據(jù)(IOb)來做出關(guān)于是否嘗試根據(jù)預(yù)定的“布置過程”來布置FB的確定。在圖8的流程圖中示出布置無效FB期間的“布置過程”的確定過程。如圖所示,如果要被用戶動(dòng)作布置的FB是輸入無效FB,則對(duì)于用戶動(dòng)作指定的“行”,通過參考圖20所示的邏輯電路數(shù)據(jù)(IOb)而做出在相關(guān)點(diǎn)是否已經(jīng)完成輸入系統(tǒng)FB的布置的確定(步驟 1042a)。如果已經(jīng)完成輸入系統(tǒng)FB的布置(步驟1042a中的是),則用戶動(dòng)作中希望布置的輸入無效FB被存儲(chǔ)在存儲(chǔ)器中作為圖20所示的邏輯電路數(shù)據(jù)(步驟1043a)。相反,如果確定在相關(guān)點(diǎn)還沒有完成輸入系統(tǒng)FB的配置(步驟1042a),則在屏幕上顯示預(yù)定警告 (步驟 1044a)。圖9示出了在嘗試布置設(shè)置/重置ra的情況下的“布置過程”的確定過程。如圖所示,如果用戶動(dòng)作希望布置的FB是設(shè)置/重置FB,則類似于先前的情況,對(duì)于輸入系統(tǒng)FB的布置是否完成做出確定(步驟1042b),。如果確定完成輸入系統(tǒng)FB的布置(步驟 1042b中的是),則處理進(jìn)行到步驟1043b,如果確定在相關(guān)點(diǎn)還沒有完成輸入系統(tǒng)FB的布置(步驟1042b中的否),則在屏幕上顯示預(yù)定警告(步驟1044b)。如果確定已經(jīng)完成輸入系統(tǒng)FB的布置(步驟1042b中的是),則對(duì)于輸入無效FB 的不知是否完成做出確定(步驟1043b).如果確定已經(jīng)完成輸入無效FB的布置(步驟1043b中的是),則用戶動(dòng)作所希望的設(shè)置/重置FB被存儲(chǔ)(記錄)到如圖20所示的相應(yīng)的塊可布置位置中(步驟1045b)。 如果已經(jīng)完成輸入系統(tǒng)FB的布置(步驟1042b中的是)但是還沒有完成輸入無效FB的布置(步驟1043b),那么在屏幕上顯示預(yù)定警告(步驟1046b)。
因此,在圖5所示的輸入側(cè)電路圖數(shù)據(jù)產(chǎn)生過程(步驟104)中,每一次當(dāng)相關(guān)功能塊被用戶動(dòng)作所布置時(shí),對(duì)于功能塊是否是根據(jù)預(yù)定的“布置列”以及“布置過程”布置的做出確定(步驟10 ),其中僅僅當(dāng)“布置列”以及“布置過程”都是肯定的時(shí)候,所希望的FB的布置內(nèi)容才被反映到邏輯電路數(shù)據(jù)(IOb)上,并且如果“布置列”或者“布置過程” 被確定為不是預(yù)定的列或過程(步驟104b中的否),則FB的布置被拒絕且在屏幕上顯示預(yù)定警告。在上述的實(shí)施例中,使用菜單方法作為從布置在每一個(gè)模板的列上功能塊中拒絕除了提前預(yù)定的類型的功能塊之外的類型的功能塊的方式,但是可替換該方式的是,可以在顯示屏上的一部分上布置要被選擇的一系列功能塊,以使得通過鼠標(biāo)的拖放方法可以將功能塊移動(dòng)到模板上的每一列,其中對(duì)每一列檢驗(yàn)由拖放方法移動(dòng)的功能塊的類型以及被分配給它自身的行的功能塊的類型,如果其類型不匹配,則可以通過設(shè)計(jì)而實(shí)現(xiàn)類似的強(qiáng)制拒絕功能,以使得即使執(zhí)行了放下操作,功能塊也不能被放在相關(guān)的列中。在這種情況下,當(dāng)功能塊被拖放操作放下時(shí),已經(jīng)被移動(dòng)或者搬運(yùn)的功能塊返回到原始的布置位置,并且不能被搬運(yùn)到目標(biāo)列。根據(jù)在安全邏輯向?qū)еС窒滤鶊?zhí)行的輸入側(cè)電路圖數(shù)據(jù)產(chǎn)生過程,每一個(gè)功能塊被正確地布置在具有合適的“布置列”的輸入側(cè)模板202上。如果所有所希望的功能塊被布置在輸入側(cè)模板202上(步驟105中的否),則過程進(jìn)行到圖6,并且等待操作“下一個(gè)”按鈕D3的用戶動(dòng)作(步驟106)以執(zhí)行與輸出側(cè)模板相關(guān)的處理。在與輸出側(cè)模板相關(guān)的處理中,在編程區(qū)201中首先顯示結(jié)合了安全邏輯向?qū)У妮敵鰝?cè)模板210(步驟107)。圖四示出了在窗口 200的編程區(qū)201上顯示的輸出側(cè)模板210的例子。如上所述,利用塊可布置位置(水平邊較長形狀的區(qū)域)來限定輸出側(cè)模板,以便對(duì)應(yīng)于行(R1,
R2,R3,R4,......)和列(C4,C5,C6)的每一個(gè)交叉點(diǎn),并且定義行方向的輸出信號(hào)流從左
側(cè)到右側(cè)。每一列(C4,C5,C6)被分配給與輸出信號(hào)相關(guān)的預(yù)定類型的功能塊。特別地,在這個(gè)例子中,位于第一級(jí)的列(C4)被分配給輸出條件功能塊,下一列(( )被分配給焊接檢驗(yàn) (EDM)功能塊,以及下一列(C6)被分配給端子模式功能塊?;氐綀D6,在顯示輸出側(cè)模板(步驟107)之后執(zhí)行在安全邏輯向?qū)У闹С窒聢?zhí)行的輸出側(cè)電路圖數(shù)據(jù)產(chǎn)生過程(步驟108)。輸出側(cè)電路圖數(shù)據(jù)產(chǎn)生過程(步驟108)類似于上述的輸入側(cè)電路圖數(shù)據(jù)產(chǎn)生過程,并且每一次當(dāng)執(zhí)行用于將FB布置到輸出側(cè)模板210的用戶動(dòng)作時(shí)(步驟IOga),對(duì)于FB 是否是根據(jù)預(yù)定的“布置列”以及“布置過程”來布置的做出確定(步驟108b),其中,如果確定是肯定的(步驟108b中的是),則只要在輸出側(cè)的FB布置在繼續(xù)(步驟109的是), 就重復(fù)用于存儲(chǔ)(記錄)要以這種方式布置的FB的布置內(nèi)容的處理(步驟108c)。如果確定是否定的(步驟108b中的否),則拒絕這樣的FB的布置,并且在屏幕上顯示預(yù)定警告?;趫D19所示的安全程序模板數(shù)據(jù)(輸出側(cè))的內(nèi)容來做出對(duì)于FB是否是根據(jù)預(yù)定的“布置列”來布置的確定。也就是說,如圖19所示,對(duì)于每一列來說,通過存儲(chǔ)允許被布置在相關(guān)列的功能塊的類型名并且存儲(chǔ)包括在彼此相關(guān)的類型名中的特定功能塊的列表,來配置安全程序模板數(shù)據(jù)(輸出側(cè))。在所示出的例子中,當(dāng)安全控制器通過通信主控單元連接到遠(yuǎn)程I/O端子(從動(dòng)裝置)時(shí),來自于第三列的端子模式功能塊的主控的接收數(shù)據(jù)(遠(yuǎn)程I/O)指的是通過通信主控從遠(yuǎn)程I/O端子(從動(dòng)裝置)接收的數(shù)據(jù)的輸出。來自邏輯的輸出指的是安全控制器內(nèi)的邏輯操作所獲得的操作結(jié)果的輸出。輔助輸出指的是將安全控制器的輸出進(jìn)行分支得到的輔助輸出。每一次檢測關(guān)于在輸出側(cè)模板上的FB布置的某種類型的用戶動(dòng)作(步驟108a) 時(shí),利用圖19所示的安全程序模板數(shù)據(jù)(輸出側(cè))來檢驗(yàn)用戶動(dòng)作所指定的“塊可布置位置”以及“功能塊名”,以確定要被布置的FB是否是根據(jù)預(yù)定的“布置列”而布置的。更具體地是,在圖四所示的輸出側(cè)模板210的前提下假定這樣的情況,即將焊接檢驗(yàn)(EDM)功能塊布置在由行(Rl)以及列(⑶)所指定的塊可布置位置上。在這樣的情況下,首先用鼠標(biāo)來操作行(Rl)的下拉按鈕PB5。然后,菜單窗口 211 被打開以便與輸出側(cè)模板210重疊,如圖30A所示。在菜單窗口 211通過兩層垂直布置兩個(gè)功能塊。也就是說,所述功能塊是輸入側(cè)分支功能塊FB51和EDM功能塊FB52。用戶用鼠標(biāo)操作來選擇EDM功能塊(FB52)。所選擇的功能塊(FB52)被布置在由行(Rl)以及列 (C5)所指定的塊可布置位置上。當(dāng)在EDM功能塊(FB52)上設(shè)置焊接檢驗(yàn)(EDM)反饋時(shí),通過預(yù)定的鼠標(biāo)操作,菜單窗口 212被打開,如圖30B所示。在菜單窗口 212中布置有下拉按鈕D10、確定按鈕Dll 以及取消按鈕D12。在這種情況下用戶用鼠標(biāo)操作下拉按鈕DlO以顯示反饋信號(hào)列表,從中選擇所希望的反饋信號(hào),并且操作確定按鈕Dll以建立焊接檢驗(yàn)(EDM)反饋的設(shè)置。在圖 30B的例子中,輸入信號(hào)IN7被選擇并且被設(shè)置為反饋信號(hào)。當(dāng)將復(fù)制處理過的遠(yuǎn)程I/O功能塊布置在由行(Rl)和列(C6)所指定的塊可布置位置時(shí),利用鼠標(biāo)來操作位于由行(Rl)和列06)所指定的塊可布置位置的右側(cè)的下拉按鈕PB6。然后,預(yù)定的菜單窗口 213被打開,以與輸出側(cè)模板210重疊,如圖31A所示。在菜單窗口 213中顯示以兩層垂直布置的兩個(gè)功能塊。在這個(gè)例子里,所述功能塊是復(fù)制對(duì)應(yīng)遠(yuǎn)程I/O功能塊(FB61)和非復(fù)制對(duì)應(yīng)邏輯功能塊(FB62)。用戶利用鼠標(biāo)的操作從菜單中選擇復(fù)制對(duì)應(yīng)遠(yuǎn)程I/O功能塊(FB61)。然后,所選擇的功能塊(FB61)被布置在由行(Rl)和列(C6)所指定的塊可布置位置上。進(jìn)一步地,當(dāng)將非復(fù)制對(duì)應(yīng)邏輯功能塊(FB64)布置在由行(似)和列(C6)所指定的塊可布置位置上時(shí),利用鼠標(biāo)來操作位于塊可布置位置的右側(cè)的下拉按鈕PB6。然后,菜單窗口 214被打開,以與輸出側(cè)模板210重疊,如圖31B所示。在菜單窗口 214中通過三層垂直顯示三個(gè)功能塊。所述功能塊是非復(fù)制對(duì)應(yīng)遠(yuǎn)程I/O功能塊(FB63)、非復(fù)制對(duì)應(yīng)邏輯功能塊(FB64)以及輔助輸出功能塊(FB65)。然后, 用戶選擇非復(fù)制對(duì)應(yīng)邏輯功能塊(FB64)。所選擇的邏輯功能塊(FB64)接著被布置在由行 (R2)和列(C6)所指定的塊可布置位置上。類似于圖30A所示的焊接檢驗(yàn)(EDM)功能塊(FB52)的情況,通過使用菜單窗口進(jìn)行選擇和設(shè)置來執(zhí)行對(duì)輸出條件功能塊的選擇和設(shè)置,這樣,當(dāng)進(jìn)一步對(duì)如上這樣選擇和設(shè)置的輸出條件功能塊執(zhí)行輸出條件的設(shè)置時(shí),在本實(shí)施例中提供了將用戶的可用性考慮在內(nèi)的極好的功能。
也就是說,如圖32所示,當(dāng)為所選擇和設(shè)置輸出條件功能塊設(shè)置輸出條件時(shí),輸出條件設(shè)置窗口 215響應(yīng)于鼠標(biāo)的預(yù)定操作而被打開。,其是,在輸出條件設(shè)置窗口 215中順序顯示作為輸出條件的成為AND操作的輸入候選的輸入信號(hào)名,復(fù)選框216被布置在每一個(gè)輸入信號(hào)名的前端。通過用鼠標(biāo)在復(fù)選框216中簡單地插入預(yù)定的復(fù)選標(biāo)記來執(zhí)行對(duì)成為輸出條件的輸入信號(hào)的選擇。利用鼠標(biāo)來操作確定按鈕D13以建立選擇,并且利用鼠標(biāo)來操作取消按鈕D14以取消設(shè)置。如上所述,當(dāng)執(zhí)行這種類型的編程任務(wù)時(shí),通常預(yù)先創(chuàng)建如圖39所示的安全輸入 /輸出設(shè)備對(duì)應(yīng)表,并且依賴于安全輸入/輸出設(shè)備對(duì)應(yīng)表而做出對(duì)輸出條件的設(shè)置。在圖37和圖38所示的傳統(tǒng)的程序開發(fā)支持裝置的情況下,通過連接到功能塊的線的拖拽操作而做出對(duì)輸出條件的設(shè)置。因此,在驗(yàn)證輸出條件是否被正確設(shè)置期間,需要檢驗(yàn)安全輸入/輸出對(duì)應(yīng)表以及布線圖的這樣麻煩的工作。另一方面,在本發(fā)明中,用于定義輸入信號(hào)和輸出信號(hào)的邏輯關(guān)系的輸出條件的設(shè)置操作包括利用復(fù)選框的復(fù)選操作從在菜單窗口 215中顯示的一系列輸入信號(hào)名中選擇相應(yīng)的輸入信號(hào)名,如圖32所示。因此,在輸出條件的設(shè)置中,可以通過簡單地選擇復(fù)選框216利用簡單的操作而做出目標(biāo)輸出條件的設(shè)置,如在圖39所示的安全輸入/輸出設(shè)備對(duì)應(yīng)表中的那樣。當(dāng)驗(yàn)證輸出條件是否在已完成的程序中被正確地設(shè)置時(shí),僅僅需要檢驗(yàn)菜單窗口 215中的復(fù)選框的所選狀態(tài)以及預(yù)先創(chuàng)建的輸入/輸出設(shè)備對(duì)應(yīng)表,并且不需要像在圖37 和圖38所示的相關(guān)技術(shù)的例子中那樣返回追蹤功能塊之間的布線,從而可以在較短的時(shí)間段內(nèi)容易地執(zhí)行驗(yàn)證任務(wù)。在圖21中所示的輸入設(shè)備表中的數(shù)據(jù)被用于與在菜單窗口 215中顯示的輸入信號(hào)相關(guān)的數(shù)據(jù)。通過輸入端子的設(shè)置操作來設(shè)置該輸入設(shè)備表,也就是說,執(zhí)行正常的操作以設(shè)置信號(hào)將通過哪個(gè)輸入設(shè)備被輸入到在圖M中所示的輸入側(cè)模板202的輸入端子。專用的輸入信息設(shè)置操作對(duì)于輸出條件的設(shè)置來說是不必要的。當(dāng)通過菜單窗口 215中的復(fù)選框的鼠標(biāo)操作的選擇而選擇輸入信號(hào)名時(shí),激活圖 17的流程圖所示的安全輸出條件設(shè)置過程。從而,完成輸出條件設(shè)置表,如圖22所示。在上述安全邏輯向?qū)У闹С窒聢?zhí)行的輸出電路圖數(shù)據(jù)產(chǎn)生過程108中執(zhí)行圖17所示的安全輸出條件設(shè)置過程。也就是說,如圖17的流程圖所示,當(dāng)執(zhí)行用于設(shè)置選擇安全輸出條件的用戶動(dòng)作時(shí)(步驟1071),從輸入設(shè)備表(見圖21)中檢索并提取安全輸入設(shè)備(步驟1072),并且基于所提取的輸入設(shè)備數(shù)據(jù)來顯示在圖32中示出的菜單窗口 215中的輸入信號(hào)的列表。以復(fù)選框形式顯示安全輸入端子號(hào)、設(shè)備名等,作為安全輸出條件選擇屏幕顯示(步驟1073)。當(dāng)在該狀態(tài)下執(zhí)行用于檢驗(yàn)復(fù)選框216以選擇相應(yīng)的安全輸出條件并按下“確定”按鈕以確認(rèn)的用戶動(dòng)作時(shí)(步驟1074),存儲(chǔ)用這種方式選擇的安全輸出條件(步驟 1075),該過程被重復(fù)必要的次數(shù)(步驟1076中的是),并且完成圖22所示的輸出條件設(shè)置表。圖觀示出了利用端子模式FB、輸出條件FB以及焊接檢驗(yàn)FB布置的輸出側(cè)模板的狀態(tài)。如從圖中顯而易見的,可以認(rèn)識(shí)到通過上述的選擇和設(shè)置過程,所選擇的功能塊 (FB62,F(xiàn)B65, FB52, FB41)被分別布置在每一個(gè)指定的塊可布置位置中。
最后,圖33示出了在輸入側(cè)模板上完成FB布置時(shí)的檢驗(yàn)屏幕的示范性視圖,并且圖34示出了在輸出側(cè)模板上完成FB布置時(shí)的檢驗(yàn)屏幕的示范性視圖。如從這些圖中顯而易見的是,通過重復(fù)上述的功能塊選擇和設(shè)置操作,必要的功能塊被合適地布置在輸入側(cè)模板和輸出側(cè)模板的必要的位置。當(dāng)在這種狀態(tài)下操作預(yù)定的完成按鈕時(shí),所創(chuàng)建的電路圖被確認(rèn),執(zhí)行先前參考圖7描述的數(shù)據(jù)轉(zhuǎn)換過程(步驟111至11 以及下載參數(shù)產(chǎn)生過程(步驟114),并且最終產(chǎn)生安全控制器控制程序。在圖6的流程圖所示的輸出側(cè)電路圖數(shù)據(jù)產(chǎn)生過程中(步驟108),對(duì)于FB是否是根據(jù)預(yù)定的“布置列”而布置的做出確定,其中存儲(chǔ)(記錄)希望布置的FB的布置內(nèi)容,并且僅當(dāng)確定FB是根據(jù)預(yù)定的“布置列”而布置的時(shí)(步驟108b中的是),才產(chǎn)生圖20所示的邏輯電路數(shù)據(jù)(10b)。返回到圖7,在完成輸出側(cè)模板210上的必要的功能塊的布置之后,等待對(duì)應(yīng)于 “下一個(gè)”按鈕D3的操作的用戶動(dòng)作(步驟110)。然后,對(duì)于所有的功能塊,在上述的功能塊布置操作中產(chǎn)生的如圖23所示的邏輯電路數(shù)據(jù)(IOb)被轉(zhuǎn)換成安全控制器可解釋的數(shù)據(jù)形式(步驟111至11 。因此,所轉(zhuǎn)換的數(shù)據(jù)被收集以產(chǎn)生下載參數(shù)(安全控制器控制程序)(步驟114)。以這種方式產(chǎn)生的下載參數(shù)通過類似于相關(guān)技術(shù)的通信或者便攜式記錄介質(zhì)而被安裝在目標(biāo)安全控制器中。因此,根據(jù)上述的每一個(gè)實(shí)施例的程序開發(fā)支持裝置,由于整個(gè)模板被分成輸入側(cè)模板和輸出側(cè)模板,所以與相同信號(hào)相關(guān)的信號(hào)路徑存在于每一個(gè)模板的同一行中,如圖36所示。在每一個(gè)模板的每一列(Cl至C6)中,通過安全邏輯向?qū)У牟僮鱽硪龑?dǎo)布置相同類型的功能塊。此外,通過安全邏輯向?qū)У牟僮?,相同類型的功能塊被自動(dòng)布置在同一列, 因此即使忘記了布置任一功能塊,在完成程序之后也能通過列來檢驗(yàn)功能塊的存在,并且, 如果功能塊不存在于任一行中,則相關(guān)的部分被徹底檢驗(yàn),從而,能夠容易地執(zhí)行這種類型的安全控制器控制程序的調(diào)試。根據(jù)這樣的輸入側(cè)模板或輸出側(cè)模板的結(jié)構(gòu),通過簡單地習(xí)慣性地將與相同的信號(hào)相關(guān)的功能塊布置在同一行中,可以可靠地防止錯(cuò)誤地將要被布置在同一信號(hào)路徑上的功能塊布置在不同的信號(hào)路徑、或者將要被布置在輸入信號(hào)路徑上的功能塊布置在輸出路徑上的編程錯(cuò)誤。并不限制于簡單地將模板分成兩個(gè)模板,可以在輸出側(cè)模板之前向用戶呈現(xiàn)輸入側(cè)模板,以使得在輸出側(cè)模板上布置功能塊的階段時(shí)已經(jīng)完成了在輸入側(cè)模板上的功能塊的布置,由此,可以提前防止用戶的編程錯(cuò)誤。如圖32所示,輸出條件的設(shè)置是基于復(fù)選框形式的輸入信號(hào)的列表而做出的,因此,與相關(guān)技術(shù)中以布線圖形式的程序開發(fā)支持裝置不同,可以利用安全輸入/輸出設(shè)備對(duì)應(yīng)表做出直接檢驗(yàn),這有助于編程任務(wù)以及程序驗(yàn)證任務(wù)的簡化。
權(quán)利要求
1.一種安全控制器的程序開發(fā)支持方法,其中通過由輸入操作單元使能的一系列的用戶操作而自動(dòng)產(chǎn)生安全控制器的控制程序,該一系列的用戶操作用于通過順序地將從提前準(zhǔn)備的多種類型的功能塊中選擇出的一種類型的功能塊布置在圖像顯示器的屏幕上的編程區(qū)中,并且通過為每一個(gè)功能塊設(shè)置必要的唯一參數(shù),來完成與所希望的控制規(guī)范對(duì)應(yīng)的邏輯電路圖;該程序開發(fā)支持方法包括在所述編程區(qū)上顯示引導(dǎo)顯示單元,用于使得能夠根據(jù)功能塊布置模版的引導(dǎo)來將所述功能塊布置到所述編程區(qū)中,所述功能塊布置模版具有與行和列的每一個(gè)交叉位置對(duì)應(yīng)的塊可布置位置,并且將行方向的一個(gè)端側(cè)定義為輸入端子側(cè),且將另一個(gè)端側(cè)定義為輸出端子側(cè);其中所述功能塊布置模板被分成,位于模板輸入側(cè)的輸入側(cè)模板,其包括分別接受與輸入信號(hào)相關(guān)的預(yù)定類型的功能塊的布置的多個(gè)連續(xù)列,以及位于模板輸出側(cè)的輸出側(cè)模板,其包括分別接受與輸出信號(hào)相關(guān)的預(yù)定類型的功能塊的布置的多個(gè)連續(xù)列。
2.根據(jù)權(quán)利要求1所述的程序開發(fā)支持方法,其中,由所述引導(dǎo)顯示單元在所述編程區(qū)上交替顯示所述輸入側(cè)模板和輸出側(cè)模板。
3.根據(jù)權(quán)利要求2所述的程序開發(fā)支持方法,其中,所述引導(dǎo)顯示單元在所述編程區(qū)上進(jìn)行顯示,使得首先顯示所述輸入側(cè)模板,隨后顯示所述輸出側(cè)模板。
4.根據(jù)權(quán)利要求1所述的程序開發(fā)支持方法,其中,由所述引導(dǎo)顯示單元中包括的指引單元,根據(jù)提前定義的布置過程,將每一個(gè)功能塊指引到提前定義的布置列中,從而使得根據(jù)為每一種類型提前定義的布置列和布置過程將由用戶選擇的功能塊布置到每一個(gè)模板的相應(yīng)列的塊可布置位置。
5.根據(jù)權(quán)利要求4所述的程序開發(fā)支持方法,其中,所述指引單元是引導(dǎo)顯示器,用于允許用戶執(zhí)行必要的操作。
6.根據(jù)權(quán)利要求4所述的程序開發(fā)支持方法,其中,由所述指引單元檢測下述操作并且禁止所述操作,或者由所述指引單元檢測所述操作以發(fā)出警告在所述操作中,根據(jù)除了為每一種類型提前定義的布置列之外的布置列或者根據(jù)除了提前定義的布置過程之外的布置過程來將用戶選擇的功能塊布置到每一個(gè)模板上。
7.根據(jù)權(quán)利要求4所述的程序開發(fā)支持方法,其中,由所述指引單元強(qiáng)制性地拒絕將計(jì)劃布置的功能塊之外的功能塊布置到相應(yīng)列中。
8.根據(jù)權(quán)利要求4所述的程序開發(fā)支持方法,其中,在所述模板是輸入側(cè)模板的情況下提前定義的布置過程是按照從靠近輸入端子側(cè)的列開始的順序來布置每一個(gè)功能塊。
9.根據(jù)權(quán)利要求4所述的程序開發(fā)支持方法,其中,在所述模板是輸出側(cè)模板的情況下提前定義的布置過程是按照從靠近輸出端子側(cè)的列開始的順序來布置每一個(gè)功能塊。
10.根據(jù)權(quán)利要求1所述的程序開發(fā)支持方法,其中,當(dāng)在所述輸入側(cè)模板上布置每一個(gè)功能塊時(shí),對(duì)于每一個(gè)功能塊需要設(shè)置在至少一個(gè)輸入端子和輸入到該輸入端子的輸入設(shè)備之間的對(duì)應(yīng)關(guān)系,當(dāng)在所述輸入側(cè)模板上完成所述設(shè)置時(shí),所設(shè)置的對(duì)應(yīng)關(guān)系被記錄作為輸入設(shè)備表;當(dāng)在所述輸出側(cè)模板上布置每一個(gè)功能塊時(shí),至少需要設(shè)置輸入信號(hào)來作為輸出條件功能塊的唯一參數(shù),該輸出條件功能塊是所述功能塊之一;以及進(jìn)一步布置輸入信號(hào)設(shè)置單元,使得能夠在設(shè)置所述輸入信號(hào)時(shí)進(jìn)行通過參考輸入設(shè)備表從菜單顯示的輸入信號(hào)列表中選擇所希望的輸入信號(hào)的操作。
11.根據(jù)權(quán)利要求10所述的程序開發(fā)支持方法,其中,通過將要設(shè)置的輸入信號(hào)名布置在于圖像顯示器的屏幕上打開的菜單窗口內(nèi)來執(zhí)行輸入信號(hào)列表的菜單顯示。
全文摘要
提供了一種安全控制器的程序開發(fā)支持方法。根據(jù)功能塊配置模板的引導(dǎo)來執(zhí)行將功能塊布置到編程區(qū),在該功能塊配置模板中,水平且垂直地定義塊可布置位置,并且將行方向的一個(gè)端側(cè)定義為輸入端子側(cè),且將另一個(gè)端側(cè)定義為輸出端子側(cè);并且,該模板被分為位于輸入側(cè)的輸入側(cè)模板和位于輸出側(cè)的輸出側(cè)模板,所述輸入側(cè)模板包括分別接受與輸入信號(hào)相關(guān)的預(yù)定類型的功能塊的布置的多個(gè)連續(xù)列,且所述輸出側(cè)模板包括分別接受與輸出信號(hào)相關(guān)的預(yù)定類型的功能塊的布置的多個(gè)連續(xù)列。
文檔編號(hào)G05B19/05GK102411331SQ20111037175
公開日2012年4月11日 申請日期2008年6月12日 優(yōu)先權(quán)日2007年6月12日
發(fā)明者出村義弘, 寺西圭一, 日岡威彥 申請人:歐姆龍株式會(huì)社