定時(shí)器是梯形邏輯編程的基本功能。在本文中,我們討論開啟和關(guān)閉延遲以及保持定時(shí)器,并定義正確使用它們所需的輸入和輸出。
定時(shí)器幾乎被用于工業(yè)領(lǐng)域的所有 PLC 程序。我個(gè)人使用它們的幾個(gè)示例應(yīng)用程序是用于電機(jī)心軸的加油系統(tǒng)、消息系統(tǒng)時(shí)間表、去抖動(dòng),還有很多其他應(yīng)用程序。定時(shí)器是任何程序員都必須了解的基本功能和關(guān)鍵組件。我們將從羅克韋爾自動(dòng)化 Studio 5000和西門子博途角度介紹梯形邏輯定時(shí)器。最后,我還將簡要描述對其他 PLC 平臺(tái)的使用,不同平臺(tái)可能看起來有些不同。
在我們繼續(xù)之前,讓我快速定義一些可能并非所有讀者都知道的術(shù)語。
- 布爾值(也稱為 BOOL)- 數(shù)據(jù)類型的名稱,可以為真或假、1 或 0、關(guān)閉或打開。一個(gè) BOOL 只有兩種狀態(tài)。
- 雙整數(shù)(也稱為 DINT 或雙字)- 一種數(shù)據(jù)類型的名稱,它使用 32 個(gè)單獨(dú)的 BOOL 來創(chuàng)建人們可以輕松理解和使用的非常大的十進(jìn)制數(shù)。DINT 讓我們計(jì)數(shù),對于定時(shí)器來說絕對是至關(guān)重要的。
- True - 這是表示邏輯電路完整的語句。它就像一個(gè)已關(guān)閉的開關(guān),為設(shè)備供電。
- false - 這是表示邏輯電路不完整的語句。想象一下關(guān)掉一個(gè)電燈開關(guān)。你把它關(guān)掉,電路就“假”了。
在下面的文本中,“true”和“false”以及標(biāo)簽名稱將用大寫的拼寫列出,方便大家清晰閱讀。
定時(shí)器有幾種類型
我們將使用 Rockwell 的 Studio 5000 Logix Designer 開始討論定時(shí)器。Studio 5000 使用三種不同類型的定時(shí)器:延時(shí)延時(shí)定時(shí)器 (TON)、延時(shí)延時(shí)定時(shí)器 (TOF) 和延時(shí)延時(shí)定時(shí)器 (RTO)。所有這三個(gè)指令都使用在 Studio 5000 程序中簡稱為 TIMER 的通用數(shù)據(jù)類型結(jié)構(gòu)。
如下圖 1所示,TIMER 數(shù)據(jù)類型由五個(gè)單獨(dú)的標(biāo)簽組成:
啟用 BOOL (EN)
定時(shí)器計(jì)時(shí) BOOL (TT)
完成 BOOL (DN)
預(yù)設(shè) DINT (PRE)
累積 DINT (ACC)
圖 1.?“TIMER”數(shù)據(jù)類型中包含的標(biāo)簽。所有圖片均由作者提供。
只要定時(shí)器指令處于活動(dòng)狀態(tài),啟用位就為真,無論經(jīng)過了多長時(shí)間。當(dāng)定時(shí)器主動(dòng)執(zhí)行定時(shí)操作時(shí),定時(shí)器定時(shí)位為真。當(dāng)定時(shí)器計(jì)數(shù)達(dá)到其預(yù)設(shè)值時(shí),Done 位變?yōu)?TRUE。預(yù)設(shè)是一個(gè)輸入,允許用戶“設(shè)置定時(shí)器”在完成之前持續(xù)多長時(shí)間。最后,累積數(shù)字向用戶顯示其當(dāng)前計(jì)數(shù)的高低。
另一個(gè)需要注意的重要功能是所謂的時(shí)基。時(shí)基是指作為定時(shí)器計(jì)數(shù)的單位。在 Studio 5000 中,我們總是以毫秒為單位。沒有其他選擇。其他程序可能允許您更改時(shí)基。在 Productivity Suite(通過 Automation Direct)中,您可以選擇毫秒、秒、分鐘或小時(shí)。在 RSLogix500 中,您可以選擇 100ths、10ths 或 1 秒時(shí)基。
我們將討論的每條指令都以不同的方式使用這些位中的每一個(gè)來創(chuàng)建可以在程序中使用的不同結(jié)果。
延時(shí)定時(shí)器 (TON)的功能
TON 指令可能是您看到最多的指令。它的功能非常簡單。當(dāng)為該定時(shí)器供電的梯級為 True 時(shí),它開始以毫秒為間隔計(jì)數(shù)。
圖 2.?TON 指令示例
在圖 2的邏輯中,可以看到 TON 指令。因?yàn)槲以谒懊媸褂昧顺i](也稱為檢查是否打開或 XIO)指令,所以只要定時(shí)器未完成,定時(shí)器就會(huì)開始計(jì)數(shù)。當(dāng)它一直計(jì)數(shù)到 5 秒時(shí),定時(shí)器啟用完成位。在程序的下一次掃描中,由于定時(shí)器在定時(shí)器未完成時(shí)被激活,PLC 將立即關(guān)閉定時(shí)器,將其復(fù)位,并觸發(fā) Arbor1Oiler 系統(tǒng)一個(gè)短暫的脈沖。在下一次掃描中,Done 位將被關(guān)閉,定時(shí)器開始再次計(jì)數(shù)到 5000。在其他邏輯中,定時(shí)器可以由溫度傳感器或按鈕開啟。觸發(fā)和復(fù)位取決于您的程序需要如何運(yùn)行。
TON 指令在梯級為真時(shí)開始計(jì)數(shù),在達(dá)到預(yù)設(shè)時(shí)觸發(fā)完成位,并在梯級變?yōu)榧贂r(shí)將計(jì)數(shù)重置為零。
定時(shí)器關(guān)閉延遲 (TOF)的功能
Timer-Off-Delay 指令不像 On-Delay 那樣常見,但適用于機(jī)器關(guān)閉后負(fù)載必須保持短時(shí)間運(yùn)行的許多特殊情況。令人驚訝且經(jīng)常令人困惑的是,一旦梯級變?yōu)?True,此定時(shí)器的 Done 位就會(huì)變?yōu)?True,并且它會(huì)保持 Done 位,直到定時(shí)器完成計(jì)數(shù)。定時(shí)器在其梯級變?yōu)?False 時(shí)開始計(jì)數(shù)。
當(dāng)您需要在事件發(fā)生后保持某些東西運(yùn)行一段時(shí)間時(shí),這尤其有用。例如,如果電機(jī)關(guān)閉,但您需要在其關(guān)閉后保持其冷卻系統(tǒng)開啟 4 秒鐘。
圖 3.?TOF 指令示例。
在圖 3的邏輯中,可以看到 TOF 指令。當(dāng) MotorRunning 變?yōu)?True 時(shí),Done 位啟用并打開 CoolingSystem。當(dāng) MotorRunning 變?yōu)?False 時(shí),Done 位保持 True,直到冷卻系統(tǒng)運(yùn)行再經(jīng)過 4000 毫秒。這就是 Done 位丟失并且 CoolingSystem 關(guān)閉的時(shí)候。
回顧一下,當(dāng)梯級為真時(shí),TOF 指令將其 Done 位設(shè)置為 True,并在梯級為 False 時(shí)開始向上計(jì)數(shù)。只有在梯級在預(yù)設(shè)的持續(xù)時(shí)間內(nèi)變?yōu)?False 后,它才會(huì)丟棄 Done 位。此定時(shí)器在達(dá)到預(yù)設(shè)值后自動(dòng)重置。
保持定時(shí)器延遲 (RTO)的功能
Retentive Timer-On-Delay 與 Studio 5000 中其他兩個(gè)定時(shí)器的風(fēng)格不同。當(dāng)梯級為 True 時(shí) RTO 計(jì)數(shù),但當(dāng)梯級變?yōu)?False 時(shí)它不會(huì)重置。它保留它積累的任何計(jì)數(shù)。如果機(jī)器需要每運(yùn)行 100 小時(shí)進(jìn)行一次維修,則可以直觀地看到可以在哪里使用它。您希望定時(shí)器在運(yùn)行時(shí)累積值,在不運(yùn)行時(shí)停止累積,但保留計(jì)數(shù)以便在達(dá)到服務(wù)間隔時(shí)顯示通知。
圖 4.保持定時(shí)器指令。
在圖 4的邏輯中,RTO 的布局與前兩個(gè)示例中的一樣。當(dāng)電機(jī)運(yùn)行時(shí),梯級為真,我們正在計(jì)數(shù)。當(dāng)電機(jī)停止運(yùn)行時(shí),在等待下一次梯級變?yōu)?True 時(shí)保持計(jì)數(shù)。當(dāng)計(jì)數(shù)達(dá)到預(yù)設(shè)值時(shí),完成位變?yōu)檎妗?/p>
RTO 指令在其梯級變?yōu)?True 時(shí)開始計(jì)數(shù)。當(dāng)梯級變?yōu)?False 時(shí),它不會(huì)重置計(jì)數(shù)。當(dāng)累計(jì)計(jì)數(shù)達(dá)到預(yù)設(shè)值時(shí),它會(huì)觸發(fā) Done 位。
復(fù)位 (RES) 指令
我們對 RTO 樣式定時(shí)器的討論要求我們需要解決一條指令,該指令可在 Studio 5000 中的多個(gè)位置和容量中使用。Reset 指令可用于重置任何樣式定時(shí)器的計(jì)數(shù),無論它位于何處它的計(jì)數(shù)周期。當(dāng)觸發(fā)復(fù)位時(shí),它會(huì)將相關(guān)定時(shí)器的計(jì)數(shù)復(fù)位為零。要將重置與您想要的定時(shí)器相關(guān)聯(lián),只需將定時(shí)器的標(biāo)簽名稱放入指令的標(biāo)簽中即可。
在這行邏輯中,您可以看到我已經(jīng)設(shè)置了一個(gè)重置,當(dāng)用戶點(diǎn)擊一個(gè)按鈕告訴 PLC 上面的 RTO 示例服務(wù)已完成時(shí)觸發(fā)。
圖 5.定時(shí)器復(fù)位指令。
復(fù)位指令將使用任何定時(shí)器并將其累積值設(shè)置回零。它也可用于將計(jì)數(shù)器的值重置為零,但最好留給不同的文章范圍。
跨其他平臺(tái)的定時(shí)器
盡管定時(shí)器很簡單,但值得注意的是,與其他平臺(tái)相比,Studio 5000 中定時(shí)器的外觀可能存在很大差異。在下圖中,您可以從 Siemens PLC 系統(tǒng)中看到 TIA Portal 中使用的定時(shí)器結(jié)構(gòu)。我們有一個(gè)梯級進(jìn)入指令(IN)的輸入,就像啟用位一樣,一個(gè)預(yù)設(shè)時(shí)間(PT),一個(gè)等同于 ACC 的經(jīng)過時(shí)間(ET),最后是一個(gè)代表輸出的 Q。Q 可與 Studio 5000 的完成位相媲美。
在該指令中,Timer Timing (TT) 不存在,但可以由 IN 為真,Q 為假的簡單系列構(gòu)成。
圖 6.來自西門子 STEP 7 TIA Portal 軟件的 TON。
另一個(gè)例子是Automation Direct 的 Productivity Suite,其主定時(shí)器如下圖所示。
Productivity 將許多功能結(jié)合到他們的單個(gè) Timer 指令中。它本質(zhì)上是一個(gè)與 RTO 類似的保持性定時(shí)器,但您可以選擇自動(dòng)重置以及在當(dāng)前時(shí)間小于、等于或大于菜單中的預(yù)設(shè)時(shí)進(jìn)行監(jiān)控。它還有 3 個(gè)梯級輸入,一個(gè)向上計(jì)數(shù),另一個(gè)向下計(jì)數(shù),另一個(gè)復(fù)位。Automation Direct 使用許多指令來執(zhí)行此操作,將功能組合在一起,因此一條指令可以執(zhí)行無數(shù)任務(wù)。
圖 7.?Automation Direct 生產(chǎn)力套件中的定時(shí)器。
Automation Direct 也有一個(gè)簡單的定時(shí)器,其工作方式類似于 TON 或?TOF 指令。就像其他人一樣,您必須設(shè)置預(yù)設(shè)。這兩個(gè)定時(shí)器都是時(shí)基的示例,可以根據(jù)您的需要進(jìn)行更改,請注意在上圖中以“秒”為單位列出的時(shí)基(以秒為單位)。
概括
工業(yè)界有很多有趣的定時(shí)器版本和用途——從定時(shí)器繼電器到 PLC 定時(shí)器,再到集成電路定時(shí)器。我希望這對跨各種軟件平臺(tái)和應(yīng)用程序使用定時(shí)器有所啟發(fā)。
2022年以來,中國工業(yè)自動(dòng)化控制行業(yè)受到各級政府的高度重視和國家產(chǎn)業(yè)政策的重點(diǎn)支持。國家陸續(xù)出臺(tái)了多項(xiàng)政策,鼓勵(lì)工業(yè)自動(dòng)化控制行業(yè)發(fā)展與創(chuàng)新,這必將加大對自動(dòng)化人才的需求及對技術(shù)固化人員的淘汰但你真的能適應(yīng)人才的需求嗎;