控制器的制造方法
【專利摘要】PLC等控制器(104)存儲用于表示任務執行條件的任務執行條件管理表(242),并按照任務執行條件周期性地執行程序。控制器(104)提供用于改變任務執行條件的設定用指令(320)。用戶通過輔助裝置(300)等將設定用指令(320)加入到用戶程序(236)中。控制器(104),通過執行用戶程序(236)中含有的用于改變各任務的優先級、任務的周期等任務執行條件的指令(320),從而針對指令所涉及的任務,來更新任務執行條件管理表(242),并按照更新后的任務執行條件執行程序。
【專利說明】
控制器
技術領域
[0001]本發明涉及一種包括周期性或事件性地執行用戶程序的控制裝置的控制系統、及控制系統的信息處理裝置。
【背景技術】
[0002]對很多在生產現場使用的機器、設備而言,通常,通過主要由可編程邏輯控制器(Programmable Logic Controller;以下也稱“PL(T )等控制裝置(控制器)構成的控制系統來進行控制。
[0003]例如,PLC由含有執行用戶程序的微處理器的中央處理單元(CPU ,CentralProcessing Unit)單元、負責來自外部開關或傳感器的輸入信號和向外部繼電器或執行器的輸出信號的輸入輸出(1,Input Output)單元等的多個單元構成。在這些單元之間,針對每個用戶程序執行周期,通過PLC系統總線和/或現場網絡進行數據交換,并同時由PLC執行控制操作。
[0004]PLC的CPU單元按照任務的分配執行用戶程序、系統程序等程序。在PLC中,作為通過任務執行的處理,例如有:CPU單元與從屬設備或輸入/輸出(1/0)單元進行數據輸入輸出的輸入/輸出刷新、用戶程序的執行、接受用戶程序指令而執行的運動控制(Mot1nControl)、數據跟蹤處理、以及其他處理。
[0005]任務包括:PLC周期性反復執行的定周期任務、PLC在預先設定的條件成立時僅執行I次的事件性任務等。在各任務中,設定有應當執行的優先級和任務周期。CPU單元根據任務的優先級來執行各程序。
[0006]作為按照任務的分配進行操作的PLC,例如有日本專利第4894961號公報(專利文獻I)。在專利文獻I中,記載了一種PLC的CPU單元,其中,考慮到控制程序的執行時間可能會不時地延長,可將用于PLC的CPU單元所執行的控制數據的輸入和輸出的通信周期,設定成比控制程序的最大執行時間更短的固定時間。在專利文獻I中,記載有:當存在任務執行優先級尚的程序和優先級低的程序時,在一定的周期時間內,先執行優先級尚的程序,該程序執行結束后,再開始執行優先級低的程序。
[0007]現有技術文獻
[0008]專利文獻
[0009]專利文獻1:日本專利第4894961號公報
【發明內容】
[0010]發明要解決的課題
[0011]然而,存在根據控制器的使用情況不同而想要優先的程序和程序的周期時間等不同的情況。例如,在啟動控制器時、與上位系統通信時及要求高速處理的情況下,會出現程序所要求的周期時間、優先級不同的情況。
[0012]因此,本發明的目的在于提供一種技術,根據該技術,在控制器中即使程序正在操作的情況下,也可改變用于執行程序的執行條件,由此提高用戶的便利性。
[0013]解決課題的方法
[0014]根據本發明的一個方面所涉及的控制器,用于控制對象設備。控制器具有:用于存儲包含用戶程序的多個程序和表示任務執行條件的任務信息的存儲部;以及,按照任務信息所表示的執行條件周期性地執行程序的控制部。控制器通過控制部周期性地執行用戶程序來控制對象設備。用戶程序中可含有用于改變任務執行條件的設定用指令。控制部通過執行用戶程序中含有的設定用指令,來更新存儲部的任務信息,并按照更新后的任務執行條件執行程序。
[0015]優選的,任務信息所表示的執行條件中,含有執行任務的優先級,控制部按照任務的優先級周期性執行程序,設定用指令中含有改變任務的優先級的指令,控制部也可以通過執行用戶程序中含有的改變任務的優先級的指令,來改變指令所涉及的的任務的優先級,從而更新任務信息。
[0016]優選的,任務信息所表示的執行條件中含有執行任務的周期,設定用指令中含有改變執行任務的周期的指令,控制部也可以通過執行用戶程序中含有的改變任務的周期的指令,來改變指令所涉及的任務的周期,從而更新任務信息。
[0017]優選的,任務信息所表示的執行條件中,含有執行任務的優先級和執行任務的周期,控制部按照任務的優先級和周期,周期性地執行程序,設定用指令中含有改變任務優先級的指令和改變任務的周期的指令中的至少任意一個,控制部也可以通過執行用戶程序中含有的改變任務的優先級的指令和改變的任務周期的指令,來改變指令所涉及的任務的優先級或周期中的至少任意一個,從而更新任務信息。
[0018]發明效果
[0019]基于本發明,可以從用戶程序改變執行各程序的優先級、由程序運行的控制器的周期,能夠提高控制器的運行效率。
【附圖說明】
[0020]圖1是示出了本發明實施方式中控制系統I的系統構成的示意圖。
[0021 ]圖2是示出了表示本發明實施方式的PLC100的主要部分的硬件構成的示意圖。
[0022]圖3是示出了本發明實施方式的PLC100的軟件構成的示意圖。
[0023]圖4是示出了任務執行條件管理表242的圖。
[0024]圖5是示出了各任務的執行順序的一個例子的圖。
[0025]圖6是示出了用于改變任務的執行條件的指令的例子的圖。
[0026]圖7是示出了CPU單元104執行用戶程序中含有的指令而改變任務優先級時各任務的執行順序的圖。
[0027]圖8是示出了CPU單元104執行用戶程序中含有的指令而改變任務周期時各任務的執行順序的圖。
[0028]圖9是示出了CPU單元104執行用戶程序中含有的指令而改變任務優先級和任務周期時各任務的執行順序的圖。
【具體實施方式】
[0029]參照附圖對本發明實施方式進行詳細說明。需要說明的是,對圖中相同或等同的部分,用相同符號表示,并不再進行重復說明。
[0030]<Α.系統構成>
[0031]首先,對本實施方式中控制系統的系統構成進行說明。在本實施方式中,以控制機器、設備等被控對象的可編程邏輯控制器(PLC)作為控制裝置的典型例子進行說明。然而,本發明的控制裝置不限于PLC,可適用于各種控制裝置。
[0032]圖1是示出本發明實施方式中控制系統I的系統構成的示意圖。參照圖1,控制系統I包括PLC100、連接到PLC100的輔助裝置300和接受來自PLC100的訪問的數據庫裝置400。PL100周期性或事件性地執行后述的用戶程序。該用戶程序中可以含有訪問指令,PLC100可以按照該訪問指令訪問數據庫裝置400。即,PLC100和數據庫裝置400配置成可通過以太網(Ethernet,注冊商標)等網絡112互相交換數據。
[0033]輔助裝置300是可連接到PLC100的信息處理裝置的典型例子。輔助裝置300通過連接電纜114連接到PLC100,提供與PLC100之間的各種參數的設定、程序設計、監視、調試等功能。通常,PLC100和輔助裝置300之間以能夠按照USB(Universal Serial Bus)標準進行通信的方式構成。
[0034]PLC100含有執行控制運算的CPU單元104和一個以上的10(Input/0utput:輸入/輸出)單元106。這些單元以能夠通過PLC系統總線108互相交換數據的方式構成。另外,由電源單元102向這些單元供應適當電壓的電源。
[0035]在控制系統I中,PLC100通過(經由PLC系統總線108連接的)10單元106,和/或,通過現場總線110,與各種現場設備之間進行數據交換。這些現場設備包括對被控對象進行某些處理的執行器、以及用于從被控對象獲取各種信息的傳感器等。圖1中,作為這種現場設備的一個例子,包括檢測開關10、繼電器20和對電機32進行驅動的伺服電機驅動器30。另夕卜,PLC100也可以通過現場總線110與遠程1終端200相連。遠程1終端200基本上與1單元106相同,進行與一般的輸入輸出處理相關的處理。更具體而言,遠程1終端200包括用于進行現場總線110的數據傳輸相關的處理的通信連接器202和一個以上的1單元204。這些單元配置成通過遠程1終端總線208互相交換數據。
[0036]<B.PLC100 的構成 >
[0037]下面,對本實施方式中PLC100的構成進行說明。圖2是示出了表示本發明實施方式的PLC100的主要部分的硬件構成的示意圖。圖3是表示本發明實施方式中的PLC100的軟件構成的示意圖。
[0038]參照圖2,對PLC100的CI3U單元104的硬件構成進行說明。⑶U單元104包括處理器120、芯片組122、系統時鐘124、主存儲器126、非易失性存儲器128、USB連接器130、PLC系統總線控制器140、現場總線控制器150、上位通信控制器160、以及存儲卡接口 170。芯片組122和其他元件之間通過各種總線分別結合。
[0039]通常,處理器120和芯片組122按照通用的計算機架構構成。即,處理器120解讀并執行由芯片組122按照內部時鐘依次提供的指令代碼。芯片組122和與之相連接的各種元件之間相互交換內部數據,同時生成處理器120所需的指令代碼。系統時鐘124生成預定周期的系統時鐘,并提供給處理器120。芯片組122具有對通過處理器120的運算處理執行結果得到的數據等進行緩存的功能。
[0040]CPU單元104具有作為存儲單元的主存儲器126和非易失性存儲器128。主存儲器126為易失性存儲區域,在保持應當由處理器120執行的各種程序的同時,作為各種程序執行時的工作存儲器使用。非易失性存儲器128非易失性地保存操作系統(OperatingSystem)、系統程序、用戶程序、數據定義信息、日志信息等。
[0041 ] USB連接器130是連接輔助裝置300和CPU單元104的接口。通常,由輔助裝置300傳輸的可執行程序等通過USB連接器130導入CPU單元104。
[0042]CPU單元104具有作為通信單元的PLC系統總線控制器140、現場總線控制器150和上位通信控制器160。這些通信電路進行數據的發送和接收。
[0043]PLC系統總線控制器140對經由PLC系統總線108的數據的交換進行控制。更具體地講,PLC系統總線控制器140包括緩沖存儲器142、PLC系統總線控制電路144、以及DMA(Dynamic Memory Access:動態內存訪問)控制電路146 JLC系統總線控制器140通過PLC系統總線連接器148與PLC系統總線108連接。
[0044]現場總線控制器150包括緩沖存儲器152、現場總線控制電路154、以及DMA控制電路156。現場總線控制器150通過現場總線連接器158與現場總線110連接。上位通信控制器160包括緩沖存儲器162、上位通信控制電路164、DMA控制電路166。上位通信控制器160通過上位通信連接器168與網絡112連接。
[0045]存儲卡接口 170連接處理器120和相對于CPU單元104可拆卸的存儲卡172。
[0046]<C.CPU單元的軟件構成>
[0047]下面,參照圖3,對用于提供本實施方式中的各種功能的軟件組進行說明。在適當的時間讀取這些軟件中包含的指令代碼,并由CPU單元104的處理器120執行。
[0048]圖3是示出了本發明實施方式中在CPU單元104執行的軟件構成的示意圖。參照圖3,作為由CPU單元104執行的軟件,有三個層次,即實時操作系統200、系統程序210和用戶程序 236。
[0049]實時操作系統200是根據CPU單元104的計算機架構設計的,提供了處理器120用于執行系統程序210和用戶程序236的基本執行環境。該實時操作系統通常由PLC的制造商或專門軟件公司等提供。
[0050]系統程序210是用于提供PLC100的功能的軟件組。具體地講,系統程序210包括調度程序212、輸出處理程序214、輸入處理程序216、序列指令運算程序232、運動運算程序234和其他系統程序220。需要說明的是,由于輸出處理程序214和輸入處理程序216通常連續執行(作為一體),因此,也有時將這些程序總稱為1處理程序218。
[0051]用戶程序236是根據用戶的控制目的而制作的。即,采用控制系統I并根據控制對象的線程(進程)等任意設計的程序。
[0052]如后文所述,用戶程序236與序列指令運算程序232、運動運算程序234協同實現用戶的控制目的。即,用戶程序236通過利用序列指令運算程序232和運動運算程序234提供的指令、函數、功能模塊等實現程序化操作。因此,有時也將用戶程序236、序列指令運算程序232和運動運算程序234總稱為控制程序230。
[0053]如此地,CPU單元104的處理器120執行存儲在存儲單元的系統程序210和用戶程序236。
[0054]下面,對各程序進行詳細說明。
[0055]如上所述,用戶程序236是根據用戶的控制目的(例如,對象的線程、進程等)而制作的。通常,用戶程序236形成為CPU單元104的處理器120可執行的目標程序形式。該用戶程序236,通過在輔助裝置300等編譯由梯形圖語言等描述的源程序而生成的。另外,通過連接電纜10將所生成的目標程序形式的用戶程序236由輔助裝置300傳輸給CPU單元104,并在非易失性存儲器128等中存儲。
[0056]調度程序212針對輸出處理程序214、輸入處理程序216和控制程序230,控制各執行周期中的處理開始和處理中斷后的處理恢復。更具體地講,調度程序212控制任務的執行。任務依次執行被分配的程序(10處理程序218、控制程序230等)。
[0057]調度程序212按照任務優先級的設定、任務周期的設定等的任務執行條件的設定,對這些程序處理的執行順序等進行管理。根據后述的任務執行條件管理表242,管理各任務執行條件的設定。在本實施方式的控制系統I中,可針對各任務,提供用于改變任務執行優先級、任務執行周期等執行條件的指令(設定用指令),并可將該指令加入到用戶程序236中。CPU單元104通過執行用戶程序236所含的用于改變各任務執行條件的指令,來改變各任務的優先級、各任務的周期等。如此地,控制系統I可以從用戶程序改變任務的優先級。
[0058]輸出處理程序214將通過執行用戶程序236(控制程序230)而生成的輸出數據,再配置為適合向PLC系統總線控制器140和/或現場總線控制器150傳輸的形式。當PLC系統總線控制器140或現場總線控制器150需要來自處理器120的用于執行發送的指令時,則輸出處理程序214發出這樣的指令。
[0059]輸入處理程序216將由PLC系統總線控制器140和/或現場總線控制器150接收的輸入數據,再配置為適合控制程序230使用的形式。
[0060]序列指令運算程序232是,當用戶程序236中使用的某種序列指令被執行時而被調用,并為了實現該指令內容而被執行的程序。
[0061]運動運算程序234是,按照用戶程序236的指示被執行,并計算針對伺服電機驅動器30、脈沖電機驅動器等電機驅動器輸出的指令值的程序。
[0062]除圖3中個別表示的程序以外的、用于實現PLC100各種功能的程序組統一表示為其他系統程序220。該其他系統程序220包括數據塊(DB)訪問處理程序192。數據塊訪問處理程序192包括:隨著用戶程序236的執行,用于實現必要的處理以訪問數據庫裝置400的指令代碼組。數據塊訪問處理程序192包括與用戶程序236中的可指定指令相對應的執行代碼。
[0063]作為指定運動控制循環周期的信息形式,可采用:表示運動控制循環周期的時間的值、運動控制循環周期相關的事先準備的多個選項中特別指定的一個信息(號碼或字符)等。
[0064]實時操作系統200提供用于按照時間經過而切換執行多個程序的環境。在本實施方式的PLC100中,作為將由CPU單元104的程序執行而生成的輸出數據向其他單元或其他裝置輸出(發送)的事件(中斷),初始設定輸出準備中斷(P)和現場網絡發送中斷(X)。當發生輸出準備中斷(P)或現場網絡發送中斷(X)時,實時操作系統200將處理器120的執行對象由中斷發生時執行的程序切換為調度程序212。
[0065]另外,當調度程序212和由調度程序212控制執行的程序沒有被執行時,實時操作系統200執行其他系統程序210中含有的程序。作為這種程序,例如包括:通過CPU單元104和輔助裝置300間的連接電纜1(USB)等的通信處理相關的程序、CPU單元104和上位裝置(數據庫裝置400等)間的通信處理相關的程序等。
[0066]<D ?數據結構>
[0067]參照圖4,對CPU單元104所使用的數據進行說明。
[0068]圖4是示出了任務執行條件管理表242的圖。如圖4所示,任務執行條件管理表242示出了 CPU單元104用于執行各任務的條件,例如,示出了執行各任務的優先級、各任務的周期。任務執行條件管理表242的各記錄包括任務名244、執行優先級246和任務周期248。
[0069]任務名244表示各任務的名稱。
[0070]執行優先級246表示各任務優先級的設定值。優先級的設定值例如有:最高優先級的優先級“高”、優先級次高的優先級“中”、優先級最低的優先級“低”。另外,優先級的設定值并不限于三個等級,還可以有更多的等級。
[0071 ]任務周期248表示執行各任務的周期。例如,以優先級最高的優先級“高”的任務的周期為基準,其他優先級的任務可以為優先級“高”的任務的周期的整數倍。
[0072]圖5是示出了各任務執行順序的一個例子的圖。參照圖5,CPU單元104按照任務執行條件,執行優先級設定為優先級“高”、周期“Tl”的固定周期任務和優先級設定為優先級“中”、周期“T2”的固定周期任務。在CPU單元104中,優先級“高”的固定周期任務是最高優先級的任務。
[0073]當在優先級“中”的固定周期任務執行過程中可以執行高優先級的固定周期任務時,由于優先級“中”的固定周期任務的優先級比優先級“高”的任務的優先級低,因此暫時中斷優先級“中”的固定周期任務,執行優先級“高”的固定周期任務。當優先級“高”的固定周期任務結束后,恢復執行優先級“中”的固定周期任務。需要說明的是,優先級“中”的固定周期任務的周期T2是優先級“高”的固定周期任務的周期Tl的整數倍。圖5示出了 T2 = 2T1(周期Τ2是周期Tl的2倍周期)的情況。
[0074]在圖5中,將調度程序標記為“SC”,將輸出輸入處理程序標記為“01”,將用戶程序236標記為“UPRG”,將運動運算程序234標記為“MC”。另外,圖5中,在便于說明的方面,為了識別各O1、各MC,分別附上不同的參考符號701-707。
[0075]在PLC100的執行過程中,處理器120至少使輸出輸入處理程序(輸出處理程序214和輸入處理程序216)、用戶程序236、以及運動運算程序234處于可執行狀態。嚴格地說,實時操作系統200將各程序相關的進程(或線程)保持在可執行狀態,調度程序212通過利用實時操作系統200和硬件資源(系統時鐘124等),使各程序以適當的時間和適當的順序執行。這樣,通過調度程序212控制各程序相關執行的開始、中斷、結束等。
[0076]<Ε.改變任務執行條件的指令>
[0077]參照圖6,對可加入到用戶程序236中的用于改變任務執行條件的指令進行說明。在實施方式I的PLC100中,可以將改變任務執行條件(任務優先級的設定、執行任務的周期的設定)的指令加入到用戶程序236中。PLC100的CPU單元104通過執行用戶程序236中含有的用于改變任務執行條件的指令,可以改變任務執行條件管理表242所示的各任務優先級的設定和執行任務的周期的設定中的任一者或兩者。
[0078]調度程序212按照任務執行條件管理表242所示的各任務優先級和各任務周期,針對各循環來控制程序的執行順序。例如,基于某個處理完成等某些條件成立,調度程序212參照任務執行條件管理表242,獲取各任務優先級和各任務周期的設定,并按照獲取的任務優先級和任務周期的設定,管理各程序的執行順序。
[0079]圖6是示出了用于改變任務的執行條件的指令的例子的圖。圖6示出的是用戶在輔助裝置300的顯示器310中編輯任務執行條件變更指令320的界面的例子。如圖6所示,用戶可以根據用于改變任務的執行條件的指令“ChangeTaskProperties”,設定任務名稱“TaskName”、任務周期“Tasklnterval”和任務的執行優先級“TaskPr1rity”。任務執行條件變更指令320,例如能夠以功能塊的形式描述。通過由PLC100的CPU單元104執行任務執行條件變更指令320,改變指定任務的優先級或任務的執行周期中的任一者或兩者,從而更新任務執行條件管理表242。
[0080]<F ?操作 >
[0081]下面,舉例說明CPU單元104通過執行用戶程序236中含有的指令而改變各任務優先級的操作例。
[0082]<F1.從用戶程序改變各任務優先級>
[0083]圖7是示出CPU單元104執行用戶程序中含有的指令而改變任務優先級時各任務的執行順序的圖。圖7(A)表示了任務“B”的優先級為優先級“中”時各任務的執行順序。圖7(B)表示了任務“B”的優先級為優先級“低”時各任務的執行順序。需要說明的是,在圖7(A)和圖7(B)中,用戶程序含有的指令(功能塊)設定為“FB”。指令801和指令803是改變任務執行條件的指令。
[0084]如圖7(A)所示,當CPU單元104執行用戶程序800,并執行該用戶程序800中含有的指令801時,任務“B”的優先級由優先級“中”改變為優先級“低”。之后,如圖7(B)所示,執行各任務。在圖7(B)中,當CPU單元104執行用戶程序802,并執行該用戶程序802中含有的指令803時,任務“B”的優先級由優先級“低”改變為優先級“中”。
[0085]例如,在控制系統I中,各裝置生產產品時,當PLC100從服務器接收到作為生產用參數的配方的情況下,通過改變任務的優先級,可有效地操作PLC100的各處理。具體地說,例如,將控制系統I的處理由生產產品的處理切換為接收配方的處理。這時,通過使任務“B”的優先級低于任務“通信處理任務”,可使PLC100有效地進行通信處理,能夠加速配方數據的接收處理。另外,將控制系統I的處理由接收配方處理切換為生產產品處理。這時,通過改變任務“B”的優先級而使其與任務“通信處理任務”的優先級同等,或比任務“通信處理任務”的優先級更高,可以有效地進行產品的生產。
[0086]<F2.從用戶程序改變任務周期>
[0087]圖8是示出CPU單元104執行用戶程序中含有的指令而改變任務周期時各任務的執行順序的圖。圖8(A)表示的是任務“A”的周期和任務“通信處理任務”的周期均為周期“Tl”時各任務的執行順序。圖8(B)表示的是任務“A”的周期和任務“通信處理任務”的周期均為周期“T2”時各任務的執行順序。需要說明的是,在圖8中,任務“A”的優先級比任務“通信處理任務”的優先級更高。指令805和指令807是改變任務執行條件的指令。
[0088]如圖8(A)所示,CPU單元104按照各任務周期執行程序。CPU單元104在周期“Tl”的時間段內,首先執行任務“A”的處理,在任務“A”的處理結束后的剩余的時間內,執行任務“通信處理任務”。若CHJ單元104執行用戶程序804,并執行該用戶程序804中含有的指令805,則任務“A”的周期和任務“通信處理任務”的周期由周期“Tl”改變為周期“T2”。之后,如圖8(B)所示地執行各任務。
[0089]比較圖8(A)和圖8(B)可知,圖8(B)中各任務的周期變長。因此,在圖8(B)的情況下,任務“通信處理任務”與圖8(A)的情況相比,執行更長的時間。因此,在圖8(B)的情況下,CPU單元104與外部設備(例如數據庫裝置400等)的通信時間也比圖8(A)的情況更長。
[0090]在圖8(B)中,若CPU單元104執行用戶程序806,并執行該用戶程序806中含有的指令807,則任務“A”的周期和任務“通信處理任務”的周期由周期“T2”改變為周期“Tl”。
[0091]例如,在控制系統I中,會出現啟動裝置、調整裝置等情況,這時需要根據情況調整各裝置的控制處理和通信處理的平衡。其中,通過調整用于控制各裝置的任務(以圖8為例,任務“A”等)周期,可以調整任務“通信處理任務”的處理時間。
[0092]例如,在設計控制系統I時,可以優先進行裝置的控制處理,將任務周期設定的更短。另一方面,當通信處理需要有一定程度的余量時間時,可以將任務周期設定的更長。如圖8所示的例子,可以從用戶程序改變任務周期,由此在裝置的啟動、調整等情況下,可以微調任務周期,能夠有效地促進該啟動、調整等操作。
[0093 ] <F3.從用戶程序改變任務優先級和任務周期>
[0094]圖9是示出CPU單元104執行用戶程序中含有的指令而改變任務優先級和任務周期時各任務的執行順序的圖。圖9(A)示出了任務“A”為優先級“高”、周期“Tl”,任務“B”為優先級“中”、周期“T2”,任務“通信處理任務”為優先級“低”、周期“T2”時各任務的執行順序。圖9(B)中表示了任務“A”為優先級“高”、周期“Tl”,任務“B”為優先級“低”、周期“T3”,任務“通信處理任務”為優先級“低”、周期“T3”時各任務的執行順序。指令809和指令811是改變任務執行條件的指令。
[0095]如圖9(A)所示,若CPU單元104執行用戶程序808,并執行該用戶程序中含有的指令809,則任務“B”的優先級由優先級“中”改變為優先級“低”,任務“B”的周期由周期“T2”改變為周期“T3”。另外,通過執行用戶程序中含有的指令809,任務“通信處理任務”的優先級由優先級“低”改變為優先級“中”,任務“通信處理任務”的周期由周期“T2”改變為周期“T3”。之后,如圖9(B)所示,執行各任務。
[0096]當比較圖9(A)和圖9(B)時,圖9(B)的任務“B”和任務“通信處理任務”的周期變長,任務“通信處理任務”的優先級變得比任務“B”高。
[0097]在圖9(B)中,若CPU單元104執行用戶程序810,并執行該用戶程序810中含有的指令811,則任務“B”的優先級由優先級“低”改變為優先級“中”,周期由周期“T3”改變為周期“T2”。另外,任務“通信處理任務”的優先級由優先級“中”改變為優先級“低”,周期由周期“T3”改變為周期“T2”。
[0098]與圖7相比,當周期性操作降低優先級的任務時,在降低其任務優先級的同時,延長任務周期。由此,可使優先級降低的任務進行操作而不會超出任務周期。
[0099]<G ?效果 >
[0100]通常,控制系統預先設定程序的優先級、周期等,并按照設定執行各程序。在這些系統中,根據情況會出現想使其優先的程序與程序的周期不同的情況。例如,在控制裝置對通過網絡連接的上位裝置(數據庫裝置、服務器等)發送、接收數據的情況下,或者,在啟動各裝置等的情況下,以及在生產產品時等要求高速操作的情況下,存在想使其優先的程序與程序的周期時間不同的情況。根據本實施方式中說明的控制系統I,即使控制系統230處于運行狀態,也可以改變執行程序的優先級、操作控制裝置的循環周期,能夠有效地進行控制系統I的操作。
[0101]應當理解的是,本發明公開的實施方式的所有方面都是示例性的,而不是限制性的。本發明的范圍并不僅限于上述說明,應當理解為由權利要求的范圍所示的內容、與權利要求的范圍等同的內容、以及在權利要求的范圍內所作的所有變更均包括在本發明的范圍內。
[0102]附圖標記說明如下:
[0103]I控制系統、?ο檢測開關、20繼電器、30伺服電機驅動器、32電機、100 PLC、102電源單元、104 CPU單元、106 1單元、108 PLC系統總線、110現場總線、112網絡、114連接電纜、120處理器、122芯片組、124系統時鐘、126主存儲器、128非易失性存儲器、130USB連接器、140 PLC系統總線控制器、142,152,162緩沖存儲器、144 PLC系統總線控制電路、146,156,166 DMA控制電路、148 PLC系統總線連接器、150現場總線控制器、154現場總線控制電路、158現場總線連接器、160上位通信控制器、164上位通信控制電路、168上位通信連接器、170存儲卡接口、172存儲卡、192數據塊訪問處理程序、194輸入輸出處理程序、196接口處理程序、200實時操作系統、212調度程序、214輸出處理程序、216輸入處理程序、218 1處理程序、220其他系統程序、230控制程序、232序列指令運算程序、234運動運算程序、236用戶程序、242任務執行條件管理表、300輔助裝置、310顯示器、400數據庫裝置。
【主權項】
1.一種用于控制對象設備的控制器,具有: 存儲部,用于存儲包含用戶程序的多個程序和表示任務執行條件的任務信息,以及 控制部,按照所述任務信息中表示的執行條件周期性地執行所述程序; 所述控制器通過所述控制部周期性地執行所述用戶程序來控制所述對象設備, 所述用戶程序能夠含有用于改變所述任務執行條件的設定用指令, 所述控制部通過執行所述用戶程序中含有的所述設定用指令,來更新所述存儲部的所述任務信息,并按照更新后的所述任務執行條件執行所述程序。2.如權利要求1所述的控制器,其中, 所述任務信息中表示的所述執行條件中含有執行所述任務的優先級, 所述控制部按照任務的優先級周期性地執行所述程序, 所述設定用指令中含有改變所述任務的優先級的指令, 所述控制部通過執行所述用戶程序中含有的改變所述任務的優先級的指令,來改變所述指令所涉及的任務的優先級,從而更新所述任務信息。3.如權利要求1所述的控制器,其中, 所述任務信息中表示的所述執行條件中含有執行所述任務的周期, 所述設定用指令中含有改變執行所述任務的周期的指令, 所述控制部通過執行所述用戶程序中含有的改變所述任務的周期的指令,來改變所述指令所涉及的任務的周期,從而更新所述任務信息。4.如權利要求1所述的控制器,其中, 所述任務信息中表示的所述執行條件中含有執行所述任務的優先級和執行所述任務的周期, 所述控制部按照任務的優先級和周期周期性地執行所述程序, 所述設定用指令中含有改變所述任務的優先級的指令和改變所述任務的周期的指令中的至少任意一個, 所述控制部通過執行所述用戶程序中含有的改變所述任務的優先級的指令和改變所述任務的周期的指令,改變所述指令所涉及的任務的優先級和周期中的至少任意一個,從而更新所述任務信息。
【文檔編號】G06F9/48GK106062648SQ201580011829
【公開日】2016年10月26日
【申請日】2015年1月14日 公開號201580011829.4, CN 106062648 A, CN 106062648A, CN 201580011829, CN-A-106062648, CN106062648 A, CN106062648A, CN201580011829, CN201580011829.4, PCT/2015/50798, PCT/JP/15/050798, PCT/JP/15/50798, PCT/JP/2015/050798, PCT/JP/2015/50798, PCT/JP15/050798, PCT/JP15/50798, PCT/JP15050798, PCT/JP1550798, PCT/JP2015/050798, PCT/JP2015/50798, PCT/JP2015050798, PCT/JP201550798
【發明人】矢尾板宏心, 小島達矢
【申請人】歐姆龍株式會社