女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

博圖中的IEC定時器

opkgjew ? 來源:PLC標準化編程 ? 作者:PLC標準化編程 ? 2022-12-21 14:00 ? 次閱讀

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

而在PLC中,定時器的實現通常有兩種方法,一種是系統提供了一種軟的時間繼電器通常叫做TIMER,通常也還會有數量限制。比如S7-200會有256個(T0 到 T255),而S7-300根據具體的CPU型號不同會有256512乃至更多。等等。

另一種方法則是系統提供了一種專用的功能塊FB,專門用于定時器功能。而其實這是IEC61131-3標準所規定的。所以各PLC廠家只不過是實現了標準的要求而已。而對于S7-200這樣的沒有IEC定時器的系統,也只是因為其沒有完全支持IEC標準。可見IEC標準對PLC廠家雖然有一定的約束力,但極小。

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

我說T不能用的時候可以用IEC定時器啊!那個沒有編號,就不需要做編號規劃,就不會有編號沖突。而在沒有IEC定時器的PLC中怎么辦?那就需要自己設計自定義的定時器。到現在同行已經普遍認識到了這一點。比如在SMART 200中,包括官方的1847平臺中, 也都有自定義定時器實現的案例講座。

而到了博圖系統中,其實反而只有IEC定時器,而不再有時間繼電器TIMER了。我因為自從升級到PORTAL系統之后就沒再用過T, 所以反而很久之后才發現這一點。

PORTAL中將傳統的時間繼電器T取消了以后,其所提供的IEC定時器IEC_TIMER,其實機制原理與IEC標準的定時器還有一些差別,相當于把兩者的功能給融合了。你如果仔細去研讀官方的文檔資料,會發現這一點。然而通常大多數人并沒有仔細貫通研讀官方文檔的習慣(也沒這個必要去浪費太多的時間),有的時候就會掉到坑里被絆倒一下。

這是本文要探討的重點。

IEC定時器的好處在于,如果同一段程序用的是同樣的語言,比如SCL, 那么在不同廠家的PLC平臺之間是可以無縫移植的。這也是IEC標準設立的出發點。比如我在做西門子之外的其它品牌和平臺的標準化,ROCKWELL, CODESYS , MITSUBISH, OMRON, SCHNEIDER, B+R等等時,程序都是直接從PORTAL中移植到對方的平臺的。移植過程中對原有程序做了些語法適應處理,但問題主要出在西門子這一側功能太多,可以縱容不嚴謹的語法導致的。而那些程序如果倒過來要移植到PORTAL平臺,則會輕松許多。大部分程序塊都是直接復制過來就可以使用。

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

這個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類型,只不過是定義方法不同,然而運行結果是相同的。

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

程序的初衷是,設定1S的周期,每到1S時間到,產生一個輸出,使用這個輸出進行計數加1,然而當定時器被再次調用時,又再次觸發定時器計時。

這個邏輯本身是正確沒有問題的。在大部分的PLC平臺如CODESYS中執行也可以得到正確的結果。

然而偏偏在TIA PORTAL中是不能正確運行的。

其中的原因便是PORTAL中對這個定時器做了特別的處理。按照對官方資料的個人解讀, 程序的所有位置,只要對定時器的Q管腳執行讀取, 系統都會在后臺默默執行一次定時器邏輯,并刷新計算結果。

所以即便某一次Q為1,但在調用NOT Q的時候執行一次,使得Q值從1刷新變為了0,就導致IN管腳永遠為1,沒有為0的機會,那么定時器就再也不會被重新觸發計時了。那么后面的計數值就不會有變化了。

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

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

看我在STEP7中用梯形圖搭出來的邏輯以及運行結果:

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

在STEP7中, TON是一個SFB, 編號為SFB4,把其當做一個普通的多重背景的FB來調用,即可實現定時器功能。這里用梯形圖演示了同樣的邏輯。對于看不懂前面的SCL語言的讀者,可以通過這里的LAD理解。

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

由此,我們可以想到,如果在博圖中我們自定義一個自己的定時器TON FB,應該就可以避免上述的錯誤。

即:

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

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

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

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

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

然而卻是一項基礎的工作,補上了從CODESYS等其它平臺向PORTAL平臺程序移植的坑。

所以,總的來說,我是在積累記錄平臺之間程序移植的各種坑,并提前找到填坑的解決方案。那么,在做正式的項目的時候,因為有這些積累的提前量,就會順利得多。短時間內實現程序的跨平臺移植,才成為可能。

不知道有多少同行認同這樣的做法。

審核編輯 :李倩


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 算法
    +關注

    關注

    23

    文章

    4695

    瀏覽量

    94654
  • 定時器
    +關注

    關注

    23

    文章

    3285

    瀏覽量

    117111
  • IEC
    IEC
    +關注

    關注

    2

    文章

    210

    瀏覽量

    29338

原文標題:1220 【萬泉河】博圖中的IEC定時器

文章出處:【微信號:PLC標準化編程,微信公眾號:PLC標準化編程】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    第十二章 SysTick——系統定時器

    本章介紹了W55MH32的SysTick系統定時器,它是24位遞減計數,含4個寄存,可配置定時、中斷,用于產生時基 等。
    的頭像 發表于 05-22 17:16 ?259次閱讀
    第十二章 SysTick——系統<b class='flag-5'>定時器</b>

    MCU定時器/計數

    RISC-V核低功耗MCU通過靈活的定時器架構、低功耗模式適配及硬件級中斷優化,在工業控制、智能家居等場景中實現高精度計時與能耗控制的協同設計,滿足復雜任務調度與實時響應的雙重需求?。 一、?硬件
    的頭像 發表于 04-27 13:54 ?141次閱讀

    定時器自動控制開關怎么設置

    定時器自動控制開關是一種常見的自動化設備,廣泛應用于家庭、工業、農業等多個領域。通過定時器,用戶可以預設時間,讓設備在特定時間自動開啟或關閉,從而實現節能、提高效率和便利性。 一、定時器
    的頭像 發表于 09-19 16:19 ?3388次閱讀

    LM555-MIL定時器數據表

    電子發燒友網站提供《LM555-MIL定時器數據表.pdf》資料免費下載
    發表于 08-23 10:19 ?1次下載
    LM555-MIL<b class='flag-5'>定時器</b>數據表

    定時器的基本組成和工作模式

    定時器是計算機或電子設備中常見的一個硬件或軟件組件,其主要功能是測量和控制時間的流逝。它在各種應用中起著至關重要的作用,如操作系統調度、多媒體播放、網絡通信、工業自動化控制以及家電設備的定時功能等。定時器的工作原理基于時序控制,
    的頭像 發表于 08-19 18:28 ?2371次閱讀

    定時器的工作方式介紹

    定時器是計算機和嵌入式系統中常見的一種硬件模塊,用于實現定時和計數功能。定時器的工作方式通常由一組寄存來控制,這些寄存定義了
    的頭像 發表于 07-12 10:29 ?1663次閱讀

    定時器相關的寄存有哪些類型

    在微控制編程中,定時器是一種非常常見的功能模塊,用于實現各種定時和計數功能。定時器的工作原理是通過內部的計數來跟蹤時間的流逝,當計數
    的頭像 發表于 07-12 10:25 ?1490次閱讀

    鴻蒙開發系統基礎能力:Timer定時器

    設置一個定時器,該定時器定時器到期后執行一個函數。
    的頭像 發表于 06-28 11:33 ?1345次閱讀
    鴻蒙開發系統基礎能力:Timer<b class='flag-5'>定時器</b>

    長持續時間定時器電路圖 時間定時器的工作原理和功能

    時間定時器是一種用于計時和調度任務的工具。它允許我們在特定的時間間隔內執行某個任務,或者在特定的時間點執行某個操作。定時器在計算機系統中的應用非常廣泛,從操作系統的任務調度、網絡傳輸的控制到實時系統
    的頭像 發表于 06-24 17:34 ?3969次閱讀
    長持續時間<b class='flag-5'>定時器</b>電路圖 時間<b class='flag-5'>定時器</b>的工作原理和功能

    使用Arduino的可變定時器繼電器設計

    定時器繼電器,也被稱為時間繼電器,是一種在設定的時間間隔后觸發特定操作的電子元件。它在工業自動化、家庭生活、交通管理等領域具有廣泛的應用。定時器繼電器的主要功能是通過設定特定的時間間隔,來控制電路的通斷,實現設備的自動化操作。
    的頭像 發表于 06-24 16:52 ?1478次閱讀
    使用Arduino的可變<b class='flag-5'>定時器</b>繼電器設計

    三菱plc如何顯示定時器時間

    三菱PLC(Programmable Logic Controller,可編程邏輯控制)是一種廣泛應用于工業自動化領域的設備。定時器是PLC中的一種基本功能,用于實現延時控制、計時控制等功能。在三
    的頭像 發表于 06-20 11:10 ?3033次閱讀

    三菱plc定時器范圍怎么設置

    三菱PLC(Programmable Logic Controller,可編程邏輯控制)是一種廣泛應用于工業自動化領域的控制設備。在三菱PLC中,定時器是一種重要的編程元件,用于實現時間控制功能
    的頭像 發表于 06-20 11:04 ?4249次閱讀

    三菱plc編程定時器編程咋輸入

    三菱PLC(Programmable Logic Controller,可編程邏輯控制)是一種廣泛應用于工業自動化控制領域的設備。在三菱PLC中,定時器是實現時間控制功能的重要組件。本文將詳細介紹
    的頭像 發表于 06-20 11:01 ?2595次閱讀

    PLC定時器的工作原理和應用

    在工業自動化控制系統中,PLC(Programmable Logic Controller,可編程邏輯控制)因其強大的控制功能和靈活性而得到廣泛應用。作為PLC的重要組成部分,定時器在其中扮演著
    的頭像 發表于 06-18 11:55 ?3996次閱讀