0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

博圖中的IEC定時(shí)器

opkgjew ? 來源:PLC標(biāo)準(zhǔn)化編程 ? 作者:PLC標(biāo)準(zhǔn)化編程 ? 2022-12-21 14:00 ? 次閱讀

定時(shí)器的應(yīng)用在PLC應(yīng)用中算是最基礎(chǔ)的高級(jí)算法。就好比在傳統(tǒng)的繼電器控制柜中,簡單邏輯用繼電器就可以搭成。然而如果有延時(shí)的需求,就需要加上幾個(gè)時(shí)間繼電器,然后整個(gè)柜子瞬間就顯得高大上了。

而在PLC中,定時(shí)器的實(shí)現(xiàn)通常有兩種方法,一種是系統(tǒng)提供了一種軟的時(shí)間繼電器通常叫做TIMER,通常也還會(huì)有數(shù)量限制。比如S7-200會(huì)有256個(gè)(T0 到 T255),而S7-300根據(jù)具體的CPU型號(hào)不同會(huì)有256, 512乃至更多。等等。

另一種方法則是系統(tǒng)提供了一種專用的功能塊FB,專門用于定時(shí)器功能。而其實(shí)這是IEC61131-3標(biāo)準(zhǔn)所規(guī)定的。所以各PLC廠家只不過是實(shí)現(xiàn)了標(biāo)準(zhǔn)的要求而已。而對(duì)于S7-200這樣的沒有IEC定時(shí)器的系統(tǒng),也只是因?yàn)槠錄]有完全支持IEC標(biāo)準(zhǔn)??梢奍EC標(biāo)準(zhǔn)對(duì)PLC廠家雖然有一定的約束力,但極小。

我在幾年前就提出的,好的PLC程序,以及標(biāo)準(zhǔn)化的程序設(shè)計(jì)不要使用全局變量的M和T,前者M(jìn)的話題后來又延伸討論過多次,這回不涉及。這回主要探討定時(shí)器。我在講不用T的時(shí)候,指的是上面的TIMER定時(shí)器,即編號(hào)T0-T255這種。而有一些人腦回路可能有些多,看到我說T就理解為TIMER,理解為定時(shí)器,理解為寫程序中不用任何的延時(shí)功能,就跟我哭訴,不用延時(shí)功能都無法編程了。

我說T不能用的時(shí)候可以用IEC定時(shí)器?。∧莻€(gè)沒有編號(hào),就不需要做編號(hào)規(guī)劃,就不會(huì)有編號(hào)沖突。而在沒有IEC定時(shí)器的PLC中怎么辦?那就需要自己設(shè)計(jì)自定義的定時(shí)器。到現(xiàn)在同行已經(jīng)普遍認(rèn)識(shí)到了這一點(diǎn)。比如在SMART 200中,包括官方的1847平臺(tái)中, 也都有自定義定時(shí)器實(shí)現(xiàn)的案例講座。

而到了博圖系統(tǒng)中,其實(shí)反而只有IEC定時(shí)器,而不再有時(shí)間繼電器TIMER了。我因?yàn)樽詮纳?jí)到PORTAL系統(tǒng)之后就沒再用過T, 所以反而很久之后才發(fā)現(xiàn)這一點(diǎn)。

PORTAL中將傳統(tǒng)的時(shí)間繼電器T取消了以后,其所提供的IEC定時(shí)器IEC_TIMER,其實(shí)機(jī)制原理與IEC標(biāo)準(zhǔn)的定時(shí)器還有一些差別,相當(dāng)于把兩者的功能給融合了。你如果仔細(xì)去研讀官方的文檔資料,會(huì)發(fā)現(xiàn)這一點(diǎn)。然而通常大多數(shù)人并沒有仔細(xì)貫通研讀官方文檔的習(xí)慣(也沒這個(gè)必要去浪費(fèi)太多的時(shí)間),有的時(shí)候就會(huì)掉到坑里被絆倒一下。

這是本文要探討的重點(diǎn)。

IEC定時(shí)器的好處在于,如果同一段程序用的是同樣的語言,比如SCL, 那么在不同廠家的PLC平臺(tái)之間是可以無縫移植的。這也是IEC標(biāo)準(zhǔn)設(shè)立的出發(fā)點(diǎn)。比如我在做西門子之外的其它品牌和平臺(tái)的標(biāo)準(zhǔn)化,ROCKWELL, CODESYS , MITSUBISH, OMRON, SCHNEIDER, B+R等等時(shí),程序都是直接從PORTAL中移植到對(duì)方的平臺(tái)的。移植過程中對(duì)原有程序做了些語法適應(yīng)處理,但問題主要出在西門子這一側(cè)功能太多,可以縱容不嚴(yán)謹(jǐn)?shù)恼Z法導(dǎo)致的。而那些程序如果倒過來要移植到PORTAL平臺(tái),則會(huì)輕松許多。大部分程序塊都是直接復(fù)制過來就可以使用。

而有網(wǎng)友就抱怨,原本在其他某平臺(tái)中可以正常運(yùn)行的邏輯,移植(復(fù)制)到PORTAL中就不靈了,功能不能運(yùn)行了。

這個(gè)SCL程序腳本大致是:

#TON1(IN:=NOT #TON1.Q,PT:=T#1s);

IF #TON1.Q THEN

#AAAA:= #AAAA + 1;

END_IF;

或者:

#TON2.TON(IN := #TON2.Q,

PT:= T#1S);

IF #TON2.Q THEN

#BBBB:= #BBBB + 1;

END_IF;

其中TON1定義為TON_TIME類型, 而TON2定義為IEC_TIMER類型,只不過是定義方法不同,然而運(yùn)行結(jié)果是相同的。

dfc18358-80ea-11ed-8abf-dac502259ad0.png

程序的初衷是,設(shè)定1S的周期,每到1S時(shí)間到,產(chǎn)生一個(gè)輸出,使用這個(gè)輸出進(jìn)行計(jì)數(shù)加1,然而當(dāng)定時(shí)器被再次調(diào)用時(shí),又再次觸發(fā)定時(shí)器計(jì)時(shí)。

這個(gè)邏輯本身是正確沒有問題的。在大部分的PLC平臺(tái)如CODESYS中執(zhí)行也可以得到正確的結(jié)果。

然而偏偏在TIA PORTAL中是不能正確運(yùn)行的。

其中的原因便是PORTAL中對(duì)這個(gè)定時(shí)器做了特別的處理。按照對(duì)官方資料的個(gè)人解讀, 程序的所有位置,只要對(duì)定時(shí)器的Q管腳執(zhí)行讀取, 系統(tǒng)都會(huì)在后臺(tái)默默執(zhí)行一次定時(shí)器邏輯,并刷新計(jì)算結(jié)果。

所以即便某一次Q為1,但在調(diào)用NOT Q的時(shí)候執(zhí)行一次,使得Q值從1刷新變?yōu)榱?,就導(dǎo)致IN管腳永遠(yuǎn)為1,沒有為0的機(jī)會(huì),那么定時(shí)器就再也不會(huì)被重新觸發(fā)計(jì)時(shí)了。那么后面的計(jì)數(shù)值就不會(huì)有變化了。

所以,不可以把PORTAL中的IEC定時(shí)器簡單當(dāng)做一個(gè)FB/SFB來看待。盡管它們在FB中都是同樣的多重背景存在。

上述邏輯,且不說CODSYS中可以正常運(yùn)行,即便在STEP7 V5中,也是可以正常的。

看我在STEP7中用梯形圖搭出來的邏輯以及運(yùn)行結(jié)果:

dfe8d016-80ea-11ed-8abf-dac502259ad0.png

在STEP7中, TON是一個(gè)SFB, 編號(hào)為SFB4,把其當(dāng)做一個(gè)普通的多重背景的FB來調(diào)用,即可實(shí)現(xiàn)定時(shí)器功能。這里用梯形圖演示了同樣的邏輯。對(duì)于看不懂前面的SCL語言的讀者,可以通過這里的LAD理解。

注意到,在定時(shí)器的前面的IN管腳我連續(xù)使用了2次Q輸出,效果是相同的。原因是如果只用一次,會(huì)報(bào)紅色錯(cuò)誤。說明STEP7中很警惕這樣的用法。

由此,我們可以想到,如果在博圖中我們自定義一個(gè)自己的定時(shí)器TON FB,應(yīng)該就可以避免上述的錯(cuò)誤。

即:

e017c2ea-80ea-11ed-8abf-dac502259ad0.png

建立FB:TON_W, 管腳如TON完全一致,程序中也只是簡單調(diào)用一次TON。

然后正式的程序中,參數(shù)定義部分原本TON1的類型為TON_TIME,全部更改為TON_W,即可。

然后上述的從CODESYS移植過來的程序就都可以正常運(yùn)行了。

技能很簡單,原理也很簡單。

然而卻是一項(xiàng)基礎(chǔ)的工作,補(bǔ)上了從CODESYS等其它平臺(tái)向PORTAL平臺(tái)程序移植的坑。

所以,總的來說,我是在積累記錄平臺(tái)之間程序移植的各種坑,并提前找到填坑的解決方案。那么,在做正式的項(xiàng)目的時(shí)候,因?yàn)橛羞@些積累的提前量,就會(huì)順利得多。短時(shí)間內(nèi)實(shí)現(xiàn)程序的跨平臺(tái)移植,才成為可能。

不知道有多少同行認(rèn)同這樣的做法。

審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4615

    瀏覽量

    92992
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3251

    瀏覽量

    114924
  • IEC
    IEC
    +關(guān)注

    關(guān)注

    2

    文章

    200

    瀏覽量

    28908

原文標(biāo)題:1220 【萬泉河】博圖中的IEC定時(shí)器

文章出處:【微信號(hào):PLC標(biāo)準(zhǔn)化編程,微信公眾號(hào):PLC標(biāo)準(zhǔn)化編程】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    定時(shí)器的工作方式介紹

    定時(shí)器是計(jì)算機(jī)和嵌入式系統(tǒng)中常見的一種硬件模塊,用于實(shí)現(xiàn)定時(shí)和計(jì)數(shù)功能。定時(shí)器的工作方式通常由一組寄存來控制,這些寄存定義了
    的頭像 發(fā)表于 07-12 10:29 ?1009次閱讀

    定時(shí)器相關(guān)的寄存有哪些類型

    在微控制編程中,定時(shí)器是一種非常常見的功能模塊,用于實(shí)現(xiàn)各種定時(shí)和計(jì)數(shù)功能。定時(shí)器的工作原理是通過內(nèi)部的計(jì)數(shù)來跟蹤時(shí)間的流逝,當(dāng)計(jì)數(shù)
    的頭像 發(fā)表于 07-12 10:25 ?973次閱讀

    鴻蒙開發(fā)系統(tǒng)基礎(chǔ)能力:Timer定時(shí)器

    設(shè)置一個(gè)定時(shí)器,該定時(shí)器定時(shí)器到期后執(zhí)行一個(gè)函數(shù)。
    的頭像 發(fā)表于 06-28 11:33 ?1015次閱讀
    鴻蒙開發(fā)系統(tǒng)基礎(chǔ)能力:Timer<b class='flag-5'>定時(shí)器</b>

    三菱plc如何顯示定時(shí)器時(shí)間

    三菱PLC(Programmable Logic Controller,可編程邏輯控制)是一種廣泛應(yīng)用于工業(yè)自動(dòng)化領(lǐng)域的設(shè)備。定時(shí)器是PLC中的一種基本功能,用于實(shí)現(xiàn)延時(shí)控制、計(jì)時(shí)控制等功能。在三
    的頭像 發(fā)表于 06-20 11:10 ?1905次閱讀

    如何實(shí)現(xiàn)一個(gè)軟件定時(shí)器?

    在Linux,uC/OS,F(xiàn)reeRTOS等操作系統(tǒng)中,都帶有軟件定時(shí)器,原理大同小異。典型的實(shí)現(xiàn)方法是:通過一個(gè)硬件定時(shí)器產(chǎn)生固定的時(shí)鐘節(jié)拍,每次硬件定時(shí)器中斷到,就對(duì)一個(gè)全局的時(shí)間標(biāo)記加一,每個(gè)軟件
    的頭像 發(fā)表于 04-29 11:00 ?679次閱讀

    s7200定時(shí)器的五種故障介紹

    定時(shí)器或CPU故障:如果定時(shí)器本身或PLC的CPU出現(xiàn)故障,也可能導(dǎo)致定時(shí)器無法復(fù)位。此時(shí),需要檢查定時(shí)器和CPU的工作狀態(tài),確保其正常運(yùn)行。
    的頭像 發(fā)表于 04-03 17:08 ?2533次閱讀

    ?PLC保持型通電延時(shí)定時(shí)器TONR

    TONR指令用于積累許多時(shí)間間隔。當(dāng)定時(shí)器的輸入端IN為ON時(shí),定時(shí)器開始計(jì)時(shí),當(dāng)定時(shí)器的當(dāng)前值大于等于設(shè)定值時(shí),定時(shí)器被置位,其常開觸點(diǎn)閉合,常閉觸點(diǎn)斷開。
    發(fā)表于 03-31 09:13 ?1125次閱讀
    ?PLC保持型通電延時(shí)<b class='flag-5'>定時(shí)器</b>TONR

    ?PLC定時(shí)器介紹

    定時(shí)器是PLC中重要的編程元件,是累計(jì)時(shí)間增量的內(nèi)部器件。大部分自動(dòng)控制領(lǐng)域都需要定時(shí)器進(jìn)行延時(shí)控制,靈活地使用定時(shí)器可以編制出復(fù)雜的控制程序。
    發(fā)表于 03-22 12:36 ?2435次閱讀
    ?PLC<b class='flag-5'>定時(shí)器</b>介紹

    使用555定時(shí)器的可調(diào)雙定時(shí)器電路

    定時(shí)器 IC 555 是最通用和最常用的 IC 之一,因?yàn)樗膽?yīng)用范圍更廣,如 PWM放大器、延遲定時(shí)器、開關(guān)電路、占空比選擇、時(shí)鐘脈沖發(fā)生等。這也可用于各種應(yīng)用,如精確
    的頭像 發(fā)表于 02-25 15:16 ?2271次閱讀
    使用555<b class='flag-5'>定時(shí)器</b>的可調(diào)雙<b class='flag-5'>定時(shí)器</b>電路

    使用555定時(shí)器的報(bào)警電路圖

    555定時(shí)器是一種集成電路芯片,常被用于定時(shí)器、脈沖產(chǎn)生和振蕩電路。555可被作為電路中的延時(shí)器件、觸發(fā)或起振元件。
    的頭像 發(fā)表于 02-02 11:14 ?5687次閱讀
    使用555<b class='flag-5'>定時(shí)器</b>的報(bào)警<b class='flag-5'>器</b>電路圖

    定時(shí)器原理能控制馬達(dá)嗎為什么

    定時(shí)器原理可以用于控制馬達(dá)。馬達(dá)是一種將電能轉(zhuǎn)換為機(jī)械能的設(shè)備,通常由電動(dòng)機(jī)和傳動(dòng)裝置組成。定時(shí)器是一種電子設(shè)備,用來生成和計(jì)時(shí)精確而穩(wěn)定的時(shí)間信號(hào)。通過將定時(shí)器與馬達(dá)控制電路相連,可以實(shí)現(xiàn)對(duì)馬達(dá)
    的頭像 發(fā)表于 01-23 15:21 ?681次閱讀

    555定時(shí)器的基本功能 555定時(shí)器的工作原理及其應(yīng)用

    555定時(shí)器是一種非常常見和常用的集成電路,它具有廣泛的應(yīng)用領(lǐng)域,例如計(jì)時(shí)、頻率分頻、脈沖寬度調(diào)制等。本文將詳細(xì)介紹555定時(shí)器的基本功能、工作原理以及應(yīng)用。 一、555定時(shí)器的基本功能 555
    的頭像 發(fā)表于 01-18 11:12 ?1.5w次閱讀

    時(shí)間定時(shí)器開關(guān)怎樣設(shè)置時(shí)間

    時(shí)間定時(shí)器是一種常見的設(shè)備,用于按照設(shè)定的時(shí)間自動(dòng)開關(guān)電器或進(jìn)行其他指定操作。通過設(shè)定定時(shí)器的開關(guān)時(shí)間,我們可以讓電器在特定的時(shí)間自動(dòng)打開或關(guān)閉,這在我們?nèi)粘I钪蟹浅3R?,比如在早上設(shè)定鬧鐘來叫醒
    的頭像 發(fā)表于 01-16 16:32 ?4657次閱讀

    AWTK 開源串口屏開發(fā)(6) - 定時(shí)器的用法

    定時(shí)器是個(gè)常用的功能,AWTK串口屏提供了豐富的定時(shí)器函數(shù),用于定時(shí)器的啟動(dòng)、停止、暫停、恢復(fù)、修改和重置等功能,本文以計(jì)時(shí)的例子來介紹定時(shí)器
    的頭像 發(fā)表于 01-13 08:24 ?586次閱讀
    AWTK 開源串口屏開發(fā)(6) - <b class='flag-5'>定時(shí)器</b>的用法

    AT32 定時(shí)器配置中pr和div的作用

    AT32定時(shí)器是51系列單片機(jī)中的一種定時(shí)器,可以實(shí)現(xiàn)多種定時(shí)功能。在AT32定時(shí)器中,pr和div是兩個(gè)相關(guān)的參數(shù),用于配置定時(shí)器的工作參
    的頭像 發(fā)表于 01-08 10:12 ?1336次閱讀