日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

控制裝置的制造方法

文檔序號:10653420閱讀:638來源:國知局
控制裝置的制造方法
【專利摘要】本發(fā)明提供一種控制裝置,能夠在通過并行執(zhí)行多個控制程序來實現(xiàn)多個馬達的控制的情況下,能夠容易地實現(xiàn)控制程序間的同步。以規(guī)定執(zhí)行周期并行地周期性執(zhí)行多個控制程序。交接控制程序執(zhí)行開始的時機變?yōu)橐恢碌臅r機數(shù)據。在第一控制程序執(zhí)行結束后,將第二控制程序所參照的軸變量從第一控制程序的存儲器上的執(zhí)行區(qū)域復制至第二控制程序的緩存區(qū)域。
【專利說明】
控制裝置
技術領域
[0001]本發(fā)明涉及在為了控制機械或設備的動作而使用的控制裝置中,在利用多內核處理器來以控制程序并行執(zhí)行多個馬達的控制時的多個控制程序間的數(shù)據同步。
【背景技術】
[0002]作為機械、設備等的動作控制,有時包括用于控制馬達運動的動作控制。這樣的動作控制,典型的已知有可編程控制器(programmable controller),其利用一個CPU來執(zhí)行動作計算程序和順序(sequence)的計算,該動作計算程序用于周期性地對用于驅動馬達的馬達驅動器輸出指令值。
[0003]例如在專利文獻I中,公開了可編程控制器執(zhí)行動作計算程序,來周期性地對用于驅動馬達的馬達驅動器輸出指令值。
[0004]在專利文獻I中,包括以第一控制循環(huán)(周期)進行動作的第一控制程序(短周期動作程序)和第二動作計算程序(長周期動作程序),該第一控制程序包括第一動作計算程序。第二控制程序用于以第一控制循環(huán)的整數(shù)倍的周期來對馬達輸出指令值,每當要執(zhí)行第二控制程序時,在執(zhí)行第一控制程序結束后開始執(zhí)行第二控制程序。
[0005]在第二控制程序沒有在規(guī)定控制周期內結束的情況下,在第一控制程序的下個控制循環(huán)中,在執(zhí)行第一控制程序結束后執(zhí)行第二控制程序的未處理部分。
[0006]現(xiàn)有技術文獻
[0007]專利文獻
[0008]專利文獻1:日本專利4752984號公報
[0009]在對這些控制裝置所用的馬達進行控制的設備中,希望縮短進行完如下處理的時間,這些處理包括:計算從作為控制對象設備的設備輸入的輸入數(shù)據,輸出計算結果來作為針對馬達的指令值。
[0010]引用文獻所記載的發(fā)明有如下啟示:將包括多個馬達的控制在內的控制程序,分割為短周期動作程序和長周期動作程序,從而能夠以更短周期執(zhí)行控制程序。
[0011]然而,即使是對輸出控制指令值的周期可以比較長的馬達進行控制的控制程序,有時也需要寫成與對需要以短周期輸出控制指令值的馬達所進行的控制相同步的控制程序。
[0012]在引用文獻的記載的發(fā)明中,就以短周期動作程序和長周期動作程序來計算指令值的馬達而言,前提在于相互獨立。即,前提在于,每當執(zhí)行短周期動作控制程序和長周期動作控制程序時,向馬達發(fā)送的控制指令值和馬達的當前狀態(tài)的控制數(shù)據不進行交接。
[0013]如果要把握多個控制程序開始執(zhí)行的時機、更新在控制程序中參照的值的時機并記錄其中的數(shù)據交接,則會成為用戶的負擔。

【發(fā)明內容】

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