專利名稱:產(chǎn)業(yè)用控制器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及產(chǎn)業(yè)用控制器。
背景技術(shù):
在FA (Factory Automation :工廠自動(dòng)化)中的網(wǎng)絡(luò)系統(tǒng)中,生產(chǎn)設(shè)備內(nèi)的承擔(dān)輸 入設(shè)備和輸出設(shè)備的控制的一個(gè)或者多個(gè)PLC(ProgrammableLogic Controller :可編程邏 輯控制器)、與通過(guò)該P(yáng)LC而控制動(dòng)作的設(shè)備,連接到控制系統(tǒng)的網(wǎng)絡(luò)。這些PLC與設(shè)備經(jīng) 由該控制系統(tǒng)的網(wǎng)絡(luò),周期性地進(jìn)行通信,從而進(jìn)行IN數(shù)據(jù)和OUT數(shù)據(jù)(以下,稱為1/0數(shù) 據(jù))的發(fā)送接收,控制生產(chǎn)設(shè)備。 通過(guò)將以下單元等多個(gè)單元進(jìn)行組合而構(gòu)成PLC :CPU單元,基于控制程序來(lái)執(zhí)行 運(yùn)算;輸入單元,連接傳感器或開(kāi)關(guān)等的輸入設(shè)備,從而將它們的開(kāi)/關(guān)信號(hào)作為輸入信號(hào) 來(lái)獲??;輸出單元,連接驅(qū)動(dòng)器(actuator)或繼電器(relay)等的輸出設(shè)備,并對(duì)它們送出 輸出信號(hào);通信單元,與連接到網(wǎng)絡(luò)的其他裝置進(jìn)行數(shù)據(jù)的發(fā)送接收;主控裝置,用于進(jìn)行 主從(master-slave)通信;以及電源單元,對(duì)各個(gè)單元供電。這些單元通過(guò)系統(tǒng)總線而電 連接,并經(jīng)由該系統(tǒng)總線而在規(guī)定的單元之間進(jìn)行數(shù)據(jù)的發(fā)送接收。 在CPU單元中的控制,周期性地重復(fù)如下處理將通過(guò)輸入單元輸入的信號(hào)獲取 到CPU單元的I/0存儲(chǔ)器(IN更新),并基于由預(yù)先注冊(cè)的用戶程序記述語(yǔ)言(例如LADDER 語(yǔ)言)編成的用戶程序來(lái)進(jìn)行邏輯運(yùn)算(運(yùn)算執(zhí)行),并將該運(yùn)算執(zhí)行結(jié)果寫(xiě)入i/o存儲(chǔ)器 而送到輸出單元(OUT更新),之后,進(jìn)行所謂的周邊處理。 在構(gòu)成PLC的單元中,有進(jìn)行特殊的運(yùn)算或控制的特殊單元。該特殊單元中,例如 有具有用于實(shí)施受到溫度等的模擬值而進(jìn)行PID控制等的專用的處理控制(模擬控制)的 程序的功能的處理控制單元,以及進(jìn)行動(dòng)作控制的動(dòng)作控制單元等各種單元。該動(dòng)作控制 單元是可對(duì)多個(gè)電機(jī)進(jìn)行驅(qū)動(dòng)控制的單元,其用途有將多個(gè)電機(jī)的驅(qū)動(dòng)軸設(shè)為3軸(所謂 的X軸、Y軸、Z軸)的方向(左右、前后、上下的3個(gè)方向),并控制驅(qū)動(dòng)系統(tǒng)的對(duì)象物的定 位的例子。 這種特殊單元通常被安裝用戶程序,在CPU單元中的周期性的控制之外,各個(gè)特 殊單元分別單獨(dú)周期性地進(jìn)行用戶程序的安裝和1/0更新和周邊處理等。另外,有想要 將各個(gè)特殊單元控制的設(shè)備的動(dòng)作進(jìn)行同步控制的要求。即,最近進(jìn)行著將在機(jī)械結(jié)構(gòu)構(gòu) 成了的裝置替換為電子的動(dòng)作。這是因?yàn)?,機(jī)械結(jié)構(gòu)不僅維護(hù)麻煩,而且也難進(jìn)行變更和 微調(diào),所以進(jìn)行著容易進(jìn)行通過(guò)軟件變更和數(shù)據(jù)的檢驗(yàn)的電子化。例如,在以往的一條軸 (shaft)(主軸)上使用齒輪或凸輪而與其他的軸(從動(dòng)軸)連接,并在連動(dòng)于該主軸的軸 的移動(dòng)而移動(dòng)各個(gè)軸(從動(dòng)軸)的功能的情況下,為變更相對(duì)于主軸的軸的移動(dòng)的從動(dòng)軸 的動(dòng)作的定時(shí),需要改變凸輪的形狀或者變更齒輪比,所以麻煩。因此,通過(guò)對(duì)主軸的軸或 各個(gè)從動(dòng)軸分別連接不同的驅(qū)動(dòng)電機(jī)以及其他驅(qū)動(dòng)裝置,調(diào)整該驅(qū)動(dòng)裝置的動(dòng)作定時(shí),從 而模擬地再現(xiàn)通過(guò)上述的機(jī)械結(jié)構(gòu)的軸(主軸)和各個(gè)軸(從動(dòng)軸)的連接動(dòng)作。這樣, 能夠簡(jiǎn)單地應(yīng)對(duì)用于變更相對(duì)于主軸的軸的移動(dòng)的從動(dòng)軸的動(dòng)作的定時(shí)的情況。
為進(jìn)行這樣的同步控制,需要采取進(jìn)行軸(主軸)和各個(gè)軸(從動(dòng)軸)的控制的特 殊單元的同步。作為采取這樣的同步的技術(shù),例如有在專利文獻(xiàn)1中公開(kāi)的發(fā)明。在該專利 文獻(xiàn)1中公開(kāi)的發(fā)明是,在用于發(fā)送接收數(shù)據(jù)的系統(tǒng)總線之外,通過(guò)用于發(fā)送同步信號(hào)的 同步專用總線來(lái)連接單元之間,CPU單元經(jīng)由同步專用總線對(duì)各個(gè)特殊單元發(fā)送同步信號(hào),
各個(gè)特殊單元將接收到經(jīng)由所述同步專用總線而發(fā)來(lái)的同步信號(hào)作為契機(jī),執(zhí)行1周期量 的運(yùn)算。此外,實(shí)際的1/0數(shù)據(jù)等的發(fā)送接收是經(jīng)由系統(tǒng)總線來(lái)傳輸。 [OOOS]現(xiàn)有技術(shù)文獻(xiàn)專利文獻(xiàn)1(日本)特開(kāi)2005-293569號(hào)公報(bào) 在上述的專利文獻(xiàn)1的發(fā)明中,能夠使周期主模塊和各個(gè)動(dòng)作控制模塊的周期同
步。但是,需要在系統(tǒng)總線之外另行設(shè)置同步專用總線,所以還存在不僅成為高價(jià),而且不 能利用不具有同步專用總線的以往的硬件結(jié)構(gòu)的課題。
發(fā)明內(nèi)容
為了解決上述的課題,本發(fā)明是(1)由進(jìn)行同步控制的多個(gè)單元構(gòu)成的產(chǎn)業(yè)用控
制器。并且,所述多個(gè)單元中的一個(gè)單元成為進(jìn)行使同步的執(zhí)行定時(shí)一致的控制的周期主
單元。該周期主單元具有在通常的周期性地進(jìn)行的處理之外執(zhí)行以下處理的功能按照
定時(shí)器中斷,對(duì)進(jìn)行同步控制的其他單元,使用在消息發(fā)送和io數(shù)據(jù)發(fā)送時(shí)使用的系統(tǒng)總
線,通過(guò)組播發(fā)送同步數(shù)據(jù)的處理;以及取得所述其他單元的IN數(shù)據(jù)的同步數(shù)據(jù),并執(zhí)行 了基于取得的同步數(shù)據(jù)的中斷任務(wù)處理之后,執(zhí)行用于下一次的組播的準(zhǔn)備處理。進(jìn)行所 述同步控制的其他單元將從所述周期主單元通過(guò)組播接收到所述同步數(shù)據(jù)作為契機(jī),執(zhí)行 同步周期,并伴隨該同步周期的開(kāi)始,取得所述發(fā)來(lái)的同步數(shù)據(jù),并在執(zhí)行了輸入輸出處理 之后,進(jìn)行IN數(shù)據(jù)的同步數(shù)據(jù)的更新(refresh)處理,之后,執(zhí)行包含基于接收到的同步 數(shù)據(jù)的運(yùn)算處理在內(nèi)的周期性地進(jìn)行的處理,并等待接著的通過(guò)組播的所述同步數(shù)據(jù)的接 收。周期主單元執(zhí)行的"其他單元的IN數(shù)據(jù)的同步數(shù)據(jù)的取得"對(duì)應(yīng)于實(shí)施方式中的"同 步數(shù)據(jù)更新處理"。產(chǎn)業(yè)用控制器是在PLC以及其他的FA中使用的各種控制器/控制裝置。
在本發(fā)明中,無(wú)需使用同步專用總線,而使用通用的串行總線,并通過(guò)簡(jiǎn)單的方法 進(jìn)行同步控制。在進(jìn)行同步控制的情況下,CPU單元在規(guī)定的定時(shí),通過(guò)組播(multicast) 發(fā)送同步數(shù)據(jù)。由于該通過(guò)組播的同步數(shù)據(jù)的發(fā)送兼用以往的同步開(kāi)始信號(hào),所以接收到 這樣的同步數(shù)據(jù)的各個(gè)單元開(kāi)始同步周期。然后,各個(gè)單元基于接收到的同步數(shù)據(jù)來(lái)執(zhí)行 各自的處理,所以進(jìn)行能夠確保同時(shí)性的同時(shí),在各個(gè)單元之間對(duì)齊定時(shí)的同步控制。這 樣,基于通過(guò)組播的同步數(shù)據(jù)的發(fā)送處理來(lái)開(kāi)始在各個(gè)單元中的同步周期,所以無(wú)需如以 往那樣發(fā)送用于對(duì)齊同步周期的同步信號(hào)(同步開(kāi)始信號(hào)),不需要同步專用總線,通過(guò)使 用了發(fā)送數(shù)據(jù)的通用的系統(tǒng)總線的通信來(lái)執(zhí)行同步控制。并且,由于各個(gè)單元在同步控制 開(kāi)始當(dāng)初還執(zhí)行輸入輸出處理及同步數(shù)據(jù)的更新處理,所以通過(guò)該更新處理,IN數(shù)據(jù)的同 步數(shù)據(jù)被更新為最新的數(shù)據(jù)。并且,通過(guò)在其之后進(jìn)行的用于取得周期主單元中的IN數(shù)據(jù) 的同步數(shù)據(jù)的處理,在周期主單元中收集各個(gè)單元所具有的最新的同步數(shù)據(jù)(IN)。由于該 最新的同步數(shù)據(jù)反映到下一次的通過(guò)組播的同步數(shù)據(jù)的發(fā)送中,所以周期主單元和各個(gè)單 元能夠始終基于最新的同步數(shù)據(jù)來(lái)執(zhí)行各種處理。 (2)也可以構(gòu)成為,進(jìn)行所述同步控制的其他單元在同步周期開(kāi)始后預(yù)先設(shè)定的
4時(shí)間以內(nèi)完成至所述同步數(shù)據(jù)更新處理,所述周期主單元在通過(guò)組播發(fā)送所述同步數(shù)據(jù)的 處理之后,再次開(kāi)始通常的周期性地進(jìn)行的處理,并在受到所述定時(shí)器中斷起經(jīng)過(guò)了在所 述基準(zhǔn)時(shí)間以上設(shè)定的基準(zhǔn)時(shí)間之后,通過(guò)中斷處理來(lái)執(zhí)行用于取得所述IN數(shù)據(jù)的同步 數(shù)據(jù)的處理。在實(shí)施方式中,時(shí)間A設(shè)為同步周期時(shí)間的1/4,但當(dāng)然也可以設(shè)定其他的時(shí) 間。根據(jù)本發(fā)明,由于周期主單元通過(guò)時(shí)間來(lái)控制在通過(guò)組播的同步數(shù)據(jù)的發(fā)送之后進(jìn)行 的"用于取得IN數(shù)據(jù)的同步數(shù)據(jù)的處理"的開(kāi)始定時(shí),所以無(wú)需監(jiān)視來(lái)自各個(gè)單元的完成 通知,在此期間,能夠執(zhí)行通常的周期性地執(zhí)行的處理,所以較好。 (3)所述周期主單元發(fā)送的同步數(shù)據(jù)包含成為指令值的OUT數(shù)據(jù),基于所述取得 的同步數(shù)據(jù)的中斷處理可以是基于取得的IN數(shù)據(jù)的同步數(shù)據(jù),計(jì)算所述指令值的處理。在 本發(fā)明中,在周期主單元側(cè)計(jì)算各個(gè)單元執(zhí)行的處理的指令值,各個(gè)單元基于受到的指令 值來(lái)進(jìn)行同步控制。 (4)所述同步控制可以是對(duì)應(yīng)于主軸的動(dòng)作而控制1個(gè)或多個(gè)從動(dòng)軸的動(dòng)作的控 制。作為這種同步控制,例如有與連接到附帶變速功能的齒輪箱的輥(roll)相同地移動(dòng)的 電子軸、與機(jī)械凸輪相同地移動(dòng)的電子凸輪等。 (5)所述周期主單元可以是對(duì)產(chǎn)業(yè)用控制器整體進(jìn)行統(tǒng)一控制的CPU單元。另外, 在本發(fā)明中,周期主單元當(dāng)然也可以是CPU單元以外的單元。 (6)也可以是,所述周期主單元具有與通過(guò)組播的同步數(shù)據(jù)一同發(fā)送同步停止命 令的功能,若所述其他單元接收到同步停止命令,則停止同步控制。該同步停止命令也可以 對(duì)進(jìn)行同步控制的全部單元進(jìn)行,也可以對(duì)一部分單元進(jìn)行。這樣,能夠?qū)M(jìn)行同步控制的 規(guī)定的單元,在啟動(dòng)之后,解除同步控制,進(jìn)行基于非同步的控制,能夠根據(jù)系統(tǒng)的狀況進(jìn) 行靈活且合適的控制。 本發(fā)明能夠利用從以往開(kāi)始在單元之間對(duì)數(shù)據(jù)進(jìn)行發(fā)送接收時(shí)使用的總線(系 統(tǒng)總線)來(lái)實(shí)現(xiàn)同步控制功能,而無(wú)需具有同步控制專用的總線。此外,能夠確保各個(gè)單元 的執(zhí)行周期同時(shí)性的同時(shí)基于最新的數(shù)據(jù)來(lái)進(jìn)行同步控制。
圖1是表示本發(fā)明的優(yōu)選的一實(shí)施方式的圖。 圖2是說(shuō)明各個(gè)單元的功能的圖。 圖3是表示從IN數(shù)據(jù)至輸出OUT數(shù)據(jù)為止的流程的圖。 圖4是說(shuō)明具體的數(shù)據(jù)的流向的圖。 圖5是說(shuō)明同步停止功能的圖。 標(biāo)號(hào)說(shuō)明 10 PLC 11 CPU單元 12計(jì)數(shù)器單元 13位置控制單元
具體實(shí)施例方式
如圖1所示那樣,本實(shí)施方式的PLC10是連接多個(gè)單元而構(gòu)成的組合式類型。在圖中,該多個(gè)單元至少具有一個(gè)CPU單元ll,還具有作為特殊單元的計(jì)數(shù)器單元12以及位 置控制單元13。此外,PLC10還包括輸入單元14、輸出單元15、省略圖示的電源單元、通信 單元等的通常的單元。這些各個(gè)單元通過(guò)將設(shè)置在單元的側(cè)面的連接器之間進(jìn)行連接,從 而電連接。通過(guò)這種連接,各個(gè)單元通過(guò)系統(tǒng)總線10a連接,進(jìn)行單元之間的數(shù)據(jù)的發(fā)送接 收。 特殊單元周期性地執(zhí)行運(yùn)算處理、10更新、共同處理、周邊服務(wù)等一系列的處理。 不僅如輸入單元或輸出單元那樣,進(jìn)入連接到的IO設(shè)備和CPU單元之間,進(jìn)行IO數(shù)據(jù)的交 接那樣的單純的處理,還具有周期性地執(zhí)行規(guī)定的運(yùn)算處理,控制自己連接的輸出設(shè)備的 動(dòng)作等的功能。由此可知,還有被稱為高功能單元等的情況。運(yùn)算處理可以是執(zhí)行預(yù)先設(shè) 定的程序的處理,還可以是執(zhí)行用戶程序的處理。 CPU單元11包括MPUlla、系統(tǒng)存儲(chǔ)器11b、工件存儲(chǔ)器11c、用戶存儲(chǔ)器lld、 10 存儲(chǔ)器lle、運(yùn)算ASICllf、總線接口 llg。 MPUlla是CPU單元用的微處理器單元,通過(guò)執(zhí)行 存儲(chǔ)在系統(tǒng)存儲(chǔ)器lib中的系統(tǒng)程序,對(duì)PLC整體進(jìn)行統(tǒng)一控制。此外,還有構(gòu)成為執(zhí)行存 儲(chǔ)在用戶存儲(chǔ)器lid中的用戶程序的一部分的情況。 系統(tǒng)存儲(chǔ)器llb是用于存儲(chǔ)CPU單元用的系統(tǒng)程序的非易失性的存儲(chǔ)器。工件 (work)存儲(chǔ)器llc是在MPUlla動(dòng)作時(shí)作為工件而使用的存儲(chǔ)器,且由RAM等實(shí)現(xiàn)。用戶存 儲(chǔ)器lld是用于存儲(chǔ)為了使PLC動(dòng)作以控制外部設(shè)備而用戶生成的程序(用戶程序)的存 儲(chǔ)器。10存儲(chǔ)器lle存儲(chǔ)經(jīng)由輸入單元14而從外部設(shè)備獲得的數(shù)據(jù),或者存儲(chǔ)作為用戶程 序的執(zhí)行結(jié)果而經(jīng)由輸出單元15輸出到外部設(shè)備的數(shù)據(jù)。此外,在該IO存儲(chǔ)器lie中,還 存儲(chǔ)有用于規(guī)定CPU單元ll的動(dòng)作的參數(shù)等。這些存儲(chǔ)器根據(jù)功能,作為不同的模塊分別 描畫(huà),但在實(shí)際設(shè)備中,也可以將多個(gè)存儲(chǔ)器物理上分配給相同存儲(chǔ)器的不同的地址中。
運(yùn)算AISCllf是用于執(zhí)行存儲(chǔ)在用戶存儲(chǔ)器lid中的用戶程序的ASIC。此外,總 線接口 llg是承擔(dān)與系統(tǒng)總線10a的接口的接口 。 此外,計(jì)數(shù)器單元12包括MPU12a、系統(tǒng)存儲(chǔ)器12b、工件存儲(chǔ)器12c、以及計(jì)數(shù)器 12d。 MPU12a通過(guò)執(zhí)行存儲(chǔ)在系統(tǒng)存儲(chǔ)器12b中的系統(tǒng)程序來(lái)控制計(jì)數(shù)器單元12。系統(tǒng)存 儲(chǔ)器12b是用于存儲(chǔ)計(jì)數(shù)器單元用的系統(tǒng)程序的非易失性的存儲(chǔ)器。工件存儲(chǔ)器12c是在 MPU12a動(dòng)作時(shí)作為工件而使用的存儲(chǔ)器,且由RAM等實(shí)現(xiàn)。計(jì)數(shù)器12d具有對(duì)來(lái)自外部設(shè) 備(例如,伴隨伺服電機(jī)2的輸出軸的旋轉(zhuǎn),在每規(guī)定角度輸出脈沖的編碼器3)的脈沖進(jìn) 行計(jì)數(shù)的功能。此外,總線接口 11g是承擔(dān)與系統(tǒng)總線10a的接口的接口。
位置控制單元13包括MPU13a、系統(tǒng)存儲(chǔ)器13b、工件存儲(chǔ)器13c、用戶存儲(chǔ)器 13d、脈沖發(fā)生器13e、總線接口 13f。 MPU13a通過(guò)執(zhí)行存儲(chǔ)在系統(tǒng)存儲(chǔ)器13b中的系統(tǒng)程 序,控制位置控制單元13。此外,還有構(gòu)成為執(zhí)行存儲(chǔ)在用戶存儲(chǔ)器13d中的用戶程序的 一部分的情況。系統(tǒng)存儲(chǔ)器13b是用于存儲(chǔ)位置控制單元用的系統(tǒng)程序的非易失性的存儲(chǔ) 器。工件(work)存儲(chǔ)器13c是在MPU13a動(dòng)作時(shí)作為工件而使用的存儲(chǔ)器,且由RAM等實(shí) 現(xiàn)。用戶存儲(chǔ)器13d是用于存儲(chǔ)為了使位置控制單元13動(dòng)作以控制外部設(shè)備而用戶生成 的程序(用戶程序)的存儲(chǔ)器。脈沖產(chǎn)生器13e具有對(duì)外部設(shè)備(例如,伺服驅(qū)動(dòng)器l)輸 出操作輸出信號(hào)的功能。此外,總線接口 13f是承擔(dān)與系統(tǒng)總線10a的接口的接口。
另外,構(gòu)成上述的各個(gè)單元的硬件結(jié)構(gòu)本身與以往的結(jié)構(gòu)相同。這里,在本實(shí)施方 式中,CPU單元11和作為特殊單元的計(jì)數(shù)器單元12以及位置控制單元13進(jìn)行單元間同步
6控制。然后,使用系統(tǒng)總線10a發(fā)送同步信號(hào)。需要在進(jìn)行該同步控制時(shí)發(fā)出同步信號(hào)的 作為主單元起作用的單元,在本實(shí)施方式中,CPU單元代替進(jìn)行該動(dòng)作。
如圖2所示那樣,作為成為周期主單元的單元(這里是,CPU單元11)的動(dòng)作,準(zhǔn) 備了與周期性的通常周期處理不同地動(dòng)作的同步周期。在通常周期中,與以往的PLC的CPU 單元相同地,重復(fù)執(zhí)行共同處理、周期執(zhí)行任務(wù)處理、周邊服務(wù)處理、1/0更新處理等。在圖 2中,作為I/O更新處理的例子,示出"基本I/O更新"、"高功能I/O周期性服務(wù)"、"CPU高 功能周期性服務(wù)"。在"基本I/O更新"中,進(jìn)行被稱為基本I/O單元的輸入單元14或輸出 單元15等之間的數(shù)據(jù)交換。在"高功能I/O周期性服務(wù)"、"CPU高功能周期性服務(wù)"中,分 別進(jìn)行被稱為高功能I/O單元、CPU高功能單元的特殊單元之間的數(shù)據(jù)交換。在該通常周 期的1/0更新處理中進(jìn)行的其他單元之間的數(shù)據(jù)交換以非同步執(zhí)行。這里,以非同步執(zhí)行 的含義是,與以后述的同步單元的同步周期執(zhí)行的周期性服務(wù)不連動(dòng)的含義。另一方面,與 作為同步對(duì)象的單元的同步單元(計(jì)數(shù)器單元12、位置控制單元13)使同步數(shù)據(jù)同步的同 時(shí)進(jìn)行數(shù)據(jù)交換的處理是以同步周期進(jìn)行。 同步周期以在CPU單元ll中的同步中斷任務(wù)的執(zhí)行周期定期執(zhí)行。在同步周期 的處理中,進(jìn)行同步數(shù)據(jù)的共享和更新(數(shù)據(jù)鏈接(data link))。此外,在該定時(shí)執(zhí)行各 個(gè)同步單元的運(yùn)算/輸入輸出處理。這樣,在與同步單元之間,關(guān)于同步數(shù)據(jù)的I/O更新完 成。在該同步周期的處理執(zhí)行的期間,中斷通常周期的處理。將同步中斷任務(wù)的執(zhí)行周期 稱為同步周期時(shí)間,通過(guò)以該一定的周期(例如,lmsec)進(jìn)行的同步數(shù)據(jù)的共享和各個(gè)單 元的處理的同步化,在同步周期時(shí)間進(jìn)行最新的IO數(shù)據(jù)的I/O更新,所以CPU單元11和各 個(gè)同步單元12、 13能夠?qū)崿F(xiàn)沒(méi)有偏差的一定周期的控制。 在本實(shí)施方式中,若在啟動(dòng)時(shí)設(shè)定同步模式而進(jìn)行同步控制的同步單元從CPU單 元接收到通過(guò)組播的同步數(shù)據(jù),則識(shí)別為其就是同步周期的開(kāi)始定時(shí),進(jìn)行用于開(kāi)始同步 周期的控制。 在該同步周期執(zhí)行的具體的處理,首先,若CPU單元11的MPUlla受到用于同步周 期的Lv. 15定時(shí)器中斷(最優(yōu)先處理),則中斷當(dāng)前執(zhí)行中的通常周期的處理的同時(shí)啟動(dòng) Lv. 15定時(shí)器。在圖2中,"CPU高功能周期性服務(wù)"被中斷,但有時(shí)根據(jù)定時(shí)器中斷的產(chǎn)生 定時(shí)而被中斷的處理當(dāng)然是不同的。此外,該中斷僅是在以下說(shuō)明的同步周期中的實(shí)際處 理的執(zhí)行中的期間,除此之外的期間執(zhí)行通常周期的處理。 受到Lv. 15定時(shí)器中斷的MPUlla,首先,作為"同步處理",利用系統(tǒng)總線10a,對(duì)各 個(gè)同步單元12、13通過(guò)組播發(fā)送在CPU單元11的數(shù)據(jù)鏈接中存儲(chǔ)的最新的10數(shù)據(jù)(同步 數(shù)據(jù)對(duì)于各個(gè)同步單元的指令值)。通過(guò)該組播發(fā)送的同步數(shù)據(jù)對(duì)全部同步單元通過(guò)組 播來(lái)發(fā)送,所以是各個(gè)同步單元需要的數(shù)據(jù)的全部(總和),還有在某一同步單元中不需要 的數(shù)據(jù)。此外,如后所述那樣,在本系統(tǒng)的同步控制中,CPU單元在同步控制周期中從各個(gè) 同步單元收集同步數(shù)據(jù),并在后述的同步中斷任務(wù)處理之后,在下一次的同步控制周期時(shí) 通過(guò)組播分配給各個(gè)同步單元,所以從各個(gè)同步單元來(lái)看,在本次的組播通信中,接受到以 前一次的同步控制周期通過(guò)CPU單元進(jìn)行了處理的信息。 接受到該通過(guò)組播的同步數(shù)據(jù)的同步單元,在該定時(shí)開(kāi)始自己的同步控制周期。 即,在系統(tǒng)總線10a上流過(guò)組播的幀,所以在接收側(cè)的同步單元的總線接口 12e、13f解釋為 組播的幀,各個(gè)接口對(duì)各自的MPU12a、 13a進(jìn)行組播接收的中斷。同步單元12 、 13的MPU12a、
713a將其作為契機(jī)開(kāi)始同步單元側(cè)的同步周期。即,取得通過(guò)組播送來(lái)的同步數(shù)據(jù)。該取 得的同步數(shù)據(jù)存儲(chǔ)在事先分配的工件存儲(chǔ)器12c內(nèi)的存儲(chǔ)器區(qū)域中。然后,執(zhí)行對(duì)于連接 到該同步單元的設(shè)備的輸出和輸入處理。在本實(shí)施方式的情況下,計(jì)數(shù)器單元12將在輸 入處理中計(jì)數(shù)器12d計(jì)數(shù)的值寫(xiě)入工件存儲(chǔ)器12c。此外,在位置控制單元的情況下,經(jīng)由 脈沖產(chǎn)生器13e對(duì)伺服驅(qū)動(dòng)器1傳送在下一個(gè)周期中的指令值。之后,各自的MPU12a、13a 執(zhí)行同步數(shù)據(jù)的更新處理。該同步數(shù)據(jù)在與CPU單元之間通過(guò)數(shù)據(jù)鏈接方式轉(zhuǎn)交給CPU單 元。于是,預(yù)先在同步數(shù)據(jù)的更新處理中在同步單元內(nèi)設(shè)定的、用于數(shù)據(jù)鏈接的規(guī)定的存儲(chǔ) 器區(qū)域(數(shù)據(jù)鏈接區(qū)域)內(nèi)的規(guī)定的地址中,存儲(chǔ)應(yīng)發(fā)送的同步數(shù)據(jù)(反饋值(IN數(shù)據(jù)) 等)。 各個(gè)同步單元12動(dòng)作,使得在同步周期的1/4之前完成該同步數(shù)據(jù)更新處理。在 該同步數(shù)據(jù)更新處理之后,進(jìn)行運(yùn)算處理、公共處理、周邊服務(wù)、周期性服務(wù),并等待下一次 通過(guò)組播的同步數(shù)據(jù)的接收。另外,作為周期性服務(wù),例如有對(duì)通過(guò)上述的同步數(shù)據(jù)更新進(jìn) 行了發(fā)送接收的同步數(shù)據(jù)以外的一般的數(shù)據(jù),在與CPU單元之間進(jìn)行的非同步的數(shù)據(jù)交換 處理。該非同步的數(shù)據(jù)交換處理,與以往技術(shù)相同所以避免詳細(xì)敘述,通過(guò)以下構(gòu)成能夠?qū)?現(xiàn)概略。同步單元側(cè)具有與CPU單元之間的共享存儲(chǔ)器,在該共享存儲(chǔ)器上,設(shè)置用于存儲(chǔ) 想要從同步單元轉(zhuǎn)交給CPU單元的數(shù)據(jù)的區(qū)域,以及想要從CPU單元轉(zhuǎn)交給同步單元的數(shù) 據(jù)的區(qū)域。同步單元在同步單元的周期性服務(wù)中讀寫(xiě)該共享存儲(chǔ)器,CPU單元通過(guò)在CPU單 元的通常周期的1/0更新處理(在圖2的例子中,由于假設(shè)同步單元為高功能1/0單元,所 以相當(dāng)于高功能周期性服務(wù))中進(jìn)行讀寫(xiě),從而能夠進(jìn)行單元之間的數(shù)據(jù)交換。另外,同步 單元側(cè)的周期性服務(wù)的執(zhí)行定時(shí)和CPU單元側(cè)的I/O更新處理的執(zhí)行定時(shí)不同步。
另一方面,在CPU單元11側(cè),在執(zhí)行"同步處理"之后停止中斷,再次開(kāi)始通常周 期的執(zhí)行。然后,CPU單元ll產(chǎn)生用于同步周期的Lv. 15定時(shí)器中斷之后,經(jīng)過(guò)了同步周期 定時(shí)(例如lmsec)的1/4,則產(chǎn)生Lv. 15定時(shí)器中斷。MPUlla受到該定時(shí)器中斷,再次中 斷執(zhí)行中的通常周期的處理,執(zhí)行同步周期的處理,即"同步數(shù)據(jù)更新處理"、"同步中斷任 務(wù)處理"、"同步準(zhǔn)備處理"。"同步數(shù)據(jù)更新處理"是指,CPU單元取得同步單元通過(guò)數(shù)據(jù)鏈 接方式而在同步數(shù)據(jù)更新處理中存儲(chǔ)在同步單元的數(shù)據(jù)鏈接區(qū)域內(nèi)的同步數(shù)據(jù),并在CPU 單元的數(shù)據(jù)鏈接區(qū)域中存儲(chǔ)該同步數(shù)據(jù)的處理。此外,"同步中斷任務(wù)處理"是指,執(zhí)行預(yù)先 設(shè)定的同步中斷程序的處理。該同步中斷程序是指,基于在同步數(shù)據(jù)更新處理中取得的同 步數(shù)據(jù)(IN數(shù)據(jù)),求出在下一個(gè)同步周期的同步處理中發(fā)送到各個(gè)同步單元的同步數(shù)據(jù) (OUT數(shù)據(jù)/指令值)的程序。"同步處理準(zhǔn)備處理"是指,在下一個(gè)同步周期的同步處理中 發(fā)送到各個(gè)同步單元的準(zhǔn)備,將對(duì)所述程序進(jìn)行運(yùn)算執(zhí)行而算出的同步數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)鏈 接區(qū)域的對(duì)應(yīng)的部位的處理。若執(zhí)行了該一系列的處理,則CPU單元停止中斷,再次開(kāi)始通 常周期。 在本實(shí)施方式中,在進(jìn)行了同步處理之后,不僅等待接收同步單元的同步數(shù)據(jù)更 新處理完成通知,還通過(guò)定時(shí)器的時(shí)間來(lái)進(jìn)行同步數(shù)據(jù)更新,所以能夠在同步處理完成之 后,執(zhí)行通常周期的處理。 接著,若受到用于同步周期開(kāi)始的Lv. 15定時(shí)器中斷,則將在同步處理準(zhǔn)備中存 儲(chǔ)的同步數(shù)據(jù)通過(guò)組播發(fā)送到各個(gè)同步單元。以下,通過(guò)進(jìn)行上述的重復(fù),各個(gè)同步單元能 夠使用最新的同步數(shù)據(jù),與同步控制周期的開(kāi)始同時(shí)進(jìn)行同步控制。因此,進(jìn)行高精度的同步控制。并且,CPU單元和各個(gè)同步單元能夠共享最新的同步數(shù)據(jù),進(jìn)行動(dòng)作。此外,CPU單 元使用中斷禁止等級(jí)高(在本實(shí)施方式中,優(yōu)先級(jí)最大)的定時(shí)器中斷處理以使組播的定 時(shí)不會(huì)在每個(gè)周期、以一定間隔產(chǎn)生偏差,從而能夠防止偏差。 這樣,例如圖3所示那樣,在同步單元(計(jì)數(shù)器單元12)取得的數(shù)據(jù)(計(jì)數(shù)器值) 在該取得的同步周期中通過(guò)數(shù)據(jù)鏈接方式的同步數(shù)據(jù)更新(IN)轉(zhuǎn)發(fā)給CPU單元1,并在下 一個(gè)同步周期的同步處理中基于該計(jì)數(shù)值的指令值(0UT數(shù)據(jù))送到各自的同步單元(位 置控制單元13),脈沖被輸出。 接著,基于圖4,說(shuō)明上述的同步控制的動(dòng)作。該例子是多個(gè)從動(dòng)軸需要基于主軸 的位置信息協(xié)調(diào)地動(dòng)作的應(yīng)用,包括用于檢測(cè)主軸的位置的計(jì)數(shù)器單元12和用于使主軸 和從動(dòng)軸動(dòng)作的位置控制單元13。這里,有2個(gè)連接有2個(gè)從動(dòng)軸用的輸出設(shè)備(伺服電 機(jī)等)的位置控制單元13。另外,雖省略圖示,但PLC還包括對(duì)用于驅(qū)動(dòng)主軸的伺服電機(jī)進(jìn) 行控制的單元。該主軸用的單元既可以與從動(dòng)軸用的單元相同,也可以不同。
首先,執(zhí)行某一同步周期,計(jì)數(shù)器單元12取得主軸的伺服電機(jī)的位置等的主軸數(shù) 據(jù),通過(guò)計(jì)數(shù)器單元12內(nèi)的同步數(shù)據(jù)更新,在計(jì)數(shù)器單元的數(shù)據(jù)鏈接區(qū)域中存儲(chǔ)主軸數(shù)據(jù) (圖2、圖4中的"a")。 該主軸數(shù)據(jù)通過(guò)Lv. 15定時(shí)器中斷的CPU單元的同步數(shù)據(jù)更新(IN)處理,存儲(chǔ)到 CPU單元的數(shù)據(jù)鏈接區(qū)域的規(guī)定位置中(圖2、圖4中的"b")。然后,基于存儲(chǔ)的主軸數(shù)據(jù), 作為同步中斷任務(wù)處理,用于各從動(dòng)軸而執(zhí)行程序(從動(dòng)軸1軸程序 從動(dòng)軸4軸程序) (圖2、圖4中的"c")。接著,執(zhí)行"同步處理準(zhǔn)備",并將通過(guò)程序的執(zhí)行而求出的各個(gè)從 動(dòng)軸的指令值(從動(dòng)軸1數(shù)據(jù) 從動(dòng)軸4數(shù)據(jù))存儲(chǔ)到CPU單元的數(shù)據(jù)鏈接區(qū)域的規(guī)定區(qū) 域中(圖2、圖4中的"d")。 然后,通過(guò)接下來(lái)的基于Lv. 15定時(shí)器中斷的同步處理,上述存儲(chǔ)的各從動(dòng)軸數(shù) 據(jù)作為同步數(shù)據(jù),通過(guò)組播送到各個(gè)位置控制單元(圖2、圖4中的"e")。各個(gè)位置控制單 元接收該同步數(shù)據(jù),并將與自己相關(guān)的從動(dòng)軸數(shù)據(jù)存儲(chǔ)到預(yù)先決定的各個(gè)位置控制單元的 數(shù)據(jù)鏈接區(qū)域中(圖2、圖4中的"f")。這樣,基于主軸的動(dòng)作(最新的數(shù)據(jù))進(jìn)行各個(gè)從 動(dòng)軸的控制。 接著,基于圖5說(shuō)明同步單元的停止功能。在本實(shí)施方式中,同步單元能夠切換進(jìn) 行同步控制的同步模式和不進(jìn)行同步控制的非同步模式。該切換是通過(guò)設(shè)定開(kāi)關(guān)的切換、 使用設(shè)定工具裝置等進(jìn)行對(duì)內(nèi)部存儲(chǔ)器的設(shè)定等來(lái)進(jìn)行,在啟動(dòng)時(shí)確定通過(guò)哪個(gè)模式動(dòng) 作。然后,識(shí)別為在啟動(dòng)時(shí)進(jìn)行了同步模式的設(shè)定的情況下,若受到組播的中斷(接收同時(shí) 數(shù)據(jù)),則動(dòng)作以使其開(kāi)始同步周期。并且,具有如下功能在這樣以同步模式動(dòng)作的情況 下,對(duì)執(zhí)行單元間同步控制的全部同步單元或者任意組合的同步單元,停止執(zhí)行中的功能。 具體地說(shuō),與通過(guò)組播發(fā)送的同步數(shù)據(jù)一并發(fā)送如圖5所示那樣的用于通知有無(wú)同步停止 的標(biāo)記。該標(biāo)記有對(duì)全部的同步單元提供停止指令的全部同步單元停止、和對(duì)預(yù)先設(shè)定的 組合的單元提供停止指令的同步組停止。并且,將CPU單元的數(shù)據(jù)鏈接區(qū)域的規(guī)定地址設(shè) 為用于通知該停止命令的區(qū)域。在圖5中,確保了 15比特的區(qū)域,該區(qū)域的第15比特成為 全部同步單元停止繼電器(relay),通過(guò)將該繼電器設(shè)為0N,對(duì)全部同步單元同時(shí)提供用 于停止執(zhí)行中的動(dòng)作的指令。此外,該區(qū)域的00 14比特成為同步組停止繼電器(relay)。 通過(guò)將該繼電器設(shè)為ON,對(duì)被選擇與同步單元側(cè)的同步組停止選擇參數(shù)對(duì)應(yīng)的比特的同步
9單元,提供用于停止執(zhí)行中的動(dòng)作的指令。圖中,若"02"比特成為ON,則預(yù)先相關(guān)聯(lián)的同步
單元2、3的同步控制被停止。此時(shí),同步單元1、4在其之后也繼續(xù)進(jìn)行同步控制。 這樣,即使是在啟動(dòng)之后,也可以根據(jù)來(lái)自CPU單元的通知,停止對(duì)于一部分或者
全部同步單元的同步控制。當(dāng)然,也可以在其之后將對(duì)應(yīng)的比特設(shè)為OFF,從而解除停止,再
次開(kāi)始同步控制。
權(quán)利要求
一種產(chǎn)業(yè)用控制器,由進(jìn)行同步控制的多個(gè)單元構(gòu)成,其特征在于,所述多個(gè)單元中的一個(gè)單元成為進(jìn)行使同步的執(zhí)行定時(shí)一致的控制的周期主單元,該周期主單元具有在通常的周期性地進(jìn)行的處理之外執(zhí)行以下處理的功能按照定時(shí)器中斷,對(duì)進(jìn)行同步控制的其他單元,使用在消息發(fā)送和IO數(shù)據(jù)發(fā)送時(shí)使用的系統(tǒng)總線,通過(guò)組播發(fā)送同步數(shù)據(jù)的處理;以及取得所述其他單元的IN數(shù)據(jù)的同步數(shù)據(jù),并執(zhí)行了基于取得的同步數(shù)據(jù)的中斷任務(wù)處理之后,執(zhí)行用于下一次的組播的準(zhǔn)備處理,進(jìn)行所述同步控制的其他單元將從所述周期主單元通過(guò)組播接收到所述同步數(shù)據(jù)作為契機(jī),執(zhí)行同步周期,并伴隨該同步周期的開(kāi)始,取得所述發(fā)來(lái)的同步數(shù)據(jù),并在執(zhí)行了輸入輸出處理之后,進(jìn)行IN數(shù)據(jù)的同步數(shù)據(jù)的更新處理,之后,進(jìn)行基于接收到的同步數(shù)據(jù)的運(yùn)算處理,并在等到接著的通過(guò)組播的所述同步數(shù)據(jù)的接收之后,輸出所述運(yùn)算處理結(jié)果。
2. 如權(quán)利要求l所述的產(chǎn)業(yè)用控制器,其特征在于,所述周期主單元在通過(guò)組播發(fā)送所述同步數(shù)據(jù)的處理之后,再次開(kāi)始通常的周期性地 進(jìn)行的處理,并在受到所述定時(shí)器中斷之后,通過(guò)在經(jīng)過(guò)了基準(zhǔn)時(shí)間時(shí)進(jìn)行的中斷處理來(lái) 執(zhí)行用于取得所述IN數(shù)據(jù)的同步數(shù)據(jù)的處理,所述基準(zhǔn)時(shí)間設(shè)定在進(jìn)行所述同步控制的 其他單元開(kāi)始同步周期起到所述同步數(shù)據(jù)更新處理為止所需的時(shí)間以上。
3. 如權(quán)利要求1或2所述的產(chǎn)業(yè)用控制器,其特征在于, 所述周期主單元發(fā)送的同步數(shù)據(jù)包含成為指令值的OUT數(shù)據(jù),基于所述取得的同步數(shù)據(jù)的中斷處理是,基于取得的所述IN數(shù)據(jù)的同步數(shù)據(jù)來(lái)計(jì)算 所述指令值的處理。
4. 如權(quán)利要求1至3的任一項(xiàng)所述的產(chǎn)業(yè)用控制器,其特征在于, 所述同步控制是對(duì)應(yīng)于主軸的動(dòng)作而控制1個(gè)或多個(gè)從動(dòng)軸的動(dòng)作的控制。
5. 如權(quán)利要求1至4的任一項(xiàng)所述的產(chǎn)業(yè)用控制器,其特征在于, 所述周期主單元是對(duì)產(chǎn)業(yè)用控制器整體進(jìn)行統(tǒng)一控制的CPU單元。
6. 如權(quán)利要求1至5的任一項(xiàng)所述的產(chǎn)業(yè)用控制器,其特征在于, 所述周期主單元具有與通過(guò)組播的同步數(shù)據(jù)一同發(fā)送同步停止命令的功能, 若所述其他單元接收到同步停止命令,則停止同步控制。
全文摘要
提供一種產(chǎn)業(yè)用控制器,利用從以往開(kāi)始在單元之間對(duì)數(shù)據(jù)進(jìn)行發(fā)送接收時(shí)使用的總線(系統(tǒng)總線)來(lái)實(shí)現(xiàn)同步控制功能,而無(wú)需具有同步控制專用的總線。若在通常的周期性地進(jìn)行的處理執(zhí)行中進(jìn)入定時(shí)器中斷,則CPU單元中斷該處理,對(duì)進(jìn)行同步控制的其他的同步單元,使用系統(tǒng)總線通過(guò)組播發(fā)送同步數(shù)據(jù)。同步單元將接收到通過(guò)組播的同步數(shù)據(jù)作為契機(jī),執(zhí)行同步周期,并伴隨該同步周期的開(kāi)始,取得接收到的同步數(shù)據(jù),并在執(zhí)行了輸入輸出處理之后,進(jìn)行IN數(shù)據(jù)的同步數(shù)據(jù)的更新處理(a)。CPU單元進(jìn)行該IN數(shù)據(jù)的同步數(shù)據(jù)更新(b),并通過(guò)同步中斷任務(wù)處理求出接著發(fā)送的同步數(shù)據(jù)(c)。同步單元始終取得最新的同步數(shù)據(jù),同時(shí)動(dòng)作。
文檔編號(hào)G05B19/05GK101794131SQ20101010376
公開(kāi)日2010年8月4日 申請(qǐng)日期2010年1月25日 優(yōu)先權(quán)日2009年2月2日
發(fā)明者和泉俊郎 申請(qǐng)人:歐姆龍株式會(huì)社