專利名稱:可自由編程的控制器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一個可自由編程的控制器,該控制器用于控制和/或監(jiān)視一個技術(shù)過程,以執(zhí)行至少一個用戶可編輯任務(wù)。
這樣一種可自由編程的控制器例如是一個存儲器可編程控制器的中央單元,它為了控制和/或監(jiān)視一個自動化技術(shù)過程至少執(zhí)行一個用戶可編輯任務(wù)。
為控制和/或監(jiān)視一個技術(shù)過程,經(jīng)常可執(zhí)行控制功能。這種控制功能例如以程序庫方式供可自由編程的控制器的用戶使用。簡單的控制功能例如有具有所謂P算法的控制功能,其中控制功能模仿具有比例特性的調(diào)節(jié)器;有具有所謂PI算法的控制功能,其中控制功能模仿具有比例積分特性的調(diào)節(jié)器;和有具有所謂的PID算法的控制功能,其中控制功能模仿具有比例積分微分特性的調(diào)節(jié)器。
這種控制功能的使用十分普遍,因此它們常常以程序庫方式提供使用。用戶使用這些控制功能,并根據(jù)應(yīng)用情況只給出例如比例因子或者提前時間這些參數(shù)。
一個以這種方式在一個可自由編程的控制器中實現(xiàn)的調(diào)節(jié)器常常是離散時間處理采樣調(diào)節(jié)器。各種控制算法根據(jù)這一事實安排。一個采樣調(diào)節(jié)器在一個確定的采樣區(qū)間內(nèi)操作,其中該調(diào)節(jié)器每次在采樣時刻被激活。在以軟件方式實現(xiàn)的采樣調(diào)節(jié)器的場合,控制算法在各采樣時刻被激活,亦即被調(diào)用。
為此可以把控制算法以可單獨調(diào)用的分程序或子程序的形式存放在一個程序庫中,或者由用戶根據(jù)各自需要編程。于是單個算法以可單獨調(diào)用的子程序供總程序使用,并像一個元件集成在總程序中。這種實現(xiàn)一個可預(yù)先規(guī)定功能的可單獨調(diào)用的元件下面也稱為功能任務(wù)。
在前述類型的過程控制設(shè)備中通常設(shè)有一個中央任務(wù),它通過執(zhí)行相應(yīng)控制語句保證周期地調(diào)用例如上述的控制算法。以此可以例如根據(jù)該過程控制設(shè)備的計算能力對某一控制算法以200ms的脈沖周期調(diào)用。這一周期時間相應(yīng)于采樣時間,并作為參數(shù)輸入到各控制算法中。
在可自由編程的控制器中建立控制技術(shù)應(yīng)用程序時,在使用例如上述控制功能,同時也為了使用濾波器、額定值供給器、積分器、微分器等,必須以確定的時間順序調(diào)用它們。
為實現(xiàn)這一調(diào)用概念必須經(jīng)常編程一個時間管理器,以保證控制器的周期時間均勻滿載。這意味著對于用戶,軟件設(shè)計者,除了相當(dāng)耗時外,他必須為每一功能任務(wù)規(guī)定采樣時間,必須給上述方式的每一周期的功能任務(wù)傳輸采樣時間,因其作為輸入?yún)?shù)要用于計算,以及他必須由此考慮每個程序的時間脈沖管理。
這要求用戶非常了解控制技術(shù),一些在傳統(tǒng)的控制中不常出現(xiàn)的控制技術(shù),或者特別在緩慢的過程,例如溫度控制,它本來就意味著不必要的編程和運行費用。
此外,存在這種危險,即一種違反操作規(guī)程的時間脈沖管理引起可自由編程的控制器的一種錯誤狀態(tài),這種錯誤狀態(tài)在開通后也可能出現(xiàn),因為這涉及以不可忽略的周期時間負(fù)載疊加的異步過程,其在準(zhǔn)備階段幾乎不能計算。
因此,本發(fā)明的任務(wù)在于,給出一種可自由編程的控制器,其中一個或者多個功能任務(wù)可在用戶可編輯任務(wù)的周期部分被調(diào)用,且為計算作為各功能任務(wù)算法基礎(chǔ)的數(shù)學(xué)或者邏輯函數(shù)需要的采樣時間可在各個功能任務(wù)中確定,并因此可作為該邏輯功能的參數(shù)使用。
該任務(wù)通過一個用于控制和/或監(jiān)視一個技術(shù)過程、以執(zhí)行至少一個用戶可編輯任務(wù)的可自由編程的控制器、特別是一個可編程存儲器控制器的中央單元來實現(xiàn)。
-其中由用戶可編輯任務(wù)可調(diào)用至少一個功能任務(wù),-其中,該功能任務(wù)用于--從技術(shù)過程中至少接收一個測量值,--按照一個可預(yù)先給定的通過至少一個參數(shù)規(guī)定的數(shù)學(xué)或邏輯函數(shù)確定至少一個與測量值相關(guān)的日期,-其中,可確定在調(diào)用功能任務(wù)時與測量值相關(guān)的日期,-其中,由功能任務(wù)可確定調(diào)用時刻,-其中,可確定在當(dāng)前調(diào)用和前次調(diào)用之間的時間差,-其中,該時間差是該數(shù)學(xué)或者邏輯函數(shù)的一個參數(shù)。
當(dāng)在當(dāng)前調(diào)用和前次調(diào)用之間的時間差可通過該功能任務(wù)自身確定時,則不需給該功能任務(wù)傳輸該作為參數(shù)的時間差。這就減輕可自由編程的控制器的計算時間負(fù)載,特別減輕暫存參數(shù)傳輸期間的數(shù)據(jù)的堆棧的負(fù)載。
在為控制和/或監(jiān)視一個技術(shù)過程而至少執(zhí)行一個用戶可編輯任務(wù)的可自由編程的控制器中,通常設(shè)置一個所謂的實時結(jié)構(gòu),它意味著,在某個界限內(nèi)通過操作系統(tǒng)或者一個位于用戶可編輯任務(wù)之下的任務(wù)保證,有待確定的動作在可預(yù)先給定的時刻被初始化。在現(xiàn)在的情形下,下面稱為中央任務(wù)的任務(wù),如前所述,例如是位于用戶可編程任務(wù)之下的任務(wù)或者是一個由特別的操作系統(tǒng)調(diào)用的任務(wù)。
當(dāng)用戶可編程任務(wù)可通過這一中央任務(wù)控制時,則例如可以在確定的時間區(qū)間內(nèi)周期調(diào)用該用戶可編輯任務(wù)。當(dāng)從一個如此控制的用戶可編輯任務(wù)調(diào)用上述功能任務(wù)時,通過用戶可編輯任務(wù)確定的調(diào)用時間間隔也保證了該功能任務(wù)一個確定在某個界限內(nèi)的調(diào)用時間間隔,這樣大致重新出現(xiàn)按照現(xiàn)有技術(shù)在由中央任務(wù)調(diào)用功能任務(wù)時已經(jīng)出現(xiàn)的情況,但編程和計劃投入明顯減少,以及可自由編程的控制器的計算時間負(fù)載同時減少。
當(dāng)除了用戶可編輯任務(wù)以外提供至少一個時間索引任務(wù),其中該時間索引任務(wù)可由中央任務(wù)調(diào)用,并且該時間索引任務(wù)在每次被調(diào)用時使一個時間索引寄存器的內(nèi)容增量,則可以用該時間索引寄存器的內(nèi)容作為全部功能任務(wù)使用的一個公共時基。
該時間索引任務(wù)在可預(yù)先給定的時刻由中央任務(wù)調(diào)用,其中該時間索引任務(wù)在每次被調(diào)用時至少使一個時間索引寄存器的內(nèi)容增量。時間索引任務(wù)的調(diào)用時間按照要控制的和/或要監(jiān)視的技術(shù)過程的最小的所謂區(qū)間時間常數(shù)調(diào)整。因此在時間索引任務(wù)兩次調(diào)用時刻之間的差距通常選擇小于該技術(shù)過程的最小區(qū)間時間常數(shù)。
時間索引任務(wù)兩次調(diào)用時刻之間的間距必須再次選擇成這樣大,即,使得在時間索引寄存器第一次溢出和該時間索引寄存器的第二次溢出之間的時間段大于,特別是明顯大于所采集的最大區(qū)間時間常數(shù)。
當(dāng)時間索引任務(wù)在每次被調(diào)用時使時間索引寄存器的內(nèi)容增量時,則在按時間繪制的該時間索引寄存器的內(nèi)容中產(chǎn)生一個鋸齒函數(shù),因為緊接寄存器溢出后寄存器內(nèi)容變?yōu)榱?,因此在其后重新從零開始增量。該時間索引寄存器是一個所謂的全局寄存器,這樣該時間索引寄存器的內(nèi)容既可由總程序,也可由全部子程序,特別是可由被可自由編程的控制器執(zhí)行的功能任務(wù)確定。
當(dāng)該時間索引任務(wù)可以按一個可預(yù)先給定的等距的時間間隔由中央任務(wù)調(diào)用時,則根據(jù)該時間索引寄存器的內(nèi)容為總程序、可調(diào)用子程序、特別是功能任務(wù)產(chǎn)生一個線性時基。
當(dāng)功能任務(wù)為確定其調(diào)用時刻而確定時間索引寄存器的內(nèi)容時,可以特別簡單地確定調(diào)用時刻,如上所述,其與總程序、可調(diào)用子程序、特別是功能任務(wù)的公共時基有關(guān)。
本發(fā)明的另一任務(wù)在于,提供一種調(diào)用一個可自由編程的控制器中的一個功能任務(wù)的方法,該控制器尤其可以是一個用于控制和/或監(jiān)視一個技術(shù)過程以執(zhí)行至少一個用戶可編輯任務(wù)的可編程存儲器控制器的中央單元,采用該方法在用戶可編輯任務(wù)的周期部分調(diào)用功能任務(wù),以及其中,為計算作為各功能任務(wù)算法基礎(chǔ)的數(shù)學(xué)或者邏輯函數(shù)所需要的采樣時間在各個功能任務(wù)中確定,并因此作為該邏輯函數(shù)的參數(shù)使用。
該任務(wù)通過調(diào)用一個可自由編程的控制器中的一個功能任務(wù)的方法、通過后面的措施而解決,所述控制器特別是一個存儲器可編程控制器的中央單元,其用于控制和/或監(jiān)視一個技術(shù)過程以執(zhí)行至少一個用戶可編輯任務(wù),所述措施包括-由用戶可編輯任務(wù)調(diào)用功能任務(wù),-該功能任務(wù)用于--從該技術(shù)過程中至少接收一個測量值,--按照一個可預(yù)先給定的通過至少一個參數(shù)規(guī)定的數(shù)學(xué)或邏輯函數(shù)確定至少一個與測量值相關(guān)的日期,-確定調(diào)用功能任務(wù)時與測量值相關(guān)的日期,-通過該功能任務(wù)確定調(diào)用時刻,-確定在當(dāng)前調(diào)用和前次調(diào)用之間的時間差,-該時間差是數(shù)學(xué)或者邏輯函數(shù)的一個參數(shù)。
下面借助附圖對本發(fā)明的其它優(yōu)點和發(fā)明細(xì)節(jié)作進(jìn)一步詳細(xì)說明,附圖中
圖1和圖3表示一個時間圖,
圖2和圖4表示調(diào)用體系,圖5表示一個功能曲線。
圖1表示一個用戶可編輯任務(wù)11的時間圖,該任務(wù)11由一個中央任務(wù)1調(diào)用,其中中央任務(wù)1此外還在可預(yù)先規(guī)定的時刻調(diào)用功能任務(wù)21、22和23,并為此中斷用戶可編輯任務(wù)11的執(zhí)行。
按照圖1,在時刻kt11中央任務(wù)1調(diào)用用戶可編輯任務(wù)11。在時刻kt21中央任務(wù)1中斷用戶可編輯任務(wù)11,以調(diào)用功能任務(wù)22。在功能任務(wù)22結(jié)束后,控制短時返回中央任務(wù)1,它根據(jù)供其使用的數(shù)據(jù)和參數(shù)確定,用戶可編輯任務(wù)11還要運行,并因此重新激活用戶可編輯任務(wù)11。
在時刻kt21中央任務(wù)1再次中斷用戶可編輯任務(wù)11,以便能夠執(zhí)行功能任務(wù)21。在功能任務(wù)21結(jié)束后,控制重新短時返回中央任務(wù)1,它再次確定,用戶可編輯任務(wù)11還要運行,并因此重新激活用戶可編輯任務(wù)11。
在時刻kt23中央任務(wù)1再次中斷用戶可編輯任務(wù)11,以便調(diào)用功能任務(wù)23。在功能任務(wù)23結(jié)束后,控制重新短時返回中央任務(wù)1,它確定,用戶可編輯任務(wù)11還要運行,并因此重新激活用戶可編輯任務(wù)11。
在時刻(k+1)t22中央任務(wù)1重新中斷用戶可編輯任務(wù)11,以便重新調(diào)用功能任務(wù)22。在結(jié)束功能任務(wù)22的重新執(zhí)行后,中央任務(wù)1短時再次把控制交給用戶可編輯任務(wù)11,因其還要運行。
在結(jié)束用戶可編輯任務(wù)11后控制返回中央任務(wù)1,它在時刻(k+1)t11重新起動用戶可編輯任務(wù)11。
在時刻(k+1)t21中央任務(wù)1重新中斷用戶可編輯任務(wù)11的執(zhí)行,以便重新開始功能任務(wù)21。在結(jié)束功能任務(wù)21后,中央任務(wù)1重新再次激活中斷的用戶可編輯任務(wù)11。根據(jù)這一模式,在現(xiàn)有技術(shù)公知的調(diào)用方法中,一個用戶可編輯任務(wù)11為執(zhí)行功能任務(wù)21、22、23分別在其執(zhí)行時刻(k+x)t21、(k+x)t22、(k+x)t23被中斷。
重要的是確定,功能任務(wù)21、22、23是與用戶可編輯任務(wù)11的執(zhí)行異步進(jìn)行。這由下述事實確定,全部任務(wù),亦即無論是用戶可編輯任務(wù)11還是功能任務(wù)21、22、23都由中央任務(wù)1調(diào)用。
這一依從關(guān)系在圖2中再次以示例表示。中央任務(wù)1在時刻(k+x)t11或者(k+x)t12調(diào)用用戶可編輯任務(wù)11或者12。與調(diào)用用戶可編輯任務(wù)11、12無關(guān),中央任務(wù)1還分別在時刻(k+x)t21、(k+x)t22或(k+x)t23調(diào)用功能任務(wù)21、22、23。
與此相對,按照本發(fā)明,功能任務(wù)71、72、73的調(diào)用是通過用戶可編輯任務(wù)61進(jìn)行的。由此產(chǎn)生的關(guān)系在圖3的時間圖中表示。
中央任務(wù)5在時刻kt61調(diào)用用戶可編輯任務(wù)。功能任務(wù)71、72、73直接從用戶可編輯任務(wù)61調(diào)用。調(diào)用時刻(k+x)t71、(k+x)t72、(k+x)t73從在用戶可編輯任務(wù)61的控制語句內(nèi)的各調(diào)用語句的位置產(chǎn)生。亦即因此可以在用戶可編輯任務(wù)內(nèi)準(zhǔn)確地在直接需要由各功能任務(wù)71、72、73交付的與測量值有關(guān)的日期D71、D72、D73時調(diào)用功能任務(wù)71、72、73。
由此產(chǎn)生的簡單的調(diào)用關(guān)系在圖4中再次表示。中央任務(wù)5分別在時刻(k+x)t61或者(k+x)t62調(diào)用用戶可編輯任務(wù)61、62。在該功能任務(wù)的控制語句內(nèi)現(xiàn)在有調(diào)用語句,它們調(diào)用功能任務(wù)71、72、73。在圖4中以示例表示這一情況,用戶可編輯任務(wù)61調(diào)用功能任務(wù)71和72,而用戶可編輯任務(wù)62調(diào)用功能任務(wù)73。從所示例子可以想見其它情況。
在圖1的時間圖中在功能任務(wù)21、22、23的各自調(diào)用之間的距離保持相等,因此功能任務(wù)21、22、23總是在相等的時間區(qū)間內(nèi)被調(diào)用,但是對于功能任務(wù)71、72、73的調(diào)用,根據(jù)本發(fā)明不保證這一點。
如上所述,按照本發(fā)明,功能任務(wù)71、72、73的調(diào)用是通過各用戶可編輯任務(wù)61、62的相應(yīng)語句實現(xiàn)的。這意味著,功能任務(wù)71、72、73的調(diào)用時刻依賴于為處理和執(zhí)行在用戶可編輯任務(wù)61、62中包含的控制語句需要的計算時間。
如果例如在調(diào)用功能任務(wù)73之前由用戶可編輯任務(wù)61執(zhí)行具有可變迭代深度的迭代,則在用戶可編輯任務(wù)61的第一次調(diào)用時的迭代深度要比用戶可編輯任務(wù)61第二次調(diào)用時小,亦即因此功能任務(wù)72的調(diào)用時刻在用戶可編輯任務(wù)61第二次調(diào)用時由于提高迭代深度而增加的計算時間向后推移。
也就是說各功能任務(wù)71、72、73在按照本發(fā)明的調(diào)用時不是以相等的時間間隔調(diào)用。如前所述,當(dāng)由功能任務(wù)71、72、73執(zhí)行一個控制算法,輸入由一個要控制和/或要監(jiān)視的技術(shù)過程TP交付的測量值M71、M72、M73時,在這些功能任務(wù)的各次調(diào)用之間的距離也是該控制算法的一個可變參數(shù),它說明各采樣時間。
為確定變化的采樣時間,可以確定一個參數(shù)作為系統(tǒng)時鐘當(dāng)前狀態(tài)的量度。
如果該參數(shù)在功能任務(wù)71、72、73內(nèi)暫存的話,則可以在下次調(diào)用功能任務(wù)71、72、73時根據(jù)在該暫存的數(shù)值和新交付的參數(shù)之間的差確定當(dāng)前采樣時間。
同樣可以想見,給功能任務(wù)71、72、73補充確定系統(tǒng)時鐘當(dāng)前狀態(tài)的語句。在該種情況下也把每次當(dāng)前確定的時間值暫存在功能任務(wù)內(nèi)部,以便在下次調(diào)用功能任務(wù)71、72、73時根據(jù)該暫存的值能夠確定時間差。
然而,從兩個例如以時、分、秒給出日時的時間信息確定一個時間差通常很耗費(計算時間)。為此目的,本可以例如把兩個日時變換為秒,然而為此需要不同的乘法和加法。這要消耗計算時間,這些時間最好提供給應(yīng)用例如用戶可編輯任務(wù)61、62或者功能任務(wù)71、72、73時使用。
因此,根據(jù)本發(fā)明提供一個時間索引寄存器T51很具優(yōu)點,其內(nèi)容表示一個時間信息。
為此目的,按照本發(fā)明的一個有利的方案,中央任務(wù)5以相等間隔調(diào)用一個時間索引任務(wù)51,其中該時間索引任務(wù)51在每次調(diào)用時使時間索引寄存器T51的內(nèi)容增量。時間索引寄存器T51的內(nèi)容為功能任務(wù)71、72、73可被確定,并可以被用來確定各自的采樣時間。
例如功能任務(wù)72在調(diào)用時確定時間索引寄存器T51的內(nèi)容并存儲該值。該功能任務(wù)72在下次被調(diào)用時重新確定時間索引寄存器T51的內(nèi)容,并可以根據(jù)時間索引寄存器T51的當(dāng)前內(nèi)容和所存儲的表示功能任務(wù)72前次調(diào)用時時間索引寄存器T51的內(nèi)容的值之間的差,為兩次前后相繼調(diào)用之間的時間段確定一個尺度,亦即采樣時間。
當(dāng)時間索引寄存器T51例如是一個16位寬的寄存器時,則在該時間索引寄存器中可存儲的最大值是65535。如果在時間索引寄存器T51中已經(jīng)存儲該最大可能值,則該時間索引寄存器T51的內(nèi)容的再次增量將導(dǎo)致所謂的寄存器溢出。對于時間索引寄存器T51的內(nèi)容來說,這意味著復(fù)位到零值。由該零值出發(fā),可以在下次調(diào)用時間索引任務(wù)51時使該時間索引寄存器T51的內(nèi)容重新增量,直到下次寄存器溢出。因此該時間索引寄存器T51的內(nèi)容沿時間來描繪可形成一個鋸齒函數(shù),如圖5所示。
當(dāng)在功能任務(wù)71、72、73的兩次前后相繼調(diào)用期間尚未發(fā)生任何時間索引寄存器T51的寄存器溢出時,則時間索引寄存器在各功能任務(wù)71、72、73的當(dāng)前調(diào)用時的內(nèi)容大于各前次調(diào)用時的內(nèi)容。因此所述時間差的大小通過簡單地從在當(dāng)前調(diào)用時刻時間索引寄存器T51的內(nèi)容中減去在功能任務(wù)71、72、73中分別暫存的值來計算,該暫存值表示在前次調(diào)用時刻該時間索引寄存器T51的內(nèi)容。
與此相反,如果在功能任務(wù)71、72、73的兩次前后相繼的調(diào)用之間發(fā)生時間索引寄存器T51的溢出,則在當(dāng)前調(diào)用時刻的時間索引寄存器T51的值小于時間索引寄存器T51在前次調(diào)用時刻的內(nèi)容。在確定各功能任務(wù)71、72、73中的采樣時間之前要確定是否存在這種情況,亦即時間索引寄存器T51在當(dāng)前調(diào)用時刻的內(nèi)容是否小于暫存的值。如果存在這樣的情況,則在時間索引寄存器T51的當(dāng)前內(nèi)容上加上在時間索引寄存器T51中所能存儲的最大值,在該種情況下亦即65535。對于按照圖5的圖形,這明確表示,鋸齒的兩個三角形簡單地如此移位,使得產(chǎn)生一個線性不中斷的坡度。使用以這種方式修正的時間索引寄存器T51的內(nèi)容,可以以已知的方式通過減來確定采樣時間。
最后,本發(fā)明總結(jié)如下當(dāng)調(diào)用例如實現(xiàn)控制功能的功能任務(wù)時,不再通過一個中央任務(wù),亦即例如一個實時操作系統(tǒng)的調(diào)度程序,而是通過各個用戶可編程任務(wù)實現(xiàn),在這些用戶可編程任務(wù)中處理由功能任務(wù)交付的測量值,從而使軟件設(shè)計人員從軟件設(shè)計時復(fù)雜的組織任務(wù)中解脫。因為在產(chǎn)生的非等距功能任務(wù)調(diào)用時,例如一個控制算法的采樣時間不再恒定,因此要把各次有效的采樣時間作為參數(shù)傳輸給功能任務(wù)的各自算法。然而當(dāng)功能任務(wù)在每次調(diào)用時確定一個時間值以及從當(dāng)前時間值和先前時間值之間的差自身規(guī)定采樣時間時,可以特別簡單地確定采樣時間。當(dāng)為此詢問一個時間索引寄存器時,時間值的確定也可以特別簡單。該時間索引寄存器由一個通過中央任務(wù)周期調(diào)用的時間索引任務(wù)在每次調(diào)用時增量。
權(quán)利要求
1.一種可自由編程的控制器,尤其是一個存儲器可編程控制器的中央單元,用于控制和/或監(jiān)視一個技術(shù)過程(TP)以執(zhí)行至少一個用戶可編輯任務(wù)(61,62),-其中由用戶可編輯任務(wù)(61,62)可調(diào)用至少一個功能任務(wù)(71,72,73),-其中,該功能任務(wù)(71,72,73)用于--從技術(shù)過程(TP)中接收至少一個測量值(M71,M72,M73),--按照一個可預(yù)先給定的通過至少一個參數(shù)規(guī)定的數(shù)學(xué)或邏輯函數(shù)確定至少一個與測量值相關(guān)的日期(D71,D72,D73),-其中,可確定在調(diào)用(A71,A72,A73)功能任務(wù)(71,72,73)時與測量值相關(guān)的日期(D71,D72,D73),-其中,通過功能任務(wù)(71,72,73)可確定調(diào)用(A71,A72,A73)時刻(TA),-其中,可確定在當(dāng)前調(diào)用(A71,A72,A73)和前次調(diào)用之間的時間差(TΔ),-其中,該時間差(TΔ)是所述數(shù)學(xué)或者邏輯函數(shù)的一個參數(shù)。
2.根據(jù)權(quán)利要求1所述的可自由編程的控制器,其特征在于,在當(dāng)前調(diào)用(A71,A72,A73)和前次調(diào)用之間的時間差(TΔ)可通過功能任務(wù)(71,72,73)確定。
3.根據(jù)權(quán)利要求1或2所述的可自由編程的控制器,其特征在于,用戶可編輯任務(wù)(61,62)的執(zhí)行可由一個中央任務(wù)(5)控制。
4.根據(jù)權(quán)利要求3所述的可自由編程的控制器,其特征在于,除用戶可編輯任務(wù)(61,62)外設(shè)置至少一個時間索引任務(wù)(51),其中該時間索引任務(wù)(51)可由中央任務(wù)(5)調(diào)用,并且其中該時間索引任務(wù)(51)在每次調(diào)用時使時間索引寄存器(T51)的內(nèi)容增量。
5.根據(jù)權(quán)利要求4所述的可自由編程的控制器,其特征在于,所述時間索引任務(wù)(51)可由中央任務(wù)(5)按一個可預(yù)先給定的等距的時間間隔調(diào)用。
6.根據(jù)權(quán)利要求4或5所述的可自由編程的控制器,其特征在于,所述功能任務(wù)(71,72,73)為確定其調(diào)用時刻(TA)而確定時間索引寄存器(T51)的內(nèi)容。
7.一種調(diào)用可自由編程的控制器的功能任務(wù)、特別是一個存儲器可編程控制的一個中央單元的功能任務(wù)的方法,該控制器用于控制和/或監(jiān)視一個技術(shù)過程(TP)以執(zhí)行至少一個用戶可編輯任務(wù)(61,62),-其中由用戶可編輯任務(wù)(61,62)調(diào)用功能任務(wù)(71,72,73),-其中,該功能任務(wù)(71,72,73)用于--從技術(shù)過程(TP)中接收至少一個測量值(M71,M72,M73),--按照一個可預(yù)先給定的通過至少一個參數(shù)規(guī)定的數(shù)學(xué)或邏輯函數(shù)確定至少一個與測量值相關(guān)的日期(D71,D72,D73),-其中,確定在調(diào)用(A71,A72,A73)功能任務(wù)(71,72,73)時與測量值相關(guān)的日期(D71,D72,D73),-其中,通過功能任務(wù)(71,72,73)確定調(diào)用(A71,A72,A73)時刻(TA),-其中,確定在當(dāng)前調(diào)用(A71,A72,A73)和前次調(diào)用之間的時間差(TΔ),-其中,該時間差(TΔ)是該數(shù)學(xué)或者邏輯函數(shù)的一個參數(shù)。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,在當(dāng)前調(diào)用(A71,A72,A73)和前次調(diào)用之間的時間差(TΔ)通過功能任務(wù)(71,72,73)確定。
9.根據(jù)權(quán)利要求7或8所述的方法,其特征在于,用戶可編輯任務(wù)(61,62)的執(zhí)行由一個中央任務(wù)(5)控制。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,除用戶可編輯任務(wù)(61,62)外,設(shè)置一個時間索引任務(wù)(51),其中該時間索引任務(wù)(51)由中央任務(wù)(5)調(diào)用,并且該時間索引任務(wù)(51)在每次被調(diào)用時使時間索引寄存器(T51)的內(nèi)容增量。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于,所述時間索引任務(wù)(51)由中央任務(wù)(5)按一個可預(yù)先給定的等距的時間間隔調(diào)用。
12.根據(jù)權(quán)利要求10或11所述的方法,其特征在于,所述功能任務(wù)(71,72,73)為確定其調(diào)用時刻(TA)而確定時間索引寄存器(T51)的內(nèi)容。
全文摘要
一種可自由編程的控制器,當(dāng)調(diào)用例如實現(xiàn)控制功能的功能任務(wù)時,不再通過一個中央任務(wù),亦即例如一個實時操作系統(tǒng)的調(diào)度程序,而是通過各個用戶可編程任務(wù)實現(xiàn),在這些用戶可編程任務(wù)中處理由功能任務(wù)交付的測量值,從而使軟件設(shè)計人員從軟件設(shè)計時復(fù)雜的組織任務(wù)中解脫出來。由于在產(chǎn)生非等距的功能任務(wù)調(diào)用時,例如一個控制算法的采樣時間不再恒定,因此要把各有效的采樣時間作為參數(shù)傳輸給功能任務(wù)的各自算法。然而當(dāng)功能任務(wù)在每次調(diào)用時確定一個時間值以及從當(dāng)前時間值和先前時間值之間的差自身規(guī)定采樣時間時,可以特別簡單地確定采樣時間。當(dāng)為此詢問一個時間索引寄存器時,時間值的確定也可以特別簡單。該時間索引寄存器由一個通過中央任務(wù)周期調(diào)用的時間索引任務(wù)在每次調(diào)用時增量。
文檔編號G05B19/042GK1246935SQ98802400
公開日2000年3月8日 申請日期1998年3月20日 優(yōu)先權(quán)日1997年4月2日
發(fā)明者于爾根·米勒 申請人:西門子公司