可編程控制器的cpu單元、可編程控制器用的系統(tǒng)程序以及存儲(chǔ)了可編程控制器用的系統(tǒng) ...的制作方法
【專(zhuān)利摘要】一種微處理器,控制第1通信電路以及第2通信電路之中的至少一方,以便并行執(zhí)行以下處理:第1輸入輸出處理,包含將輸出數(shù)據(jù)從第1轉(zhuǎn)發(fā)緩沖器經(jīng)過(guò)第1通信電路輸出至PLC系統(tǒng)總線上的第1設(shè)備的處理、和將輸入數(shù)據(jù)從第1設(shè)備經(jīng)過(guò)第1通信電路輸入至第1轉(zhuǎn)發(fā)緩沖器的處理;以及第2輸入輸出處理,包含將輸出數(shù)據(jù)從第2轉(zhuǎn)發(fā)緩沖器經(jīng)過(guò)第2通信電路輸出至現(xiàn)場(chǎng)網(wǎng)絡(luò)上的第2設(shè)備的處理、和將輸入數(shù)據(jù)從第2設(shè)備經(jīng)過(guò)第2通信電路輸入至第2轉(zhuǎn)發(fā)緩沖器的處理。
【專(zhuān)利說(shuō)明】可編程控制器的CPU單元、可編程控制器用的系統(tǒng)程序以及存儲(chǔ)了可編程控制器用的系統(tǒng)程序的記錄介質(zhì)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及用于控制機(jī)械或設(shè)備等的動(dòng)作而使用的PLC (Progra_able LogicController,或也被稱為可編程控制器)中的輸出處理以及輸入處理。
【背景技術(shù)】
[0002]PLC由例如包含執(zhí)行控制程序的微處理器的CPU (Central Processing Unit)單元、擔(dān)當(dāng)來(lái)自外部的開(kāi)關(guān)或傳感器的信號(hào)輸入以及至外部的繼電器或執(zhí)行器的信號(hào)輸出的IO (Input Output)單元的多個(gè)單元而構(gòu)成。這些單元之間,每個(gè)控制程序的執(zhí)行循環(huán),經(jīng)由PLC系統(tǒng)總線以及/或者現(xiàn)場(chǎng)網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)的交接,同時(shí)PLC執(zhí)行控制動(dòng)作。
[0003]例如,在專(zhuān)利文獻(xiàn)I (特開(kāi)2003-29809號(hào)公報(bào))中,公開(kāi)了 PLC的CPU單元進(jìn)行用于在本地1/0單元之間經(jīng)由1/0總線(PLC系統(tǒng)總線)轉(zhuǎn)發(fā)1/0數(shù)據(jù)的通信,同時(shí)進(jìn)行用于在遠(yuǎn)程1/0從動(dòng)裝置之間經(jīng)由網(wǎng)絡(luò)(現(xiàn)場(chǎng)網(wǎng)絡(luò))轉(zhuǎn)發(fā)1/0數(shù)據(jù)的通信的結(jié)構(gòu)。與本地1/0單元之間的輸入輸出、以及遠(yuǎn)程1/0從動(dòng)裝置之間的輸入輸出并行進(jìn)行。在CPU單元中,1/0數(shù)據(jù)存儲(chǔ)于數(shù)據(jù)存儲(chǔ)器。設(shè)置控制對(duì)于數(shù)據(jù)存儲(chǔ)器的接入的判別器。為了經(jīng)由I/o總線轉(zhuǎn)發(fā)I/o數(shù)據(jù),PLC命令執(zhí)行部經(jīng)由判別器接入至數(shù)據(jù)存儲(chǔ)器。PLC命令執(zhí)行部使用1/0總線I/F部進(jìn)行經(jīng)由1/0總線的通信。為了經(jīng)由網(wǎng)絡(luò)轉(zhuǎn)發(fā)1/0數(shù)據(jù),遠(yuǎn)程1/0主控部經(jīng)由判別器接入至數(shù)據(jù)存儲(chǔ)器。進(jìn)而,數(shù)據(jù)存儲(chǔ)器在PLC命令執(zhí)行部執(zhí)行命令(控制程序)時(shí)也被接入。即,數(shù)據(jù)存儲(chǔ)器作為共享存儲(chǔ)器被使用,為了相同的數(shù)據(jù)存儲(chǔ)器經(jīng)由1/0總線的數(shù)據(jù)轉(zhuǎn)發(fā)、經(jīng)由網(wǎng)絡(luò)的數(shù)據(jù)轉(zhuǎn)發(fā)、以及控制程序執(zhí)行,通過(guò)判別器調(diào)停并接入。
[0004]現(xiàn)有技術(shù)文獻(xiàn)
[0005]專(zhuān)利文獻(xiàn)
[0006]專(zhuān)利文獻(xiàn)1:特開(kāi)2003-029809號(hào)公報(bào)
【發(fā)明內(nèi)容】
[0007]發(fā)明要解決的課題
[0008]在PLC中,使用作為控制程序的執(zhí)行部被專(zhuān)門(mén)開(kāi)發(fā)出的ASIC,CPU單元整體的構(gòu)造也由各PLC廠商獨(dú)自被開(kāi)發(fā)出。但是,近年,伴隨用于通用計(jì)算機(jī)的通用微處理器的性能提高,變得可利用作為PLC的控制程序的執(zhí)行部的通用微處理器。在使用通用微處理器構(gòu)成PLC的CPU單元的情況下,CPU單元整體的構(gòu)造也盡量接近通用計(jì)算機(jī),但優(yōu)選減輕開(kāi)發(fā)負(fù)擔(dān)或降低成本的觀點(diǎn)。此時(shí),如專(zhuān)利文獻(xiàn)I所示,對(duì)于相同的數(shù)據(jù)存儲(chǔ)器,通過(guò)判別器,經(jīng)由PLC系統(tǒng)總線的輸入輸出、經(jīng)由現(xiàn)場(chǎng)網(wǎng)絡(luò)的輸入輸出、以及控制程序的執(zhí)行的任意時(shí)刻接入的結(jié)構(gòu),與通用計(jì)算機(jī)的構(gòu)造差異大,不能說(shuō)是優(yōu)選。
[0009]本發(fā)明的目的在于,提供一種適合于使用接近通用計(jì)算機(jī)的硬件結(jié)構(gòu)而實(shí)現(xiàn)的、將經(jīng)由PLC系統(tǒng)總線的數(shù)據(jù)的輸入輸出和經(jīng)由現(xiàn)場(chǎng)網(wǎng)絡(luò)的數(shù)據(jù)的輸入輸出并行執(zhí)行的手段。[0010]用于解決課題的手段
[0011]根據(jù)本發(fā)明的某方面,提供一種對(duì)控制對(duì)象進(jìn)行控制的PLC的CPU單元。PLC的CPU單元包含:微處理器;存儲(chǔ)部件,包含微處理器的主存儲(chǔ)器;第I通信電路,通過(guò)PLC系統(tǒng)總線進(jìn)行第I輸出數(shù)據(jù)的發(fā)送以及第I輸入數(shù)據(jù)的接收;以及第2通信電路,通過(guò)現(xiàn)場(chǎng)網(wǎng)絡(luò)進(jìn)行第2輸出數(shù)據(jù)的發(fā)送以及第2輸入數(shù)據(jù)的接收。PLC的CPU單元通過(guò)重復(fù)第I輸出數(shù)據(jù)以及第2輸出數(shù)據(jù)的發(fā)送、第I輸入數(shù)據(jù)以及第2輸入數(shù)據(jù)的接收、以及使用第I輸入數(shù)據(jù)以及第2輸入數(shù)據(jù)而生成第I輸出數(shù)據(jù)以及第2輸出數(shù)據(jù)的控制程序的執(zhí)行而對(duì)控制對(duì)象進(jìn)行控制。存儲(chǔ)部件用于控制程序、以及系統(tǒng)程序的存儲(chǔ)。微處理器執(zhí)行存儲(chǔ)到存儲(chǔ)部件的系統(tǒng)程序以及控制程序。系統(tǒng)程序包含生成以下緩沖器的命令:運(yùn)算緩沖器,在主存儲(chǔ)器上伴隨控制程序的執(zhí)行讀出第I輸入數(shù)據(jù)以及第2輸入數(shù)據(jù),同時(shí)寫(xiě)入第I輸出數(shù)據(jù)以及第2輸出數(shù)據(jù);第I轉(zhuǎn)發(fā)緩沖器,存儲(chǔ)通過(guò)PLC系統(tǒng)總線被發(fā)送的第I輸出數(shù)據(jù)以及被接收到的第I輸入數(shù)據(jù) ;以及第2轉(zhuǎn)發(fā)緩沖器,存儲(chǔ)通過(guò)現(xiàn)場(chǎng)網(wǎng)絡(luò)被發(fā)送的第2輸出數(shù)據(jù)以及被接收到的第2輸入數(shù)據(jù)。系統(tǒng)程序進(jìn)一步包含以下命令:對(duì)控制程序的執(zhí)行進(jìn)行控制;控制第I輸入數(shù)據(jù)、第2輸入數(shù)據(jù)、第I輸出數(shù)據(jù)以及第2輸出數(shù)據(jù)的輸入輸出。微處理器通過(guò)執(zhí)行系統(tǒng)程序,控制以下處理的執(zhí)行:輸出復(fù)制處理,將第I輸出數(shù)據(jù)從運(yùn)算緩沖器復(fù)制至第I轉(zhuǎn)發(fā)緩沖器,同時(shí)將第2輸出數(shù)據(jù)從運(yùn)算緩沖器復(fù)制至第2轉(zhuǎn)發(fā)緩沖器;以及輸入復(fù)制處理,將第I輸入數(shù)據(jù)從第I轉(zhuǎn)發(fā)緩沖器復(fù)制至運(yùn)算緩沖器,同時(shí)將第2輸入數(shù)據(jù)從第2轉(zhuǎn)發(fā)緩沖器復(fù)制至運(yùn)算緩沖器。進(jìn)而,微處理器通過(guò)執(zhí)行系統(tǒng)程序,控制第I通信電路以及第2通信電路之中的至少一方,以便并行執(zhí)行以下處理:第I輸入輸出處理,包含將第I輸出數(shù)據(jù)從第I轉(zhuǎn)發(fā)緩沖器經(jīng)過(guò)第I通信電路輸出至PLC系統(tǒng)總線上的第I設(shè)備的處理、和將第I輸入數(shù)據(jù)從第I設(shè)備經(jīng)過(guò)第I通信電路輸入至第I轉(zhuǎn)發(fā)緩沖器的處理;以及第2輸入輸出處理,包含將第2輸出數(shù)據(jù)從第2轉(zhuǎn)發(fā)緩沖器經(jīng)過(guò)第2通信電路輸出至現(xiàn)場(chǎng)網(wǎng)絡(luò)上的第2設(shè)備的處理、和將第2輸入數(shù)據(jù)從第2設(shè)備經(jīng)過(guò)第2通信電路輸入至第2轉(zhuǎn)發(fā)緩沖器的處理。
[0012]優(yōu)選的是,第I通信電路包含第I通信電路緩沖器,第2通信電路包含第2通信電路緩沖器。第I輸入輸出處理包含:第I輸出轉(zhuǎn)發(fā)處理,將第I輸出數(shù)據(jù)從第I轉(zhuǎn)發(fā)緩沖器轉(zhuǎn)發(fā)至第I通信電路緩沖器;第I發(fā)送處理,將第I輸出數(shù)據(jù)從第I通信電路緩沖器發(fā)送至第I設(shè)備;第I接收處理,將第I輸入數(shù)據(jù)從第I設(shè)備接收至第I通信電路緩沖器;以及第I輸入轉(zhuǎn)發(fā)處理,將第I輸入數(shù)據(jù)從第I通信電路緩沖器轉(zhuǎn)發(fā)至第I轉(zhuǎn)發(fā)緩沖器。第2輸入輸出處理包含--第2輸出轉(zhuǎn)發(fā)處理,將第2輸出數(shù)據(jù)從第2轉(zhuǎn)發(fā)緩沖器轉(zhuǎn)發(fā)至第2通信電路緩沖器;第2發(fā)送處理,將第2輸出數(shù)據(jù)從第2通信電路緩沖器發(fā)送至第2設(shè)備;第2接收處理,將第2輸入數(shù)據(jù)從第2設(shè)備接收至第2通信電路緩沖器;以及第2輸入轉(zhuǎn)發(fā)處理,將第2輸入數(shù)據(jù)從第2通信電路緩沖器轉(zhuǎn)發(fā)至第2轉(zhuǎn)發(fā)緩沖器。
[0013]更優(yōu)選的是,微處理器通過(guò)執(zhí)行系統(tǒng)程序,控制第I通信電路以及第2通信電路之中的至少一方,以便在從開(kāi)始第I輸出轉(zhuǎn)發(fā)處理以及第2輸出轉(zhuǎn)發(fā)處理的一方至對(duì)應(yīng)于該輸出轉(zhuǎn)發(fā)處理的輸入轉(zhuǎn)發(fā)處理完成之間開(kāi)始另一方的輸出轉(zhuǎn)發(fā)處理。
[0014]或更優(yōu)選的是,微處理器通過(guò)執(zhí)行系統(tǒng)程序,控制第I通信電路以及第2通信電路之中的至少一方,以便在從開(kāi)始作為第I發(fā)送處理以及第I接收處理的第I發(fā)送接收處理、以及作為第2發(fā)送處理以及第2接收處理的第2發(fā)送接收處理、的一方至該發(fā)送接收處理完成之間開(kāi)始另一方的發(fā)送接收處理。
[0015]或優(yōu)選的是,第I輸入輸出處理包含:第I輸出處理,將第I輸出數(shù)據(jù)從第I轉(zhuǎn)發(fā)緩沖器輸出至第I設(shè)備;以及第I輸入處理,將第I輸入數(shù)據(jù)從第I設(shè)備輸入至第I轉(zhuǎn)發(fā)緩沖器。第2輸入輸出處理包含--第2輸出處理,將第2輸出數(shù)據(jù)從第2轉(zhuǎn)發(fā)緩沖器輸出至第2設(shè)備;以及第2輸入處理,將第2輸入數(shù)據(jù)從第2設(shè)備輸入至第2轉(zhuǎn)發(fā)緩沖器。微處理器通過(guò)執(zhí)行系統(tǒng)程序,進(jìn)行控制以便第I輸出處理和第2輸出處理的并行執(zhí)行、以及第I輸入處理和第2輸入處理的并行執(zhí)行、之中的至少一方進(jìn)行。
[0016]或更優(yōu)選的是,微處理器通過(guò)執(zhí)行系統(tǒng)程序,控制第I通信電路以及第2通信電路之中的至少一方,以便在從開(kāi)始第I輸出轉(zhuǎn)發(fā)處理以及第2輸出轉(zhuǎn)發(fā)處理的一方至對(duì)應(yīng)于該輸出轉(zhuǎn)發(fā)處理的發(fā)送處理完成之間開(kāi)始另一方的輸出轉(zhuǎn)發(fā)處理。
[0017]或更優(yōu)選的是,微處理器通過(guò)執(zhí)行系統(tǒng)程序,控制第I通信電路以及第2通信電路之中的至少一方,以便在從開(kāi)始第I發(fā)送處理以及第2發(fā)送處理的一方至該發(fā)送處理完成之間開(kāi)始另一方的發(fā)送處理。
[0018]或更優(yōu)選的是,微處理器通過(guò)執(zhí)行系統(tǒng)程序,控制第I通信電路以及第2通信電路之中的至少一方,以便在從開(kāi)始第I接收處理以及第2接收處理的一方至對(duì)應(yīng)于該接收處理的輸入轉(zhuǎn)發(fā)處理完成之間開(kāi)始另一方的接收處理。
[0019]或更優(yōu)選的是,所述微處理器通過(guò)執(zhí)行系統(tǒng)程序,控制第I通信電路以及第2通信電路之中的至少一方,以便·在從開(kāi)始第I接收處理以及第2接收處理的一方至該接收處理完成之間開(kāi)始另一方的接收處理。
[0020]根據(jù)本發(fā)明的其他方面,提供一種在PLC的CPU單元中,存儲(chǔ)于存儲(chǔ)部件并用于通過(guò)微處理器執(zhí)行的PLC用的系統(tǒng)程序,該P(yáng)LC的CPU單元包含:微處理器;存儲(chǔ)部件,包含微處理器的主存儲(chǔ)器;第I通信電路,通過(guò)PLC系統(tǒng)總線進(jìn)行第I輸出數(shù)據(jù)的發(fā)送以及第I輸入數(shù)據(jù)的接收;以及第2通信電路,通過(guò)現(xiàn)場(chǎng)網(wǎng)絡(luò)進(jìn)行第2輸出數(shù)據(jù)的發(fā)送以及第2輸入數(shù)據(jù)的接收,通過(guò)重復(fù)第I輸出數(shù)據(jù)以及第2輸出數(shù)據(jù)的發(fā)送、第I輸入數(shù)據(jù)以及第2輸入數(shù)據(jù)的接收、以及使用第I輸入數(shù)據(jù)以及第2輸入數(shù)據(jù)而生成第I輸出數(shù)據(jù)以及第2輸出數(shù)據(jù)的、存儲(chǔ)于存儲(chǔ)部件的控制程序的執(zhí)行而對(duì)控制對(duì)象進(jìn)行控制。系統(tǒng)程序作為控制動(dòng)作的執(zhí)行準(zhǔn)備命令,包含生成以下緩沖器的命令:運(yùn)算緩沖器,在主存儲(chǔ)器上,伴隨控制程序的執(zhí)行而讀出第I輸入數(shù)據(jù)以及第2輸入數(shù)據(jù),同時(shí)寫(xiě)入第I輸出數(shù)據(jù)以及第2輸出數(shù)據(jù);第I轉(zhuǎn)發(fā)緩沖器,存儲(chǔ)通過(guò)PLC系統(tǒng)總線被發(fā)送的第I輸出數(shù)據(jù)以及被接收到的第I輸入數(shù)據(jù);以及第2轉(zhuǎn)發(fā)緩沖器,存儲(chǔ)通過(guò)現(xiàn)場(chǎng)網(wǎng)絡(luò)被發(fā)送的第2輸出數(shù)據(jù)以及被接收到的第2輸入數(shù)據(jù)。系統(tǒng)程序作為控制動(dòng)作的執(zhí)行控制命令,包含:控制程序開(kāi)始命令,使控制程序的執(zhí)行開(kāi)始;第I輸出復(fù)制命令,用于將第I輸出數(shù)據(jù)從運(yùn)算緩沖器復(fù)制至第I轉(zhuǎn)發(fā)緩沖器;第2輸出復(fù)制命令,用于將第2輸出數(shù)據(jù)從運(yùn)算緩沖器復(fù)制至第2轉(zhuǎn)發(fā)緩沖器;第I輸入復(fù)制命令,用于將第I輸入數(shù)據(jù)從第I轉(zhuǎn)發(fā)緩沖器復(fù)制至運(yùn)算緩沖器;第2輸入復(fù)制命令,用于將第2輸入數(shù)據(jù)從第2轉(zhuǎn)發(fā)緩沖器復(fù)制至運(yùn)算緩沖器;以及輸入輸出控制命令,用于控制第I通信電路的第I輸入輸出控制命令以及用于控制第2通信電路的第2輸入輸出控制命令之中的至少一方,該輸入輸出控制命令用于并行執(zhí)行以下處理:第I輸入輸出處理,包含將第I輸出數(shù)據(jù)從第I轉(zhuǎn)發(fā)緩沖器經(jīng)過(guò)第I通信電路輸出至PLC系統(tǒng)總線上的第I設(shè)備的處理、和將第I輸入數(shù)據(jù)從第I設(shè)備經(jīng)過(guò)第I通信電路輸入至第I轉(zhuǎn)發(fā)緩沖器的處理;以及第2輸入輸出處理,包含將第2輸出數(shù)據(jù)從第2轉(zhuǎn)發(fā)緩沖器經(jīng)過(guò)第2通信電路輸出至現(xiàn)場(chǎng)網(wǎng)絡(luò)上的第2設(shè)備的處理、和將第2輸入數(shù)據(jù)從第2設(shè)備經(jīng)過(guò)第2通信電路輸入至第2轉(zhuǎn)發(fā)緩沖器的處理。
[0021]優(yōu)選的是,第I通信電路包含第I通信電路緩沖器,第2通信電路包含第2通信電路緩沖器。第I輸入輸出處理包含:第I輸出轉(zhuǎn)發(fā)處理,將第I輸出數(shù)據(jù)從第I轉(zhuǎn)發(fā)緩沖器轉(zhuǎn)發(fā)至第I通信電路緩沖器;第I發(fā)送處理,將第I輸出數(shù)據(jù)從第I通信電路緩沖器發(fā)送至第I設(shè)備;第I接收處理,將第I輸入數(shù)據(jù)從第I設(shè)備接收至第I通信電路緩沖器;以及第I輸入轉(zhuǎn)發(fā)處理,將第I輸入數(shù)據(jù)從第I通信電路緩沖器轉(zhuǎn)發(fā)至第I轉(zhuǎn)發(fā)緩沖器。第2輸入輸出處理包含:第2輸出轉(zhuǎn)發(fā)處理,將第2輸出數(shù)據(jù)從第2轉(zhuǎn)發(fā)緩沖器轉(zhuǎn)發(fā)至第2通信電路緩沖器;第2發(fā)送處理,將第2輸出數(shù)據(jù)從第2通信電路緩沖器發(fā)送至第2設(shè)備;第2接收處理,將第2輸入數(shù)據(jù)從第2設(shè)備接收至第2通信電路緩沖器;以及第2輸入轉(zhuǎn)發(fā)處理,將第2輸入數(shù)據(jù)從第2通信電路緩沖器轉(zhuǎn)發(fā)至第2轉(zhuǎn)發(fā)緩沖器。第I輸入輸出控制命令包含:第I輸出轉(zhuǎn)發(fā)命令,使第I輸出轉(zhuǎn)發(fā)處理開(kāi)始;第I發(fā)送命令,使第I發(fā)送處理開(kāi)始;第I接收命令,使第I接收處理開(kāi)始;第I發(fā)送接收命令,使第I發(fā)送處理以及第I接收處理開(kāi)始;以及第I輸入轉(zhuǎn)發(fā)命令,使第I輸入轉(zhuǎn)發(fā)處理開(kāi)始,之中的某一個(gè)命令。第2輸入輸出控制命令包含:第2輸出轉(zhuǎn)發(fā)命令,使第2輸出轉(zhuǎn)發(fā)處理開(kāi)始;第2發(fā)送命令,使第2發(fā)送處理開(kāi)始;第2接收命令,使第2接收處理開(kāi)始;第2發(fā)送接收命令,使第2發(fā)送處理以及第2接收處理開(kāi)始;以及第2輸入轉(zhuǎn)發(fā)命令,使第2輸入轉(zhuǎn)發(fā)處理開(kāi)始,之中的某一個(gè)命令。
[0022]更優(yōu)選的是,系統(tǒng)程序包含第I輸出轉(zhuǎn)發(fā)命令以及第2輸出轉(zhuǎn)發(fā)命令,被編程以便在從執(zhí)行其中的一方的輸出轉(zhuǎn)發(fā)命令至對(duì)應(yīng)于由此開(kāi)始的輸出轉(zhuǎn)發(fā)處理的輸入轉(zhuǎn)發(fā)處理完成之間執(zhí)行另一方的輸出轉(zhuǎn)發(fā)命令。
[0023]或更優(yōu)選的是,系統(tǒng)程序包含第I發(fā)送接收命令以及第2發(fā)送接收命令,被編程以便在從執(zhí)行其中的一方的發(fā)送接收命令至由此開(kāi)始的發(fā)送接收處理完成之間執(zhí)行另一方的發(fā)送接收命令。
[0024]或更優(yōu)選的是,第I輸 入輸出處理包含:第I輸出處理,將第I輸出數(shù)據(jù)從第I轉(zhuǎn)發(fā)緩沖器輸出至第I設(shè)備;以及第I輸入處理,將第I輸入數(shù)據(jù)從第I設(shè)備輸入至第I轉(zhuǎn)發(fā)緩沖器。第2輸入輸出處理包含--第2輸出處理,將第2輸出數(shù)據(jù)從第2轉(zhuǎn)發(fā)緩沖器輸出至第2設(shè)備;以及第2輸入處理,將第2輸入數(shù)據(jù)從第2設(shè)備輸入至第2轉(zhuǎn)發(fā)緩沖器。第I輸入輸出控制命令包含使第I輸出處理開(kāi)始的第I輸出命令以及使第I輸入處理開(kāi)始的第I輸入命令。第2輸入輸出控制命令包含使第2輸出處理開(kāi)始的第2輸出命令以及使第2輸入處理開(kāi)始的第2輸入命令。被編程以便進(jìn)行通過(guò)第I輸出命令以及第2輸出命令的執(zhí)行的第I輸出處理和第2輸出處理的并行執(zhí)行、以及通過(guò)第I輸入命令以及第2輸入命令的執(zhí)行的第I輸入處理和第2輸入處理的并行執(zhí)行,之中的至少一方。
[0025]或更優(yōu)選的是,系統(tǒng)程序包含第I輸出轉(zhuǎn)發(fā)命令以及第2輸出轉(zhuǎn)發(fā)命令,被編程以便在從執(zhí)行其中的一方的輸出轉(zhuǎn)發(fā)命令至對(duì)應(yīng)于由此開(kāi)始的輸出轉(zhuǎn)發(fā)處理的發(fā)送處理完成之間執(zhí)行另一方的輸出轉(zhuǎn)發(fā)命令。
[0026]或優(yōu)選的是,系統(tǒng)程序包含第I發(fā)送命令以及第2發(fā)送命令,被編程以便在從執(zhí)行其中的一方的發(fā)送命令至由此開(kāi)始的發(fā)送處理完成之間執(zhí)行另一方的發(fā)送命令。
[0027]或更優(yōu)選的是,系統(tǒng)程序包含第I接收命令以及第2接收命令,被編程以便在從執(zhí)行其中的一方的接收命令至對(duì)應(yīng)于由此開(kāi)始的接收處理的輸入轉(zhuǎn)發(fā)處理完成之間執(zhí)行另一方的接收命令。
[0028]或優(yōu)選的是,系統(tǒng)程序包含第I接收命令以及第2接收命令,被編程以便在從執(zhí)行其中的一方的接收命令至由此開(kāi)始的接收處理完成之間執(zhí)行另一方的接收命令。
[0029]進(jìn)一步根據(jù)本發(fā)明的其他方面,提供一種在PLC的CPU單元中存儲(chǔ)了 PLC用的系統(tǒng)程序的記錄介質(zhì),該P(yáng)LC用的系統(tǒng)程序存儲(chǔ)于存儲(chǔ)部件而用于通過(guò)微處理器執(zhí)行,該P(yáng)LC的CPU單元包含微處理器;存儲(chǔ)部件,包含微處理器的主存儲(chǔ)器;第I通信電路,通過(guò)PLC系統(tǒng)總線進(jìn)行第I輸出數(shù)據(jù)的發(fā)送以及第I輸入數(shù)據(jù)的接收;第2通信電路,通過(guò)現(xiàn)場(chǎng)網(wǎng)絡(luò)進(jìn)行第2輸出數(shù)據(jù)的發(fā)送以及第2輸入數(shù)據(jù)的接收,通過(guò)重復(fù)第I輸出數(shù)據(jù)以及第2輸出數(shù)據(jù)的發(fā)送、第I輸入數(shù)據(jù)以及第2輸入數(shù)據(jù)的接收、以及使用第I輸入數(shù)據(jù)以及第2輸入數(shù)據(jù)而生成第I輸出數(shù)據(jù)以及第2輸出數(shù)據(jù)的、存儲(chǔ)于存儲(chǔ)部件的控制程序的執(zhí)行而對(duì)控制對(duì)象進(jìn)行控制。系統(tǒng)程序作為控制動(dòng)作的執(zhí)行準(zhǔn)備命令,包含生成以下緩沖器的命令:運(yùn)算緩沖器,在主存儲(chǔ)器上,伴隨控制程序的執(zhí)行讀出第I輸入數(shù)據(jù)以及第2輸入數(shù)據(jù),同時(shí)寫(xiě)入第I輸出數(shù)據(jù)以及第2輸出數(shù)據(jù);第I轉(zhuǎn)發(fā)緩沖器,存儲(chǔ)通過(guò)PLC系統(tǒng)總線被發(fā)送的第I輸出數(shù)據(jù)以及被接收到的第I輸入數(shù)據(jù);以及第2轉(zhuǎn)發(fā)緩沖器,存儲(chǔ)通過(guò)現(xiàn)場(chǎng)網(wǎng)絡(luò)被發(fā)送的第2輸出數(shù)據(jù)以及被接收到的第2輸入數(shù)據(jù)。系統(tǒng)程序作為控制動(dòng)作的執(zhí)行控制命令,包含:控制程序開(kāi)始命令,使控制程序的執(zhí)行開(kāi)始;第I輸出復(fù)制命令,用于將第I輸出數(shù)據(jù)從運(yùn)算緩沖器復(fù)制至第I轉(zhuǎn)發(fā)緩沖器;第2輸出復(fù)制命令,用于將第2輸出數(shù)據(jù)從運(yùn)算緩沖器復(fù)制至第2轉(zhuǎn)發(fā)緩沖器;第I輸入復(fù)制命令,用于將第I輸入數(shù)據(jù)從第I轉(zhuǎn)發(fā)緩沖器復(fù)制至運(yùn)算緩沖器;第2輸入復(fù)制命令,用于將第2輸入數(shù)據(jù)從第2轉(zhuǎn)發(fā)緩沖器復(fù)制至運(yùn)算緩沖器;以及輸入輸出控制命令,用于控制第I通信電路的第I輸入輸出控制命令以及用于控制第2通信電路的第2輸入輸出控制命令之中的至少一方,該輸入輸出控制命令用于并行執(zhí)行以下處理:第I輸入輸出處理,包含將第I輸出數(shù)據(jù)從第I轉(zhuǎn)發(fā)緩沖器經(jīng)過(guò)第I通信電路輸出至PLC系統(tǒng)總線上的第I設(shè)備的處理、和將第I`輸入數(shù)據(jù)從第I設(shè)備經(jīng)過(guò)第I通信電路輸入至第I轉(zhuǎn)發(fā)緩沖器的處理;以及第2輸入輸出處理,包含將第2輸出數(shù)據(jù)從第2轉(zhuǎn)發(fā)緩沖器經(jīng)過(guò)第2通信電路輸出至現(xiàn)場(chǎng)網(wǎng)絡(luò)上的第2設(shè)備的處理、和將第2輸入數(shù)據(jù)從第2設(shè)備經(jīng)過(guò)第2通信電路輸入至第2轉(zhuǎn)發(fā)緩沖器的處理。
[0030]優(yōu)選的是,第I通信電路包含第I通信電路緩沖器,第2通信電路包含第2通信電路緩沖器。第I輸入輸出處理包含:第I輸出轉(zhuǎn)發(fā)處理,將第I輸出數(shù)據(jù)從第I轉(zhuǎn)發(fā)緩沖器轉(zhuǎn)發(fā)至第I通信電路緩沖器;第I發(fā)送處理,將第I輸出數(shù)據(jù)從第I通信電路緩沖器發(fā)送至第I設(shè)備;第I接收處理,將第I輸入數(shù)據(jù)從第I設(shè)備接收至第I通信電路緩沖器;以及第I輸入轉(zhuǎn)發(fā)處理,將第I輸入數(shù)據(jù)從第I通信電路緩沖器轉(zhuǎn)發(fā)至第I轉(zhuǎn)發(fā)緩沖器。第2輸入輸出處理包含--第2輸出轉(zhuǎn)發(fā)處理,將第2輸出數(shù)據(jù)從第2轉(zhuǎn)發(fā)緩沖器轉(zhuǎn)發(fā)至第2通信電路緩沖器;第2發(fā)送處理,將第2輸出數(shù)據(jù)從第2通信電路緩沖器發(fā)送至第2設(shè)備;第2接收處理,將第2輸入數(shù)據(jù)從第2設(shè)備接收至第2通信電路緩沖器;以及第2輸入轉(zhuǎn)發(fā)處理,將第2輸入數(shù)據(jù)從第2通信電路緩沖器轉(zhuǎn)發(fā)至第2轉(zhuǎn)發(fā)緩沖器。第I輸入輸出控制命令包含--第I輸出轉(zhuǎn)發(fā)命令,使第I輸出轉(zhuǎn)發(fā)處理開(kāi)始;第I發(fā)送命令,使第I發(fā)送處理開(kāi)始;第I接收命令,使第I接收處理開(kāi)始;第I發(fā)送接收命令,使第I發(fā)送處理以及第I接收處理開(kāi)始;以及第I輸入轉(zhuǎn)發(fā)命令,使第I輸入轉(zhuǎn)發(fā)處理開(kāi)始,之中的某一個(gè)命令。第2輸入輸出控制命令包含:第2輸出轉(zhuǎn)發(fā)命令,使第2輸出轉(zhuǎn)發(fā)處理開(kāi)始;第2發(fā)送命令,使第2發(fā)送處理開(kāi)始;第2接收命令,使第2接收處理開(kāi)始;第2發(fā)送接收命令,使第2發(fā)送處理以及第2接收處理開(kāi)始;以及第2輸入轉(zhuǎn)發(fā)命令,使第2輸入轉(zhuǎn)發(fā)處理開(kāi)始,之中的某一個(gè)命令。
[0031]更優(yōu)選的是,系統(tǒng)程序包含第I輸出轉(zhuǎn)發(fā)命令以及第2輸出轉(zhuǎn)發(fā)命令,被編程以便在從執(zhí)行其中的一方的輸出轉(zhuǎn)發(fā)命令至對(duì)應(yīng)于由此開(kāi)始的輸出轉(zhuǎn)發(fā)處理的輸入轉(zhuǎn)發(fā)處理完成之間執(zhí)行另一方的輸出轉(zhuǎn)發(fā)命令。
[0032]或更優(yōu)選的是,系統(tǒng)程序包含第I發(fā)送接收命令以及第2發(fā)送接收命令,被編程以便在從執(zhí)行其中的一方的發(fā)送接收命令至由此開(kāi)始的發(fā)送接收處理完成之間執(zhí)行另一方的發(fā)送接收命令。
[0033]或更優(yōu)選的是,第I輸入輸出處理包含:第I輸出處理,將第I輸出數(shù)據(jù)從第I轉(zhuǎn)發(fā)緩沖器輸出至第I設(shè)備;以及第I輸入處理,將第I輸入數(shù)據(jù)從第I設(shè)備輸入至第I轉(zhuǎn)發(fā)緩沖器。第2輸入輸出處理包含:第2輸出處理,將第2輸出數(shù)據(jù)從第2轉(zhuǎn)發(fā)緩沖器輸出至第2設(shè)備;以及第2輸入處理,將第2輸入數(shù)據(jù)從第2設(shè)備輸入至第2轉(zhuǎn)發(fā)緩沖器。第I輸入輸出控制命令包含使第I輸出處理開(kāi)始的第I輸出命令以及使第I輸入處理開(kāi)始的第I輸入命令。第2輸入輸出控制命令包含使第2輸出處理開(kāi)始的第2輸出命令以及使第2輸入處理開(kāi)始的第2輸入命令。被編程以便通過(guò)第I輸出命令以及第2輸出命令的執(zhí)行進(jìn)行第I輸出處理和第2輸出處理的并行執(zhí)行,以及通過(guò)第I輸入命令以及第2輸入命令的執(zhí)行進(jìn)行第I輸入處理和第2輸入處理的并行執(zhí)行,之中的至少一方。
[0034]或更優(yōu)選的是,系統(tǒng)程序包含第I輸出轉(zhuǎn)發(fā)命令以及第2輸出轉(zhuǎn)發(fā)命令,被編程以便在從執(zhí)行其中的一方的輸出轉(zhuǎn)發(fā)命令至對(duì)應(yīng)于由此開(kāi)始的輸出轉(zhuǎn)發(fā)處理的發(fā)送處理完成之間執(zhí)行另一方的輸出轉(zhuǎn)發(fā)命令。
[0035]或優(yōu)選的是,系統(tǒng)程序包含第I發(fā)送命令以及第2發(fā)送命令,被編程以便在從執(zhí)行其中的一方的發(fā)送命令至由此開(kāi)始的發(fā)送處理完成之間執(zhí)行另一方的發(fā)送命令。
[0036]或更優(yōu)選的是,系統(tǒng)程序包含第I接收命令以及第2接收命令,被編程以便在從執(zhí)行其中的一方的接收命令至對(duì)應(yīng)于由此開(kāi)始的接收處理的輸入轉(zhuǎn)發(fā)處理完成之間執(zhí)行另一方的接收命令。
[0037]或優(yōu)選的是,系統(tǒng)程序包含第I接收命令以及第2接收命令,被編程以便在從執(zhí)行其中的一方的接收命令至由此開(kāi)始的接收處理完成之間執(zhí)行另一方的接收命令。
[0038]另夕卜,本說(shuō)明書(shū)中的(日語(yǔ)的)“命令”不限于用于實(shí)現(xiàn)某功能的、在程序的源列表中表示的一個(gè)個(gè)的命令,而表示這些一個(gè)個(gè)的命令或函數(shù)等的集合,例如在英語(yǔ)中instructions那樣應(yīng)以復(fù)數(shù)形記載的集合。
[0039]發(fā)明效果
[0040]根據(jù)本發(fā)明,采用接近于通用計(jì)算機(jī)的硬件結(jié)構(gòu),同時(shí)能夠?qū)崿F(xiàn)可并行執(zhí)行經(jīng)由PLC系統(tǒng)總線的輸入輸出和經(jīng)由現(xiàn)場(chǎng)網(wǎng)絡(luò)的數(shù)據(jù)的輸入輸出的PLC的CPU單元。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0041]圖1是表示本發(fā)明的實(shí)施方式所涉及的PLC系統(tǒng)的概略結(jié)構(gòu)的示意圖。
[0042]圖2是表示本發(fā)明的實(shí)施方式所涉及的CPU單元的硬件結(jié)構(gòu)的示意圖。
[0043]圖3是表示通過(guò)本發(fā)明的實(shí)施方式所涉及的CPU單元執(zhí)行的軟件結(jié)構(gòu)的示意圖。[0044]圖4是表示本發(fā)明的實(shí)施方式所涉及的CPU單元的主存儲(chǔ)器的區(qū)域結(jié)構(gòu)的示意圖。
[0045]圖5是表示本發(fā)明的實(shí)施方式所涉及的CPU單元中的系統(tǒng)程序的整體處理的流程圖。
[0046]圖6是本發(fā)明的實(shí)施方式所涉及的CPU單元的動(dòng)作的時(shí)序圖。
[0047]圖7是本發(fā)明的實(shí)施方式所涉及的CPU單元的動(dòng)作的時(shí)序圖。
[0048]圖8是本發(fā)明的實(shí)施方式所涉及的CPU單元的動(dòng)作的時(shí)序圖。
[0049]圖9是本發(fā)明的實(shí)施方式所涉及的CPU單元的動(dòng)作的時(shí)序圖。
[0050]圖10是本發(fā)明的實(shí)施方式I所涉及的CPU單元的動(dòng)作的時(shí)序圖。
[0051]圖11是對(duì)應(yīng)于圖10所示的時(shí)序圖的流程圖。
[0052]圖12是本發(fā)明的實(shí)施方式2所涉及的CPU單元的動(dòng)作的時(shí)序圖。
[0053]圖13是對(duì)應(yīng)于圖12所示的時(shí)序圖的流程圖。
[0054]圖14是本發(fā)明的實(shí)施方式3所涉及的CPU單元的動(dòng)作的時(shí)序圖。
[0055]圖15是對(duì)應(yīng)于圖14所示的時(shí)序圖的流程圖。
[0056]圖16是本發(fā)明的實(shí)施方式4所涉及的CPU單元的動(dòng)作的時(shí)序圖。
[0057]圖17是對(duì)應(yīng)于圖16所示的時(shí)序圖的流程圖。
[0058]圖18是本發(fā)明的實(shí)施方式5所涉及的CPU單元的動(dòng)作(輸入方向)的時(shí)序圖。
[0059]圖19是本發(fā)明的實(shí)施方式5所涉及的CPU單元的動(dòng)作(輸出方向)的時(shí)序圖。
[0060]圖20是對(duì)應(yīng)于圖18以及圖19的流程圖。
[0061]圖21是用于表示與本發(fā)明的實(shí)施方式所涉及的CPU單元連接的PLC支持裝置的硬件結(jié)構(gòu)的示意圖。
[0062]圖22是用于表示與本發(fā)明的實(shí)施方式所涉及的CPU單元連接的PLC支持裝置的軟件結(jié)構(gòu)的示意圖。
【具體實(shí)施方式】
[0063]參照附圖詳細(xì)說(shuō)明本發(fā)明的實(shí)施方式。另外,關(guān)于圖中的相同或者相等部分,添加相同符號(hào)而不重復(fù)其說(shuō)明。
[0064]<A.系統(tǒng)結(jié)構(gòu)>
[0065]本實(shí)施方式所涉及的PLC控制機(jī)械或設(shè)備等的控制對(duì)象。本實(shí)施方式所涉及的PLC包含作為其結(jié)構(gòu)要素的CPU單元。CPU單元包含:微處理器;存儲(chǔ)部件,包含微處理器的主存儲(chǔ)器;以及通信電路。本實(shí)施方式所涉及的PLC的CPU單元通過(guò)重復(fù)輸出數(shù)據(jù)的發(fā)送、輸入數(shù)據(jù)的接收、使用輸入數(shù)據(jù)而生成輸出數(shù)據(jù)的控制程序的執(zhí)行而對(duì)控制對(duì)象進(jìn)行控制。
[0066]存儲(chǔ)部件用于控制程序、以及控制該控制程序的執(zhí)行和輸入數(shù)據(jù)以及輸出數(shù)據(jù)的輸入輸出的系統(tǒng)程序的存儲(chǔ)。微處理器執(zhí)行存儲(chǔ)到存儲(chǔ)部件的系統(tǒng)程序以及控制程序。
[0067]通信電路發(fā)送輸出數(shù)據(jù)以及接收輸入數(shù)據(jù)。如后述所示,本實(shí)施方式所涉及的PLC作為通信電路,具有:第I通信電路,通過(guò)PLC系統(tǒng)總線進(jìn)行輸出數(shù)據(jù)的發(fā)送以及輸入數(shù)據(jù)的接收;以及第2通信電路,通過(guò)現(xiàn)場(chǎng)網(wǎng)絡(luò)進(jìn)行輸出數(shù)據(jù)的發(fā)送以及輸入數(shù)據(jù)的接收。
[0068]首先,參照?qǐng)D1,說(shuō)明本實(shí)施方式所涉及的PLCl的系統(tǒng)結(jié)構(gòu)。圖1表示本發(fā)明的實(shí)施方式所涉及的PLC系統(tǒng)的概略結(jié)構(gòu)的示意圖。參照?qǐng)D1,PLC系統(tǒng)SYS包含:PLC1 ;經(jīng)由PLCl和現(xiàn)場(chǎng)網(wǎng)絡(luò)2連接的伺服電動(dòng)機(jī)驅(qū)動(dòng)器3以及遠(yuǎn)程IO終端5 ;以及作為現(xiàn)場(chǎng)設(shè)備的檢測(cè)開(kāi)關(guān)6以及繼電器7。此外,經(jīng)由連接電纜10等PLC支持裝置8被連接至PLCl。
[0069]PLCl包含:CPU單元13,執(zhí)行主要的運(yùn)算處理;一個(gè)以上的IO單元14 ;以及特殊單元15。這些單元經(jīng)由PLC系統(tǒng)總線11,能夠相互交換數(shù)據(jù)。此外,通過(guò)電源單元12供給適當(dāng)?shù)碾妷旱碾娫粗吝@些單元。另外,PLC廠商提供作為PLCl而構(gòu)成的各單元,因此一般每個(gè)PLC廠商獨(dú)自開(kāi)發(fā)、使用PLC系統(tǒng)總線11。與此相對(duì),如后述所示現(xiàn)場(chǎng)網(wǎng)絡(luò)2,公開(kāi)其規(guī)格的情況多,以便能夠連接不同的廠商的制品間。
[0070]關(guān)于CPU單元13的細(xì)節(jié),參照?qǐng)D2而后述。
[0071]IO單元14是與一般的輸入輸出處理相關(guān)的單元,掌管接通/斷開(kāi)的2值化后的數(shù)據(jù)的輸入輸出。即,IO單元14收集檢測(cè)開(kāi)關(guān)6等的傳感器檢測(cè)到某些對(duì)象物的狀態(tài)(接通)以及未檢測(cè)到任何對(duì)象物的狀態(tài)(斷開(kāi))的某個(gè)的信息。此外,IO單元14對(duì)繼電器7或執(zhí)行器的輸出目的地,輸出用于活性化的指令(接通)以及用于不活性化的的指令(斷開(kāi))的某一個(gè)。
[0072]特殊單元15具有模擬數(shù)據(jù)的輸入輸出、溫度控制、以及通過(guò)確定的通信方式的通信而在IO單元14中不支持的功能。
[0073]現(xiàn)場(chǎng)網(wǎng)絡(luò)2傳送與CPU單元13交換的各種數(shù)據(jù)。作為現(xiàn)場(chǎng)網(wǎng)絡(luò)2,典型地,能夠使用各種產(chǎn)業(yè)用以太網(wǎng)(注冊(cè)商標(biāo))。作為產(chǎn)業(yè)用以太網(wǎng)(注冊(cè)商標(biāo)),已知例如EtherCAT(注冊(cè)商標(biāo))、Profinet IRT.MECHATROLINK (注冊(cè)商標(biāo))-111、Powerlink、SERCOS (注冊(cè)商標(biāo))_II1、CIP Motion等,也可以采用這些之中的某個(gè)。進(jìn)而,也可以使用產(chǎn)業(yè)用以太網(wǎng)(注冊(cè)商標(biāo))以外的現(xiàn)場(chǎng)網(wǎng)絡(luò)。例如,若在不進(jìn)行動(dòng)作控制的情況下,也可以使用DeviceNet、CompoNet/IP(注冊(cè)商標(biāo))等。在本實(shí)施方式所涉及的PLC系統(tǒng)SYS中,典型地,例示了在本實(shí)施方式中將產(chǎn)業(yè)用以太網(wǎng)(注冊(cè)商標(biāo))的EtherCAT (注冊(cè)商標(biāo))作為現(xiàn)場(chǎng)網(wǎng)絡(luò)2而采用的情況的結(jié)構(gòu)。
[0074]另外,PLCl通過(guò)使CPU單元13持有IO單元14的功能或伺服電動(dòng)機(jī)驅(qū)動(dòng)器3的功能,關(guān)于通過(guò)這樣的內(nèi)置功能能維持的范圍,也可以是不經(jīng)由IO單元14或伺服電動(dòng)機(jī)驅(qū)動(dòng)器3等而CPU單元13直接對(duì)控制對(duì)象進(jìn)行控制的結(jié)構(gòu)。
[0075]伺服電動(dòng)機(jī)驅(qū)動(dòng)器3經(jīng)由現(xiàn)場(chǎng)網(wǎng)絡(luò)2與CPU單元13連接,同時(shí)根據(jù)來(lái)自CPU單元13的指令值驅(qū)動(dòng)伺服電動(dòng)機(jī)4。更具體而言,伺服電動(dòng)機(jī)驅(qū)動(dòng)器3從PLCl以一定周期接受位置指令值、速度指令值、轉(zhuǎn)矩指令值的指令值。此外,伺服電動(dòng)機(jī)驅(qū)動(dòng)器3從與伺服電動(dòng)機(jī)4的軸連接的位置傳感器(旋轉(zhuǎn)編碼器)或轉(zhuǎn)矩傳感器的檢測(cè)器,取得位置、速度(典型地,計(jì)算此次位置與上次位置的差)、轉(zhuǎn)矩的伺服電動(dòng)機(jī)4的動(dòng)作所涉及的實(shí)測(cè)值。然后,伺服電動(dòng)機(jī)驅(qū)動(dòng)器3將來(lái)自CPU單元13的指令值設(shè)定為目標(biāo)值,將實(shí)測(cè)值作為反饋值,進(jìn)行反饋控制。即,伺服電動(dòng)機(jī)驅(qū)動(dòng)器3調(diào)整用于驅(qū)動(dòng)伺服電動(dòng)機(jī)4的電流,以便實(shí)測(cè)值接近目標(biāo)值。另外,伺服電動(dòng)機(jī)驅(qū)動(dòng)器3也存在被稱為伺服電動(dòng)機(jī)放大器的情況。
[0076]此外,圖1表示組合伺服電動(dòng)機(jī)4和伺服電動(dòng)機(jī)驅(qū)動(dòng)器3的系統(tǒng)例,但也能夠采用其他構(gòu)成,例如組合脈沖電動(dòng)機(jī)和脈沖電動(dòng)機(jī)驅(qū)動(dòng)器的系統(tǒng)。
[0077]進(jìn)而,遠(yuǎn)程IO終端5連接至如圖1所示的PLC系統(tǒng)SYS的現(xiàn)場(chǎng)網(wǎng)絡(luò)2。遠(yuǎn)程IO終端5基本與IO單元14相同,進(jìn)行與一般的輸入輸出處理相關(guān)的處理。更具體而言,遠(yuǎn)程IO終端5包含:通信耦合器52,用于進(jìn)行在現(xiàn)場(chǎng)網(wǎng)絡(luò)2中的數(shù)據(jù)傳送所涉及的處理;以及一個(gè)以上的IO單元53。這些單元經(jīng)由遠(yuǎn)程IO終端總線51,能夠相互交換數(shù)據(jù)。
[0078]關(guān)于PLC支持裝置8如后述。
[0079]〈B.CPU單元的硬件結(jié)構(gòu)>
[0080]接著,參照?qǐng)D2說(shuō)明CPU單元13的硬件結(jié)構(gòu)。圖2是表示本發(fā)明的實(shí)施方式所涉及的CPU單元13的硬件結(jié)構(gòu)的示意圖。參照?qǐng)D2,CPU單元13包含:微處理器100、芯片組102、主存儲(chǔ)器104、非易失性存儲(chǔ)器106、系統(tǒng)定時(shí)器108、PLC系統(tǒng)總線控制器120、現(xiàn)場(chǎng)網(wǎng)絡(luò)控制器140、以及USB連接器110。芯片組102和其他元件之間經(jīng)由各種總線分別結(jié)合。
[0081]微處理器100以及芯片組102,典型地,根據(jù)通用的計(jì)算機(jī)構(gòu)造而構(gòu)成。S卩,微處理器100分析并執(zhí)行從芯片組102根據(jù)內(nèi)部時(shí)鐘依次供給的命令代碼。芯片組102在連接的各種元件之間交換內(nèi)部的數(shù)據(jù),同時(shí)生成對(duì)微處理器100必要的命令代碼。進(jìn)而,芯片組102具有高速緩存在微處理器100中的運(yùn)算處理的執(zhí)行的結(jié)果得到的數(shù)據(jù)等的功能。
[0082]CPU單元13作為存儲(chǔ)部件,具有主存儲(chǔ)器104以及非易失性存儲(chǔ)器106。
[0083]主存儲(chǔ)器104是易失性的存儲(chǔ)區(qū)域(RAM),保持在至CPU單元13的電源接通后在微處理器100中應(yīng)被執(zhí)行的各種程序。此外,主存儲(chǔ)器104作為通過(guò)微處理器100執(zhí)行各種程序時(shí)的作業(yè)用存儲(chǔ)器而被使用。作為這樣的主存儲(chǔ)器104,使用DRAM (Dynamic RandomAccess Memory)或 SRAM (Static Random Access Memory)的設(shè)備。
[0084]另一方面,非易失性存儲(chǔ)器106不易失地保持實(shí)時(shí)OS (Operating System)、PLCl的系統(tǒng)程序、用戶程序、動(dòng)作運(yùn)算程序、以及系統(tǒng)設(shè)定參數(shù)的數(shù)據(jù)。這些程序或數(shù)據(jù)根據(jù)需要復(fù)制至主存儲(chǔ)器104以便微處理器100能夠接入。作為這樣的非易失性存儲(chǔ)器106,能夠使用閃存存儲(chǔ)器那樣的半導(dǎo)體存儲(chǔ)器?;?,也能夠使用硬盤(pán)驅(qū)動(dòng)那樣的磁性記錄介質(zhì)、或DVD-RAM (Digital Versatile Disk Random Access Memory)那樣的光學(xué)記錄介質(zhì)等。
[0085]系統(tǒng)定時(shí)器108按照一定周期產(chǎn)生中斷信號(hào)并提供至微處理器100。典型地,通過(guò)硬件的規(guī)格,以多個(gè)不同的周期分別產(chǎn)生中斷信號(hào),但通過(guò)OS (Operating System)或BIOS(Basic Input Output System)等,能夠設(shè)定為以任意的周期產(chǎn)生中斷信號(hào)。利用該系統(tǒng)定時(shí)器108產(chǎn)生的中斷信號(hào),實(shí)現(xiàn)按照后述那樣的控制循環(huán)的控制動(dòng)作。
[0086]CPU單元13作為通信電路,具有PLC系統(tǒng)總線控制器120以及現(xiàn)場(chǎng)網(wǎng)絡(luò)控制器140。這些通信電路進(jìn)行輸出數(shù)據(jù)的發(fā)送以及輸入數(shù)據(jù)的接收。
[0087]另外,在使CPU單元13自身持有10單元14或伺服電動(dòng)機(jī)驅(qū)動(dòng)器3的功能的情況下,通過(guò)PLC系統(tǒng)總線控制器120的輸出數(shù)據(jù)的發(fā)送以及輸入數(shù)據(jù)的接收,將承擔(dān)其功能的部分作為通信的對(duì)象變?yōu)樵贑PU單元13的內(nèi)部進(jìn)行的發(fā)送以及接收。
[0088]PLC系統(tǒng)總線控制器120 (第I通信電路)經(jīng)由PLC系統(tǒng)總線11控制數(shù)據(jù)的交換。更具體而言,PLC系統(tǒng)總線控制器120包含:DMA (Dynamic Memory Access)控制電路122、PLC系統(tǒng)總線通信控制電路124、以及第I通信電路緩沖器126。另外,PLC系統(tǒng)總線控制器120經(jīng)由PLC系統(tǒng)總線連接器130與PLC系統(tǒng)總線11內(nèi)部地連接。
[0089]第I通信電路緩沖器126作為經(jīng)由PLC系統(tǒng)總線11被輸出至其他單元的數(shù)據(jù)(以下也稱為“輸出數(shù)據(jù)”或者“第I輸出數(shù)據(jù)”。)的發(fā)送緩沖器、以及經(jīng)由PLC系統(tǒng)總線從其他單元被輸入的數(shù)據(jù)(以下也稱為“輸入數(shù)據(jù)”或者“第I輸入數(shù)據(jù)”。)的接收緩沖器而起作用。另外,通過(guò)微處理器100的運(yùn)算處理被生成的第I輸出數(shù)據(jù),原始地被存儲(chǔ)于主存儲(chǔ)器104。然后,應(yīng)被轉(zhuǎn)發(fā)至確定的單元的第I輸出數(shù)據(jù)從主存儲(chǔ)器104被讀出,一次性地被保持至第I通信電路緩沖器126。此外,在從其他單元被轉(zhuǎn)發(fā)的第I輸入數(shù)據(jù)一次性地保持至第I通信電路緩沖器126后,移動(dòng)至主存儲(chǔ)器104。
[0090]DMA控制電路122進(jìn)行從主存儲(chǔ)器104至第I通信電路緩沖器126的第I輸出數(shù)據(jù)的轉(zhuǎn)發(fā),以及進(jìn)行從第I通信電路緩沖器126至主存儲(chǔ)器104的第I輸入數(shù)據(jù)的轉(zhuǎn)發(fā)。
[0091]PLC系統(tǒng)總線通信控制電路124在與PLC系統(tǒng)總線11連接的其他單元之間,進(jìn)行發(fā)送第I通信電路緩沖器126的第I輸出數(shù)據(jù)的處理以及接收第I輸入數(shù)據(jù)并存儲(chǔ)至第I通信電路緩沖器126的處理。典型地,PLC系統(tǒng)總線通信控制電路124提供在PLC系統(tǒng)總線11中的物理層以及數(shù)據(jù)鏈路層的功能。
[0092]現(xiàn)場(chǎng)網(wǎng)絡(luò)控制器140 (第2通信電路)控制經(jīng)由現(xiàn)場(chǎng)網(wǎng)絡(luò)2的數(shù)據(jù)的交換。即,現(xiàn)場(chǎng)網(wǎng)絡(luò)控制器140根據(jù)被使用的現(xiàn)場(chǎng)網(wǎng)絡(luò)2的規(guī)格,控制輸出數(shù)據(jù)的發(fā)送以及輸入數(shù)據(jù)的接收。如上所述,本實(shí)施方式中采用按照EtherCAT (注冊(cè)商標(biāo))規(guī)格的現(xiàn)場(chǎng)網(wǎng)絡(luò)2,因此包含用于進(jìn)行通常的以太網(wǎng)(注冊(cè)商標(biāo))通信的硬件,使用現(xiàn)場(chǎng)網(wǎng)絡(luò)控制器140。在EtherCAT(注冊(cè)商標(biāo))規(guī)格中,能夠利用實(shí)現(xiàn)按照通常的以太網(wǎng)(注冊(cè)商標(biāo))規(guī)格的通信協(xié)議的一般的以太網(wǎng)(注冊(cè)商標(biāo))控制器。其中,作為現(xiàn)場(chǎng)網(wǎng)絡(luò)2而被采用的產(chǎn)業(yè)用以太網(wǎng)(注冊(cè)商標(biāo))的種類(lèi),使用對(duì)應(yīng)于與通常的通信協(xié)議不同的專(zhuān)用規(guī)格的通信協(xié)議的特別規(guī)格的以太網(wǎng)(注冊(cè)商標(biāo))控制器。此外,在采用了產(chǎn)業(yè)用以太網(wǎng)(注冊(cè)商標(biāo))以外的現(xiàn)場(chǎng)網(wǎng)絡(luò)的情況下,使用對(duì)應(yīng)于該規(guī)格的專(zhuān)用的現(xiàn)場(chǎng)網(wǎng)絡(luò)控制器。
[0093]第2通信電路緩沖器146作為經(jīng)由現(xiàn)場(chǎng)網(wǎng)絡(luò)2被輸出至其他裝置等的數(shù)據(jù)(以下稱為“輸出數(shù)據(jù)”或者“第2輸出數(shù)據(jù)”。)的發(fā)送緩沖器,以及經(jīng)由現(xiàn)場(chǎng)網(wǎng)絡(luò)2從其他裝置等被輸入的數(shù)據(jù)(以下也稱為“輸入數(shù)據(jù)”或者“第2輸入數(shù)據(jù)”。)的接收緩沖器起作用。通過(guò)微處理器100的運(yùn)算處理被生成的第2輸出數(shù)據(jù)原始地被存儲(chǔ)于主存儲(chǔ)器104。然后,應(yīng)被轉(zhuǎn)發(fā)至確定的裝置的第2輸出數(shù)據(jù)從主存儲(chǔ)器104被讀出,一次性地被保持至第2通信電路緩沖器146。此外,從其他裝置被轉(zhuǎn)發(fā)的第2輸入數(shù)據(jù)在一次性地被保持至第2通信電路緩沖器146后,移動(dòng)至主存儲(chǔ)器104。
[0094]DMA控制電路142進(jìn)行從主存儲(chǔ)器104至第2通信電路緩沖器146的第2輸出數(shù)據(jù)的轉(zhuǎn)發(fā),以及進(jìn)行從第2通信電路緩沖器146至主存儲(chǔ)器104的第2輸入數(shù)據(jù)的轉(zhuǎn)發(fā)。
[0095]現(xiàn)場(chǎng)網(wǎng)絡(luò)通信控制電路144在與現(xiàn)場(chǎng)網(wǎng)絡(luò)2連接的其他裝置之間,進(jìn)行發(fā)送第2通信電路緩沖器146的第2輸出數(shù)據(jù)的處理以及接收第2輸入數(shù)據(jù)并存儲(chǔ)于第2通信電路緩沖器146的處理。典型地,現(xiàn)場(chǎng)網(wǎng)絡(luò)通信控制電路144提供現(xiàn)場(chǎng)網(wǎng)絡(luò)2中的物理層以及數(shù)據(jù)鏈路層的功能。
[0096]USB連接器110是用于連接PLC支持裝置8和CPU單元13的接口。典型地,從PLC支持裝置8被轉(zhuǎn)發(fā)的在CPU單元13的微處理器100中可執(zhí)行的程序等經(jīng)過(guò)USB連接器110被取入至PLCl。
[0097]〈C.CPU單元的軟件結(jié)構(gòu)>
[0098]接著,參照?qǐng)D3說(shuō)明用于提供本實(shí)施方式所涉及的各種功能的軟件組。包含于這些軟件的命令代碼在適當(dāng)?shù)亩〞r(shí)被讀出,通過(guò)CPU單元13的微處理器100被執(zhí)行。
[0099]圖3是表示通過(guò)本發(fā)明的實(shí)施方式所涉及的CPU單元13被執(zhí)行的軟件結(jié)構(gòu)的示意圖。參照?qǐng)D3,作為通過(guò)CPU單元13被執(zhí)行的軟件,變?yōu)閷?shí)時(shí)0S200、系統(tǒng)程序210、以及用戶程序236的3階層。[0100]實(shí)時(shí)0S200根據(jù)CPU單元13的計(jì)算機(jī)構(gòu)造而被設(shè)計(jì),微處理器100提供用于執(zhí)行系統(tǒng)程序210以及用戶程序236的基本的執(zhí)行環(huán)境。該實(shí)時(shí)OS,典型地,通過(guò)PLC的廠商或?qū)iT(mén)的軟件公司等被提供。
[0101]系統(tǒng)程序210是用于提供作為PLCl的功能的軟件組。具體而言,系統(tǒng)程序210包含:調(diào)度器程序212、輸出處理程序214、輸入處理程序216、時(shí)序命令運(yùn)算程序232、動(dòng)作運(yùn)算程序234、以及其他系統(tǒng)程序220。另外,輸出處理程序214以及輸入處理程序216—般連續(xù)地(作為一體)被執(zhí)行,因此存在將這些程序總稱為IO處理程序218的情況。
[0102]用戶程序236根據(jù)用戶的控制目的而被生成。即,是根據(jù)使用PLC系統(tǒng)SYS而控制的對(duì)象的線程(過(guò)程)等,任意被設(shè)計(jì)的程序。
[0103]如后述所示,用戶程序236聯(lián)動(dòng)時(shí)序命令運(yùn)算程序232以及動(dòng)作運(yùn)算程序234,實(shí)現(xiàn)用戶的控制目的。即,用戶程序236通過(guò)利用經(jīng)由時(shí)序命令運(yùn)算程序232以及動(dòng)作運(yùn)算程序234被提供的命令、函數(shù)、功能模組等,實(shí)現(xiàn)被被編程的動(dòng)作。因此,用戶程序236也存在將時(shí)序命令運(yùn)算程序232、以及動(dòng)作運(yùn)算程序234總稱為控制程序230的情況。
[0104]這樣,CPU單元13的微處理器100執(zhí)行存儲(chǔ)到存儲(chǔ)部件的系統(tǒng)程序210以及控制程序230。
[0105]以下,詳細(xì)說(shuō)明各程序。
[0106]用戶程序236如上所述,根據(jù)用戶的控制目的(例如,對(duì)象的線程或過(guò)程)而被生成。用戶程序236,典型地,變?yōu)橥ㄟ^(guò)CPU單元13的微處理器100可執(zhí)行的目標(biāo)程序形式。該用戶程序236在PLC支持裝置8等中,通過(guò)匯編以梯形圖語(yǔ)言等被記述的源程序而生成。然后,生成的目標(biāo)程序形式的用戶程序236從PLC支持裝置8經(jīng)由連接電纜10被轉(zhuǎn)發(fā)至CPU單元13,存儲(chǔ)于非易失性存儲(chǔ)器106等。
[0107]調(diào)度器程序212針對(duì)輸出處理程序214、輸入處理程序216、以及控制程序230,控制在各執(zhí)行循環(huán)中的處理開(kāi)始以及處理中斷后的處理重新開(kāi)始。更具體而言,調(diào)度器程序212控制用戶程序236以及動(dòng)作運(yùn)算程序234的執(zhí)行。
[0108]在本實(shí)施方式所涉及的CPU單元13中,將適于動(dòng)作運(yùn)算程序234的一定周期的執(zhí)行循環(huán)(控制循環(huán))作為處理整體的共通周期而采用。因此,在一個(gè)控制循環(huán)內(nèi),完成全部的處理是困難的,根據(jù)應(yīng)執(zhí)行處理的優(yōu)先級(jí)等,區(qū)分應(yīng)在各控制循環(huán)中完成執(zhí)行的處理、和也可跨越多個(gè)控制循環(huán)執(zhí)行的處理。調(diào)度器程序212管理這些被區(qū)分的處理的執(zhí)行順序等。更具體而言,調(diào)度器程序212在各控制循環(huán)期間內(nèi),優(yōu)先執(zhí)行被賦予更高的優(yōu)先級(jí)的程序。
[0109]輸出處理程序214將通過(guò)用戶程序236 (控制程序230)的執(zhí)行而生成的輸出數(shù)據(jù),以適于轉(zhuǎn)發(fā)至PLC系統(tǒng)總線控制器120以及/或者現(xiàn)場(chǎng)網(wǎng)絡(luò)控制器140的形式再配置。PLC系統(tǒng)總線控制器120或者現(xiàn)場(chǎng)網(wǎng)絡(luò)控制器140在需要來(lái)自微處理器100的、用于執(zhí)行發(fā)送的指示的情況下,輸出處理程序214發(fā)行該指示。
[0110]輸入處理程序216將通過(guò)PLC系統(tǒng)總線控制器120以及/或者現(xiàn)場(chǎng)網(wǎng)絡(luò)控制器140被接收到的輸入數(shù)據(jù),以適于控制程序230使用的形式再配置。
[0111]時(shí)序命令運(yùn)算程序232在執(zhí)行用戶程序236使用的某種時(shí)序命令時(shí)被調(diào)出,是為了實(shí)現(xiàn)該命令的內(nèi)容而執(zhí)行的程序。
[0112]動(dòng)作運(yùn)算程序234根據(jù)用戶程序236的指示而執(zhí)行,按照每次執(zhí)行計(jì)算對(duì)于伺服電動(dòng)機(jī)驅(qū)動(dòng)器3或脈沖電動(dòng)機(jī)驅(qū)動(dòng)器的電動(dòng)機(jī)驅(qū)動(dòng)器輸出的指令值的程序。[0113]其他系統(tǒng)程序220集中表示在圖3中個(gè)別所示的程序以外的、用于實(shí)現(xiàn)PLCl的各種功能的程序群。
[0114]實(shí)時(shí)0S200提供用于按照時(shí)間的經(jīng)過(guò),切換并執(zhí)行多個(gè)程序的環(huán)境。本實(shí)施方式所涉及的PLCl中,作為用于將通過(guò)CPU單元13的程序執(zhí)行生成的輸出數(shù)據(jù)輸出(發(fā)送)至其他單元或者其他裝置的事件(中斷),初始設(shè)定控制循環(huán)開(kāi)始的中斷。若控制循環(huán)開(kāi)始的中斷產(chǎn)生,則實(shí)時(shí)0S200將在微處理器100中的執(zhí)行對(duì)象從在中斷產(chǎn)生時(shí)刻執(zhí)行中的程序切換為調(diào)度器程序212。另外,實(shí)時(shí)0S200在調(diào)度器程序212以及調(diào)度器程序212控制該執(zhí)行的程序完全未執(zhí)行的情況下,執(zhí)行包含于其他系統(tǒng)程序210的程序。作為這樣的程序,例如,包含與經(jīng)由CPU單元13和PLC支持裝置8之間的連接電纜10 (USB)等的通信處理相關(guān)的程序。
[0115]另外,控制程序230以及調(diào)度器程序212存儲(chǔ)于作為存儲(chǔ)部件的主存儲(chǔ)器104以及非易失性存儲(chǔ)器106。
[0116]〈D.主存儲(chǔ)器結(jié)構(gòu)〉
[0117]接著,參照?qǐng)D4說(shuō)明在CPU單元13的主存儲(chǔ)器104中構(gòu)成的存儲(chǔ)區(qū)域。
[0118]圖4是表示本發(fā)明的實(shí)施方式所涉及的CPU單元13的主存儲(chǔ)器104的區(qū)域結(jié)構(gòu)的示意圖。參照?qǐng)D4,在主存儲(chǔ)器104中,形成各種程序區(qū)域1041、控制程序的作業(yè)區(qū)域1042、第I轉(zhuǎn)發(fā)緩沖器1044、以及第2轉(zhuǎn)發(fā)緩沖器1045??刂瞥绦虻淖鳂I(yè)區(qū)域1042包含運(yùn)算緩沖器1043。這些區(qū)域在啟動(dòng)時(shí)等,通過(guò)CPU單元13執(zhí)行包含于系統(tǒng)程序210的命令而生成。
[0119]用于執(zhí)行各種程序的代碼暫時(shí)被存儲(chǔ)至各種程序區(qū)域1041。通過(guò)控制程序230的執(zhí)行而生成的輸出數(shù)據(jù)暫時(shí)被存儲(chǔ)至控制程序的作業(yè)區(qū)域1042。
[0120]從運(yùn)算緩沖器1043伴隨控制程序的執(zhí)行讀出輸入數(shù)據(jù),同時(shí)寫(xiě)入輸出數(shù)據(jù)至運(yùn)算緩沖器1043。
[0121]第I轉(zhuǎn)發(fā)緩沖器1044存儲(chǔ)通過(guò)PLC系統(tǒng)總線11被發(fā)送的輸出數(shù)據(jù)以及被接收到的輸入數(shù)據(jù)。第2轉(zhuǎn)發(fā)緩沖器1045存儲(chǔ)通過(guò)現(xiàn)場(chǎng)網(wǎng)絡(luò)2被發(fā)送的輸出數(shù)據(jù)以及被接收到的輸入數(shù)據(jù)。
[0122]在需要經(jīng)由PLC系統(tǒng)總線11發(fā)送某一個(gè)輸出數(shù)據(jù)的情況下,微處理器100將對(duì)象的輸出數(shù)據(jù)從控制程序的作業(yè)區(qū)域1042復(fù)制至第I轉(zhuǎn)發(fā)緩沖器1044。將該復(fù)制處理以下也稱為“第I輸出復(fù)制處理”。此時(shí),微處理器100以在第I轉(zhuǎn)發(fā)緩沖器1044中集中向相同的單元的輸出數(shù)據(jù)組的方式再配置輸出數(shù)據(jù),以便能夠一并將發(fā)送至相同的單元的多個(gè)輸出數(shù)據(jù)發(fā)送。
[0123]復(fù)制至該第I轉(zhuǎn)發(fā)緩沖器1044的輸出數(shù)據(jù)轉(zhuǎn)發(fā)至PLC系統(tǒng)總線控制器120的第I通信電路緩沖器126。從該第I轉(zhuǎn)發(fā)緩沖器1044至第I通信電路緩沖器126的輸出數(shù)據(jù)的轉(zhuǎn)發(fā)處理通過(guò)PLC系統(tǒng)總線控制器120的DMA控制電路122而控制。將該轉(zhuǎn)發(fā)處理以下也稱為“第I輸出轉(zhuǎn)發(fā)處理”。進(jìn)而,PLC系統(tǒng)總線控制器120的PLC系統(tǒng)總線通信控制電路124將轉(zhuǎn)發(fā)至第I通信電路緩沖器126的輸出數(shù)據(jù),經(jīng)由PLC系統(tǒng)總線11發(fā)送至發(fā)送目的地(第I設(shè)備)。將該發(fā)送處理以下也稱為“第I發(fā)送處理”。
[0124]同樣,在需要經(jīng)由現(xiàn)場(chǎng)網(wǎng)絡(luò)2發(fā)送某一個(gè)輸出數(shù)據(jù)的情況下,微處理器100將對(duì)象的輸出數(shù)據(jù)從控制程序的作業(yè)區(qū)域1042復(fù)制至第2轉(zhuǎn)發(fā)緩沖器1045。將該復(fù)制處理以下也稱為“第2輸出復(fù)制處理”。此時(shí),微處理器100在第2轉(zhuǎn)發(fā)緩沖器1045中,以能夠作為串行幀發(fā)送的形式再配置輸出數(shù)據(jù)。
[0125]復(fù)制至該第2轉(zhuǎn)發(fā)緩沖器1045的輸出數(shù)據(jù)被轉(zhuǎn)發(fā)至現(xiàn)場(chǎng)網(wǎng)絡(luò)控制器140的第2通信電路緩沖器146。從該第2轉(zhuǎn)發(fā)緩沖器1045至第2通信電路緩沖器146的輸出數(shù)據(jù)的轉(zhuǎn)發(fā)處理通過(guò)現(xiàn)場(chǎng)網(wǎng)絡(luò)控制器140的DMA控制電路142被控制。將該轉(zhuǎn)發(fā)處理以下也稱為“第2輸出轉(zhuǎn)發(fā)處理”。進(jìn)而,現(xiàn)場(chǎng)網(wǎng)絡(luò)控制器140的現(xiàn)場(chǎng)網(wǎng)絡(luò)通信控制電路144將轉(zhuǎn)發(fā)至第2通信電路緩沖器146的輸出數(shù)據(jù)經(jīng)由現(xiàn)場(chǎng)網(wǎng)絡(luò)2發(fā)送至發(fā)送目的地(第2設(shè)備)。將該發(fā)送處理以下也稱為“第2發(fā)送處理”。
[0126]另一方面,從發(fā)送目的地(第I設(shè)備)經(jīng)由PLC系統(tǒng)總線11被發(fā)送的輸入數(shù)據(jù)通過(guò)PLC系統(tǒng)總線控制器120的PLC系統(tǒng)總線通信控制電路124被接收,存儲(chǔ)于第I通信電路緩沖器126。將來(lái)自該發(fā)送目的地(第I設(shè)備)的輸入數(shù)據(jù)的接收處理以下也稱為“第I接收處理”。將存儲(chǔ)到該第I通信電路緩沖器126的輸入數(shù)據(jù)轉(zhuǎn)發(fā)至第I轉(zhuǎn)發(fā)緩沖器1044。從該第I通信電路緩沖器126至第I轉(zhuǎn)發(fā)緩沖器1044的輸入數(shù)據(jù)的轉(zhuǎn)發(fā)處理通過(guò)PLC系統(tǒng)總線控制器120的DMA控制電路122被控制。將該轉(zhuǎn)發(fā)處理以下也稱為“第I輸入轉(zhuǎn)發(fā)處理”。
[0127]進(jìn)而,微處理器100將轉(zhuǎn)發(fā)至第I轉(zhuǎn)發(fā)緩沖器1044的輸入數(shù)據(jù)復(fù)制至運(yùn)算緩沖器1043。將該復(fù)制處理以下也稱為“第I輸入復(fù)制處理”。此時(shí),微處理器100在運(yùn)算緩沖器1043中,將被復(fù)制的輸入數(shù)據(jù)以適于控制程序230使用的形式再配置。
[0128]同樣,從發(fā)送目的地(第2設(shè)備)經(jīng)由現(xiàn)場(chǎng)網(wǎng)絡(luò)2被發(fā)送的輸入數(shù)據(jù)通過(guò)現(xiàn)場(chǎng)網(wǎng)絡(luò)控制器140的現(xiàn)場(chǎng)網(wǎng)絡(luò)通信控制電路144被接收,存儲(chǔ)于第2通信電路緩沖器146。將來(lái)自該發(fā)送目的地(第2設(shè)備)的輸入數(shù)據(jù)的接收處理以下也稱為“第2接收處理”。將被接收至第2通信電路緩沖器146的輸入數(shù)據(jù)轉(zhuǎn)發(fā)至第2轉(zhuǎn)發(fā)緩沖器1045。從該第2通信電路緩沖器146至第2轉(zhuǎn)發(fā)緩沖器1045的輸入數(shù)據(jù)的轉(zhuǎn)發(fā)處理通過(guò)現(xiàn)場(chǎng)網(wǎng)絡(luò)控制器140的DMA控制電路142被控制。將該轉(zhuǎn)發(fā)處理以下也稱為“第2輸入轉(zhuǎn)發(fā)處理”。
[0129]進(jìn)而,微處理器100將轉(zhuǎn)發(fā)至第2轉(zhuǎn)發(fā)緩沖器1045的輸入數(shù)據(jù)復(fù)制至運(yùn)算緩沖器1043。將該復(fù)制處理以下也稱為“第2輸入復(fù)制處理”。此時(shí),微處理器100在運(yùn)算緩沖器1043中,將被復(fù)制的輸入數(shù)據(jù)以適于控制程序230使用的形式再配置。
[0130]這樣,微處理器100控制以下處理的執(zhí)行:輸出復(fù)制處理(第I輸出復(fù)制處理以及第2輸出復(fù)制處理),將輸出數(shù)據(jù)從運(yùn)算緩沖器1043復(fù)制至第I轉(zhuǎn)發(fā)緩沖器1044以及第2轉(zhuǎn)發(fā)緩沖器1045 ;輸入復(fù)制處理(第I輸入復(fù)制處理以及第2輸入復(fù)制處理),將輸入數(shù)據(jù)從第I轉(zhuǎn)發(fā)緩沖器1044以及第2轉(zhuǎn)發(fā)緩沖器1045復(fù)制至運(yùn)算緩沖器1043。
[0131]關(guān)于該輸出復(fù)制處理(第I輸出復(fù)制處理以及第2輸出復(fù)制處理),通過(guò)微處理器100執(zhí)行輸出處理程序214而實(shí)現(xiàn),關(guān)于輸入復(fù)制處理(第I輸入復(fù)制處理以及第2輸入復(fù)制處理),通過(guò)微處理器100執(zhí)行輸入處理程序216而實(shí)現(xiàn)。
[0132]在本實(shí)施方式所涉及的CPU單元13中,運(yùn)算緩沖器1043、第I轉(zhuǎn)發(fā)緩沖器1044、以及第2轉(zhuǎn)發(fā)緩沖器1045能夠相互獨(dú)立地控制各自的接入。因此,能夠并行執(zhí)行例如以下所示(I)?(3)的多個(gè)動(dòng)作。
[0133](I)微處理器100進(jìn)行的、至伴隨控制程序230的執(zhí)行的運(yùn)算緩沖器1043的接入
[0134](2) PLC系統(tǒng)總線控制器120的DMA控制電路122進(jìn)行的、用于第I轉(zhuǎn)發(fā)緩沖器1044和第I通信電路緩沖器126之間的數(shù)據(jù)轉(zhuǎn)發(fā)的、至主存儲(chǔ)器104上的第I轉(zhuǎn)發(fā)緩沖器1044的接入
[0135](3)現(xiàn)場(chǎng)網(wǎng)絡(luò)控制器140的DMA控制電路142進(jìn)行的、用于第2轉(zhuǎn)發(fā)緩沖器1045和第2通信電路緩沖器146之間的數(shù)據(jù)轉(zhuǎn)發(fā)的、至主存儲(chǔ)器104上的第2轉(zhuǎn)發(fā)緩沖器1045的接入
[0136]因此,微處理器100控制第I通信電路(PLC系統(tǒng)總線控制器120)以及第2通信電路(現(xiàn)場(chǎng)網(wǎng)絡(luò)控制器140)之中的至少一方,以便并行執(zhí)行以下處理:第I輸入輸出處理,包含:將輸出數(shù)據(jù)從第I轉(zhuǎn)發(fā)緩沖器1044經(jīng)過(guò)第I通信電路(PLC系統(tǒng)總線控制器120)輸出至PLC系統(tǒng)總線11上的第I設(shè)備的處理(輸出處理)、和將輸入數(shù)據(jù)從該第I設(shè)備經(jīng)過(guò)該第I通信電路輸入至第I轉(zhuǎn)發(fā)緩沖器1044的處理(輸入處理);以及第2輸入輸出處理,包含:將輸出數(shù)據(jù)從第2轉(zhuǎn)發(fā)緩沖器1045經(jīng)過(guò)第2通信電路(現(xiàn)場(chǎng)網(wǎng)絡(luò)控制器140)輸出至現(xiàn)場(chǎng)網(wǎng)絡(luò)2上的第2設(shè)備的處理(輸出處理)、和將輸入數(shù)據(jù)從該第2設(shè)備經(jīng)過(guò)該第2通信電路輸入至第2轉(zhuǎn)發(fā)緩沖器1045的處理(輸入處理)。
[0137]在此,第I輸入輸出處理包含:第I輸出轉(zhuǎn)發(fā)處理,將輸出數(shù)據(jù)從第I轉(zhuǎn)發(fā)緩沖器1044轉(zhuǎn)發(fā)至第I通信電路緩沖器126 ;第I發(fā)送處理,將輸出數(shù)據(jù)從第I通信電路緩沖器126發(fā)送至第I設(shè)備;第I接收處理,將輸入數(shù)據(jù)從第I設(shè)備接收至第I通信電路緩沖器126 ;以及第I輸入轉(zhuǎn)發(fā)處理,將輸入數(shù)據(jù)從第I通信電路緩沖器126轉(zhuǎn)發(fā)至第I轉(zhuǎn)發(fā)緩沖器1044。同樣,第2輸入輸出處理包含:第2輸出轉(zhuǎn)發(fā)處理,將輸出數(shù)據(jù)從第2轉(zhuǎn)發(fā)緩沖器1045轉(zhuǎn)發(fā)至第2通信電路緩沖器146 ;第2發(fā)送處理,將輸出數(shù)據(jù)從第2通信電路緩沖器146發(fā)送至第2設(shè)備;第2接收處理,將輸入數(shù)據(jù)從第2設(shè)備接收至第2通信電路緩沖器146 ;以及第2輸入轉(zhuǎn)發(fā)處理,將輸入數(shù)據(jù)從第2通信電路緩沖器146轉(zhuǎn)發(fā)至第2轉(zhuǎn)發(fā)緩沖器 1045。
[0138]在此,說(shuō)明上述各個(gè)緩沖器。在CPU單元13的主存儲(chǔ)器104中,運(yùn)算緩沖器按照每個(gè)輸入數(shù)據(jù)以及每個(gè)輸出數(shù)據(jù)而生成。因此,在存在多個(gè)控制程序的情況下,用于一個(gè)輸入數(shù)據(jù)或者一個(gè)輸出數(shù)據(jù)的運(yùn)算緩沖器變?yōu)榘凑彰總€(gè)控制程序而生成。
[0139]也可以存在多個(gè)用于一個(gè)控制程序的、用于一個(gè)輸入數(shù)據(jù)或者一個(gè)輸出數(shù)據(jù)的運(yùn)算緩沖器。例如,分別生成兩個(gè)用于一個(gè)控制程序的、用于一個(gè)輸入數(shù)據(jù)或者一個(gè)輸出數(shù)據(jù)的運(yùn)算緩沖器,在一方的運(yùn)算緩沖器為了控制程序的執(zhí)行而使用時(shí),來(lái)自第I轉(zhuǎn)發(fā)緩沖器1044或者第2轉(zhuǎn)發(fā)緩沖器1045的數(shù)據(jù)的復(fù)制也可以在另一方的運(yùn)算緩沖器中進(jìn)行。這樣,針對(duì)相同的輸入數(shù)據(jù)或者輸出數(shù)據(jù)、形成組而被運(yùn)用的多個(gè)運(yùn)算緩沖器能夠集合地被看做一個(gè)運(yùn)算緩沖器。
[0140]圖4將用于多個(gè)輸入數(shù)據(jù)以及輸出數(shù)據(jù)的多個(gè)運(yùn)算緩沖器作為運(yùn)算緩沖器1043集合地表示。換言之,運(yùn)算緩沖器1043也可以表示運(yùn)算緩沖器區(qū)域。同樣,圖4中,針對(duì)第I轉(zhuǎn)發(fā)緩沖器1044、第2轉(zhuǎn)發(fā)緩沖器1045、第I通信電路緩沖器126、以及第2通信電路緩沖器146,集合地表示用于多個(gè)輸入數(shù)據(jù)以及多個(gè)輸出數(shù)據(jù)的多個(gè)緩沖器。
[0141]〈E.系統(tǒng)程序的整體處理動(dòng)作〉
[0142]接著,說(shuō)明系統(tǒng)程序210的整體處理動(dòng)作。
[0143]系統(tǒng)程序210包含控制動(dòng)作的執(zhí)行準(zhǔn)備命令以及控制動(dòng)作的執(zhí)行控制命令。在執(zhí)行準(zhǔn)備命令以及執(zhí)行控制命令中,包含以下那樣的命令,微處理器100在預(yù)定的定時(shí)或中斷等的事件的產(chǎn)生時(shí)響應(yīng)并執(zhí)行這些命令。
[0144](I)執(zhí)行準(zhǔn)備命令
[0145]該命令生成以下緩沖器:運(yùn)算緩沖器1043,在主存儲(chǔ)器104上,伴隨控制程序的執(zhí)行讀出輸入數(shù)據(jù),同時(shí)寫(xiě)入輸出數(shù)據(jù);第I轉(zhuǎn)發(fā)緩沖器1044,存儲(chǔ)通過(guò)PLC系統(tǒng)總線11被發(fā)送的輸出數(shù)據(jù)以及被接收到的輸入數(shù)據(jù);以及第2轉(zhuǎn)發(fā)緩沖器1045,存儲(chǔ)通過(guò)現(xiàn)場(chǎng)網(wǎng)絡(luò)2被發(fā)送的輸出數(shù)據(jù)以及被接收到的輸入數(shù)據(jù)。
[0146](2)執(zhí)行控制命令
[0147](a)控制程序開(kāi)始命令,使控制程序230的執(zhí)行開(kāi)始。
[0148](b)第I輸出復(fù)制命令,用于將輸出數(shù)據(jù)從運(yùn)算緩沖器1043復(fù)制至第I轉(zhuǎn)發(fā)緩沖器 1044。
[0149](c)第2輸出復(fù)制命令,用于將輸出數(shù)據(jù)從運(yùn)算緩沖器1043復(fù)制至第2轉(zhuǎn)發(fā)緩沖器 1045。
[0150](d)第I輸入復(fù)制命令,用于將輸入數(shù)據(jù)從第I轉(zhuǎn)發(fā)緩沖器1044復(fù)制至運(yùn)算緩沖器 1043。
[0151]Ce)第2輸入復(fù)制命令,用于將輸入數(shù)據(jù)從第2轉(zhuǎn)發(fā)緩沖器1045復(fù)制至運(yùn)算緩沖器 1043。
[0152](f)輸入輸出控制命令,用于控制第I通信電路(PLC系統(tǒng)總線控制器120)的第I輸入輸出控制命令以及用于控制第2通信電路(現(xiàn)場(chǎng)網(wǎng)絡(luò)控制器140)的第2輸入輸出控制命令之中的至少一方,該輸入輸出控制命令用于并行執(zhí)行以下處理:第I輸入輸出處理,包含:將輸出數(shù)據(jù)從第I轉(zhuǎn)發(fā)緩沖器1044經(jīng)過(guò)第I通信電路輸出至PLC系統(tǒng)總線11上的第I設(shè)備的處理、和將輸入數(shù)據(jù)從第I設(shè)備經(jīng)過(guò)第I通信電路輸入至第I轉(zhuǎn)發(fā)緩沖器1044的處理;以及第2輸入輸出處理,包含:將輸出數(shù)據(jù)從第2轉(zhuǎn)發(fā)緩沖器1045經(jīng)過(guò)第2通信電路輸出至現(xiàn)場(chǎng)網(wǎng)絡(luò)2上的第2設(shè)備的處理、和將輸入數(shù)據(jù)從第2設(shè)備經(jīng)過(guò)第2通信電路輸入至第2轉(zhuǎn)發(fā)緩沖器1045的處理。
[0153]這些命令在以下的步驟中通過(guò)微處理器100被執(zhí)行。圖5是表示本發(fā)明的實(shí)施方式所涉及的CPU單元中的系統(tǒng)程序的整體處理的流程圖。如圖5所示,首先,執(zhí)行控制動(dòng)作的執(zhí)行準(zhǔn)備處理(步驟SI)。更具體而言,步驟SI中,微處理器100執(zhí)行執(zhí)行準(zhǔn)備命令,在主存儲(chǔ)器104上生成運(yùn)算緩沖器1043、第I轉(zhuǎn)發(fā)緩沖器1044、以及第2轉(zhuǎn)發(fā)緩沖器1045。進(jìn)而,控制程序230的執(zhí)行準(zhǔn)備處理可包含對(duì)應(yīng)于具體的安裝方式的其他執(zhí)行準(zhǔn)備處理。
[0154]接下來(lái),執(zhí)行控制動(dòng)作的執(zhí)行控制處理(步驟S2)。該執(zhí)行控制處理變?yōu)橹貜?fù)執(zhí)行。更具體而言,步驟S2中,微處理器100執(zhí)行控制程序開(kāi)始命令、第I輸出復(fù)制命令、第2輸出復(fù)制命令、弟I輸入復(fù)制命令、弟2輸入復(fù)制命令、以及輸入輸出控制命令(并彳丁執(zhí)彳丁弟I輸入輸出處理以及/或者第2輸入輸出處理)。此外,控制動(dòng)作的執(zhí)行控制處理可包含對(duì)應(yīng)于具體的安裝方式的其他執(zhí)行控制處理。包含于控制動(dòng)作的執(zhí)行控制處理的各處理的執(zhí)行順序依賴于具體的實(shí)施方式。
[0155]〈F.關(guān)于CPU單元中的并行處理>
[0156]如上所述,在本實(shí)施方式所涉及的CPU單元13中,能夠并行執(zhí)行第I輸入輸出處理以及第2輸入輸出處理。此外,在CPU單元13 (微處理器100)中也執(zhí)行控制程序230。因此,首先,針對(duì)CPU單元13中的并行處理,參照?qǐng)D6?圖9說(shuō)明其概要。圖6?圖9是本發(fā)明的實(shí)施方式所涉及的CPU單元13的動(dòng)作的時(shí)序圖。
[0157]在說(shuō)明各時(shí)序圖前,說(shuō)明圖中的符號(hào)。圖中的符號(hào)“T”表示系統(tǒng)定時(shí)器產(chǎn)生的一定周期的中斷(控制循環(huán)開(kāi)始中斷)的定時(shí)。通過(guò)該控制循環(huán)開(kāi)始中斷T的產(chǎn)生而開(kāi)始控制循環(huán)。在如圖6-圖9所示的例中,將控制程序的執(zhí)行循環(huán)設(shè)為與控制循環(huán)相等。
[0158]作為控制循環(huán)開(kāi)始中斷T,也可以使用從CPU單元13的外部被輸入的、一定周期或者非一定周期的信號(hào)。這樣的話,能夠與變?yōu)樾盘?hào)源的外部的某些事件同步而使控制動(dòng)作進(jìn)行。
[0159]此外,也可以不使用控制循環(huán)開(kāi)始中斷,若一個(gè)控制循環(huán)內(nèi)的處理全部結(jié)束則立刻開(kāi)始下一控制循環(huán)的處理。此時(shí),控制循環(huán)的時(shí)間可按照每個(gè)控制循環(huán)而變動(dòng)。也可以是,為了排除這樣的變動(dòng)的影響,通過(guò)在與一個(gè)控制循環(huán)內(nèi)的控制動(dòng)作相關(guān)的處理全部結(jié)束后,執(zhí)行用于從控制循環(huán)的開(kāi)始至一定時(shí)間經(jīng)過(guò)等待處理的系統(tǒng)程序,控制循環(huán)的周期
變得大致一定。
[0160]接著,圖中的符號(hào)“A”?“G”表示以下所示的各處理的開(kāi)始或者結(jié)束的定時(shí)。
[0161]A:輸出轉(zhuǎn)發(fā)處理的開(kāi)始時(shí)刻(也表示輸出處理的開(kāi)始時(shí)刻、輸入輸出處理的開(kāi)始時(shí)刻)
[0162]B:發(fā)送處理的開(kāi)始時(shí)刻(也表示發(fā)送處理以及接收處理的開(kāi)始時(shí)刻)
[0163]C:發(fā)送處理的結(jié)束時(shí)刻(也表不輸出處理的結(jié)束時(shí)刻)
[0164]D:接收處理的開(kāi)始時(shí)刻(也表示輸入處理的開(kāi)始時(shí)刻)
[0165]E:接收處理的結(jié)束時(shí)刻(也表示發(fā)送處理以及接收處理的結(jié)束時(shí)刻)
[0166]F:輸入轉(zhuǎn)發(fā)處理的開(kāi)始時(shí)刻
[0167]G:輸入轉(zhuǎn)發(fā)處理的結(jié)束時(shí)刻(也表示輸入處理的結(jié)束時(shí)刻、輸入輸出處理的結(jié)束時(shí)刻)
[0168]此外,賦予于符號(hào)“A”?“G”的數(shù)字“I”以及“2”表示分別與第I輸入輸出處理以及第2輸入輸出處理關(guān)系的情況。
[0169]另外,在最初說(shuō)明的圖6的時(shí)序圖中,僅顯示符號(hào)A1、A2、G1、G2。另外,在后述的圖16的時(shí)序圖中,顯示全部的符號(hào)。
[0170]在此,將上述的時(shí)刻A?G的某一個(gè)以字符X表示、一般Π與Χ2不是相同時(shí)刻。這是,針對(duì)“第I”系統(tǒng)的(即,與PLC系統(tǒng)總線11關(guān)系的)處理、以及“第2”系統(tǒng)的(B卩,與現(xiàn)場(chǎng)網(wǎng)絡(luò)2關(guān)系的)處理,若分別使用系統(tǒng)程序210的命令而使對(duì)處理的開(kāi)始進(jìn)行指示,則即使例如要同時(shí)開(kāi)始處理,由于依次執(zhí)行命令自身,產(chǎn)生少量時(shí)間差。此外,“第I”系統(tǒng)的處理和“第2”系統(tǒng)的處理由于在安裝等級(jí)中的處理的內(nèi)容相互不同,這些結(jié)束時(shí)刻相互不同。
[0171]進(jìn)而,如圖6的時(shí)序圖所示的“輸出復(fù)制處理“輸入輸出處理“輸入復(fù)制處理”那樣,采用在“第I ”系統(tǒng)以及“第2”系統(tǒng)的各自的時(shí)序中,等待之前的處理的結(jié)束而開(kāi)始之后的處理的形式的情況下,之后的處理的開(kāi)始時(shí)刻依賴于之前的處理的結(jié)束時(shí)刻。由該理由,對(duì)應(yīng)于“第I”系統(tǒng)以及“第2”系統(tǒng)的處理的開(kāi)始時(shí)刻相互不同。
[0172]在微處理器100自己將輸出復(fù)制處理以及輸入復(fù)制處理作為程序處理而進(jìn)行的情況下,“第I”系統(tǒng)和“第2”系統(tǒng)之間的輸出復(fù)制處理間以及輸入復(fù)制處理間不并行執(zhí)行,事實(shí)上,變?yōu)橐来螆?zhí)行。通過(guò)在芯片組中內(nèi)置的DMA控制電路或者其他途徑設(shè)置的DMA控制電路、或通過(guò)多核的微處理器,能夠相互獨(dú)立執(zhí)行“第I”系統(tǒng)和“第2”系統(tǒng)之間的輸出復(fù)制處理間以及輸入復(fù)制處理間的情況下,這些處理的并行執(zhí)行是可能的。在微處理器不自己進(jìn)行作為程序處理的輸出復(fù)制處理以及輸入復(fù)制處理的情況下,至少微處理器在提供執(zhí)行開(kāi)始的觸發(fā)的時(shí)刻控制處理的執(zhí)行。
[0173]圖6表不在一個(gè)控制循環(huán)內(nèi),連續(xù)進(jìn)行輸入輸出處理的情況的時(shí)序的例。若控制循環(huán)開(kāi)始中斷T產(chǎn)生,則首先執(zhí)行輸入輸出關(guān)系的處理,然后,進(jìn)行控制程序。在以下的說(shuō)明中,簡(jiǎn)單的“輸入輸出處理”的記載包含在該處理之中,在輸出處理之后進(jìn)行輸入處理的情況、在輸入處理之后進(jìn)行輸出處理的情況,以及不分開(kāi)時(shí)間帶而混合進(jìn)行輸出處理和輸入處理的情況。
[0174]并行進(jìn)行輸入輸出處理,在第I輸入輸出處理開(kāi)始(開(kāi)始時(shí)刻Al)后,至第I輸入輸出處理結(jié)束(結(jié)束時(shí)刻Gl)存在第2輸入輸出處理開(kāi)始(開(kāi)始時(shí)刻A2)的情況,或者,相反,在第2輸入輸出處理開(kāi)始(開(kāi)始時(shí)刻A2)后,至第2輸入輸出處理結(jié)束(結(jié)束時(shí)刻G2)存在第I輸入輸出處理開(kāi)始(Al)的情況。在以后的說(shuō)明中,無(wú)論處理的內(nèi)容,并行進(jìn)行相互同種的“第I”系統(tǒng)的處理和“第2”系統(tǒng)的處理時(shí)的含義與上述相同。
[0175]圖7?圖9表示輸入輸出處理的并行執(zhí)行所涉及的各種各樣的方式。圖7表示在一個(gè)控制循環(huán)內(nèi),連續(xù)進(jìn)行輸入輸出處理的情況的時(shí)序的例。與圖6的情況不同,在控制程序執(zhí)行之后進(jìn)行輸出復(fù)制處理。即,輸出復(fù)制處理不限于在輸入輸出處理之前進(jìn)行。在按照每個(gè)控制循環(huán)執(zhí)行一個(gè)控制程序的情況下,無(wú)論圖6以及圖7所示的哪個(gè)時(shí)序中,從外部看到的CPU單元13的動(dòng)作基本不變。其中,如后述的圖18以及圖19所示那樣,在比起控制循環(huán)的周期(發(fā)送接收的周期)、控制程序的執(zhí)行周期更長(zhǎng)的情況下,存在根據(jù)將輸出復(fù)制處理如圖6所示在輸入輸出處理之前進(jìn)行,或如圖7所示在控制程序執(zhí)行之后進(jìn)行,通過(guò)確定的控制程序的執(zhí)行而生成的輸出數(shù)據(jù)何時(shí)從CPU單元13被輸出不一致的情況。
[0176]此外,在比起控制循環(huán)的周期、控制程序的執(zhí)行周期更長(zhǎng)的情況下,存在在輸入輸出處理和控制程序執(zhí)行之間進(jìn)行與其他控制程序相關(guān)的處理的情況。此時(shí),輸入復(fù)制處理可以在輸入輸出處理之后進(jìn)行,也可以在控制程序執(zhí)行之前進(jìn)行。存在根據(jù)是否以某個(gè)定時(shí)進(jìn)行輸入復(fù)制處理,在確定的控制程序的執(zhí)行中,何時(shí)使用被輸入的輸入數(shù)據(jù)不一致的情況。
[0177]圖8表示將圖6所示輸入輸出處理分為輸出處理和輸入處理而執(zhí)行的情況的時(shí)序的例。此外,圖9表示在一個(gè)控制循環(huán)之中,在控制程序執(zhí)行之前進(jìn)行輸入處理,在控制程序執(zhí)行之后進(jìn)行輸出處理的情況的時(shí)序的例。
[0178]無(wú)論在圖8以及圖9所示的哪個(gè)時(shí)序中,第I輸入輸出處理包含:第I輸出處理,將輸出數(shù)據(jù)從第I轉(zhuǎn)發(fā)緩沖器輸出至第I設(shè)備;以及第I輸入處理,將輸入數(shù)據(jù)從第I設(shè)備輸入至第I轉(zhuǎn)發(fā)緩沖器。同樣,第2輸入輸出處理包含:第2輸出處理,將輸出數(shù)據(jù)從第2轉(zhuǎn)發(fā)緩沖器輸出至第2設(shè)備;以及第2輸入處理,將輸入數(shù)據(jù)從第2設(shè)備輸入至第2轉(zhuǎn)發(fā)緩沖器。然后,微處理器100進(jìn)行控制以便進(jìn)行第I輸出處理和第2輸出處理的并行執(zhí)行以及第I輸入處理和第2輸入處理的并行執(zhí)行之中的至少某一個(gè)。
[0179]這樣,通過(guò)將輸入輸出處理分為輸出處理和輸入處理而實(shí)現(xiàn),即使采用將如圖8所示的輸入輸出處理作為一系列的處理而進(jìn)行的時(shí)序,以及,如圖9所示的隔著控制程序的執(zhí)行、將輸入處理和輸出處理分開(kāi)進(jìn)行的時(shí)序、的某個(gè)的情況下,也能夠共通輸出命令以及輸入命令而使用。
[0180]以下,基于如圖2以及圖4所示的結(jié)構(gòu),說(shuō)明更具體的實(shí)施方式。另外,在以后的說(shuō)明中,在“第I”以及“第2”的同種的處理或者命令存在的情況下,關(guān)于該處理或者命令不確定“第I ”或者“第2”而提及時(shí),進(jìn)行對(duì)“第I ”以及“第2”共通的說(shuō)明。
[0181 ] <G.整體處理動(dòng)作(實(shí)施方式I) >
[0182]作為實(shí)施方式1,說(shuō)明具體化如圖6所示的時(shí)序的輸入輸出處理的一個(gè)方式。實(shí)施方式I中,表不一體進(jìn)行輸入輸出處理的情況的例。
[0183]圖10是本發(fā)明的實(shí)施方式I所涉及的CPU單元13的動(dòng)作的時(shí)序圖。圖11是對(duì)應(yīng)于圖10所不的時(shí)序圖的流程圖。
[0184]參照?qǐng)D10,如圖6所示的時(shí)序中的輸入輸出處理由被更具體化后的輸出轉(zhuǎn)發(fā)處理、發(fā)送接收處理、以及輸入轉(zhuǎn)發(fā)處理而構(gòu)成。
[0185]本實(shí)施方式所涉及的CPU單元13中,參照?qǐng)D4說(shuō)明那樣,微處理器100通過(guò)執(zhí)行輸出復(fù)制命令以及輸入復(fù)制命令,微處理器100自身在運(yùn)算緩沖器1043和轉(zhuǎn)發(fā)緩沖器1044、1045之間分別進(jìn)行輸出數(shù)據(jù)以及輸入數(shù)據(jù)的復(fù)制。
[0186]此外,微處理器100通過(guò)執(zhí)行作為輸入輸出控制命令的至少一部分的輸出轉(zhuǎn)發(fā)命令,對(duì)通信電路(PLC系統(tǒng)總線控制器120以及現(xiàn)場(chǎng)網(wǎng)絡(luò)控制器140)指示輸出轉(zhuǎn)發(fā)開(kāi)始。若通信電路接受該指示,則通信電路之中的DMA控制電路(DMA控制電路122、142 )將輸出數(shù)據(jù)從轉(zhuǎn)發(fā)緩沖器1044以及1045轉(zhuǎn)發(fā)(復(fù)制)至通信電路緩沖器126以及146。若轉(zhuǎn)發(fā)完成,則通信電路之中的通信控制電路(PLC系統(tǒng)總線通信控制電路124以及現(xiàn)場(chǎng)網(wǎng)絡(luò)通信控制電路144)在設(shè)備之間分別進(jìn)行發(fā)送接收處理。即,通信控制電路將輸出數(shù)據(jù)從通信電路緩沖器126以及146發(fā)送至設(shè)備,將輸入數(shù)據(jù)從設(shè)備接收至通信電路緩沖器126以及146。
[0187]該發(fā)送接收處理按照采用的PLC系統(tǒng)總線11以及現(xiàn)場(chǎng)網(wǎng)絡(luò)2的通信協(xié)議,優(yōu)選以該通信協(xié)議中效率高的方式進(jìn)行。例如,若是EtherCAT (注冊(cè)商標(biāo))的情況,主控設(shè)備將發(fā)送至各從動(dòng)裝置設(shè)備的輸出數(shù)據(jù)存儲(chǔ)為一個(gè)串行幀而發(fā)送。另一方面,各從動(dòng)裝置設(shè)備在使幀通過(guò)之間,將發(fā)往自己的輸出數(shù)據(jù)從幀讀出,將輸入數(shù)據(jù)寫(xiě)入幀。第2通信電路將各從動(dòng)裝置設(shè)備從進(jìn)行一圈返回后的(接收的)幀得到各設(shè)備的輸入數(shù)據(jù)。
[0188]按照其他幾個(gè)通信協(xié)議,通信電路向一個(gè)設(shè)備發(fā)送存儲(chǔ)輸出數(shù)據(jù)的幀,作為與此相對(duì)的返信,從該設(shè)備接收存儲(chǔ)輸入數(shù)據(jù)的幀。接下來(lái),將其他一個(gè)設(shè)備作為對(duì)象進(jìn)行同樣的發(fā)送以及接收。
[0189]從這些例可知,在發(fā)送接收處理中,存在僅進(jìn)行發(fā)送的時(shí)間帶和僅進(jìn)行接收的時(shí)間帶未分離的情況。
[0190]若發(fā)送接收處理完成,則通信電路之中的DMA控制電路將輸入數(shù)據(jù)從通信電路緩沖器轉(zhuǎn)發(fā)(復(fù)制)至轉(zhuǎn)發(fā)緩沖器。若轉(zhuǎn)發(fā)完成,則通信電路對(duì)微處理器100發(fā)送輸入轉(zhuǎn)發(fā)完成通知。
[0191]接著輸出轉(zhuǎn)發(fā)處理,通信電路自身執(zhí)行控制發(fā)送接收處理以及輸入轉(zhuǎn)發(fā)處理。因此,微處理器100對(duì)通信電路指示輸出轉(zhuǎn)發(fā)開(kāi)始后,至接受輸入轉(zhuǎn)發(fā)完成通知不應(yīng)進(jìn)行關(guān)于輸入輸出處理。也可以利用該時(shí)間,在微處理器100中使系統(tǒng)程序或其他控制程序執(zhí)行。
[0192]也可以是,發(fā)送接收處理的開(kāi)始將對(duì)于通信電路的一定周期的發(fā)送接收開(kāi)始信號(hào)作為觸發(fā)(從不是接收而是發(fā)送開(kāi)始的情況下是發(fā)送開(kāi)始信號(hào))。發(fā)送接收開(kāi)始信號(hào)也可以是系統(tǒng)定時(shí)器產(chǎn)生,也可以是通信電路自身具有產(chǎn)生發(fā)送接收開(kāi)始信號(hào)的定時(shí)器。優(yōu)選控制循環(huán)開(kāi)始中斷T和發(fā)送接收開(kāi)始信號(hào)之間的時(shí)間間隔始終設(shè)為一定。
[0193]作為由用于實(shí)現(xiàn)如圖10所示的時(shí)序的具體的微處理器100而執(zhí)行的系統(tǒng)程序210所涉及的處理,如圖11所示的流程圖。
[0194]參照?qǐng)D11,微處理器100執(zhí)行在系統(tǒng)程序210中的、PLCl的控制動(dòng)作的執(zhí)行準(zhǔn)備處理(步驟SI)。接下來(lái),微處理器100執(zhí)行在系統(tǒng)程序210中的、PLCl的控制動(dòng)作的執(zhí)行控制處理(如圖5所示的步驟S2)。該P(yáng)LCl的控制動(dòng)作的執(zhí)行控制處理的詳細(xì)的一例相當(dāng)于步驟S200?S216。
[0195]首先,微處理器100等待控制循環(huán)開(kāi)始中斷(步驟S200)。若接受控制循環(huán)開(kāi)始中斷(步驟S200中的是),微處理器100執(zhí)行第I輸出復(fù)制命令,同時(shí)執(zhí)行第2輸出復(fù)制命令(步驟S202)。通過(guò)第I輸出復(fù)制命令的執(zhí)行,微處理器100將第I輸出數(shù)據(jù)從主存儲(chǔ)器104上的運(yùn)算緩沖器1043復(fù)制至第I轉(zhuǎn)發(fā)緩沖器1044。此外,通過(guò)第2輸出復(fù)制命令的執(zhí)行,微處理器100將第2輸出數(shù)據(jù)從主存儲(chǔ)器104上的運(yùn)算緩沖器1043復(fù)制至第2轉(zhuǎn)發(fā)緩沖器1045。在此,也可以是,運(yùn)算緩沖器1043中的第I輸出數(shù)據(jù)和第2輸出數(shù)據(jù)是相同的數(shù)據(jù)。
[0196]若至少第I輸出復(fù)制命令的執(zhí)行完成,則微處理器100執(zhí)行第I輸出轉(zhuǎn)發(fā)命令。此外,若至少第2輸出復(fù)制命令的執(zhí)行完成,則微處理器100執(zhí)行第2輸出轉(zhuǎn)發(fā)命令(步驟S204)。在步驟S204中,執(zhí)行第I輸出轉(zhuǎn)發(fā)命令的時(shí)刻為Al,執(zhí)行第2輸出轉(zhuǎn)發(fā)命令的時(shí)刻為A2。通過(guò)第I輸出轉(zhuǎn)發(fā)命令的執(zhí)行,對(duì)第I通信電路(PLC系統(tǒng)總線控制器120)指示輸出轉(zhuǎn)發(fā)開(kāi)始。此外,通過(guò)第2輸出轉(zhuǎn)發(fā)命令的執(zhí)行,對(duì)第2通信電路(現(xiàn)場(chǎng)網(wǎng)絡(luò)控制器140)指示輸出轉(zhuǎn)發(fā)開(kāi)始。然后,第I通信電路以及第2通信電路分別從轉(zhuǎn)發(fā)緩沖器1044以及1045至通信電路緩沖器126以及146轉(zhuǎn)發(fā)(復(fù)制)輸出數(shù)據(jù),在第I設(shè)備以及第2設(shè)備之間進(jìn)行發(fā)送接收處理,將接收至通信電路緩沖器126以及146的輸入數(shù)據(jù)轉(zhuǎn)發(fā)至轉(zhuǎn)發(fā)緩沖器1044以及1045。若該一系列的處理完成,則第I通信電路以及第2通信電路分別發(fā)行輸入轉(zhuǎn)發(fā)完成通知。從而,作為輸入轉(zhuǎn)發(fā)處理的結(jié)束時(shí)刻G,變?yōu)槲⑻幚砥?00接收各自的輸入轉(zhuǎn)發(fā)完成通知的定時(shí)。
[0197]在步驟S204之后,微處理器100等待來(lái)自通信電路的輸入轉(zhuǎn)發(fā)完成通知(步驟S206)。在此,獨(dú)立進(jìn)行等待來(lái)自第I通信電路的第I輸入轉(zhuǎn)發(fā)完成通知的處理和等待來(lái)自第2通信電路的第2輸入轉(zhuǎn)發(fā)完成通知的處理。即,若接受來(lái)自第I通信電路的第I輸入轉(zhuǎn)發(fā)完成通知,則與是否已經(jīng)接受第2輸入轉(zhuǎn)發(fā)完成通知無(wú)關(guān),微處理器100執(zhí)行第I輸入復(fù)制命令。此外,若接受來(lái)自第2通信電路的第2輸入轉(zhuǎn)發(fā)完成通知,則與是否已經(jīng)接受第I輸入轉(zhuǎn)發(fā)完成通知無(wú)關(guān),微處理器100執(zhí)行第2輸入復(fù)制命令(步驟S208)。通過(guò)第I輸入復(fù)制命令的執(zhí)行,微處理器100將輸入數(shù)據(jù)從主存儲(chǔ)器104上的第I轉(zhuǎn)發(fā)緩沖器復(fù)制至運(yùn)算緩沖器1043。此外,通過(guò)第2輸入復(fù)制命令的執(zhí)行,微處理器100將輸入數(shù)據(jù)從主存儲(chǔ)器104上的第2轉(zhuǎn)發(fā)緩沖器復(fù)制至運(yùn)算緩沖器1043。無(wú)論微處理器100執(zhí)行第I輸出轉(zhuǎn)發(fā)命令以及第2輸出轉(zhuǎn)發(fā)命令的哪個(gè)后,處理前進(jìn)至步驟S210。
[0198]在步驟S210中,微處理器100執(zhí)行控制程序開(kāi)始命令。然后,微處理器100等待控制程序230的執(zhí)行結(jié)束通知(步驟S212)。
[0199]通過(guò)控制程序開(kāi)始命令的執(zhí)行,開(kāi)始控制程序230的執(zhí)行。與此相伴,在微處理器100中執(zhí)行的處理從系統(tǒng)程序210的處理切換為控制程序230的處理。S卩,從控制程序230的執(zhí)行開(kāi)始至執(zhí)行結(jié)束之間,微處理器100不執(zhí)行系統(tǒng)程序210。然后,若有控制程序230的執(zhí)行結(jié)束的通知(控制程序230的執(zhí)行結(jié)束通知),微處理器100中的執(zhí)行對(duì)象從控制程序230返回系統(tǒng)程序210。
[0200]若接受控制程序230的執(zhí)行結(jié)束通知(步驟S212中的是),微處理器100執(zhí)行其他處理(步驟S214)。若開(kāi)始其他處理的執(zhí)行,則微處理器100等待其他處理的執(zhí)行結(jié)束通知、或者下一個(gè)控制循環(huán)開(kāi)始中斷(步驟S216)。
[0201]在接受下一個(gè)控制循環(huán)開(kāi)始中斷前,若接受其他處理的執(zhí)行結(jié)束通知(步驟S216中“執(zhí)行結(jié)束通知”),則再次執(zhí)行步驟S200以下的處理。與此相對(duì),在接受其他處理的執(zhí)行結(jié)束通知前,若接受下一個(gè)控制循環(huán)開(kāi)始中斷(步驟S216中“控制循環(huán)開(kāi)始”),則中斷其他處理的執(zhí)行,再次執(zhí)行步驟S202以下的處理。
[0202]以上那樣,本實(shí)施方式所涉及的微處理器100控制第I通信電路以及第2通信電路之中的至少一方(圖11中的步驟S204以及S206),以便在從開(kāi)始第I輸出轉(zhuǎn)發(fā)處理以及第2輸出轉(zhuǎn)發(fā)處理的一方至對(duì)應(yīng)于該輸出轉(zhuǎn)發(fā)處理的輸入轉(zhuǎn)發(fā)處理完成之間(圖10中,從輸出轉(zhuǎn)發(fā)處理的開(kāi)始時(shí)刻Al (或者,A2)至輸入轉(zhuǎn)發(fā)處理的結(jié)束時(shí)刻Gl (或者,G2)之間)開(kāi)始另一方的輸出轉(zhuǎn)發(fā)處理。
[0203]根據(jù)實(shí)施方式1,連續(xù)進(jìn)行輸入輸出處理的情況下,能夠并行執(zhí)行第I輸入輸出處理和第2輸入輸出處理。
[0204]〈H.整體處理動(dòng)作(實(shí)施方式2) >
[0205]作為實(shí)施方式2,說(shuō)明具體化如圖6所示的時(shí)序的輸入輸出處理的其他方式。實(shí)施方式2是表不一體進(jìn)行輸入輸出處理的情況的例。
[0206]圖12是本發(fā)明的實(shí)施方式2所涉及的CPU單元13的動(dòng)作的時(shí)序圖。圖13是對(duì)應(yīng)于如圖12所示的時(shí)序圖的流程圖。
[0207]參照?qǐng)D12,如圖6所示的時(shí)序中的輸入輸出處理由被更具體化的輸出轉(zhuǎn)發(fā)處理、發(fā)送接收處理、以及輸入轉(zhuǎn)發(fā)處理而構(gòu)成。
[0208]與上述的實(shí)施方式I中的具體例的不同點(diǎn)是微處理器100對(duì)于通信電路指示發(fā)送接收處理的開(kāi)始以及輸入轉(zhuǎn)發(fā)處理的開(kāi)始的點(diǎn)。進(jìn)而,通信電路對(duì)微處理器100通知輸出轉(zhuǎn)發(fā)處理的完成以及發(fā)送接收處理的完成。一般,與作為CPU單元13內(nèi)的處理的輸出轉(zhuǎn)發(fā)處理以及輸入轉(zhuǎn)發(fā)處理相比,作為與CPU單元13外的通信處理的發(fā)送接收處理需要更長(zhǎng)時(shí)間,因此并行執(zhí)行發(fā)送接收處理是重要的。
[0209]如圖13所示的流程圖,與圖11所示流程圖相比,附加步驟S2051?S2054的處理的點(diǎn)不同。以下,主要說(shuō)明其不同點(diǎn),不重復(fù)其他處理的詳細(xì)的說(shuō)明。
[0210]微處理器100執(zhí)行第I輸出轉(zhuǎn)發(fā)命令,同時(shí)執(zhí)行了第2輸出轉(zhuǎn)發(fā)命令后(步驟S204),微處理器100等待來(lái)自通信電路的輸出轉(zhuǎn)發(fā)完成通知(步驟S2051 )。在此,獨(dú)立進(jìn)行等待來(lái)自第I通信電路的第I輸出轉(zhuǎn)發(fā)完成通知的處理和等待來(lái)自第2通信電路的第2輸出轉(zhuǎn)發(fā)完成通知的處理。即,若接受來(lái)自第I通信電路的第I輸出轉(zhuǎn)發(fā)完成通知,則與是否已接受第2輸出轉(zhuǎn)發(fā)完成通知無(wú)關(guān),微處理器100執(zhí)行第I發(fā)送接收命令。此外,若接收來(lái)自第2通信電路的第2輸出轉(zhuǎn)發(fā)完成通知,則與是否已接受第I輸出轉(zhuǎn)發(fā)完成通知無(wú)關(guān),微處理器100執(zhí)行第2發(fā)送接收命令(步驟S2052)。[0211]在步驟S2052中,執(zhí)行第I發(fā)送接收命令的時(shí)刻為BI,執(zhí)行第2發(fā)送接收命令的時(shí)刻為B2。另外,也可以是,為了將發(fā)送接收的周期設(shè)為一定,等待來(lái)自系統(tǒng)定時(shí)器108等的一定周期的觸發(fā)信號(hào),執(zhí)行第I發(fā)送接收命令以及/或者第2發(fā)送接收命令。
[0212]通過(guò)步驟S2052中的第I發(fā)送接收命令的執(zhí)行,對(duì)于第I通信電路(PLC系統(tǒng)總線控制器120)指示發(fā)送接收開(kāi)始。此外,通過(guò)第2發(fā)送接收命令的執(zhí)行,對(duì)于第2通信電路(現(xiàn)場(chǎng)網(wǎng)絡(luò)控制器140)指示發(fā)送接收開(kāi)始。然后,若第I通信電路以及第2通信電路分別在第I設(shè)備以及第2設(shè)備之間完成發(fā)送接收處理,則分別發(fā)行發(fā)送接收完成通知。
[0213]在步驟S2052之后,微處理器100等待來(lái)自通信電路的發(fā)送接收轉(zhuǎn)發(fā)完成通知(步驟S2053)。在此,獨(dú)立進(jìn)行等待來(lái)自第I通信電路的第I發(fā)送接收完成通知的處理和等待來(lái)自第2通信電路的第2發(fā)送接收完成通知的處理。即,若接受來(lái)自第I通信電路的第I發(fā)送接收完成通知,則與是否已接受第2發(fā)送接收完成通知無(wú)關(guān),微處理器100執(zhí)行第I輸入轉(zhuǎn)發(fā)命令。此外,若接受來(lái)自第2通信電路的第2發(fā)送接收完成通知,則與是否已接受第I發(fā)送接收完成通知無(wú)關(guān),微處理器100執(zhí)行第2輸入轉(zhuǎn)發(fā)命令(步驟S2054)。
[0214]在步驟S2054中,執(zhí)行第I輸入轉(zhuǎn)發(fā)命令的時(shí)刻為El,執(zhí)行第2輸入轉(zhuǎn)發(fā)命令的時(shí)刻為E2。一般,若考慮輸出轉(zhuǎn)發(fā)處理所需的時(shí)間比較短,發(fā)送接收處理所需的時(shí)間比較長(zhǎng),通過(guò)以上那樣的處理,事實(shí)上,能夠并行執(zhí)行第I發(fā)送接收處理和第2發(fā)送接收處理。
[0215]以上那樣,本實(shí)施方式所涉及的微處理器100控制第I通信電路以及第2通信電路之中的至少一方(圖13中的步驟S204?S206),以便在從開(kāi)始作為第I發(fā)送處理以及第I接收處理的第I發(fā)送接收處理、以及作為第2發(fā)送處理以及第2接收處理的第2發(fā)送接收處理的一方至該發(fā)送接收處理完成之間(圖12中,從發(fā)送處理的開(kāi)始時(shí)刻BI (或者,B2)至發(fā)送接收處理的結(jié)束時(shí)刻El (或者,E2)之間)開(kāi)始或者能夠開(kāi)始另一方的發(fā)送接收處理。
[0216]根據(jù)實(shí)施方式2,在連續(xù)進(jìn)行輸入輸出處理的情況下,能夠并行執(zhí)行第I發(fā)送接收處理和第2發(fā)送接收處理。
[0217]〈1.整體處理動(dòng)作(實(shí)施方式3) >
[0218]作為實(shí)施方式3,說(shuō)明具體化如圖9所示的時(shí)序的輸入輸出處理的一個(gè)方式。實(shí)施方式3是表不將輸入輸出處理分為輸出處理和輸入處理而進(jìn)行的情況的例。
[0219]圖14是本發(fā)明的實(shí)施方式3所涉及的CPU單元13的動(dòng)作的時(shí)序圖。圖15是對(duì)應(yīng)于如圖14所示的時(shí)序圖的流程圖。
[0220]參照?qǐng)D14,圖9所示時(shí)序中的輸入處理由被更具體化的接收處理以及輸入轉(zhuǎn)發(fā)處理而構(gòu)成。此外,如圖9所示的時(shí)序中的輸出處理由輸出轉(zhuǎn)發(fā)處理以及發(fā)送處理而構(gòu)成。
[0221]微處理器100若接受控制循環(huán)開(kāi)始中斷,則通過(guò)執(zhí)行接收命令,對(duì)通信電路(PLC系統(tǒng)總線控制器120以及現(xiàn)場(chǎng)網(wǎng)絡(luò)控制器140)指示輸入數(shù)據(jù)的接收開(kāi)始。若通信電路接受該指示,則在通信電路之中的通信控制電路(PLC系統(tǒng)總線通信控制電路124以及現(xiàn)場(chǎng)網(wǎng)絡(luò)通信控制電路144)對(duì)設(shè)備指示輸入數(shù)據(jù)的送出,根據(jù)該指示接收從設(shè)備送出的輸入數(shù)據(jù)并存儲(chǔ)至通信電路緩沖器126以及146。若輸入數(shù)據(jù)的接收完成,則在通信電路之中的DMA控制電路(DMA控制電路122、142 )將輸入數(shù)據(jù)從通信電路緩沖器轉(zhuǎn)發(fā)(復(fù)制)至轉(zhuǎn)發(fā)緩沖器1044以及1045。若轉(zhuǎn)發(fā)完成,則通信電路對(duì)微處理器100發(fā)送輸入轉(zhuǎn)發(fā)完成通知。若微處理器100接收輸入轉(zhuǎn)發(fā)完成通知,則通過(guò)執(zhí)行輸入復(fù)制命令,將輸入數(shù)據(jù)從轉(zhuǎn)發(fā)緩沖器1044以及1045復(fù)制至運(yùn)算緩沖器1043。[0222]若微處理器100接受控制程序執(zhí)行結(jié)束通知,則通過(guò)執(zhí)行輸出復(fù)制命令,將輸出數(shù)據(jù)從運(yùn)算緩沖器1043復(fù)制至轉(zhuǎn)發(fā)緩沖器1044以及1045。若輸出復(fù)制完成,則通過(guò)執(zhí)行輸出轉(zhuǎn)發(fā)命令,微處理器100對(duì)通信電路指示輸出轉(zhuǎn)發(fā)開(kāi)始。若通信電路接受該指示,則通信電路之中的DMA控制電路將輸出數(shù)據(jù)從轉(zhuǎn)發(fā)緩沖器1044以及1045轉(zhuǎn)發(fā)(復(fù)制)至通信電路緩沖器。若轉(zhuǎn)發(fā)完成,則通信電路之中的通信控制電路將輸出數(shù)據(jù)從通信電路緩沖器發(fā)送至設(shè)備。若發(fā)送處理完成,則通信電路對(duì)微處理器100發(fā)送發(fā)送完成通知。
[0223]作為通過(guò)用于實(shí)現(xiàn)如圖14所示的時(shí)序的具體的微處理器100執(zhí)行的系統(tǒng)程序210所涉及的處理,如圖15所示的流程圖。
[0224]參照?qǐng)D15,微處理器100執(zhí)行在系統(tǒng)程序210中的、PLCl的控制動(dòng)作的執(zhí)行準(zhǔn)備處理(步驟SI)。接下來(lái),微處理器100執(zhí)行在系統(tǒng)程序210中的、PLCl的控制動(dòng)作的執(zhí)行控制處理(如圖5所示的步驟S2)。該P(yáng)LCl的控制動(dòng)作的執(zhí)行控制處理的詳細(xì)的一例相當(dāng)于步驟S220?S240。
[0225]首先,微處理器100等待控制循環(huán)開(kāi)始中斷(步驟S220)。若接受控制循環(huán)開(kāi)始中斷(步驟S220中的是),微處理器100執(zhí)行第I接收命令,同時(shí)執(zhí)行第2接收命令(步驟S222)。然后,微處理器100等待來(lái)自通信電路的輸入轉(zhuǎn)發(fā)完成通知(步驟S224)。
[0226]步驟S222的處理開(kāi)始于作為接受控制循環(huán)開(kāi)始中斷T的時(shí)刻的接收處理的開(kāi)始時(shí)刻D。通過(guò)第I接收命令的執(zhí)行,對(duì)第I通信電路(PLC系統(tǒng)總線控制器120)指示輸入數(shù)據(jù)的接收開(kāi)始。此外,通過(guò)第2接收命令的執(zhí)行,對(duì)第2通信電路(現(xiàn)場(chǎng)網(wǎng)絡(luò)控制器140)指示輸入數(shù)據(jù)的接收開(kāi)始。然后,第I通信電路以及第2通信電路分別對(duì)第I設(shè)備以及第2設(shè)備指示輸入數(shù)據(jù)的送出,根據(jù)該指示接收從第I設(shè)備以及第2設(shè)備分別被送出的輸入數(shù)據(jù)并存儲(chǔ)至通信電路緩沖器126以及146。進(jìn)而,第I通信電路以及第2通信電路將輸入數(shù)據(jù)從通信電路緩沖器126以及146轉(zhuǎn)發(fā)(復(fù)制)至轉(zhuǎn)發(fā)緩沖器1044以及1045。若該一系列的接收處理完成,則第I通信電路以及第2通信電路分別發(fā)行輸入轉(zhuǎn)發(fā)完成通知。從而,作為輸入轉(zhuǎn)發(fā)處理的結(jié)束時(shí)刻的結(jié)束時(shí)刻G,變?yōu)槲⑻幚砥?00接收各自的輸入轉(zhuǎn)發(fā)完成通知的定時(shí)。
[0227]若接受來(lái)自第I通信電路的第I輸入轉(zhuǎn)發(fā)完成通知,則微處理器100執(zhí)行第I輸入復(fù)制命令。此外,若接受來(lái)自第2通信電路的第2輸入轉(zhuǎn)發(fā)完成通知,則微處理器100執(zhí)行第2輸入復(fù)制命令(步驟S208)。通過(guò)第I輸入復(fù)制命令的執(zhí)行,微處理器100將輸入數(shù)據(jù)從主存儲(chǔ)器104上的第I轉(zhuǎn)發(fā)緩沖器復(fù)制至運(yùn)算緩沖器1043。此外,通過(guò)第2輸入復(fù)制命令的執(zhí)行,微處理器100將輸入數(shù)據(jù)從主存儲(chǔ)器104上的第2轉(zhuǎn)發(fā)緩沖器復(fù)制至運(yùn)算緩沖器1043。無(wú)論微處理器100執(zhí)行第I輸出轉(zhuǎn)發(fā)命令以及第2輸出轉(zhuǎn)發(fā)命令的哪個(gè)后,處理前進(jìn)至步驟S228。
[0228]在步驟S228中,微處理器100執(zhí)行控制程序開(kāi)始命令。然后,微處理器100等待控制程序230的執(zhí)行結(jié)束通知(步驟S230)。
[0229]通過(guò)控制程序開(kāi)始命令的執(zhí)行,開(kāi)始控制程序230的執(zhí)行。與此相伴,通過(guò)微處理器100執(zhí)行的處理從系統(tǒng)程序210的處理切換至控制程序230的處理。S卩,從控制程序230的執(zhí)行開(kāi)始至執(zhí)行結(jié)束之間,微處理器100不執(zhí)行系統(tǒng)程序210。然后,若有控制程序230的執(zhí)行結(jié)束的通知(控制程序230的執(zhí)行結(jié)束通知),則微處理器100中的執(zhí)行對(duì)象從控制程序230返回至系統(tǒng)程序210。[0230]然后,若接受控制程序執(zhí)行結(jié)束通知(步驟S230中的是),則微處理器100執(zhí)行第I輸出復(fù)制命令,冋時(shí)執(zhí)彳丁弟2輸出復(fù)制命令(步驟S232)。通過(guò)弟I輸出復(fù)制命令的執(zhí)彳丁,微處理器100將輸出數(shù)據(jù)從主存儲(chǔ)器104上的運(yùn)算緩沖器1043復(fù)制至第I轉(zhuǎn)發(fā)緩沖器1044。此外,通過(guò)第2輸出復(fù)制命令的執(zhí)行,微處理器100將輸出數(shù)據(jù)從主存儲(chǔ)器104上的運(yùn)算緩沖器1043復(fù)制至第2轉(zhuǎn)發(fā)緩沖器1045。
[0231]若至少第I輸出復(fù)制命令的執(zhí)行完成,則微處理器100執(zhí)行第I輸出轉(zhuǎn)發(fā)命令。此外,若至少第2輸出復(fù)制命令的執(zhí)行完成,則微處理器100執(zhí)行第2輸出轉(zhuǎn)發(fā)命令(步驟S234)。然后,微處理器100等待來(lái)自通信電路的發(fā)送完成通知(步驟S236)。在步驟S234中,執(zhí)行第I輸出轉(zhuǎn)發(fā)命令的時(shí)刻為Al,執(zhí)行第2輸出轉(zhuǎn)發(fā)命令的時(shí)刻為A2。
[0232]通過(guò)第I輸出轉(zhuǎn)發(fā)命令的執(zhí)行,對(duì)第I通信電路(PLC系統(tǒng)總線控制器120)指示輸出轉(zhuǎn)發(fā)開(kāi)始。此外,通過(guò)第2輸出轉(zhuǎn)發(fā)命令的執(zhí)行,對(duì)第2通信電路(現(xiàn)場(chǎng)網(wǎng)絡(luò)控制器140)指示輸出轉(zhuǎn)發(fā)開(kāi)始。然后,第I通信電路以及第2通信電路分別從轉(zhuǎn)發(fā)緩沖器1044以及1045至通信電路緩沖器126以及146轉(zhuǎn)發(fā)(復(fù)制)輸出數(shù)據(jù),對(duì)第I設(shè)備以及第2設(shè)備進(jìn)行發(fā)送處理。若該一系列的處理完成,則第I通信電路以及第2通信電路分別發(fā)行發(fā)送完成通知。
[0233]若接收來(lái)自通信電路的第I發(fā)送完成通知以及第2發(fā)送完成通信的某個(gè),則微處理器100執(zhí)行其他處理(步驟S238)。若開(kāi)始其他處理的執(zhí)行,微處理器100等待其他處理的執(zhí)行結(jié)束通知、或者下一個(gè)控制循環(huán)開(kāi)始中斷(步驟S240 )。
[0234]在接受下一個(gè)控制循環(huán)開(kāi)始中斷前,若接受其他處理的執(zhí)行結(jié)束通知(步驟S240中”執(zhí)行結(jié)束通知”),則再次執(zhí)行步驟S220以下的處理。與此相對(duì),在接受其他處理的執(zhí)行結(jié)束通知前,若接受下一個(gè)控制循環(huán)開(kāi)始中斷(步驟S240中”控制循環(huán)開(kāi)始”),則中斷其他處理的執(zhí)行,再次執(zhí)行步驟S222以下的處理。
[0235]以上那樣,本實(shí)施方式所涉及的微處理器100控制第I通信電路以及第2通信電路之中的至少一方(圖15中的步驟S234、S236),以便在從開(kāi)始第I輸出轉(zhuǎn)發(fā)處理以及第2輸出轉(zhuǎn)發(fā)處理的一方至對(duì)應(yīng)于該輸出轉(zhuǎn)發(fā)處理的發(fā)送處理完成之間(圖14中,從輸出轉(zhuǎn)發(fā)處理的開(kāi)始時(shí)刻Al (或者,A2)至發(fā)送處理的結(jié)束時(shí)刻Cl (或者,C2))開(kāi)始或者能夠開(kāi)始另一方的輸出轉(zhuǎn)發(fā)處理。
[0236]此外,本實(shí)施方式所涉及的微處理器100控制第I通信電路以及第2通信電路之中的至少一方,以便在從開(kāi)始第I接收處理以及第2接收處理的一方至對(duì)應(yīng)于該接收處理的輸入轉(zhuǎn)發(fā)處理完成之間(圖16中,從接收處理的開(kāi)始時(shí)刻Dl (或者,D2)至輸入轉(zhuǎn)發(fā)處理的結(jié)束時(shí)刻Gl (或者,G2))開(kāi)始或能夠開(kāi)始另一方的接收處理。
[0237]根據(jù)實(shí)施方式3,在將輸入輸出處理分為輸出處理和輸入處理而執(zhí)行的情況下,能夠并行執(zhí)行第I輸出處理和第2輸出處理,以及能夠并行執(zhí)行第I輸入處理和第2輸入處理。
[0238]〈J.整體處理動(dòng)作(實(shí)施方式4) >
[0239]作為實(shí)施方式4,說(shuō)明具體化如圖8所示的時(shí)序的輸入輸出處理的方式。實(shí)施方式4表示將輸入輸出處理分為輸出處理和輸入處理而進(jìn)行的情況的例。
[0240]圖16是本發(fā)明的實(shí)施方式4所涉及的CPU單元13的動(dòng)作的時(shí)序圖。圖17是對(duì)應(yīng)于如圖16所示的時(shí)序圖的流程圖。[0241]參照?qǐng)D16,圖8所示時(shí)序中的輸出處理由被更具體化的輸出轉(zhuǎn)發(fā)處理以及發(fā)送處理而構(gòu)成。此外,如圖8所示的時(shí)序中的輸入處理由接收處理以及輸入轉(zhuǎn)發(fā)處理而構(gòu)成。微處理器100通過(guò)執(zhí)行使這些各處理開(kāi)始的命令,對(duì)通信電路指示各處理的開(kāi)始。若完成各處理的執(zhí)行,則通信電路對(duì)微處理器100發(fā)送處理的完成通知。
[0242]這些各處理如圖9以及圖14所示那樣,也可以以實(shí)現(xiàn)隔著控制程序的執(zhí)行而將輸入處理和輸出處理分開(kāi)而進(jìn)行的類(lèi)型的時(shí)序的順序而執(zhí)行。
[0243]作為通過(guò)用于實(shí)現(xiàn)如圖16所示的時(shí)序的具體的微處理器100而執(zhí)行的系統(tǒng)程序210所涉及的處理,如圖17所示的流程圖。
[0244]參照?qǐng)D17,微處理器100執(zhí)行在系統(tǒng)程序210中的、PLCl的控制動(dòng)作的執(zhí)行準(zhǔn)備處理(步驟SI)。接下來(lái),微處理器100執(zhí)行在系統(tǒng)程序210中的、PLCl的控制動(dòng)作的執(zhí)行控制處理(如圖5所示的步驟S2)。該P(yáng)LCl的控制動(dòng)作的執(zhí)行控制處理的詳細(xì)的一例相當(dāng)于步驟S250?S278。
[0245]首先,微處理器100等待控制循環(huán)開(kāi)始中斷(步驟S250)。若接受控制循環(huán)開(kāi)始中斷(步驟S250中的是),微處理器100執(zhí)行第I輸出復(fù)制命令,同時(shí)執(zhí)行第2輸出復(fù)制命令(步驟S252)。若至少第I輸出復(fù)制命令的執(zhí)行完成,微處理器100執(zhí)行第I輸出轉(zhuǎn)發(fā)命令。此外,若至少第2輸出復(fù)制命令的執(zhí)行完成,則微處理器100執(zhí)行第2輸出轉(zhuǎn)發(fā)命令(步驟S254)。然后,微處理器100等待來(lái)自通信電路的輸出轉(zhuǎn)發(fā)完成通知(步驟S256)。在步驟S254中,執(zhí)行第I輸出轉(zhuǎn)發(fā)命令的時(shí)刻為Al,執(zhí)行第2輸出轉(zhuǎn)發(fā)命令的時(shí)刻為A2。
[0246]若接受來(lái)自第I通信電路的第I輸出轉(zhuǎn)發(fā)完成通知,則微處理器100執(zhí)行第I發(fā)送命令。此外,若接受來(lái)自第2通信電路的第2輸出轉(zhuǎn)發(fā)完成通知,則微處理器100執(zhí)行第2發(fā)送命令(步驟S258 )。然后,微處理器100等待來(lái)自通信電路的發(fā)送完成通知(步驟S260 )。在步驟S258中,執(zhí)行第I發(fā)送命令的時(shí)刻為BI,執(zhí)行第2發(fā)送命令的時(shí)刻為B2。
[0247]通過(guò)第I發(fā)送命令的執(zhí)行,對(duì)第I通信電路(PLC系統(tǒng)總線控制器120)指示發(fā)送開(kāi)始。此外,通過(guò)第2發(fā)送命令的執(zhí)行,對(duì)第2通信電路(現(xiàn)場(chǎng)網(wǎng)絡(luò)控制器140)指示發(fā)送開(kāi)始。然后,第I通信電路以及第2通信電路分別對(duì)第I設(shè)備以及第2設(shè)備進(jìn)行發(fā)送處理。若發(fā)送處理完成,則第I通信電路以及第2通信電路分別發(fā)行發(fā)送完成通知。
[0248]若接受來(lái)自第I通信電路的第I發(fā)送完成通知,則微處理器100執(zhí)行第I接收命令。此外,若接受來(lái)自第2通信電路的第2發(fā)送完成通知,則微處理器100執(zhí)行第2接收命令(步驟S262)。然后,微處理器100等待來(lái)自通信電路的接收完成通知(步驟S264)。在步驟S262中,接受第I發(fā)送完成通知的時(shí)刻為Cl,接受第2發(fā)送完成通知的時(shí)刻為C2。
[0249]若接受來(lái)自第I通信電路的第I接收完成通知,則微處理器100執(zhí)行第I輸入轉(zhuǎn)發(fā)命令。此外,若接受來(lái)自第2通信電路的第2接收完成通知,則微處理器100執(zhí)行第2輸入轉(zhuǎn)發(fā)命令(步驟S266)。然后,微處理器100等待來(lái)自通信電路的輸入轉(zhuǎn)發(fā)完成通知(步驟S268)。在步驟S266中,接受第I接收完成通知的時(shí)刻為El,接受第2接收完成通知的時(shí)刻為E2。
[0250]若接受來(lái)自第I通信電路的第I輸入轉(zhuǎn)發(fā)完成通知,則微處理器100執(zhí)行第I輸入復(fù)制命令。此外,若接受來(lái)自第2通信電路的第2輸入轉(zhuǎn)發(fā)完成通知,則微處理器100執(zhí)行第2輸入復(fù)制命令(步驟S270)。若完成第I輸入復(fù)制命令的執(zhí)行以及第2輸入復(fù)制命令的執(zhí)行的某個(gè),則微處理器100執(zhí)行控制程序開(kāi)始命令(步驟S272)。然后,微處理器100等待控制程序230的執(zhí)行結(jié)束通知(步驟S274)。
[0251]若接受控制程序230的執(zhí)行結(jié)束通知(步驟S274中的是),微處理器100執(zhí)行其他處理(步驟S276)。若開(kāi)始其他處理的執(zhí)行,微處理器100等待其他處理的執(zhí)行結(jié)束通知、或者下一個(gè)控制循環(huán)開(kāi)始中斷(步驟S278)。
[0252]在接受下一個(gè)控制循環(huán)開(kāi)始中斷前,若接受其他處理的執(zhí)行結(jié)束通知(步驟S278中”執(zhí)行結(jié)束通知”),則再次執(zhí)行步驟S250以下的處理。與此相對(duì),在接受其他處理的執(zhí)行結(jié)束通知前,若接受下一個(gè)控制循環(huán)開(kāi)始中斷(步驟S278中“控制循環(huán)開(kāi)始”),中斷其他處理的執(zhí)行,再次執(zhí)行步驟S252以下的處理。
[0253]以上那樣,本實(shí)施方式所涉及的微處理器100控制第I通信電路以及第2通信電路之中的至少一方(圖17中的步驟S258、S260),以便在從開(kāi)始第I發(fā)送處理以及第2發(fā)送處理的一方至該發(fā)送處理完成之間(圖16中,從發(fā)送處理的開(kāi)始時(shí)刻BI (或者,B2)至發(fā)送處理的結(jié)束時(shí)刻Cl (或者,C2))開(kāi)始或者能夠開(kāi)始另一方的發(fā)送處理。
[0254]此外,本實(shí)施方式所涉及的微處理器100控制第I通信電路以及第2通信電路之中的至少一方(圖17中的步驟S262,S264),以便在從開(kāi)始第I接收處理以及第2接收處理的一方至該接收處理完成之間(圖16中,從接收處理的開(kāi)始時(shí)刻Dl (或者,D2)至接收處理的結(jié)束時(shí)刻El (或者,E2))開(kāi)始或者能夠開(kāi)始另一方的接收處理。
[0255]根據(jù)實(shí)施方式4,在將輸入輸出處理分為輸出處理和輸入處理而執(zhí)行的情況下,能夠并行執(zhí)行第I發(fā)送處理和第2發(fā)送處理,以及能夠并行執(zhí)行第I接收處理和第2接收處理。
[0256]另外,上述的說(shuō)明中,說(shuō)明在“第I”系統(tǒng)的處理和“第2”系統(tǒng)的處理之間,處理要素的結(jié)構(gòu)相互相同的情況。但是,也可以是,“第I”系統(tǒng)的處理和“第2”系統(tǒng)的處理之間處理要素的結(jié)構(gòu)相互不同。例如,“第I”系統(tǒng),即通過(guò)PLC系統(tǒng)總線11的通信,如圖16所示,按照每個(gè)輸出轉(zhuǎn)發(fā)處理、發(fā)送處理、接收處理、以及輸入轉(zhuǎn)發(fā)處理的各處理,進(jìn)行來(lái)自微處理器的開(kāi)始指示和來(lái)自通信電路的處理完成通知并前進(jìn)處理,另一方面,“第2”系統(tǒng),SP通過(guò)現(xiàn)場(chǎng)網(wǎng)絡(luò)2的通信,如圖10所示,從微處理器提供輸出轉(zhuǎn)發(fā)處理的開(kāi)始指示后,通信電路自身可組合控制跟隨輸出轉(zhuǎn)發(fā)處理的發(fā)送接收處理、輸入轉(zhuǎn)發(fā)處理的執(zhí)行。此時(shí),“第I”系統(tǒng)以及“第2”系統(tǒng)都在進(jìn)行輸入輸出處理的點(diǎn)共通,因此并行執(zhí)行的含義,變?yōu)榘凑請(qǐng)D6的例的情況。
[0257]〈K.整體處理動(dòng)作(實(shí)施方式5) >
[0258]實(shí)施方式5說(shuō)明控制程序通過(guò)分時(shí)多個(gè)執(zhí)行的情況的動(dòng)作例。
[0259]圖18是本發(fā)明的實(shí)施方式5所涉及的CPU單元13的動(dòng)作(輸入方向)的時(shí)序圖。圖19是本發(fā)明的實(shí)施方式5所涉及的CPU單元13的動(dòng)作(輸出方向)的時(shí)序圖。圖20是對(duì)應(yīng)于圖18以及圖19的流程圖。
[0260]圖18以及圖19表示作為具體例,執(zhí)行執(zhí)行優(yōu)先級(jí)高的控制程序I和執(zhí)行優(yōu)先級(jí)低的控制程序2的情況。此時(shí),假設(shè)控制程序I的執(zhí)行循環(huán)是控制循環(huán)2個(gè)周期量(控制循環(huán)I?2,3?4),控制程序2的執(zhí)行循環(huán)是控制循環(huán)4個(gè)周期量(控制循環(huán)I?4)。
[0261]此外,假設(shè)系統(tǒng)程序210,作為控制動(dòng)作的執(zhí)行準(zhǔn)備處理,對(duì)應(yīng)于控制程序I生成運(yùn)算緩沖器1,對(duì)應(yīng)于控制程序2生成運(yùn)算緩沖器2。說(shuō)明使用該運(yùn)算緩沖器,使與執(zhí)行循環(huán)同步,更新輸入輸出數(shù)據(jù)的方式。[0262]圖18以及圖19所示時(shí)序圖中,針對(duì)輸入輸出處理,采用上述的實(shí)施方式I中說(shuō)明的處理方式。其中,本實(shí)施方式中,控制程序的執(zhí)行循環(huán)跨越多次的控制循環(huán),因此假設(shè)用于各控制程序的實(shí)效的輸入輸出處理僅在該控制程序的執(zhí)行循環(huán)開(kāi)始的控制循環(huán)中進(jìn)行?!皩?shí)效的輸入輸出處理”是針對(duì)輸出處理,通過(guò)控制程序的執(zhí)行被更新后的輸出數(shù)據(jù)被發(fā)送至設(shè)備,針對(duì)輸入處理,通過(guò)從設(shè)備被接收到的輸入數(shù)據(jù)更新運(yùn)算緩沖器。
[0263]實(shí)施方式5中,輸入輸出處理(輸出轉(zhuǎn)發(fā)處理、發(fā)送接收處理、以及輸入轉(zhuǎn)發(fā)處理)自身是在每個(gè)控制循環(huán)中被執(zhí)行的處理,但輸入輸出處理的實(shí)效性根據(jù)輸出復(fù)制處理和輸入復(fù)制處理在哪個(gè)控制循環(huán)中進(jìn)行而控制。
[0264]若在每個(gè)控制循環(huán)中執(zhí)行輸入輸出處理,某些發(fā)送接收處理以一定周期進(jìn)行,因此有變得容易進(jìn)行PLC系統(tǒng)總線11以及現(xiàn)場(chǎng)網(wǎng)絡(luò)2的動(dòng)作狀況的監(jiān)視的優(yōu)點(diǎn)。另一方面,也可以僅在能夠進(jìn)行實(shí)效的輸入輸出處理的控制循環(huán)(控制程序的執(zhí)行循環(huán)開(kāi)始的控制循環(huán))中進(jìn)行輸入輸出處理。由此,能夠降低微處理器100、PLC系統(tǒng)總線11、以及現(xiàn)場(chǎng)網(wǎng)絡(luò)2的資源消耗量。
[0265]此外,在圖18以及圖19中,控制程序2也可以使用輸入輸出處理的時(shí)間而執(zhí)行。例如,也可以是,在控制循環(huán)2中開(kāi)始執(zhí)行的控制程序2在控制循環(huán)2內(nèi)執(zhí)行未結(jié)束的情況下,使用在控制循環(huán)3中PLC系統(tǒng)總線控制器120以及現(xiàn)場(chǎng)網(wǎng)絡(luò)控制器140進(jìn)行輸入輸出處理的時(shí)間,執(zhí)行控制循環(huán)2的未執(zhí)行的部分。
[0266]作為通過(guò)用于實(shí)現(xiàn)圖18以及圖19所示時(shí)序的具體的微處理器100而執(zhí)行的系統(tǒng)程序210所涉及的處理,如圖20所示的流程圖。
[0267]參照?qǐng)D20,微處理器100執(zhí)行系統(tǒng)程序210中的、PLCl的控制動(dòng)作的執(zhí)行準(zhǔn)備處理(步驟SI)。接下來(lái),微處理器100執(zhí)行系統(tǒng)程序210中的、PLCl的控制動(dòng)作的執(zhí)行控制處理(如圖5所示步驟S2)。該P(yáng)LCl的控制動(dòng)作的執(zhí)行控制處理的詳細(xì)的一例相當(dāng)于步驟S300 ?S348。
[0268]首先,微處理器100等待控制循環(huán)開(kāi)始的中斷信號(hào)(步驟S300)。若接受控制循環(huán)開(kāi)始的中斷信號(hào)(步驟S300中的是),微處理器100在控制程序I的執(zhí)行循環(huán)從當(dāng)前的控制循環(huán)開(kāi)始的情況下,在將控制程序I的執(zhí)行狀態(tài)設(shè)定為“執(zhí)行前”狀態(tài)之后,執(zhí)行第I輸出復(fù)制命令,同時(shí)執(zhí)行第2輸出復(fù)制命令(步驟S302)。通過(guò)第I輸出復(fù)制命令的執(zhí)行,微處理器100將存儲(chǔ)于運(yùn)算緩沖器I的輸出數(shù)據(jù)復(fù)制至第I轉(zhuǎn)發(fā)緩沖器。此外,通過(guò)第2輸出復(fù)制命令的執(zhí)行,微處理器100將存儲(chǔ)于運(yùn)算緩沖器I的輸出數(shù)據(jù)復(fù)制至第2轉(zhuǎn)發(fā)緩沖器。
[0269]接下來(lái),微處理器100在控制程序2的執(zhí)行循環(huán)從當(dāng)前的控制循環(huán)開(kāi)始的情況下,在將控制程序2的執(zhí)行狀態(tài)設(shè)定為“執(zhí)行前”狀態(tài)之后,執(zhí)行第I輸出復(fù)制命令,同時(shí)執(zhí)行第2輸出復(fù)制命令(步驟S304)。通過(guò)第I輸出復(fù)制命令的執(zhí)行,微處理器100將存儲(chǔ)于運(yùn)算緩沖器2的輸出數(shù)據(jù)復(fù)制至第I轉(zhuǎn)發(fā)緩沖器。此外,通過(guò)第2輸出復(fù)制命令的執(zhí)行,微處理器100將存儲(chǔ)于運(yùn)算緩沖器2的輸出數(shù)據(jù)復(fù)制至第2轉(zhuǎn)發(fā)緩沖器。
[0270]接下來(lái),微處理器100執(zhí)行第I輸出轉(zhuǎn)發(fā)命令(步驟S306),同時(shí)執(zhí)行第2輸出轉(zhuǎn)發(fā)命令(步驟S308)。然后,微處理器100等待來(lái)自第I通信電路的輸入轉(zhuǎn)發(fā)完成通知以及來(lái)自第2通信電路的輸入轉(zhuǎn)發(fā)完成通知(步驟S310)。在此,獨(dú)立進(jìn)行等待來(lái)自第I通信電路的第I輸入轉(zhuǎn)發(fā)完成通知的處理和等待來(lái)自第2通信電路的第2輸入轉(zhuǎn)發(fā)完成通知的處理。[0271]通過(guò)第I輸出轉(zhuǎn)發(fā)命令的執(zhí)行,執(zhí)行與第I轉(zhuǎn)發(fā)緩沖器相關(guān)的輸出處理以及輸入處理。此外,通過(guò)第2輸出轉(zhuǎn)發(fā)命令的執(zhí)行,執(zhí)行與第2轉(zhuǎn)發(fā)緩沖器相關(guān)的輸出處理以及輸入處理。
[0272]若接受來(lái)自第I通信電路的輸入轉(zhuǎn)發(fā)完成通知或者來(lái)自第2通信電路的輸入轉(zhuǎn)發(fā)完成通知,則執(zhí)行步驟S312的處理。
[0273]S卩,微處理器100在控制程序I的執(zhí)行循環(huán)從當(dāng)前的控制循環(huán)開(kāi)始的情況下,關(guān)于運(yùn)算緩沖器1,若接受來(lái)自第I通信電路的輸入轉(zhuǎn)發(fā)完成通知?jiǎng)t執(zhí)行第I輸入復(fù)制命令,同時(shí)若接受來(lái)自第2通信電路的輸入轉(zhuǎn)發(fā)完成通知?jiǎng)t執(zhí)行第2輸入復(fù)制。通過(guò)第I輸入復(fù)制命令的執(zhí)行,微處理器100將存儲(chǔ)于第I轉(zhuǎn)發(fā)緩沖器的輸入數(shù)據(jù)復(fù)制至運(yùn)算緩沖器I。此夕卜,通過(guò)第2輸入復(fù)制命令的執(zhí)行,微處理器100將存儲(chǔ)于第2轉(zhuǎn)發(fā)緩沖器的輸入數(shù)據(jù)復(fù)制至運(yùn)算緩沖器I。
[0274]進(jìn)而,微處理器100在控制程序2的執(zhí)行循環(huán)從當(dāng)前的控制循環(huán)開(kāi)始的情況下,關(guān)于運(yùn)算緩沖器2,若接受來(lái)自第I通信電路的輸入轉(zhuǎn)發(fā)完成通知?jiǎng)t執(zhí)行第I輸入復(fù)制命令,同時(shí)若接受來(lái)自第2通信電路的輸入轉(zhuǎn)發(fā)完成通知?jiǎng)t執(zhí)行第2輸入復(fù)制。通過(guò)第I輸入復(fù)制命令的執(zhí)行,微處理器100將存儲(chǔ)于第I轉(zhuǎn)發(fā)緩沖器的輸入數(shù)據(jù)復(fù)制至運(yùn)算緩沖器2。此夕卜,通過(guò)第2輸入復(fù)制命令的執(zhí)行,微處理器100將存儲(chǔ)于第2轉(zhuǎn)發(fā)緩沖器的輸入數(shù)據(jù)復(fù)制至運(yùn)算緩沖器2。
[0275]接下來(lái),微處理器100判斷控制程序I的執(zhí)行狀態(tài)(步驟S320)。
[0276]在控制程序I為“執(zhí)行前”狀態(tài)的情況(步驟S320中“執(zhí)行前”)下,微處理器100將控制程序I的執(zhí)行狀態(tài)設(shè)定為“執(zhí)行中”,開(kāi)始控制程序I的執(zhí)行(步驟S322)。然后,處理前進(jìn)至步驟S326。
[0277]在控制程序I為“執(zhí)行中”狀態(tài)的情況(步驟S320中“執(zhí)行中”)下,微處理器100開(kāi)始控制程序I的未執(zhí)行的部分的執(zhí)行(步驟S324)。然后,處理前進(jìn)至步驟S326。
[0278]在控制程序I為“執(zhí)行結(jié)束”狀態(tài)的情況(步驟S320中“執(zhí)行結(jié)束”)下,處理前進(jìn)至步驟S340。
[0279]在步驟S322或者S334中,若開(kāi)始(或者,重新開(kāi)始)控制程序I的執(zhí)行,則微處理器100等待控制程序I的執(zhí)行結(jié)束通知、或者下一個(gè)控制循環(huán)開(kāi)始的中斷信號(hào)(步驟S326 )。另外,在步驟S232或者S234中,通過(guò)開(kāi)始(或者,重新開(kāi)始)控制程序I的執(zhí)行,在微處理器100中執(zhí)行的處理從系統(tǒng)程序的處理切換為控制程序I的處理。即,從控制程序I的執(zhí)行開(kāi)始至執(zhí)行結(jié)束之間,微處理器100不執(zhí)行系統(tǒng)程序。然后,若至控制程序I的執(zhí)行結(jié)束存在下一個(gè)控制循環(huán)開(kāi)始的中斷,則實(shí)時(shí)0S200使在微處理器100中的控制程序I的執(zhí)行中斷,使系統(tǒng)程序的執(zhí)行重新開(kāi)始?;?,若存在控制程序I的執(zhí)行結(jié)束的通知(控制程序I的執(zhí)行結(jié)束通知),則微處理器100中的執(zhí)行對(duì)象從控制程序2返回至系統(tǒng)程序。
[0280]若接受控制程序I的執(zhí)行結(jié)束通知(步驟S336中“執(zhí)行結(jié)束通知”),則微處理器100將控制程序I的執(zhí)行狀態(tài)設(shè)定為“執(zhí)行結(jié)束”(步驟S328)。然后,處理前進(jìn)至步驟S340。
[0281]另一方面,若至控制程序I的執(zhí)行結(jié)束通知接受下一個(gè)控制循環(huán)開(kāi)始的中斷(步驟S336中“控制循環(huán)開(kāi)始”),在微處理器100中執(zhí)行中的控制程序I被中斷,微處理器100再次執(zhí)行步驟S302以下的處理。
[0282]在步驟S340中,微處理器100判斷控制程序2的執(zhí)行狀態(tài)(步驟S340)。[0283]在控制程序2為“執(zhí)行前”狀態(tài)的情況(步驟S340中“執(zhí)行前”)下,微處理器100將控制程序2的執(zhí)行狀態(tài)設(shè)定為“執(zhí)行中”,開(kāi)始控制程序2的執(zhí)行(步驟S342)。然后,處理前進(jìn)至步驟S346。
[0284]在控制程序2為“執(zhí)行中”狀態(tài)的情況(步驟S340中“執(zhí)行中”)下,微處理器100開(kāi)始控制程序2的未執(zhí)行的部分的執(zhí)行(步驟S344)。然后,處理前進(jìn)至步驟S346。
[0285]在控制程序2為“執(zhí)行結(jié)束”狀態(tài)的情況(步驟S340中“執(zhí)行結(jié)束”)下,處理前進(jìn)至步驟S300。
[0286]在步驟S342或者S344中,若開(kāi)始(或者,重新開(kāi)始)控制程序2的執(zhí)行,則微處理器100等待控制程序2的執(zhí)行結(jié)束通知、或者下一個(gè)控制循環(huán)開(kāi)始的中斷信號(hào)(步驟S346 )。
[0287]若接受控制程序2的執(zhí)行結(jié)束通知(步驟S346中“執(zhí)行結(jié)束通知”),則微處理器100將控制程序2的執(zhí)行狀態(tài)設(shè)定為“執(zhí)行結(jié)束”(步驟S348)。然后,處理前進(jìn)至步驟S300。
[0288]另一方面,若至控制程序2的執(zhí)行結(jié)束通知接受下一個(gè)控制循環(huán)開(kāi)始的中斷(步驟S346中“控制循環(huán)開(kāi)始”),則在微處理器100中執(zhí)行中的控制程序2被中斷,微處理器100再次執(zhí)行步驟S302以下的處理。
[0289]根據(jù)實(shí)施方式5,能夠使實(shí)效的輸入輸出處理的定時(shí)與控制程序的執(zhí)行循環(huán)同步。
[0290]在實(shí)施方式5中,控制程序1、2分別利用經(jīng)由PLC系統(tǒng)總線11以及現(xiàn)場(chǎng)網(wǎng)絡(luò)2的雙方的輸入輸出處理,但也可存在一個(gè)控制程序利用僅經(jīng)由PLC系統(tǒng)總線11以及現(xiàn)場(chǎng)網(wǎng)絡(luò)2的一方的輸入輸出處理的情況。例如,可存在控制程序I針對(duì)第I輸出數(shù)據(jù)以及第I輸入數(shù)據(jù)利用僅經(jīng)由PLC系統(tǒng)總線11的輸入輸出處理,控制程序2針對(duì)第2輸出數(shù)據(jù)以及第2輸入數(shù)據(jù)利用僅經(jīng)由現(xiàn)場(chǎng)網(wǎng)絡(luò)2的輸入輸出處理的情況。此時(shí),控制程序I使用第I輸入數(shù)據(jù)生成第I輸出數(shù)據(jù),控制程序2使用第2輸入數(shù)據(jù)生成第2輸出數(shù)據(jù)。此外,此時(shí),經(jīng)由PLC系統(tǒng)總線11的輸入輸出處理和經(jīng)由現(xiàn)場(chǎng)網(wǎng)絡(luò)2的輸入輸出處理之間實(shí)效的輸入輸出處理的周期變得不同。
[0291]另外,作為實(shí)施方式5的變形,也可以如圖7所示,將進(jìn)行輸入復(fù)制處理的定時(shí)設(shè)為控制程序執(zhí)行之前,將進(jìn)行輸出復(fù)制處理的定時(shí)設(shè)為控制程序執(zhí)行之后。若采用這樣的結(jié)構(gòu),則存在實(shí)效的輸入輸出的定時(shí)變得與控制程序的執(zhí)行循環(huán)不同步的情況,但存在控制程序使用更新的輸入數(shù)據(jù),能夠在控制程序的執(zhí)行結(jié)束后將輸出數(shù)據(jù)更快地發(fā)送至設(shè)備的情況。
[0292]例如,在圖18以及圖19所示的控制循環(huán)2中執(zhí)行的控制程序2使用在控制循環(huán)2中被輸入的輸入數(shù)據(jù),該控制程序2生成的輸出數(shù)據(jù)變得在控制循環(huán)3中被輸出。
[0293]<L.支持裝置>
[0294]接著,說(shuō)明用于進(jìn)行在PLCl中執(zhí)行的程序的生成以及PLCl的維護(hù)等的PLC支持
裝置8。
[0295]圖21是表示與本發(fā)明的實(shí)施方式所涉及的CPU單元連接而使用的PLC支持裝置8的硬件結(jié)構(gòu)的示意圖。參照?qǐng)D21,PLC支持裝置8,典型地,由通用的計(jì)算機(jī)而構(gòu)成。另外,從維護(hù)性的觀點(diǎn)來(lái)看,優(yōu)選可移動(dòng)性好的筆記本型的個(gè)人計(jì)算機(jī)。
[0296]參照?qǐng)D21,PLC支持裝置8包含:CPU81,執(zhí)行包含OS的各種程序;R0M(Read OnlyMemory) 82,存儲(chǔ)BIOS或各種數(shù)據(jù);存儲(chǔ)器RAM83,提供用于存儲(chǔ)在對(duì)CPU81中的程序的執(zhí)行必要的數(shù)據(jù)的作業(yè)區(qū)域;以及硬盤(pán)(HDD) 84,不易失地存儲(chǔ)通過(guò)CPU81執(zhí)行的程序等。[0297]PLC支持裝置8進(jìn)一步包含:接收來(lái)自用戶的操作的鍵盤(pán)85以及鼠標(biāo)86、以及用于向用戶提示信息的監(jiān)視器87。進(jìn)而,PLC支持裝置8包含:用于與PLCl (CPU單元13)等通信的通信接口(IF) 89。
[0298]如后述所示,在PLC支持裝置8中執(zhí)行的各種程序存儲(chǔ)至⑶-R0M9而流通。存儲(chǔ)至該 CD-R0M9 的程序通過(guò) CD-ROM (Compact Disk-Read Only Memory)驅(qū)動(dòng) 88 被讀取,存儲(chǔ)至硬盤(pán)(HDD) 84等?;?,也可以是,從上位的主計(jì)算機(jī)等通過(guò)網(wǎng)絡(luò)下載程序。
[0299]如上所述,PLC支持裝置8使用通用的計(jì)算機(jī)而實(shí)現(xiàn),因此不進(jìn)行這以上的詳細(xì)的說(shuō)明。
[0300]圖22是表示與本發(fā)明的實(shí)施方式所涉及的CPU單元連接而使用的PLC支持裝置8的軟件結(jié)構(gòu)的示意圖。參照?qǐng)D22,在PLC支持裝置8中執(zhí)行0S310,提供可執(zhí)行包含于PLC支持程序320的各種程序的環(huán)境。
[0301]PLC支持程序320包含:編輯器程序321、匯編器程序322、調(diào)試器程序323、模擬用時(shí)序命令運(yùn)算程序324、模擬用動(dòng)作運(yùn)算程序325、以及通信程序326。包含于PLC支持程序320的各自的程序,典型地,以存儲(chǔ)至⑶-R0M9的狀態(tài)而流通,安裝至PLC支持裝置8。
[0302]編輯器程序321提供用于生成用戶程序236的輸入以及編輯的功能。更具體而言,編輯器程序321除了提供用戶操作鍵盤(pán)85或鼠標(biāo)86而生成用戶程序236的源程序330的功能,還提供生成的源程序330的保存功能以及編輯功能。此外,編輯器程序321接受來(lái)自外部的源程序330的輸入。
[0303]匯編器程序322匯編源程序330,提供生成在CPU單元13的微處理器100中可執(zhí)行的目標(biāo)程序形式的用戶程序236的功能。此外,匯編器程序322匯編源程序330,提供生成在PLC支持裝置8的CPU81中可執(zhí)行的目標(biāo)程序形式的用戶程序340的功能。該用戶程序340是為了通過(guò)PLC支持裝置8模擬(模擬)PLCl的動(dòng)作而使用的、模擬用的目標(biāo)程序。
[0304]調(diào)試器程序323提供用于對(duì)用戶程序的源程序進(jìn)行調(diào)試的功能。作為該調(diào)試的內(nèi)容,包含部分地執(zhí)行源程序之中用戶指定的范圍、追蹤源程序的執(zhí)行中的變量值的時(shí)間的變化的動(dòng)作。
[0305]調(diào)試器程序323進(jìn)一步提供執(zhí)行作為模擬用的目標(biāo)程序的用戶程序340的功能。在該模擬時(shí),代替包含于CPU單元13的系統(tǒng)程序的時(shí)序命令運(yùn)算程序232以及動(dòng)作運(yùn)算程序234,使用包含于PLC支持程序320的模擬用時(shí)序命令運(yùn)算程序324以及模擬用動(dòng)作運(yùn)算程序325。
[0306]通信程序326提供向PLCl的CPU單元13轉(zhuǎn)發(fā)至用戶程序236的功能。
[0307]一般,安裝于PLCl的系統(tǒng)程序210在CPU單元13的制造階段中被存儲(chǔ)至CPU單元13的非易失性存儲(chǔ)器106。其中,若將系統(tǒng)程序210預(yù)先存儲(chǔ)至CD-R0M9,則用戶也能夠?qū)ⅱ?R0M9的系統(tǒng)程序210復(fù)制至PLC支持裝置8,將利用通信程序326提供的功能而復(fù)制的系統(tǒng)程序210轉(zhuǎn)發(fā)至CPU單元13。進(jìn)而,若將在PLCl的CPU單元13中執(zhí)行的實(shí)時(shí)0S200預(yù)先存儲(chǔ)至⑶-R0M9,則針對(duì)實(shí)時(shí)0S200能夠通過(guò)用戶操作再安裝至PLCl。
[0308]應(yīng)考慮到此次公開(kāi)的實(shí)施方式并不是在全部的點(diǎn)上例示而限制。本發(fā)明的范圍不是上述的說(shuō)明,而是通過(guò)權(quán)利要求而表示,試圖包含在與權(quán)利要求相同的含義以及范圍內(nèi)的全部的變更。
[0309]標(biāo)號(hào)說(shuō)明[0310] 1PLC,2現(xiàn)場(chǎng)網(wǎng)絡(luò),3伺服電動(dòng)機(jī)驅(qū)動(dòng)器,4伺服電動(dòng)機(jī),5遠(yuǎn)程IO終端,6檢測(cè)開(kāi)關(guān),7繼電器,8PLC支持裝置,9⑶-ROM,10連接電纜,IlPLC系統(tǒng)總線,12電源單元,13CPU單元,14,53100單元,15特殊單元,51終端總線,52通信耦合器,81CPU,83RAM, 85鍵盤(pán),86鼠標(biāo),87監(jiān)視器,88⑶-ROM驅(qū)動(dòng),100微處理器,102芯片組,104主存儲(chǔ)器,106非易失性存儲(chǔ)器,108系統(tǒng)定時(shí)器,110USB連接器,120PLC系統(tǒng)總線控制器,122U42DMA控制電路,124PLC系統(tǒng)總線通信控制電路,126第I通信電路緩沖器,130連接器,140現(xiàn)場(chǎng)網(wǎng)絡(luò)控制器,144現(xiàn)場(chǎng)網(wǎng)絡(luò)通信控制電路,146第2通信電路緩沖器,200實(shí)時(shí)OS,210系統(tǒng)程序,212調(diào)度器程序,214輸出處理程序,216輸入處理程序,21810處理程序,220其他系統(tǒng)程序,230控制程序,232時(shí)序命令運(yùn)算程序,234動(dòng)作運(yùn)算程序,236,340用戶程序,320支持程序,321編輯器程序,322匯編器程序,323調(diào)試器程序,324模擬用時(shí)序命令運(yùn)算程序,325模擬用動(dòng)作運(yùn)算程序,326通信程序,330源程序,1041程序區(qū)域,1042控制程序的作業(yè)區(qū)域,1043運(yùn)算緩沖器,1044第I轉(zhuǎn)發(fā)緩沖器,1045第2轉(zhuǎn)發(fā)緩沖器,SYSPLC系統(tǒng)。
【權(quán)利要求】
1.一種對(duì)控制對(duì)象進(jìn)行控制的PLC的CPU單元,具備: 微處理器; 存儲(chǔ)部件,包含所述微處理器的主存儲(chǔ)器; 第I通信電路,通過(guò)PLC系統(tǒng)總線進(jìn)行第I輸出數(shù)據(jù)的發(fā)送以及第I輸入數(shù)據(jù)的接收;以及 第2通信電路,通過(guò)現(xiàn)場(chǎng)網(wǎng)絡(luò)進(jìn)行第2輸出數(shù)據(jù)的發(fā)送以及第2輸入數(shù)據(jù)的接收, 所述PLC的CPU單元通過(guò)重復(fù)所述第I輸出數(shù)據(jù)以及所述第2輸出數(shù)據(jù)的發(fā)送、所述第I輸入數(shù)據(jù)以及所述第2輸入數(shù)據(jù)的接收、以及使用所述第I輸入數(shù)據(jù)以及所述第2輸入數(shù)據(jù)而生成所述第I輸出數(shù)據(jù)以及所述第2輸出數(shù)據(jù)的控制程序的執(zhí)行對(duì)所述控制對(duì)象進(jìn)行控制, 所述存儲(chǔ)部件用于所述控制程序、系統(tǒng)程序的存儲(chǔ), 所述微處理器執(zhí)行存儲(chǔ)于所述存儲(chǔ)部件的所述系統(tǒng)程序以及所述控制程序, 所述系統(tǒng)程序包含在所述主存儲(chǔ)器上生成以下緩沖器的命令:運(yùn)算緩沖器,伴隨所述控制程序的執(zhí)行讀出所述第I輸入數(shù)據(jù)以及所述第2輸入數(shù)據(jù),同時(shí)寫(xiě)入所述第I輸出數(shù)據(jù)以及所述第2輸出數(shù)據(jù);第I轉(zhuǎn)發(fā)緩沖器,存儲(chǔ)通過(guò)所述PLC系統(tǒng)總線被發(fā)送的第I輸出數(shù)據(jù)以及被接收的第I輸入數(shù)據(jù);以及第2轉(zhuǎn)發(fā)緩沖器,存儲(chǔ)通過(guò)所述現(xiàn)場(chǎng)網(wǎng)絡(luò)被發(fā)送的第2輸出數(shù)據(jù)以及被接收的第2輸入數(shù)據(jù), 所述系統(tǒng)程序進(jìn)一步包含:控制所述控制程序的執(zhí)行的命令;以及控制所述第I輸入數(shù)據(jù)、所述第2輸入數(shù)據(jù)、 所述第I輸出數(shù)據(jù)以及所述第2輸出數(shù)據(jù)的輸入輸出的命令,所述微處理器通過(guò)執(zhí)行所述系統(tǒng)程序控制以下處理的執(zhí)行: 輸出復(fù)制處理,將所述第I輸出數(shù)據(jù)從所述運(yùn)算緩沖器復(fù)制至所述第I轉(zhuǎn)發(fā)緩沖器,同時(shí)將所述第2輸出數(shù)據(jù)從所述運(yùn)算緩沖器復(fù)制至所述第2轉(zhuǎn)發(fā)緩沖器;以及 輸入復(fù)制處理,將所述第I輸入數(shù)據(jù)從所述第I轉(zhuǎn)發(fā)緩沖器復(fù)制至所述運(yùn)算緩沖器,同時(shí)將所述第2輸入數(shù)據(jù)從所述第2轉(zhuǎn)發(fā)緩沖器復(fù)制至所述運(yùn)算緩沖器, 所述微處理器通過(guò)執(zhí)行所述系統(tǒng)程序,控制所述第I通信電路以及所述第2通信電路之中的至少一方,以便以下處理并行執(zhí)行: 第I輸入輸出處理,包含將所述第I輸出數(shù)據(jù)從所述第I轉(zhuǎn)發(fā)緩沖器經(jīng)過(guò)所述第I通信電路輸出至所述PLC系統(tǒng)總線上的第I設(shè)備的處理、和將所述第I輸入數(shù)據(jù)從所述第I設(shè)備經(jīng)過(guò)所述第I通信電路輸入至所述第I轉(zhuǎn)發(fā)緩沖器的處理;以及 第2輸入輸出處理,包含將所述第2輸出數(shù)據(jù)從所述第2轉(zhuǎn)發(fā)緩沖器經(jīng)過(guò)所述第2通信電路輸出至所述現(xiàn)場(chǎng)網(wǎng)絡(luò)上的第2設(shè)備的處理、和將所述第2輸入數(shù)據(jù)從所述第2設(shè)備經(jīng)過(guò)所述第2通信電路輸入至所述第2轉(zhuǎn)發(fā)緩沖器的處理。
2.如權(quán)利要求1所述的PLC的CPU單元,其中, 所述第I通信電路包含第I通信電路緩沖器, 所述第2通信電路包含第2通信電路緩沖器, 所述第I輸入輸出處理包含: 第I輸出轉(zhuǎn)發(fā)處理,將所述第I輸出數(shù)據(jù)從所述第I轉(zhuǎn)發(fā)緩沖器轉(zhuǎn)發(fā)至所述第I通信電路緩沖器; 第I發(fā)送處理,將所述第I輸出數(shù)據(jù)從所述第I通信電路緩沖器發(fā)送至所述第I設(shè)備;第I接收處理,將所述第I輸入數(shù)據(jù)從所述第I設(shè)備接收至所述第I通信電路緩沖器;以及 第I輸入轉(zhuǎn)發(fā)處理,將所述第I輸入數(shù)據(jù)從所述第I通信電路緩沖器轉(zhuǎn)發(fā)至所述第I轉(zhuǎn)發(fā)緩沖器, 所述第2輸入輸出處理包含: 第2輸出轉(zhuǎn)發(fā)處理,將所述第2輸出數(shù)據(jù)從所述第2轉(zhuǎn)發(fā)緩沖器轉(zhuǎn)發(fā)至所述第2通信電路緩沖器; 第2發(fā)送處理,將所述第2輸出數(shù)據(jù)從所述第2通信電路緩沖器發(fā)送至所述第2設(shè)備; 第2接收處理,將所述第2輸入數(shù)據(jù)從所述第2設(shè)備接收至所述第2通信電路緩沖器;以及 第2輸入轉(zhuǎn)發(fā)處理,將所述第2輸入數(shù)據(jù)從所述第2通信電路緩沖器轉(zhuǎn)發(fā)至所述第2轉(zhuǎn)發(fā)緩沖器。
3.如權(quán)利要求2所述的PLC的CPU單元,其中, 所述微處理器通過(guò)執(zhí)行所述系統(tǒng)程序,控制所述第I通信電路以及所述第2通信電路之中的至少一方,以便在從開(kāi)始所述第I輸出轉(zhuǎn)發(fā)處理以及所述第2輸出轉(zhuǎn)發(fā)處理的一方至對(duì)應(yīng)于該輸出轉(zhuǎn)發(fā)處理的輸入轉(zhuǎn)發(fā)處理完成之間開(kāi)始另一方的輸出轉(zhuǎn)發(fā)處理。
4.如權(quán)利要求2所述的PLC的CPU單元,其中, 所述微處理器通過(guò)執(zhí)行所述系統(tǒng)程序,控制所述第I通信電路以及所述第2通信電路之中的至少一方,以便在從開(kāi)始作`為所述第I發(fā)送處理以及所述第I接收處理的第I發(fā)送接收處理、以及作為所述第2發(fā)送處理以及所述第2接收處理的第2發(fā)送接收處理、的一方至該發(fā)送接收處理完成之間開(kāi)始另一方的發(fā)送接收處理。
5.如權(quán)利要求1所述的PLC的CPU單元,其中, 所述第I輸入輸出處理包含: 第I輸出處理,將所述第I輸出數(shù)據(jù)從所述第I轉(zhuǎn)發(fā)緩沖器輸出至所述第I設(shè)備; 以及第I輸入處理,將所述第I輸入數(shù)據(jù)從所述第I設(shè)備輸入至所述第I轉(zhuǎn)發(fā)緩沖器, 所述第2輸入輸出處理包含:第2輸出處理,將所述第2輸出數(shù)據(jù)從所述第2轉(zhuǎn)發(fā)緩沖器輸出至所述第2設(shè)備;以及第2輸入處理,將所述第2輸入數(shù)據(jù)從所述第2設(shè)備輸入至所述第2轉(zhuǎn)發(fā)緩沖器,所述微處理器通過(guò)執(zhí)行所述系統(tǒng)程序進(jìn)行控制,以便所述第I輸出處理和所述第2輸出處理的并行執(zhí)行、以及所述第I輸入處理和所述第2輸入處理的并行執(zhí)行,之中的至少一方被進(jìn)行。
6.如權(quán)利要求2所述的PLC的CPU單元,其中, 所述微處理器通過(guò)執(zhí)行所述系統(tǒng)程序,控制所述第I通信電路以及所述第2通信電路之中的至少一方,以便在從開(kāi)始所述第I輸出轉(zhuǎn)發(fā)處理以及所述第2輸出轉(zhuǎn)發(fā)處理的一方至對(duì)應(yīng)于該輸出轉(zhuǎn)發(fā)處理的發(fā)送處理完成之間開(kāi)始另一方的輸出轉(zhuǎn)發(fā)處理。
7.如權(quán)利要求2所述的PLC的CPU單元,其中, 所述微處理器通過(guò)執(zhí)行所述系統(tǒng)程序,控制所述第I通信電路以及所述第2通信電路之中的至少一方,以便在從開(kāi)始所述第I發(fā)送處理以及所述第2發(fā)送處理的一方至該發(fā)送處理完成之間開(kāi)始另一方的發(fā)送處理。
8.如權(quán)利要求2所述的PLC的CPU單元,其中, 所述微處理器通過(guò)執(zhí)行所述系統(tǒng)程序,控制所述第I通信電路以及所述第2通信電路之中的至少一方,以便在從開(kāi)始所述第I接收處理以及所述第2接收處理的一方至對(duì)應(yīng)于該接收處理的輸入轉(zhuǎn)發(fā)處理完成之間開(kāi)始另一方的接收處理。
9.如權(quán)利要求2所述的PLC的CPU單元,其中, 所述微處理器通過(guò)執(zhí)行所述系統(tǒng)程序,控制所述第I通信電路以及所述第2通信電路之中的至少一方,以便在從開(kāi)始所述第I接收處理以及所述第2接收處理的一方至該接收處理完成之間開(kāi)始另一方的接收處理。
10.一種PLC用的系統(tǒng)程序,在PLC的CPU單元中,存儲(chǔ)于所述存儲(chǔ)部件而用于通過(guò)所述微處理器執(zhí)行,該P(yáng)LC的CPU單元具備:微處理器;存儲(chǔ)部件,包含所述微處理器的主存儲(chǔ)器;第I通信電路,通過(guò)PLC系統(tǒng)總線進(jìn)行第I輸出數(shù)據(jù)的發(fā)送以及第I輸入數(shù)據(jù)的接收;以及第2通信電路,通過(guò)現(xiàn)場(chǎng)網(wǎng)絡(luò)進(jìn)行第2輸出數(shù)據(jù)的發(fā)送以及第2輸入數(shù)據(jù)的接收,通過(guò)重復(fù)所述第I輸出數(shù)據(jù)以及所述第2輸出數(shù)據(jù)的發(fā)送、所述第I輸入數(shù)據(jù)以及所述第2輸入數(shù)據(jù)的接收、以及使用所述第I輸入數(shù)據(jù)以及所述第2輸入數(shù)據(jù)而生成所述第I輸出數(shù)據(jù)以及所述第2輸出數(shù)據(jù)的存儲(chǔ)于所述存儲(chǔ)部件的控制程序的執(zhí)行而對(duì)控制對(duì)象進(jìn)行控制, 所述系統(tǒng)程序作為控制動(dòng)作的執(zhí)行準(zhǔn)備命令,包含生成以下緩沖器的命令:運(yùn)算緩沖器,在所述主存儲(chǔ)器上,伴隨所述控制程序的執(zhí)行讀出所述第I輸入數(shù)據(jù)以及所述第2輸入數(shù)據(jù),同時(shí)寫(xiě)入所述第I輸出數(shù)據(jù)以及所述第2輸出數(shù)據(jù);第I轉(zhuǎn)發(fā)緩沖器,存儲(chǔ)通過(guò)所述PLC系統(tǒng)總線被發(fā)送的第I輸出數(shù)據(jù)以及被接收的第I輸入數(shù)據(jù);以及第2轉(zhuǎn)發(fā)緩沖器,存儲(chǔ)通過(guò)所述現(xiàn)場(chǎng)網(wǎng)絡(luò)被發(fā)送的第2輸出數(shù)據(jù)以及被接收的第2輸入數(shù)據(jù), 所述系統(tǒng)程序作為控制動(dòng)作的執(zhí)行控制命令,包含: 控制程序開(kāi)始命令,開(kāi)始所述控制程序的執(zhí)行; 第I輸出復(fù)制命令,用于將所述第I輸出數(shù)據(jù)從所述運(yùn)算緩沖器復(fù)制至所述第I轉(zhuǎn)發(fā)緩沖器; 第2輸出復(fù)制命令,用于將所述第2輸出數(shù)據(jù)從所述運(yùn)算緩沖器復(fù)制至所述第2轉(zhuǎn)發(fā)緩沖器; 第I輸入復(fù)制命令,用于將所述第I輸入數(shù)據(jù)從所述第I轉(zhuǎn)發(fā)緩沖器復(fù)制至所述運(yùn)算緩沖器; 第2輸入復(fù)制命令,將所述第2輸入數(shù)據(jù)從所述第2轉(zhuǎn)發(fā)緩沖器復(fù)制至所述運(yùn)算緩沖器;以及 輸入輸出控制命令,用于控制所述第I通信電路的第I輸入輸出控制命令以及用于控制所述第2通信電路的第2輸入輸出控制命令之中的至少一方,該輸入輸出控制命令用于并行執(zhí)行以下處理:第I輸入輸出處理,包含將所述第I輸出數(shù)據(jù)從所述第I轉(zhuǎn)發(fā)緩沖器經(jīng)過(guò)所述第I通信電路輸出至所述PLC系統(tǒng)總線上的第I設(shè)備的處理、和將所述第I輸入數(shù)據(jù)從所述第I設(shè)備經(jīng)過(guò)所述第I通信電路輸入至所述第I轉(zhuǎn)發(fā)緩沖器的處理;以及第2輸入輸出處理,包含將所述第2輸出數(shù)據(jù)從所述第2轉(zhuǎn)發(fā)緩沖器經(jīng)過(guò)所述第2通信電路輸出至所述現(xiàn)場(chǎng)網(wǎng)絡(luò)上的第2設(shè)備的處理、和將所述第2輸入數(shù)據(jù)從所述第2設(shè)備經(jīng)過(guò)所述第2通信電路輸入至所述第2轉(zhuǎn)發(fā)緩沖器的處理。
11.如權(quán)利要求10所述的PLC用的系統(tǒng)程序,其中,所述第I通信電路包含第I通信電路緩沖器, 所述第2通信電路包含第2通信電路緩沖器, 所述第I輸入輸出處理包含: 第I輸出轉(zhuǎn)發(fā)處理,將所述第I輸出數(shù)據(jù)從所述第I轉(zhuǎn)發(fā)緩沖器轉(zhuǎn)發(fā)至所述第I通信電路緩沖器; 第I發(fā)送處理,將所述第I輸出數(shù)據(jù)從所述第I通信電路緩沖器發(fā)送至所述第I設(shè)備; 第I接收處理,將所述第I輸入數(shù)據(jù)從所述第I設(shè)備接收至所述第I通信電路緩沖器;以及 第I輸入轉(zhuǎn)發(fā)處理,將所述第I輸入數(shù)據(jù)從所述第I通信電路緩沖器轉(zhuǎn)發(fā)至所述第I轉(zhuǎn)發(fā)緩沖器, 所述第2輸入輸出處理包含: 第2輸出轉(zhuǎn)發(fā)處理 ,將所述第2輸出數(shù)據(jù)從所述第2轉(zhuǎn)發(fā)緩沖器轉(zhuǎn)發(fā)至所述第2通信電路緩沖器; 第2發(fā)送處理,將所述第2輸出數(shù)據(jù)從所述第2通信電路緩沖器發(fā)送至所述第2設(shè)備; 第2接收處理,將所述第2輸入數(shù)據(jù)從所述第2設(shè)備接收至所述第2通信電路緩沖器;以及 第2輸入轉(zhuǎn)發(fā)處理,將所述第2輸入數(shù)據(jù)從所述第2通信電路緩沖器轉(zhuǎn)發(fā)至所述第2轉(zhuǎn)發(fā)緩沖器, 所述第I輸入輸出控制命令包含:第I輸出轉(zhuǎn)發(fā)命令,使所述第I輸出轉(zhuǎn)發(fā)處理開(kāi)始;第I發(fā)送命令,使所述第I發(fā)送處理開(kāi)始;第I接收命令,使所述第I接收處理開(kāi)始;第I發(fā)送接收命令,使所述第I發(fā)送處理以及所述第I接收處理開(kāi)始;以及第I輸入轉(zhuǎn)發(fā)命令,使所述第I輸入轉(zhuǎn)發(fā)處理開(kāi)始,之中的某一個(gè)命令, 所述第2輸入輸出控制命令包含:第2輸出轉(zhuǎn)發(fā)命令,使所述第2輸出轉(zhuǎn)發(fā)處理開(kāi)始;第2發(fā)送命令,使所述第2發(fā)送處理開(kāi)始;第2接收命令,使所述第2接收處理開(kāi)始;第2發(fā)送接收命令,使所述第2發(fā)送處理以及所述第2接收處理開(kāi)始;以及第2輸入轉(zhuǎn)發(fā)命令,使所述第2輸入轉(zhuǎn)發(fā)處理開(kāi)始,之中的某一個(gè)命令。
12.如權(quán)利要求11所述的PLC用的系統(tǒng)程序,其中, 包含所述第I輸出轉(zhuǎn)發(fā)命令以及所述第2輸出轉(zhuǎn)發(fā)命令,被編程以便在從執(zhí)行其中的一方的輸出轉(zhuǎn)發(fā)命令至對(duì)應(yīng)于由此開(kāi)始的輸出轉(zhuǎn)發(fā)處理的輸入轉(zhuǎn)發(fā)處理完成之間執(zhí)行另一方的輸出轉(zhuǎn)發(fā)命令。
13.如權(quán)利要求11所述的PLC用的系統(tǒng)程序,其中, 包含所述第I發(fā)送接收命令以及所述第2發(fā)送接收命令,被編程以便在從執(zhí)行其中的一方的發(fā)送接收命令至由此開(kāi)始的發(fā)送接收處理完成之間執(zhí)行另一方的發(fā)送接收命令。
14.如權(quán)利要求10所述的PLC用的系統(tǒng)程序,其中, 所述第I輸入輸出處理包含: 第I輸出處理,將所述第I輸出數(shù)據(jù)從所述第I轉(zhuǎn)發(fā)緩沖器輸出至所述第I設(shè)備;以及 第I輸入處理,將所述第I輸入數(shù)據(jù)從所述第I設(shè)備輸入至所述第I轉(zhuǎn)發(fā)緩沖器, 所述第2輸入輸出處理包含: 第2輸出處理,將所述第2輸出數(shù)據(jù)從所述第2轉(zhuǎn)發(fā)緩沖器輸出至所述第2設(shè)備;以及第2輸入處理,將所述第2輸入數(shù)據(jù)從所述第2設(shè)備輸入至所述第2轉(zhuǎn)發(fā)緩沖器, 所述第I輸入輸出控制命令包含使所述第I輸出處理開(kāi)始的第I輸出命令以及使所述第I輸入處理開(kāi)始的第I輸入命令, 所述第2輸入輸出控制命令包含使所述第2輸出處理開(kāi)始的第2輸出命令以及使所述第2輸入處理開(kāi)始的第2輸入命令, 被編程以便通過(guò)所述第I輸出命令以及所述第2輸出命令的執(zhí)行而進(jìn)行所述第I輸出處理和所述第2輸出處理的并行執(zhí)行,以及通過(guò)所述第I輸入命令以及所述第2輸入命令的執(zhí)行而進(jìn)行所述第I輸入處理和所述第2輸入處理的并行執(zhí)行,之中的至少一方。
15.如權(quán)利要求11所述的PLC用的系統(tǒng)程序,其中, 包含所述第I輸出轉(zhuǎn)發(fā)命令以及所述第2輸出轉(zhuǎn)發(fā)命令,被編程以便在從執(zhí)行其中的一方的輸出轉(zhuǎn)發(fā)命令至對(duì)應(yīng)于由此開(kāi)始的輸出轉(zhuǎn)發(fā)處理的發(fā)送處理完成之間執(zhí)行另一方的輸出轉(zhuǎn)發(fā)命令。
16.如權(quán)利要求11所述的PLC用的系統(tǒng)程序,其中, 包含所述第I發(fā)送命令以及所述第2發(fā)送命令,被編程以便在從執(zhí)行其中的一方的發(fā)送命令至由此開(kāi)始的發(fā)送處理完成之間執(zhí)行另一方的發(fā)送命令。
17.如權(quán)利要求11所述的PLC用的系統(tǒng)程序,其中, 包含所述第I接收命令以及所述第2接收命令,被編程以便在從執(zhí)行其中的一方的接收命令至對(duì)應(yīng)于由此開(kāi)始的接收處理的輸入轉(zhuǎn)發(fā)處理完成之間執(zhí)行另一方的接收命令。
18.如權(quán)利要求11所述的PLC用的系統(tǒng)程序,其中, 包含所述第I接收命令以及所述第2接收命令,被編程以便在從執(zhí)行其中的一方的接收命令至對(duì)應(yīng)于由此開(kāi)始的接收處理完成之間執(zhí)行另一方的接收命令。
19.一種存儲(chǔ)PLC用的系統(tǒng)程序的記錄介質(zhì),在PLC的CPU單元中,存儲(chǔ)了存儲(chǔ)于所述存儲(chǔ)部件而用于通過(guò)所述微處理器而執(zhí)行的PLC用的系統(tǒng)程序,該P(yáng)LC的CPU單元具備:微處理器;存儲(chǔ)部件,包含所述微處理器的主存儲(chǔ)器;第I通信電路,通過(guò)PLC系統(tǒng)總線進(jìn)行第I輸出數(shù)據(jù)的發(fā)送以及第I輸入數(shù)據(jù)的接收;以及第2通信電路,通過(guò)現(xiàn)場(chǎng)網(wǎng)絡(luò)進(jìn)行第2輸出數(shù)據(jù)的發(fā)送以及第2輸入數(shù)據(jù)的接收,通過(guò)重復(fù)所述第I輸出數(shù)據(jù)以及所述第2輸出數(shù)據(jù)的發(fā)送、所述第I輸入數(shù)據(jù)以及所述第2輸入數(shù)據(jù)的接收、以及使用所述第I輸入數(shù)據(jù)以及所述第2輸入數(shù)據(jù)而生成所述第I輸出數(shù)據(jù)以及所述第2輸出數(shù)據(jù)的存儲(chǔ)于所述存儲(chǔ)部件的控制程序的執(zhí)行而對(duì)控制對(duì)象進(jìn)行控制, 所述系統(tǒng)程序作為控制動(dòng)作的執(zhí)行準(zhǔn)備命令,包含生成以下緩沖器的命令:運(yùn)算緩沖器,在所述主存儲(chǔ)器上,伴隨所述控制程序的執(zhí)行讀出所述第I輸入數(shù)據(jù)以及所述第2輸入數(shù)據(jù),同時(shí)寫(xiě)入所述第I輸出數(shù)據(jù)以及所述第2輸出數(shù)據(jù);第I轉(zhuǎn)發(fā)緩沖器,存儲(chǔ)通過(guò)所述PLC系統(tǒng)總線被發(fā)送的第I輸出數(shù)據(jù)以及被接收的第I輸入數(shù)據(jù);以及第2轉(zhuǎn)發(fā)緩沖器,存儲(chǔ)通過(guò)所述現(xiàn)場(chǎng)網(wǎng)絡(luò)被發(fā)送的第2輸出數(shù)據(jù)以及被接收的第2輸入數(shù)據(jù), 所述系統(tǒng)程序作為控制動(dòng)作的執(zhí)行控制命令,包含: 控制程序開(kāi)始命令,使所述控制程序的執(zhí)行開(kāi)始; 第I輸出復(fù)制命令,用于將所述第I輸出數(shù)據(jù)從所述運(yùn)算緩沖器復(fù)制至所述第I轉(zhuǎn)發(fā)緩沖器; 第2輸出復(fù)制命令,用于將所述第2輸出數(shù)據(jù)從所述運(yùn)算緩沖器復(fù)制至所述第2轉(zhuǎn)發(fā)緩沖器; 第I輸入復(fù)制命令,用于將所述第I輸入數(shù)據(jù)從所述第I轉(zhuǎn)發(fā)緩沖器復(fù)制至所述運(yùn)算緩沖器; 第2輸入復(fù)制命令,用于將所述第2輸入數(shù)據(jù)從所述第2轉(zhuǎn)發(fā)緩沖器復(fù)制至所述運(yùn)算緩沖器;以及 輸入輸出控制命令,用于控制所述第I通信電路的第I輸入輸出控制命令以及用于控制所述第2通信電路的第2輸入輸出控制命令之中的至少一方,該輸入輸出控制命令用于并行執(zhí)行以下處理:第I輸入輸出處理,包含將所述第I輸出數(shù)據(jù)從所述第I轉(zhuǎn)發(fā)緩沖器經(jīng)過(guò)所述第I通信電路輸出至所述PLC系統(tǒng)總線上的第I設(shè)備的處理、和將所述第I輸入數(shù)據(jù)從所述第I設(shè)備經(jīng)過(guò)所述第I通信電路輸入至所述第I轉(zhuǎn)發(fā)緩沖器的處理;以及第2輸入輸出處理,包含將所述第2輸出數(shù)據(jù)從所述第2轉(zhuǎn)發(fā)緩沖器經(jīng)過(guò)所述第2通信電路輸出至所述現(xiàn)場(chǎng)網(wǎng)絡(luò)上的第2設(shè)備的處理、和將所述第2輸入數(shù)據(jù)從所述第2設(shè)備經(jīng)過(guò)所述第2通信電路輸入至所述第2轉(zhuǎn)發(fā)緩沖器的處理。
20.如權(quán)利要求19所述的存儲(chǔ)PLC用的系統(tǒng)程序的記錄介質(zhì),其中, 所述第I通信電路包含第I通信電路緩沖器, 所述第2通信電路包含第2通信電路緩沖器, 所述第I輸入輸出處理包含: 第I輸出轉(zhuǎn)發(fā)處理,將所述第I輸出數(shù)據(jù)從所述第I轉(zhuǎn)發(fā)緩沖器轉(zhuǎn)發(fā)至所述第I通信電路緩沖器; 第I發(fā)送處理,將所述第I輸出數(shù)據(jù)從所述第I通信電路緩沖器發(fā)送至所述第I設(shè)備; 第I接收處理,將所述第I輸入數(shù)據(jù)從所述第I設(shè)備接收至所述第I通信電路緩沖器;以及 第I輸入轉(zhuǎn)發(fā)處理,將所述第I輸入數(shù)據(jù)從所述第I通信電路緩沖器轉(zhuǎn)發(fā)至所述第I轉(zhuǎn)發(fā)緩沖器, 所述第2輸入輸出處理包含: 第2輸出轉(zhuǎn)發(fā)處理,將所述第2輸出數(shù)據(jù)從所述第2轉(zhuǎn)發(fā)緩沖器轉(zhuǎn)發(fā)至所述第2通信電路緩沖器; 第2發(fā)送處理,將所述第2輸出數(shù)據(jù)從所述第2通信電路緩沖器發(fā)送至所述第2設(shè)備; 第2接收處理,將所述第2輸入數(shù)據(jù)從所述第2設(shè)備接收至所述第2通信電路緩沖器;以及 第2輸入轉(zhuǎn)發(fā)處理,將所述第2輸入數(shù)據(jù)從所述第2通信電路緩沖器轉(zhuǎn)發(fā)至所述第2轉(zhuǎn)發(fā)緩沖器, 所述第I輸入輸出控制命令包含:第I輸出轉(zhuǎn)發(fā)命令,使所述第I輸出轉(zhuǎn)發(fā)處理開(kāi)始;第I發(fā)送命令,使所述第I發(fā)送處理開(kāi)始;第I接收命令,使所述第I接收處理開(kāi)始;第I發(fā)送接收命令,使所述第I發(fā)送處理以及所述第I接收處理開(kāi)始;以及第I輸入轉(zhuǎn)發(fā)命令,使所述第I輸入轉(zhuǎn)發(fā)處理開(kāi)始,之中的某一個(gè)命令, 所述第2輸入輸出控制命令包含:第2輸出轉(zhuǎn)發(fā)命令,使所述第2輸出轉(zhuǎn)發(fā)處理開(kāi)始;第2發(fā)送命令,使所述第2發(fā)送處理開(kāi)始;第2接收命令,使所述第2接收處理開(kāi)始;第2發(fā)送接收命令,使所述第2發(fā)送處理以及所述第2接收處理開(kāi)始;以及第2輸入轉(zhuǎn)發(fā)命令,使所述第2輸入轉(zhuǎn)發(fā)處理開(kāi)始,之中的某一個(gè)命令。
21.如權(quán)利要求20所述的存儲(chǔ)PLC用的系統(tǒng)程序的記錄介質(zhì),其中, 包含所述第I輸出轉(zhuǎn)發(fā)命令以及所述第2輸出轉(zhuǎn)發(fā)命令,被編程以便在從執(zhí)行其中的一方的輸出轉(zhuǎn)發(fā)命令至對(duì)應(yīng)于由此開(kāi)始的輸出轉(zhuǎn)發(fā)處理的輸入轉(zhuǎn)發(fā)處理完成之間執(zhí)行另一方的輸出轉(zhuǎn)發(fā)命令。
22.如權(quán)利要求20所述的存儲(chǔ)PLC用的系統(tǒng)程序的記錄介質(zhì),其中, 包含所述第I發(fā)送接收命令以及所述第2發(fā)送接收命令,被編程以便在從執(zhí)行其中的一方的發(fā)送接收命令至由此開(kāi)始的發(fā)送接收處理完成之間執(zhí)行另一方的發(fā)送接收命令。
23.如權(quán)利要求19所述的存儲(chǔ)PLC用的系統(tǒng)程序的記錄介質(zhì),其中, 所述第I輸入輸出處理包含: 第I輸出處理,將所述第I輸出數(shù)據(jù)從所述第I轉(zhuǎn)發(fā)緩沖器輸出至所述第I設(shè)備;以及 第I輸入處理,將所述第I輸入數(shù)據(jù)從所述第I設(shè)備輸入至所述第I轉(zhuǎn)發(fā)緩沖器, 所述第2輸入輸出處理包含: 第2輸出處理,將所述第2輸出數(shù)據(jù)從所述第2轉(zhuǎn)發(fā)緩沖器輸出至所述第2設(shè)備;以及第2輸入處理,將所述第2輸入數(shù)據(jù)從所述第2設(shè)備輸入至所述第2轉(zhuǎn)發(fā)緩沖器,所述第I輸入輸出控制命令包含使所述第I輸出處理開(kāi)始的第I輸出命令以及使所述第I輸入處理開(kāi)始的第I輸入命令, 所述第2輸入輸出控制命令包含使所述第2輸出處理開(kāi)始的第2輸出命令以及使所述第2輸入處理開(kāi)始的第2輸入命 令, 被編程以便通過(guò)所述第I輸出命令以及所述第2輸出命令的執(zhí)行而進(jìn)行所述第I輸出處理和所述第2輸出處理的并行執(zhí)行,以及通過(guò)所述第I輸入命令以及所述第2輸入命令的執(zhí)行而進(jìn)行所述第I輸入處理和所述第2輸入處理的并行執(zhí)行,之中的至少一方。
24.如權(quán)利要求20所述的存儲(chǔ)PLC用的系統(tǒng)程序的記錄介質(zhì),其中, 包含所述第I輸出轉(zhuǎn)發(fā)命令以及所述第2輸出轉(zhuǎn)發(fā)命令,被編程以便在從執(zhí)行其中的一方的輸出轉(zhuǎn)發(fā)命令至對(duì)應(yīng)于由此開(kāi)始的輸出轉(zhuǎn)發(fā)處理的發(fā)送處理完成之間執(zhí)行另一方的輸出轉(zhuǎn)發(fā)命令。
25.如權(quán)利要求20所述的存儲(chǔ)PLC用的系統(tǒng)程序的記錄介質(zhì),其中, 包含所述第I發(fā)送命令以及所述第2發(fā)送命令,被編程以便在從執(zhí)行其中的一方的發(fā)送命令至由此開(kāi)始的發(fā)送處理完成之間執(zhí)行另一方的發(fā)送命令。
26.如權(quán)利要求20所述的存儲(chǔ)PLC用的系統(tǒng)程序的記錄介質(zhì),其中, 包含所述第I接收命令以及所述第2接收命令,被編程以便在從執(zhí)行其中的一方的接收命令至對(duì)應(yīng)于由此開(kāi)始的接收處理的輸入轉(zhuǎn)發(fā)處理完成之間執(zhí)行另一方的接收命令。
27.如權(quán)利要求20所述的存儲(chǔ)PLC用的系統(tǒng)程序的記錄介質(zhì),其中, 包含所述第I接收命令以及所述第2接收命令,被編程以便在從執(zhí)行其中的一方的接收命令至由此開(kāi)始的接收處理完成之間執(zhí)行另一方的接收命令。
【文檔編號(hào)】G05B19/05GK103430109SQ201180068878
【公開(kāi)日】2013年12月4日 申請(qǐng)日期:2011年3月22日 優(yōu)先權(quán)日:2011年3月15日
【發(fā)明者】西山佳秀, 濱崎治, 江口重行 申請(qǐng)人:歐姆龍株式會(huì)社