控制裝置的制造方法
【專利摘要】提供一種控制裝置,每當(dāng)使用多內(nèi)核處理器并行執(zhí)行控制程序時(shí),能夠防止控制裝置的通信沖突,進(jìn)而能夠以短周期來執(zhí)行。以多個(gè)周期來周期性地執(zhí)行控制程序。按照第一控制程序與第二控制程序的執(zhí)行優(yōu)先級,已使得與第一控制程序所相關(guān)的外部設(shè)備的通信的不產(chǎn)生沖突的方式,控制執(zhí)行第二控制程序中的通信處理的時(shí)機(jī)。
【專利說明】
控制裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及針對為了控制機(jī)械或設(shè)備的動作而使用的控制裝置,控制與連接到網(wǎng)絡(luò)上的設(shè)備進(jìn)行通信的處理。
【背景技術(shù)】
[0002]控制裝置,針對用于對連接在網(wǎng)絡(luò)上的繼電器或促動器輸出信號的1單元,發(fā)送輸出數(shù)據(jù),并且接收外部設(shè)備的輸入數(shù)據(jù)。基于輸入數(shù)據(jù)來進(jìn)行計(jì)算,從而計(jì)算輸出數(shù)據(jù)。控制裝置反復(fù)執(zhí)行這一系列的動作,從而控制設(shè)備或機(jī)械。
[0003]這些控制裝置所連接的現(xiàn)場網(wǎng)絡(luò)存在多個(gè)種類。它們優(yōu)選用于求出實(shí)時(shí)性的控制的領(lǐng)域。
[0004]例如在專利文獻(xiàn)I中,公開了經(jīng)由現(xiàn)場網(wǎng)絡(luò)來控制機(jī)械的產(chǎn)業(yè)用計(jì)算機(jī)。產(chǎn)業(yè)用計(jì)算機(jī)具有用于控制周期性執(zhí)行的通信的通信時(shí)序管理。通信時(shí)序管理,如果從程序接收到數(shù)據(jù)的發(fā)送要求,暫時(shí)包括其數(shù)據(jù),控制利用規(guī)定時(shí)隙(timeslot)發(fā)送數(shù)據(jù)的時(shí)機(jī),從而能夠在多個(gè)周期的時(shí)機(jī)實(shí)現(xiàn)通信。
[0005]現(xiàn)有技術(shù)文獻(xiàn)
[0006]專利文獻(xiàn)
[0007]專利文獻(xiàn)1:JP特開2010-224939公報(bào)
[0008]在從多個(gè)控制程序指示通信的情況下,在現(xiàn)場網(wǎng)絡(luò)的通信主機(jī)中,物理的通信處理有可能發(fā)生沖突??紤]到這些通信沖突,引用文獻(xiàn)的通信主機(jī)針對通過執(zhí)行控制程序而輸出的指令值,將發(fā)送的時(shí)機(jī)與控制程序的執(zhí)行周期相對應(yīng)關(guān)聯(lián),來決定通信的時(shí)序安排。
[0009]通過經(jīng)由現(xiàn)場網(wǎng)絡(luò)的通信,從外部設(shè)備讀取輸入數(shù)據(jù),進(jìn)行計(jì)算,通過通信將輸出數(shù)據(jù)輸出到外部設(shè)備,如果完成這一系列處理的時(shí)間能夠縮短,則能夠執(zhí)行高精度的控制。
【發(fā)明內(nèi)容】
[0010]為了解決上述課題,本發(fā)明的控制裝置針對經(jīng)由網(wǎng)絡(luò)連接的裝置,輸出計(jì)算出的結(jié)果,從而進(jìn)行控制,所述控制裝置具有:微處理器,存儲器,其用于存儲多個(gè)控制程序以及系統(tǒng)程序,通信控制器,其作為與所述網(wǎng)絡(luò)進(jìn)行通信的通信接口來進(jìn)行動作;所述系統(tǒng)程序包括時(shí)序管理程序,其用于控制使所述微處理器執(zhí)行所述控制程序的時(shí)機(jī),所述多個(gè)控制程序針對所述通信控制器而具有通信命令,所述通信命令使所述通信控制器針對經(jīng)由所述網(wǎng)絡(luò)連接的所述裝置發(fā)送計(jì)算出的所述結(jié)果,所述微處理器并行執(zhí)行所述多個(gè)控制程序;所述時(shí)序管理程序,每當(dāng)并行執(zhí)行的所述多個(gè)控制程序所含的通信命令被執(zhí)行時(shí),以使所述通信控制器中的通信處理不沖突的方式,來使微處理器發(fā)出通信命令。
[0011]本發(fā)明能夠達(dá)到如下效果:每當(dāng)使用多內(nèi)核處理器并行執(zhí)行控制程序時(shí),能夠防止控制裝置的通信沖突,進(jìn)而能夠以短周期來執(zhí)行。
【附圖說明】
[0012]圖1是表示組合了伺服馬達(dá)與伺服馬達(dá)驅(qū)動器的系統(tǒng)例的圖。
[0013]圖2是表示CPU單元的硬件結(jié)構(gòu)的圖。
[0014]圖3是表示本發(fā)明的實(shí)施方式的CPU單元所執(zhí)行的軟件結(jié)構(gòu)的示意圖。
[0015]圖4是表示本發(fā)明的實(shí)施方式的控制裝置的硬件結(jié)構(gòu)的示意圖。
[0016]圖5是表示控制裝置中的控制裝置的設(shè)定步驟的一例的圖。
[0017]圖6是表示進(jìn)行控制程序的設(shè)定的畫面例的圖。
[0018]圖7是表示程序的分配設(shè)定的畫面例的圖。
[0019]圖8是表示對控制程序分配的圖片的圖。
[0020]圖9是表不第一?第二控制程序的執(zhí)行時(shí)機(jī)的圖。
[0021]其中,附圖標(biāo)記說明如下:
[0022]1、8控制裝置
[0023]14、5310 (Input/Output:輸輸入輸出)單元
[0024]122、142DMA (Direct1nal Memory Access:直接內(nèi)存訪問)控制回路
[0025]210、220 系統(tǒng)程序
[0026]214輸出處理程序
[0027]216輸入處理程序
[0028]230控制程序
[0029]234動作計(jì)算程序
[0030]236用戶程序
【具體實(shí)施方式】
[0031]<系統(tǒng)結(jié)構(gòu)>
[0032]本實(shí)施方式的控制裝置,對機(jī)械或設(shè)備等的控制對象進(jìn)行控制。本實(shí)施方式的控制裝置作為其結(jié)構(gòu)要素而包括CPU單元。CPU單元包括:微處理器、包括微處理器的主存儲器在內(nèi)的存儲單元、通信回路(電路)。本實(shí)施方式的控制裝置的CPU單元,反復(fù)執(zhí)行輸出數(shù)據(jù)的發(fā)送、輸入數(shù)據(jù)的接收、用于使用輸入數(shù)據(jù)生成輸出數(shù)據(jù)的控制程序,從而來對控制對象進(jìn)行控制。
[0033]存儲單元存儲控制程序以及系統(tǒng)程序,該系統(tǒng)程序用于控制該控制程序的執(zhí)行以及控制輸入數(shù)據(jù)以及輸出數(shù)據(jù)的輸入輸出。微處理器執(zhí)行存儲在存儲單元中的系統(tǒng)程序以及控制程序。
[0034]通信回路發(fā)送輸出數(shù)據(jù)以及接收輸入數(shù)據(jù)。如后述,本實(shí)施方式的控制裝置,具有以下回路來作為通信回路:第一通信回路,其通過控制裝置系統(tǒng)總線來進(jìn)行輸出數(shù)據(jù)的發(fā)送以及輸入數(shù)據(jù)的接收;第二通信回路,其通過現(xiàn)場網(wǎng)絡(luò)來進(jìn)行輸出數(shù)據(jù)的發(fā)送以及輸入數(shù)據(jù)的接收。
[0035]首先,參照圖1,來說明本實(shí)施方式的控制裝置I的系統(tǒng)結(jié)構(gòu)。圖是表示本發(fā)明的實(shí)施方式的控制裝置系統(tǒng)的概略結(jié)構(gòu)的示意圖。參照圖1,控制裝置系統(tǒng)SYS包括:控制裝置1、經(jīng)由現(xiàn)場網(wǎng)絡(luò)2而與控制裝置I連接的伺服馬達(dá)驅(qū)動器(伺服驅(qū)動器)3以及遠(yuǎn)程1終端5、作為現(xiàn)場設(shè)備的傳感器6以及繼電器7。另外,在控制裝置I中,經(jīng)由連接電纜10等而連接控制裝置8。
[0036]控制裝置I包括:主要進(jìn)行計(jì)算處理的CPU單元13、一個(gè)以上的1單元14、特殊單元15。這些單元能夠經(jīng)由控制裝置系統(tǒng)總線11而相互交換數(shù)據(jù)。另外,在這些單元中,由電源單元12提供恰當(dāng)電壓的電源。此外,作為控制裝置I而構(gòu)成的各單元,是由控制裝置制造商提供的,因此,控制裝置系統(tǒng)總線11 (PLC系統(tǒng)總線)一般是由每個(gè)控制裝置制造商獨(dú)自開發(fā)并使用的。與此相對,如后述,就現(xiàn)場網(wǎng)絡(luò)2多采用公開的規(guī)格等,以使得能夠連接不同制造商的產(chǎn)品。
[0037]針對CPU單元13的詳細(xì)結(jié)構(gòu),參照圖2而在后敘述。1單元14是進(jìn)行一般的輸入輸出處理的單元,負(fù)責(zé)開/關(guān)(0N/0FF)這樣的2值化的數(shù)據(jù)的輸入輸出。S卩,1單元14采集這樣的信息,該信息表示傳感器6等的傳感器是檢測出某個(gè)對象物的狀態(tài)(開:0N)還是什么對象物都沒檢測出來的狀態(tài)(關(guān):0FF)。另外,1單元14針對繼電器7或促動器這樣的輸出目標(biāo),輸出使其激活的指令(開:0N)或不使其激活的指令(關(guān):0FF)。
[0038]特殊單元15如下功能:模擬數(shù)據(jù)的輸入輸出、溫度控制、通過特定的通信方式來進(jìn)行通信,而這些都是1單元14不支持的功能。
[0039]現(xiàn)場網(wǎng)絡(luò)2傳送與CPU單元13交換的各種數(shù)據(jù)。作為現(xiàn)場網(wǎng)絡(luò)2,典型的能夠使用各種產(chǎn)業(yè)用以太網(wǎng)(注冊商標(biāo))。作為產(chǎn)業(yè)用以太網(wǎng)(注冊商標(biāo)),例如已知EtherCAT (注冊商標(biāo))、ProfinetIRT^MECHATROLINK (注冊商標(biāo))-1I1、Power I ink、SERCOS (注冊商標(biāo))-1I1、CIPMot1n等,能夠在其中采用任意的網(wǎng)絡(luò)。進(jìn)而,也可以采用產(chǎn)業(yè)用以太網(wǎng)(注冊商標(biāo))以外的現(xiàn)場網(wǎng)絡(luò)。例如,如果不進(jìn)行動作控制,貝1J可以使用DeviceNet、CompoNet/IP (注冊商標(biāo))等。在本實(shí)施方式的控制裝置系統(tǒng)SYS中,典型的,在本實(shí)施方式中例示出作為產(chǎn)業(yè)用以太網(wǎng)(注冊商標(biāo))的EtherCAT(注冊商標(biāo))來作為現(xiàn)場網(wǎng)絡(luò)2的結(jié)構(gòu)。
[0040]此外,控制裝置I使CPU單元13具有1單元14的功能、伺服馬達(dá)驅(qū)動器3的功能,就這樣的內(nèi)置功能所能夠達(dá)到的范圍而言,也可以不經(jīng)由1單元14或伺服馬達(dá)驅(qū)動器3等而由CPU單元13直接對控制對象進(jìn)行控制。
[0041]伺服馬達(dá)驅(qū)動器3,經(jīng)由現(xiàn)場網(wǎng)絡(luò)2而與CPU單元13連接,并且,按照來自CPU單元13的指令值來驅(qū)動伺服馬達(dá)4。更具體而言,伺服馬達(dá)驅(qū)動器3以一恒定周期(規(guī)定周期)從控制裝置I接收位置指令值、速度指令值、扭矩指令值這樣的指令值。另外,伺服馬達(dá)驅(qū)動器3從與伺服馬達(dá)4的軸連接的位置傳感器(旋轉(zhuǎn)編碼器)或扭矩傳感器這樣的檢測器中,取得位置、速度(典型的,根據(jù)本次位置和前次位置的差而計(jì)算出)、扭矩這樣的伺服馬達(dá)4的動作的實(shí)測值。并且,伺服馬達(dá)驅(qū)動器3將來自CPU單元13的指令值設(shè)定為目標(biāo)值,將實(shí)測值作為反饋值,來進(jìn)行反饋控制。即,伺服馬達(dá)驅(qū)動器3調(diào)整用于驅(qū)動伺服馬達(dá)4的電流,以使得實(shí)測值接近目標(biāo)值。此外,伺服馬達(dá)驅(qū)動器3有時(shí)也稱為伺服馬達(dá)放大器。
[0042]另外,圖1中,例示出伺服馬達(dá)4與伺服馬達(dá)驅(qū)動器3組合的系統(tǒng)例子,但也能夠采用其它結(jié)構(gòu)、例如采用脈沖馬達(dá)與脈沖馬達(dá)驅(qū)動器組合的系統(tǒng)。
[0043]在圖1所示的控制裝置系統(tǒng)SYS的現(xiàn)場網(wǎng)絡(luò)2中,還連接有遠(yuǎn)程1終端5。遠(yuǎn)程1終端5基本上與1單元14同樣地,進(jìn)行一般的輸入輸出處理。更具體而言,遠(yuǎn)程1終端5包括通信耦合器52和一個(gè)以上的1單元53,該通信耦合器52用于利用現(xiàn)場網(wǎng)絡(luò)2進(jìn)行數(shù)據(jù)傳送的處理。這些單元,經(jīng)由遠(yuǎn)程1終端總線51而能夠相互交換數(shù)據(jù)。
[0044]在后面敘述控制裝置支持裝置8。
[0045]< CPU單元的硬件結(jié)構(gòu)>
[0046]接下來,參照圖2,說明CPU單元13的硬件結(jié)構(gòu)。圖2是表示本發(fā)明的實(shí)施方式的CPU單元13的硬件結(jié)構(gòu)的示意圖。參照圖2,CPU單元13包括:微處理器100、微處理器100的處理器核心140、芯片組102、主存儲器104、非易失性存儲器106、系統(tǒng)計(jì)時(shí)器108、通信控制器150、系統(tǒng)總線控制器120、現(xiàn)場網(wǎng)絡(luò)控制器140、USB連接器(未圖示)。芯片組102與其它組成構(gòu)件之間分別經(jīng)由各種總線連接(結(jié)合)。
[0047]微處理器100以及芯片組102,典型的以通用的計(jì)算機(jī)體系結(jié)構(gòu)為基準(zhǔn)來構(gòu)成。即,微處理器100解釋并執(zhí)行從芯片組102按照內(nèi)部時(shí)鐘而順次供給的命令代碼。芯片組102,在所連接的各種組成構(gòu)件之間進(jìn)行內(nèi)部的數(shù)據(jù)交換,并且,生成微處理器100所需的命令代碼。進(jìn)而,芯片組102發(fā)揮高速緩存的功能,高速緩存由微處理器100進(jìn)行計(jì)算處理而得的結(jié)果的數(shù)據(jù)等。
[0048]CPU單元13具有主存儲器104以及非易失性存儲器106來作為存儲單元。
[0049]主存儲器104是易失性的存儲區(qū)域(RAM),對CPU單元13投入電源后,保存應(yīng)該由微處理器100執(zhí)行的各種程序。另外,主存儲器104也用作由微處理器100執(zhí)行各種程序時(shí)的工作用存儲器。作為這樣的主存儲器104,可以使用DRAM (Dynamic Random AccessMemory:動態(tài)隨機(jī)存取存儲器)、SRAM (Static Random Access Memory:靜態(tài)隨機(jī)存取存儲器)這樣的設(shè)備。
[0050]另一方面,非易失性存儲器106以非易失的方式保存實(shí)時(shí)OS (Operating System:操作系統(tǒng))、控制裝置I的系統(tǒng)程序、用戶程序、動作計(jì)算程序、系統(tǒng)設(shè)定參數(shù)這樣的數(shù)據(jù)。這些程序或數(shù)據(jù),能夠根據(jù)需要而復(fù)制到主存儲器104中,能夠由微處理器100訪問。作為這樣的非易失性存儲器106,能夠使用閃存器這樣的半導(dǎo)體存儲器?;蛘撸軌蚴褂么疟P這樣的磁記錄介質(zhì)、DVD-RAM (Digital Versatile Disk Random Access Memory:數(shù)字多功能光盤-隨機(jī)存取存儲器)這樣的光學(xué)記錄介質(zhì)等。
[0051]通信控制器典型的由FPGA(Field-Programmable Gate Array:即現(xiàn)場可編程門陣列)、ASIC(Applicat1n Specific Integrated Circuits:專用集成電路)等的硬件構(gòu)成,能夠經(jīng)由芯片組來與主存儲器之間收發(fā)數(shù)據(jù)。通信控制器具有用于與主存儲器進(jìn)行數(shù)據(jù)通信的存儲器區(qū)域,針對后述的系統(tǒng)總線控制器、現(xiàn)場網(wǎng)絡(luò)控制器,傳送從主存儲器傳送來的數(shù)據(jù)。另外,針對系統(tǒng)總線控制器以及現(xiàn)場網(wǎng)絡(luò)控制器發(fā)出命令,使它們將從主存儲器傳送來的數(shù)據(jù)發(fā)送出去。
[0052]通信控制器還具有系統(tǒng)計(jì)時(shí)器108。系統(tǒng)計(jì)時(shí)器108按照每個(gè)一恒定周期(規(guī)定周期)產(chǎn)生中斷信號,將中斷信號提供至該微處理器100。典型的,根據(jù)硬件的規(guī)格,能夠以多個(gè)不同的周期來分別產(chǎn)生中斷信號,但也能夠設(shè)定為通過OS (Operating System:操作系統(tǒng))或B10S(Basic Input Output System:基礎(chǔ)輸入輸出系統(tǒng))等來以任意周期產(chǎn)生中斷信號。利用該系統(tǒng)計(jì)時(shí)器108產(chǎn)生的中斷信號,能夠?qū)崿F(xiàn)后述那樣的針對每個(gè)執(zhí)行周期的控制動作。
[0053]作為通信回路,有系統(tǒng)總線控制器120以及現(xiàn)場網(wǎng)絡(luò)控制器140。這些通信回路進(jìn)行輸出數(shù)據(jù)的發(fā)送以及輸入數(shù)據(jù)的接收。
[0054]此外,在CPU單元13自身具有10單元14或伺服馬達(dá)驅(qū)動器3的功能的情況下,本來由控制裝置系統(tǒng)總線控制器120進(jìn)行的輸出數(shù)據(jù)的發(fā)送以及輸入數(shù)據(jù)的接收,變?yōu)閷⒊袚?dān)這些功能的部分作為通信對方(通信目標(biāo))而在CPU單元13的內(nèi)部進(jìn)行的發(fā)送以及接收。
[0055]通信控制器150控制經(jīng)由控制裝置系統(tǒng)總線11的數(shù)據(jù)交換。更具體而言,包括系統(tǒng)總線控制器120、DMA (Dynamic Memory Access:動態(tài)存儲器存取)控制回路122、緩存(緩沖存儲器)126。
[0056]緩存(緩沖區(qū))126發(fā)揮發(fā)送緩存和接收緩存的功能,發(fā)送緩存用于對要經(jīng)由控制裝置系統(tǒng)總線11而向其他單元輸出的數(shù)據(jù)(以下也稱為“輸出數(shù)據(jù)”或“第一輸出數(shù)據(jù)”)進(jìn)行緩沖存儲,接收緩存用于對經(jīng)由控制裝置系統(tǒng)總線11而從其它單元輸入的數(shù)據(jù)(以下也可稱為“輸入數(shù)據(jù)”或“第一輸入數(shù)據(jù)”)進(jìn)行緩沖存儲。此外,通過微處理器100的計(jì)算處理而生成的第一輸出數(shù)據(jù),原本存在主存儲器104中。并且,應(yīng)該向特定單元傳送的第一輸出數(shù)據(jù),被從主存儲器104中讀出,暫時(shí)保存在緩存126中。另外,從其它單元傳送來的第一輸入數(shù)據(jù),被暫時(shí)保存在緩存126后,進(jìn)而被轉(zhuǎn)移至主存儲器104。
[0057]DMA控制回路122從主存儲器104向緩存126傳送第一輸出數(shù)據(jù),以及從緩存126向主存儲器104傳送第一輸入數(shù)據(jù)。
[0058]通信控制器,在與控制裝置系統(tǒng)總線11連接的其它單元之間,進(jìn)行發(fā)送緩存126的第一輸出數(shù)據(jù)的處理以及接收第一輸入數(shù)據(jù)并將其存儲在緩存126中的處理。典型的,系統(tǒng)總線通信控制器提供控制裝置系統(tǒng)總線11中的物理層以及數(shù)據(jù)鏈路層的功能。
[0059]現(xiàn)場網(wǎng)絡(luò)控制器140,控制經(jīng)由現(xiàn)場網(wǎng)絡(luò)2的數(shù)據(jù)交換。S卩,現(xiàn)場網(wǎng)絡(luò)控制器140按照所用的現(xiàn)場網(wǎng)絡(luò)2的規(guī)格,控制輸出數(shù)據(jù)的發(fā)送以及輸入數(shù)據(jù)的接收。如上述,本實(shí)施方式中采用按照EtheerCAT (注冊商標(biāo))規(guī)格的現(xiàn)場網(wǎng)絡(luò)2,因此,能夠使用包括用于通常的以太網(wǎng)(注冊商標(biāo))通信的硬件在內(nèi)的現(xiàn)場網(wǎng)絡(luò)控制器140。在EtheerCAT(注冊商標(biāo))規(guī)格中,能夠使用一般的以太網(wǎng)(注冊商標(biāo))控制器,來實(shí)現(xiàn)按照通常的以太網(wǎng)(注冊商標(biāo))規(guī)格的通信協(xié)議。其中,根據(jù)作為現(xiàn)場網(wǎng)絡(luò)2而采用的產(chǎn)業(yè)用以太網(wǎng)(注冊商標(biāo))的種類,也能夠采用與通常通信協(xié)議不同的專用規(guī)格的通信協(xié)議所對應(yīng)的特別規(guī)格的以太網(wǎng)(注冊商標(biāo))控制器。另外,在采用產(chǎn)業(yè)用以太網(wǎng)(注冊商標(biāo))以外的現(xiàn)場網(wǎng)絡(luò)的情況下,能夠使用與該規(guī)格對應(yīng)的專用的現(xiàn)場網(wǎng)絡(luò)控制器。
[0060]緩存發(fā)揮經(jīng)由現(xiàn)場網(wǎng)絡(luò)2向其它裝置等輸出數(shù)據(jù)(以下也稱為“輸出數(shù)據(jù)”或“第二輸出數(shù)據(jù)”)的發(fā)送緩存以及經(jīng)由現(xiàn)場網(wǎng)絡(luò)2而從其它裝置等輸入(接收)數(shù)據(jù)(以下也稱為“輸入數(shù)據(jù)”或“第二輸入數(shù)據(jù)”)的接收緩存的功能。微處理器100通過計(jì)算處理而生成的第二輸出數(shù)據(jù),原本被存儲在主存儲器104中。并且,應(yīng)該向特定的裝置傳送的第二輸出數(shù)據(jù),被從主存儲器104讀出而暫時(shí)存儲在通信回路緩存146中。另外,從其它裝置傳送來的第二輸入數(shù)據(jù)暫時(shí)被保存在緩存146中,進(jìn)而被轉(zhuǎn)移至主存儲器104。
[0061]DMA控制回路142從主存儲器104向緩存?zhèn)魉偷诙敵鰯?shù)據(jù),以及從緩存向主存儲器104傳送第二輸入數(shù)據(jù)。
[0062]現(xiàn)場網(wǎng)絡(luò)通信控制器144,在與現(xiàn)場網(wǎng)絡(luò)2連接的其它裝置之間,進(jìn)行發(fā)送緩存的第二輸出數(shù)據(jù)的處理以及接收第二輸入數(shù)據(jù)并將其存儲在通信回路緩存中的處理。典型的,現(xiàn)場網(wǎng)絡(luò)通信控制器144提供現(xiàn)場網(wǎng)絡(luò)2中的物理層以及數(shù)據(jù)鏈路層的功能。
[0063]USB連接器是用于對控制裝置支持裝置8與CPU單元13進(jìn)行連接的接口。典型的,從控制裝置支持裝置8傳送來的能夠由CPU單元13的微處理器100執(zhí)行的程序等,經(jīng)由USB連接器110而被讀入至控制裝置I。
[0064]< C.CPU單元的軟件結(jié)構(gòu)>
[0065]接下來,參照圖3,說明用于提供本實(shí)施方式的各種功能的軟件群。這些軟件所含的命令代碼,在恰當(dāng)時(shí)機(jī)被讀出,由CPU單元13的微處理器100、處理器核心140執(zhí)行。
[0066]圖3是表示本發(fā)明的實(shí)施方式的CPU單元13所執(zhí)行的軟件結(jié)構(gòu)的示意圖。參照圖3,作為CPU單元13所執(zhí)行的軟件,構(gòu)成實(shí)時(shí)0S200、系統(tǒng)程序210、用戶程序236這三層。
[0067]實(shí)時(shí)0S200是根據(jù)CPU單元13的計(jì)算機(jī)體系結(jié)構(gòu)而設(shè)計(jì)的,提供用于微處理器100執(zhí)行系統(tǒng)程序210以及用戶程序236的基本執(zhí)行環(huán)境。
[0068]系統(tǒng)程序210是用于提供控制裝置I的功能的軟件群。具體而言,系統(tǒng)程序210包括時(shí)序管理程序212、輸出處理程序214、輸入處理程序216、順序命令計(jì)算程序(順序計(jì)算程序)232、動作計(jì)算程序234、其它系統(tǒng)程序220。此外,一般而言,輸出處理程序214以及輸入處理程序216被連續(xù)(作為一個(gè)整體)執(zhí)行,因此,有時(shí)將這些程序統(tǒng)稱為1處理程序218。
[0069]用戶程序236是根據(jù)用戶的控制目的而作成的。即,是根據(jù)使用控制裝置系統(tǒng)SYS進(jìn)行控制的對象的生產(chǎn)線(工序)等,任意設(shè)計(jì)的程序。
[0070]如后述,用戶程序236與順序命令計(jì)算程序232以及動作計(jì)算程序234聯(lián)動,來實(shí)現(xiàn)用戶的控制目的。即,用戶程序236利用由順序命令計(jì)算程序232以及動作計(jì)算程序234提供的命令、函數(shù)、功能模塊等,來實(shí)現(xiàn)程序的動作。因此,有時(shí)將用戶程序236、順序命令計(jì)算程序232以及動作計(jì)算程序234統(tǒng)稱為控制程序230。
[0071]這樣,CPU單元13的微處理器100執(zhí)行存儲在存儲單元中的系統(tǒng)程序210以及控制程序230。
[0072]以下,詳細(xì)說明各程序。
[0073]用戶程序236如上述所述,是根據(jù)用戶的控制目的(例如,對象的生產(chǎn)線或工序)而作成的。用戶程序236,典型的,成為能夠由CPU單元13的微處理器100執(zhí)行的對象程序形式。在控制裝置支持裝置8等中,該用戶程序236是對由梯形語言(ladder language)等記述的源程序進(jìn)行編譯而生成的。并且,所生成的對象程序形式的用戶程序236被從控制裝置支持裝置8經(jīng)由連接電纜10傳送至CPU單元13,存儲在非易失性存儲器106等中。
[0074]時(shí)序管理程序212,針對輸出處理程序214、輸入處理程序216以及控制程序230,控制各執(zhí)行循環(huán)主的處理開始以及處理中斷后的處理重新開始。更具體而言,時(shí)序管理程序212控制用戶程序236以及動作計(jì)算程序234的執(zhí)行。
[0075]在本實(shí)施方式的CPU單元13中,采用與動作計(jì)算程序234相適合的一恒定周期(規(guī)定周期)的執(zhí)行循環(huán)(控制循環(huán)),作為整個(gè)處理的通用循環(huán)。因此,在一個(gè)控制循環(huán)內(nèi),難以使全部處理執(zhí)行結(jié)束,因此,根據(jù)應(yīng)該執(zhí)行的處理的優(yōu)先級等,區(qū)分為在各控制循環(huán)中應(yīng)該執(zhí)行完的處理和也可以分配在多個(gè)控制循環(huán)中執(zhí)行的處理。時(shí)序管理程序212管理這些區(qū)分后的處理的執(zhí)行順序等。更具體而言,時(shí)序管理程序212,在各控制循環(huán)期間內(nèi)優(yōu)先執(zhí)行優(yōu)先級高的程序。
[0076]輸出處理程序214,將通過執(zhí)行用戶程序236 (控制程序230)而生成的輸出數(shù)據(jù),重新配置成適于向通信控制器傳送的形式。在系統(tǒng)總線控制器120或現(xiàn)場網(wǎng)絡(luò)控制器140需要來自微處理器100的用于進(jìn)行發(fā)送的指示的情況下,輸出處理程序214發(fā)出這樣的指不O
[0077]輸入處理程序216將由控制裝置系統(tǒng)總線控制器120以及/或現(xiàn)場網(wǎng)絡(luò)控制器140接收的輸入數(shù)據(jù),重新配置成適于控制程序230使用的形式。
[0078]在由用戶程序236使用的某種順序命令被執(zhí)行時(shí),調(diào)用順序命令計(jì)算程序232,用于實(shí)現(xiàn)其命令。
[0079]按照用戶程序236的指示來執(zhí)行動作計(jì)算程序234,按照用戶程序236在每次執(zhí)行時(shí),計(jì)算要對伺服馬達(dá)驅(qū)動器3或脈沖馬達(dá)驅(qū)動器這樣的馬達(dá)驅(qū)動器輸出的指令值。
[0080]通信程序,用于執(zhí)行經(jīng)由現(xiàn)場網(wǎng)絡(luò)及系統(tǒng)總線進(jìn)行通信相關(guān)的處理。生成適于用后述的設(shè)定參數(shù)來在現(xiàn)場網(wǎng)絡(luò)、系統(tǒng)總線中發(fā)送的數(shù)據(jù)報(bào)文。另外,與時(shí)序管理程序、輸出處理程序聯(lián)動地,控制經(jīng)由現(xiàn)場網(wǎng)絡(luò)及系統(tǒng)總線的數(shù)據(jù)發(fā)送的時(shí)機(jī)。
[0081]其它系統(tǒng)程序220是圖3中分別所示的程序以外的程序,總括表示用于實(shí)現(xiàn)控制裝置I的各種功能的程序群。該程序例如使微處理器執(zhí)行與機(jī)械的控制控制裝置的通信、來自外部設(shè)備的要求的處理、自身診斷處理。另外,其它系統(tǒng)程序還包括執(zhí)行向外部存儲介質(zhì)傳送主存儲器的數(shù)據(jù)的處理、從外部存儲介質(zhì)讀取數(shù)據(jù)的處理。
[0082]實(shí)時(shí)0S200,提供用于隨著時(shí)間經(jīng)過而且換執(zhí)行多個(gè)程序的環(huán)境。在本實(shí)施方式的控制裝置I中,作為將通過CPU單元13執(zhí)行程序而生成的輸出數(shù)據(jù)向其它單元或其它裝置輸出(發(fā)送)的事件(中斷),初始設(shè)定有控制循環(huán)開始的中斷。如果產(chǎn)生了控制循環(huán)開始的中斷,則實(shí)時(shí)0S200將微處理器100中的執(zhí)行對象,從在中斷產(chǎn)生時(shí)點(diǎn)正在執(zhí)行的程序切換為時(shí)序管理程序212。此外,在時(shí)序管理程序212以及控制執(zhí)行時(shí)序管理程序212的程序都沒有被執(zhí)行的情況下,實(shí)時(shí)0S200執(zhí)行包含在其它系統(tǒng)程序210中的程序。作為這樣的程序,例如包括在CPU單元13與控制裝置支持裝置8之間經(jīng)由連接電纜10 (USB)等進(jìn)行通信處理相關(guān)的程序。
[0083]此外,控制程序230以及時(shí)序管理程序212,被存儲在作為存儲單元的主存儲器104以及非易失性存儲器106中。
[0084]<支持裝置的硬件結(jié)構(gòu)>
[0085]接下來,說明控制裝置8,其用于生成由控制裝置I執(zhí)行的程序以及進(jìn)行控制裝置I的維護(hù)等。
[0086]圖4是表示本發(fā)明的實(shí)施方式的控制裝置8的硬件結(jié)構(gòu)的示意圖。參照圖4,控制裝置8典型的由通用的計(jì)算機(jī)構(gòu)成。此外,從維護(hù)性的觀點(diǎn)出發(fā),優(yōu)選便攜性良好的筆記本型個(gè)人計(jì)算機(jī)。
[0087]參照圖4,控制裝置8包括:CPU81,其執(zhí)行包括OS在內(nèi)的各種程序;R0M(Read OnlyMemory:只讀存儲器)82,其存儲B1S、各種數(shù)據(jù);存儲器RAM83,其提供工作區(qū)域,用于存儲由CPU81執(zhí)行程序所需的數(shù)據(jù);硬盤(HDD) 84,其非易失的存儲由CPU81執(zhí)行的程序等。CPU81相當(dāng)于控制裝置8的計(jì)算部,R0M82、RAM83以及硬盤84相當(dāng)于控制裝置8的存儲部。
[0088]控制裝置8還包括用于接受用戶操作的鍵盤85以及鼠標(biāo)86、用于向用戶提示信息的監(jiān)視器87。進(jìn)而,控制裝置8包括用于與控制裝置I (CPU單元13)等進(jìn)行通信的通信接口 (IF)89。
[0089]如后述,控制裝置8所執(zhí)行的各種程序被存儲在CDR0M9中流通。存儲在該CD-R0M9中的程序,被⑶ROM (Compact Disk-Read Only Memory:光盤只讀存儲器)驅(qū)動器88讀取,進(jìn)而被存入硬盤(HDD)84等。或者,可以從上位的主計(jì)算機(jī)等通過網(wǎng)絡(luò)來下載程序。
[0090]<控制程序>
[0091]在本實(shí)施方式中,控制程序?yàn)閳?zhí)行一系列動作的單位,包括順序計(jì)算程序、動作計(jì)算程序,這些順序計(jì)算程序、動作計(jì)算程序是隨著執(zhí)行1處理程序、用戶程序、用戶程序的執(zhí)行而執(zhí)行的程序。
[0092]針對并行執(zhí)行的程序進(jìn)行編程,是需要由用戶考慮到執(zhí)行開始的時(shí)機(jī)或執(zhí)行結(jié)束、數(shù)據(jù)的復(fù)制處理等的時(shí)機(jī)來進(jìn)行的。
[0093]在本實(shí)施方式中,針對每個(gè)控制程序設(shè)定執(zhí)行周期、所執(zhí)行的優(yōu)先級,為了能夠以更短周期執(zhí)行,設(shè)定使各個(gè)控制程序開始執(zhí)行的時(shí)機(jī)、限制條件。時(shí)序管理程序按照控制程序的執(zhí)行優(yōu)先級、執(zhí)行周期,來使微處理器執(zhí)行控制程序。
[0094]第一控制程序是以最高優(yōu)先級來周期性執(zhí)行的,包括第一輸出處理程序、第一輸入處理程序在內(nèi),按順序生成輸出數(shù)據(jù)、讀入輸入數(shù)據(jù)、執(zhí)行所分配的第一用戶程序、執(zhí)行第一動作計(jì)算程序、計(jì)算針對馬達(dá)的指令值。
[0095]第二控制程序是以僅次于第一控制程序的優(yōu)先級來周期性執(zhí)行的,包括第二輸出處理程序、第二輸入處理程序在內(nèi),按順序生成輸出數(shù)據(jù)、讀入輸入數(shù)據(jù)、執(zhí)行所分配的第二用戶程序、執(zhí)行第二動作程序。
[0096]第三控制程序是以恒定周期來周期性地執(zhí)行的。第三控制程序,是以上述的第一控制程序執(zhí)行讀入輸出數(shù)據(jù)或輸入數(shù)據(jù)為前提的。具體而言,是接受通過第一控制程序的1刷新來讀入的輸入數(shù)據(jù)交接,在每個(gè)所設(shè)定的周期生成輸出數(shù)據(jù)的控制程序。
[0097]第三控制程序是適合于如下情形的程序:為了縮短第一控制程序的執(zhí)行周期,將包括在第一控制程序中且可能會以稍長周期執(zhí)行的控制程序分配給該第三控制程序。第四控制程序僅由用戶程序構(gòu)成。第四控制程序與高速控制計(jì)算無關(guān),而用于描述通信處理、備份處理等。
[0098]接下來,示出使用控制器支持裝置來在控制裝置中進(jìn)行編程的步驟。圖5示出控制裝置中的控制裝置的設(shè)定步驟的一例。
[0099]在步驟S(STEP) I中,確定經(jīng)由現(xiàn)場網(wǎng)絡(luò)或系統(tǒng)總線連接的設(shè)備。具體而言,設(shè)定用于對與現(xiàn)場網(wǎng)絡(luò)乃至系統(tǒng)總線連接的設(shè)備進(jìn)行通信的信息。雖未圖示,也可以自動地與經(jīng)由現(xiàn)場網(wǎng)絡(luò)或系統(tǒng)總線連接的設(shè)備進(jìn)行通信,取得經(jīng)由現(xiàn)場網(wǎng)絡(luò)或系統(tǒng)總線連接的設(shè)備、連接順序等的信息。
[0100]在步驟S2中,用戶使用控制器支持裝置,如上述那樣配合控制目的來生成用戶程序。所生成的程序,使用在步驟Si登錄的從與現(xiàn)場網(wǎng)絡(luò)乃至系統(tǒng)總線連接的設(shè)備輸入的數(shù)據(jù),執(zhí)行順序計(jì)算、動作計(jì)算,生成輸出數(shù)據(jù)。該用戶程序也可以分割為多個(gè)程序模塊而生成。
[0101]在步驟S3中,用戶進(jìn)行控制程序的設(shè)定。配合用戶的控制目的,設(shè)定用于執(zhí)行控制程序的周期。
[0102]在步驟S4中,分別針對經(jīng)由在步驟SI中設(shè)定的網(wǎng)絡(luò)連接的設(shè)備,登錄用于進(jìn)行1刷新的控制程序。圖6表示用于進(jìn)行控制程序的設(shè)定的畫面例。分別針對與現(xiàn)場網(wǎng)絡(luò)乃至系統(tǒng)總線連接的設(shè)備,登錄用于進(jìn)行1刷新(1refresh)的控制程序。以一覽方式顯示控制對象設(shè)備,同時(shí)顯示單元名稱。以下拉式菜單形式使用戶選擇分別針對各設(shè)備進(jìn)行1刷新的控制程序。
[0103]在步驟S5中,將所生成的用戶程序分配給控制程序。圖8表示對控制程序分配的圖(Image)。圖7中,分別針對控制程序,將所生成的用戶程序(ProgramO_Program6)分配給控制程序。在將多個(gè)用戶程序分配給控制程序的情況下,登錄用戶程序的執(zhí)行順序。在圖7的例子中,對第一控制程序分配用戶程序ProgramO、Pr ο gram2。在第二控制程序中,分配有用戶程序Program4、Program5、Program6。在第三控制程序中,分配有Programl0
[0104]通過上述的操作,針對每個(gè)控制程序,生成所執(zhí)行的周期、設(shè)定參數(shù)和包括所執(zhí)行的用戶程序在內(nèi)的控制程序,該設(shè)定參數(shù)表示通過控制程序所含的1控制程序進(jìn)行數(shù)據(jù)交換的設(shè)備??刂蒲b置的時(shí)序管理程序,參照傳送來的設(shè)定參數(shù),參照控制程序的執(zhí)行周期等,控制開始或結(jié)束執(zhí)行程序的時(shí)機(jī)。另外,在本實(shí)施方式中的控制程序的執(zhí)行周期,成為經(jīng)由現(xiàn)場網(wǎng)絡(luò)乃至系統(tǒng)總線而與外部設(shè)備進(jìn)行通信(10刷新)的周期,因此,基于設(shè)定參數(shù),通信程序確定以通信周期以及該周期進(jìn)行1刷新的對象和設(shè)備。
[0105]<第一實(shí)施方式>
[0106]控制程序的并行執(zhí)行與通信的沖突
[0107]圖8是表示控制程序執(zhí)行的通信的時(shí)序安排的圖。時(shí)序管理程序監(jiān)視計(jì)時(shí)器的時(shí)亥IJ,如果檢測到規(guī)定時(shí)刻到來,則使微處理器的第一核心開始并行執(zhí)行第一控制程序、第二控制程序。
[0108]發(fā)出這樣的命令:該命令用于,按照第一控制程序的第一輸出處理程序的命令,從主存儲器上讀出與第一控制程序相關(guān)的輸出數(shù)據(jù),將其傳送至通信控制器的緩存,并且指定由通信控制器發(fā)送輸出數(shù)據(jù)的時(shí)刻(I)。在此,在括號內(nèi)的數(shù)字表示圖中圓圈中的數(shù)字。以下相同。
[0109]通信控制器,針對接收到的第一控制程序的輸出數(shù)據(jù),如果達(dá)到所指定的時(shí)刻,則經(jīng)由現(xiàn)場總線控制器、系統(tǒng)總線控制器,向外部設(shè)備發(fā)送輸出數(shù)據(jù)(Γ )。
[0110]通信控制器,通過經(jīng)由現(xiàn)場網(wǎng)絡(luò)、系統(tǒng)總線的通信,從外部設(shè)備接收輸入數(shù)據(jù)。將所接收到的輸入數(shù)據(jù)從緩存發(fā)送至主存儲器上的通信緩存(2’)。如果從通信控制器發(fā)送結(jié)束,則按照第一輸入處理程序的命令,從主存儲器上的通信緩存向計(jì)算區(qū)域復(fù)制(2)。
[0111]按照第一用戶程序的命令,微處理器的第一核心利用復(fù)制到計(jì)算區(qū)域中的輸入數(shù)據(jù)、存儲在第一用戶程序的工作區(qū)域中的輸入數(shù)據(jù),來進(jìn)行順序計(jì)算,將輸出數(shù)據(jù)存儲至通信緩存。另外,利用輸入數(shù)據(jù)進(jìn)行計(jì)算,計(jì)算出輸出的動作控制用數(shù)據(jù)。將計(jì)算出的動作控制用數(shù)據(jù)傳送至動作控制程序進(jìn)行工作的區(qū)域。
[0112]按照第一動作計(jì)算程序的命令,微處理器的第一核心利用第一動作計(jì)算程序來進(jìn)行計(jì)算,計(jì)算與第一控制程序的控制周期對應(yīng)的用于向馬達(dá)發(fā)送的指令值,從而計(jì)算出輸出數(shù)據(jù)。將輸出數(shù)據(jù)傳送至用于對通信控制器進(jìn)行傳送的緩存區(qū)域。按照對第一控制程序設(shè)定的周期來執(zhí)行這一系列的動作。
[0113]發(fā)出這樣的命令:該命令用于,按照第二控制程序的第二輸出處理程序的命令,從主存儲器上讀取與第二控制程序相關(guān)聯(lián)的輸出數(shù)據(jù),將其傳送至通信控制器的緩存,并且指定由通信控制器發(fā)送與第二控制程序相關(guān)聯(lián)的輸出數(shù)據(jù)的時(shí)刻(3)。從該通信控制器進(jìn)行發(fā)送的時(shí)刻,被設(shè)定為通信控制器中的通信處理與第一控制程序所相關(guān)的輸出數(shù)據(jù)的通信不會沖突的時(shí)刻。
[0114]每當(dāng)計(jì)算發(fā)送時(shí)刻時(shí),與通信程序聯(lián)動地,計(jì)算通信控制器中的第一控制程序相關(guān)的輸出數(shù)據(jù)的發(fā)送、輸入數(shù)據(jù)的接收結(jié)束的時(shí)刻?;谕ㄐ啪€路長度或所發(fā)送的數(shù)據(jù)量而預(yù)先決定,計(jì)算出經(jīng)由現(xiàn)場網(wǎng)絡(luò)及系統(tǒng)總線進(jìn)行通信的時(shí)刻。
[0115]關(guān)于與第一控制程序相關(guān)的輸出數(shù)據(jù)的發(fā)送、輸入數(shù)據(jù)的接收,可以預(yù)先決定頻帶空閑的時(shí)刻。
[0116]通信控制器,針對所接收的第二控制程序的輸出數(shù)據(jù),如果到達(dá)了所指定的時(shí)刻,則經(jīng)由現(xiàn)場總線控制器、系統(tǒng)總線控制器,向外部設(shè)備發(fā)送輸出數(shù)據(jù)(3’)。
[0117]通信控制器,通過經(jīng)由現(xiàn)場網(wǎng)絡(luò)、系統(tǒng)總線的通信,從外部設(shè)備接收第二控制程序相關(guān)的輸入數(shù)據(jù)。將所接收的輸入數(shù)據(jù)從緩存發(fā)送至主存儲器上的通信緩存(4’)。如果從通信控制器發(fā)送結(jié)束,按照第一輸入處理程序的命令,從主存儲器上的通信緩存向計(jì)算區(qū)域復(fù)制⑷。
[0118]按照第二動作計(jì)算程序的命令,微處理器的第二核心利用存儲在第二用戶程序的工作區(qū)域中的輸入數(shù)據(jù),進(jìn)行順序計(jì)算,將輸出數(shù)據(jù)存儲至通信緩存。另外,利用輸入數(shù)據(jù)進(jìn)行計(jì)算,計(jì)算所輸出的動作控制用數(shù)據(jù)。將計(jì)算出的動作控制用數(shù)據(jù)傳送至由動作控制程序進(jìn)行工作的區(qū)域。
[0119]按照第二動作計(jì)算程序的命令,微處理器的第二核心利用第二動作計(jì)算程序來進(jìn)行計(jì)算,計(jì)算出與第二控制程序的控制周期對應(yīng)的用于向馬達(dá)發(fā)送的指令值,從而計(jì)算出輸出數(shù)據(jù)。將輸出數(shù)據(jù)傳送至用于對通信控制器進(jìn)行傳送的緩存區(qū)域。
[0120]在圖中的例子中,以第一控制程序所執(zhí)行的周期的兩倍周期來執(zhí)行第二控制程序。不限于該例子,也可以以第一控制程序的執(zhí)行周期的多倍周期來執(zhí)行第二控制程序,也可以以與第一控制程序的執(zhí)行周期相同的周期來執(zhí)行第二控制程序。
[0121]通過這樣構(gòu)成,在并行執(zhí)行多個(gè)控制程序時(shí),也能夠避免通信控制器中的通信沖突。能夠優(yōu)先執(zhí)行第一控制程序中的通信處理,能夠進(jìn)一步縮短從讀入輸入數(shù)據(jù)到發(fā)送輸出數(shù)據(jù)為止的一系列的周期的時(shí)間。
[0122]就用戶而言,根據(jù)控制目的,將想要以短周期執(zhí)行的控制程序設(shè)定為第一控制程序,將能夠長周期執(zhí)行程序設(shè)定為第二控制程序,由此,不必特意顧及通信處理,就能夠生成符合控制目的的程序。
[0123]<第二實(shí)施方式>
[0124]圖9是用于說明每當(dāng)執(zhí)行第二控制程序時(shí)分幀發(fā)送的例子的圖。如果檢測到規(guī)定執(zhí)行周期到來,則時(shí)序管理程序分別使第一核心以及第二核心開始并行執(zhí)行第一控制程序、第二控制程序。第一控制程序的執(zhí)行與第一實(shí)施方式相同,不重復(fù)說明。
[0125]在第二控制程序中,在經(jīng)由現(xiàn)場網(wǎng)絡(luò)、系統(tǒng)總線進(jìn)行通信的設(shè)備為多個(gè)時(shí),有時(shí)會接收不完經(jīng)由現(xiàn)場網(wǎng)絡(luò)、系統(tǒng)總線發(fā)送來的通信幀(也稱為數(shù)據(jù)報(bào)文)。此時(shí),按照輸出處理程序的命令,與通信程序聯(lián)動地,從主存儲器上讀出與第二控制程序相關(guān)聯(lián)的輸出數(shù)據(jù),將其分成兩個(gè)幀,分別將每個(gè)幀傳送至通信控制器的緩存。另外,針對通信控制器發(fā)送用于指定每個(gè)幀的發(fā)送時(shí)刻的命令。
[0126]就通信控制器而言,如果到了與第二控制程序相關(guān)聯(lián)的分割了輸出數(shù)據(jù)的時(shí)刻,則從通信控制器進(jìn)行發(fā)送。
[0127]每次計(jì)算發(fā)送時(shí)刻時(shí),與通信程序聯(lián)動地,將該時(shí)刻設(shè)定為不會妨礙第一控制程序的通信的時(shí)刻。
[0128]具體而言,根據(jù)所設(shè)定的第一控制程序的執(zhí)行周期,來設(shè)定用于進(jìn)行以下處理的時(shí)刻,這些處理包括:確定頻帶空閑的時(shí)刻的處理,根據(jù)電纜的總長度來確定所需的傳播延遲時(shí)間的處理,確定要發(fā)送的幀的發(fā)送時(shí)刻的處理等。
[0129]通信控制器,如果到達(dá)了發(fā)送幀(I)(在此,括號內(nèi)的數(shù)字表示圖中圓圈內(nèi)的數(shù)字。以下相同。)的時(shí)刻,經(jīng)由現(xiàn)場網(wǎng)絡(luò)、系統(tǒng)總線來發(fā)送幀。具體而言,將輸出數(shù)據(jù)發(fā)送至與現(xiàn)場網(wǎng)絡(luò)連接的外部設(shè)備,將來自外部設(shè)備的輸入數(shù)據(jù)存儲至通信控制器的緩存。
[0130]通信控制器,如果到達(dá)了分割幀(2)的時(shí)刻,則經(jīng)由現(xiàn)場網(wǎng)絡(luò)、系統(tǒng)總線來發(fā)送幀。具體而言,將輸出數(shù)據(jù)發(fā)送至與現(xiàn)場網(wǎng)絡(luò)連接的外部設(shè)備,將來自外部設(shè)備的輸入數(shù)據(jù)存儲至通信控制器的緩存。如果全部的輸入數(shù)據(jù)被通信控制器緩存接收,則通信控制器將這些數(shù)據(jù)傳送至主存儲器上的通信緩存。
[0131]按照輸入處理程序的命令,從主存儲器上的通信緩存向第二用戶程序的工作區(qū)域傳送。
[0132]按照第二用戶程序的命令,處理器的第二核心利用存儲在第二用戶程序的工作區(qū)域中的輸入數(shù)據(jù)進(jìn)行順序計(jì)算,將輸出數(shù)據(jù)存儲至通信緩存。另外,利用輸入數(shù)據(jù)進(jìn)行計(jì)算,計(jì)算所輸出的動作控制用數(shù)據(jù)。將計(jì)算出的動作控制用數(shù)據(jù)傳送至由動作控制程序進(jìn)行工作的區(qū)域。
[0133]按照第二動作計(jì)算程序的命令,微處理器的第二核心利用第二動作計(jì)算程序進(jìn)行計(jì)算,計(jì)算出與第二控制程序的控制周期對應(yīng)的用于向馬達(dá)發(fā)送的指令值,從而計(jì)算出輸出數(shù)據(jù)。將輸出數(shù)據(jù)傳送至用于對通信控制器進(jìn)行傳送的緩存區(qū)域。
【主權(quán)項(xiàng)】
1.一種控制裝置,針對經(jīng)由網(wǎng)絡(luò)連接的裝置,輸出計(jì)算出的結(jié)果,從而進(jìn)行控制,所述控制裝置的特征在于,具有: 微處理器, 存儲器,其用于存儲多個(gè)控制程序以及系統(tǒng)程序, 通信控制器,其作為與所述網(wǎng)絡(luò)進(jìn)行通信的通信接口來進(jìn)行動作; 所述系統(tǒng)程序包括時(shí)序管理程序,其用于控制使所述微處理器執(zhí)行所述控制程序的時(shí)機(jī), 所述多個(gè)控制程序針對所述通信控制器而具有通信命令,所述通信命令使所述通信控制器針對經(jīng)由所述網(wǎng)絡(luò)連接的所述裝置發(fā)送計(jì)算出的所述結(jié)果, 所述微處理器并行執(zhí)行所述多個(gè)控制程序; 所述時(shí)序管理程序,每當(dāng)并行執(zhí)行的所述多個(gè)控制程序所含的通信命令被執(zhí)行時(shí),以使所述通信控制器中的通信處理不沖突的方式,來使微處理器發(fā)出通信命令。
【文檔編號】G05B19/042GK106020008SQ201510811827
【公開日】2016年10月12日
【申請日】2015年11月20日
【發(fā)明人】澤田成憲, 川口泰史, 山脇康史
【申請人】歐姆龍株式會社