西門子PLC的計數器指令,高速計數器的用法

2021-01-09 智凡桑普雷德

計數器

可使用計數器指令對內部程序事件和外部過程事件進行計數。

● 輸入參數 CU 的值從 0 變為 1 時,「加計數」計數器 (CTU) 就會加 1。

● 輸入參數 CD 的值從 0 變為 1 時,「減計數」計數器 (CTD) 就會減 1。

● 「加計數和減計數」計數器 (CTUD) 在加計數 (CU) 或減計數 (CD) 輸入從 0 轉換為1時加 1 或減 1。

要注意的是每個計數器都使用數據塊中存儲的結構來保存計數器數據。 對於 SCL,必須首先為各個計數器指令創建 DB 方可引用相應指令。 對於 LAD 和 FBD,STEP 7 會在插入指令時自動創建 DB。

用戶程序中可以使用的計數器數僅受 CPU 存儲器容量限制。各個計數器使用 3 個字節(表示 SInt 或 USInt)、6 個字節(表示 Int 或 UInt)或 12 個字節(表示 DInt 或UDInt)。

如上時序圖顯示了具有無符號整數計數值的 CTU 計數器的運行(其中 PV = 3)。

● 如果參數 CV(當前計數值)的值大於或等於參數 PV(預設計數值)的值,則計數器輸出參數 Q = 1。

● 如果復位參數 R 的值從 0 變為 1,則 CV 復位為 0。

如上時序圖顯示了具有無符號整數計數值的 CTD 計數器的運行(其中 PV = 3)。

● 如果參數 CV(當前計數值)的值等於或小於 0,則計數器輸出參數 Q = 1。

● 如果參數 LOAD 的值從 0 變為 1,參數 PV(預設值)的值將作為新的 CV 裝載到計

數器。

如上時序圖顯示了具有無符號整數計數值的 CTUD 計數器的運行(其中 PV = 4)。

● 如果參數 CV(當前計數值)的值等於或大於參數 PV(預設值)的值,則計數器輸出參數 QU = 1。

● 如果參數 CV 的值小於或等於零,則計數器輸出參數 QD = 1。

● 如果參數 LOAD 的值從 0 變為 1,則參數 PV 的值將作為新的 CV 裝載到計數器。

● 如果復位參數 R 的值從 0 變為 1,則 CV 復位為 0。

脈衝寬度調製 (PWM)

CTRL_PWM 指令可提供佔空比可變的固定循環時間輸出。 PWM 輸出以指定頻率(循環時間)啟動之後將連續運行。脈衝寬度會根據需要進行變化以影響所需的控制。

CTRL_PWM 指令將參數信息存儲在 DB 中。 數據塊的參數由 CTRL_PWM 指令控制。

CPU 第一次進入 RUN 模式時,脈衝寬度將設置為在設備配置中組態的初始值。根據需要將值寫入設備配置中指定的字長度輸出 (Q) 地址(「輸出地址」/「起始地址」)以更改脈衝寬度。 使用指令(例如,Move、Convert、數學運算或 PID)將指定的脈衝寬度寫入相應的字長度輸出 (Q)。 必須使用輸出值的有效範圍(百分數、千分數、萬分數或 S7 模擬格式)。

佔空比可表示為循環時間的百分數或相對量(例如,0 到 1000,或者 0 到 10000)。 脈衝寬度可從 0(無脈衝,始終關閉)到滿刻度(無脈衝,始終打開)變化。

PWM 輸出可在 0 到滿量程之間變化,因此可提供在許多方面都與模擬量輸出相同的數字量輸出。 例如,PWM輸出可用於控制電機的速度,速度範圍可以是從停止到全速;也可用於控制閥的位置,位置範圍可以是從閉合到完全打開。

高速計數器 (HSC)

使用高速計數器 (HSC, High-Speed Counter) 對發生速率快於 OB 執行速率的事件進行計數。 利用CTRL_HSC指令控制 HSC 的運行。

在 CPU 的設備配置中對每個 HSC 的參數進行組態: 計數模式、I/O 連接、中斷分配以及是作為高速計數器還設備來測量脈衝頻率。

CTRL_HSC 指令通常放置在觸發計數器硬體中斷事件時執行的硬體中斷 OB 中。 例如,如果 CV=RV 事件觸發計數器中斷,則硬體中斷 OB 代碼塊執行 CTRL_HSC 指令,並且可通過裝載 NEW_RV 值更改參考值。

在 CTRL_HSC 參數中沒有提供當前計數值。 在高速計數器硬體的組態期間分配存儲當前計數值的過程映像地址。 可以使用程序邏輯直接讀取計數值。 返回程序的值將是讀取計數器瞬間的正確計數。 計數器仍將繼續對高速事件計數。 因此,程序使用舊的計數值完成處理前,實際計數值可能會更改。

可以通過用戶程序來修改某些 HSC 參數,從而對計數過程提供程序控制:

● 將計數方向設置為 NEW_DIR 值

● 將當前計數值設置為 NEW_CV 值

● 將參考值設置為 NEW_RV 值

● 將周期值(限頻率測量模式)設置為 NEW_PERIOD 值

如果執行 CTRL_HSC 指令後以下布爾標記值被設置為 1,則相應的 NEW_xxx 值將裝載到計數器。 執行一次CTRL_HSC 指令可處理多個請求(同時設置多個標記)。

● 設置 DIR = 1 會裝載 NEW_DIR 值。

● 設置 CV = 1 會裝載 NEW_CV 值。

● 設置 RV = 1 會裝載 NEW_RV 值。

● 設置 PERIOD = 1 會裝載 NEW_PERIOD 值。

HSC 的運行

高速計數器 (HSC) 對發生速率快於 OB 執行速率的事件進行計數。 如果待計數事件的發生速率處於 OB 執行速率範圍內,可使用 CTU、CTD 或 CTUD 計數器指令。 如果事件的發生速率快於 OB 的執行速率,則應使用 HSC。CTRL_HSC 指令允許用戶程序通過程序更改一些 HSC 參數。

例如:可以將 HSC 用做增量軸編碼器的輸入。 該軸編碼器每轉提供指定數量的計數值以及一個復位脈衝。 來自軸編碼器的時鐘和復位脈衝將輸入到 HSC 中。

用戶程序將若干預設值中的第一個值裝載到 HSC 上,並且在當前計數值小於當前預設值的時段內計數器輸出一直由用戶程序保持激活。當計數器值等於參考值(或 CV =RV)、發生復位及發生方向變化時,用戶程序會對 HSC 進行組態,以提供中斷功能。

每個 CV = RV 中斷事件發生時,用戶程序都會裝載新的參考值,並設置 CV = RV 中斷OB 內的下一輸出狀態。發生復位中斷事件時,用戶程序會裝載第一個參考值,並設置復位中斷 OB 中的第一個輸出狀態,然後重複該循環。

由於中斷發生的頻率遠低於 HSC 的計數速率,因此能夠在對 CPU 掃描周期影響相對較小的情況下實現對高速操作的精確控制。 通過提供中斷,可以在獨立的中斷例程中執行每次的新預設值裝載操作以實現簡單的狀態控制。 (或者,也可在單個中斷例程中處理所有中斷事件。)

選擇 HSC 的功能

所有 HSC 在同一計數器運行模式下的工作方式都相同。 HSC 共有四種基本類型:

● 具有內部方向控制的單相計數器

● 具有外部方向控制的單相計數器

● 具有 2 個時鐘輸入的雙向計數器

● A/B 相正交計數器

用戶可選擇是否激活復位輸入來使用各種 HSC 類型。 如果激活復位輸入(存在一些限制,請參見下表),則它會清除當前值並在您禁用復位輸入之前保持清除狀態。

● 頻率功能: 有些 HSC 模式允許 HSC 被組態(計數類型)為報告頻率而非當前脈衝

計數值。 有三種可用的頻率測量周期: 0.01、0.1 或 1.0 秒。頻率測量周期決定 HSC 計算並報告新頻率值的頻率。 報告頻率是通過上一測量周期內總計數值求出的平均值。 如果該頻率在快速變化,則報告值將是介於測量周期內出現的最高頻率和最低頻率之間的一個中間值。 無論頻率測量周期的設置是什麼,總是會以赫茲為單位來報告頻率(每秒脈衝個數)。

● 計數器模式和輸入: 下表列出了用於與 HSC 相關的時鐘、方向控制和復位功能的輸入。同一輸入不可用於兩個不同的功能,但任何未被其 HSC 的當前模式使用的輸入均可用於其它用途。 例如,如果 HSC1 處於使用內置輸入但未使用外部復位 (I0.3) 的模式下,則 I0.3 可以用於沿中斷或 HSC2。

說明

在設備配置期間分配高速計數器設備使用的數字量 I/O 點。 將數字量 I/O 點的地址分配給這些設備之後,無法通過監視表格中的強制功能修改所分配的 I/O 點的地址值。組態 CPU 時,可以選擇啟用和組態每個 HSC。 CPU 會根據其組態自動為每個 HSC 分配輸入地址。 (某些 HSC 允許選擇是使用 CPU 的板載輸入還是使用 SB 的輸入。)

注意

如下表所示,不同 HSC 的可選信號的默認分配互相重疊。 例如,HSC 1 的可選外部復位使用的輸入與 HSC 2 的其中一個輸入相同。

要始終確保組態 HSC 時任何一個輸入都不會被兩個 HSC 使用。

例如,下表顯示了 CPU 1212C 的板載 I/O 和 SB 兩者的 HSC 輸入分配。 (如果 SB 只有 2 個輸入,則僅輸入4.0 和 4.1 可用。)

● 對於單相: C 為時鐘輸入,[d] 為可選方向輸入,[R] 為可選外部復位輸入。 (復位僅適用於「計數」模式。)

● 對於雙相: CU 為加時鐘輸入,CD 為減時鐘輸入,[R] 為可選外部復位輸入。 (復位僅適用於「計數」模式。)

● 對於 AB 相正交: A 為時鐘 A 輸入,B 為時鐘 B 輸入,[R] 為可選外部復位輸入。(復位僅適用於「計數」模式。)

HSC 1 和 HSC 2 可組態為使用板載輸入或 SB 輸入。HSC 5 和 HSC 6 只能使用 SB 輸入。 HSC 6 只能使用 4 輸入 SB。具有 2 個數字量輸入的 SB 只能提供輸入 4.0 和 4.1。訪問 HSC 的當前值啟用脈衝發生器作為 PTO 時,會向該 PTO 分配一個對應的 HSC。 HSC1 分配給PTO1,HSC2 分配給 PTO2。 分配的 HSC 完全屬於 PTO 通道,並且禁用 HSC 的正常輸出。 HSC 值僅用於內部功能。 生成脈衝時,不能監視當前值(例如,在 ID1000中)。CPU 允許用戶組態最多 6 個高速計數器。 用戶可編輯CPU 的「屬性」(Properties) 來組態各個 HSC 的參數。在用戶程序中使用 CTRL_HSC 指令控制 HSC 的運行。通過選擇該 HSC 的「啟用」(Enable) 選項啟用特定的HSC。

啟用 HSC 之後組態其它參數,例如計數器功能、初始值、復位選項和中斷事件。

那麼在什麼情況下使用CTU、CTD 或 CTUD 計數器指令,又在什麼情況下使用 HSC指令呢?

CU、CD 和 CTUD 指令使用軟體計數器,軟體計數器的最大計數速率會受到其所在 OB 的執行速率的限制。如果待計數事件的發生速率處於 OB 執行速率範圍內,使用 CTU、CTD 或 CTUD 計數器指令。 如果事件的發生速率快於 OB 的執行速率,則應使用 HSC。

我們了解了高速計數器指令那實際編程又是什麼樣子的呢?我們通過下面的實例看一下吧。

1. 計數器類型分為三種:Axis of motion(運動軸),Frequency(頻率測量),Counting(計數)。

2. 計數器模式分為4種:Single phase(單相),Two phase(雙相),AB Quadrature 1X(A/B相正交四倍數)。

3. 輸入源

4. 技術方向選擇,User program (internal direction control)(內部方向控制)

5. 初始計數方向。

1. 是系統指定的高速計數器硬體識別號,這裡填寫1.

2. 「1」為使能更新初值。

3. 「0」新初始值為0。

將此程序下載到CPU以後即可執行。當前值可以在ID1000中讀出。高速計數器的指令塊,若不需要修改硬體組態中的參數,可不需要調用,系統仍然可以計數。

如果感覺文章還不錯歡迎點讚關注評論轉發。

相關焦點

  • 西門子S7-1200高速計數器功能介紹及應用舉例
    西門子S7-1200高速計數器功能介紹及應用舉例 電子發燒友網 發表於 2019-01-31 15:19:00 1高速計數器 S7-1200 CPU提供了最多
  • 三菱PLC高速計數器和編碼器的應用,快來收藏
    使用編碼器之前,我們需要先學習高速計數器的概念。一、什麼是高速計數器假如我們的PLC的X0點接入了一個按鈕,在plc裡面寫入以下的程序,我們按住按鈕1次,那麼計數器就會記1,按2次就記2,… …我們按1000次了,計數器c0的常開觸點就會閉合,這很好理解。
  • S7-200 smart 高速計數器功能介紹
    PLC的計數器是工控領域中常用的計數功能,而高速計數器是可對標準計數器無法控制的高速事件進行計數,標準計數器以受PLC掃描時間限制的較低速率運行。而高速計數器能夠接受高頻信號,提高了計數的速度。高速計數器的運行高速計數器可用作鼓式定時器的驅動,其中有一個裝有增量軸編碼器的軸,以恆定速度旋轉。該軸編碼器每轉提供指定數量的計數值以及一個復位脈衝。來自軸編碼器的時鐘和復位脈衝為高速計數器提供輸入。
  • 分享PLC編程元件計數器的使用方法及應用實例
    西門子PLC計數器用C 表示,主要用來累計輸入脈衝的次數。它也是應用非常廣泛的編程元件,經常用來對產品進行計數或進行特定功能的編程。使用時要提前輸入它的設定值(計數的個數)。當輸入條件滿足時,計數器開始累計它的輸入端脈衝電位上升沿(正跳變)的次數。
  • 三菱plc計數器加減指令 - CSDN
    1.數據傳送指令MOV和MOVP,格式為 MOV    SRC1    DES1     表示條件接通,將SRC1的值傳送到DES1寄存器中,帶P的表示只在條件接通的上升沿指令執行一個掃描周期,不帶P只要條件接通會一個掃描周期執行一次,示例程序如下:
  • 控制,使用PLC採用計數器對電動機進行起動停止方法
    ① 採用計數器對電動機進行起動停止控制,控制電路只需用一個按鈕(X0。當按下按鈕X0時,經M0常閉接點使計數器CO的線圈得電計數,計數值為1且等於設定值1,Co的接點動作,Y0線圈得電,控制電動機起動,第一個掃描周期儘管Y0接點閉合,但M0常閉接點斷開,C0不會復位,按鈕X0鬆開時,Y0繼續得電。
  • 西門子1500高速脈衝採集功能和應用及數據的處理
    S71500CPU一般本身是不帶高速脈衝計數的,所以要選用高速計數模塊,一般最常用的模塊為TMcount2X24 ,其提供兩路24V高速脈衝採集信號。兩路高速脈衝採集通道,在一般項目應用中有點少 在工業領域數據採集和處理中,經常會遇到如流量、轉速、扭矩等高速脈衝信號形式的傳感器。
  • 200 SMART高速計數器功能,結合光電編碼器實物演示,看完必會!
    普通加計數器指令按照順序掃描的方式進行工作,每次加計數 CU 輸入從 OFF 轉換為 ON 時(即上一個掃描周期CU輸入端不導通,本掃描周期CU輸入接通),CTU加計數指令當前值Cxxx就會加1。當前值 Cxxx 大於或等於預設值 PV 時,計數器位 Cxxx 接通。
  • 如何使用PLC的計數器對電動機進行起動和停止
    ① 採用計數器對電動機進行起動停止控制,控制電路只需用一個按鈕(X0。當按下按鈕X0時,經M0常閉接點使計數器CO的線圈得電計數,計數值為1且等於設定值1,Co的接點動作,Y0線圈得電,控制電動機起動,第一個掃描周期儘管Y0接點閉合,但M0常閉接點斷開,C0不會復位,按鈕X0鬆開時,Y0繼續得電。
  • 數字電路:計數器
    計數器就是實現這種運算的邏輯電路,計數器在數字系統中主要是對脈衝的個數進行計數,以實現測量、計數和控制的功能,同時兼有分頻功能,計數器是由基本的計數單元和一些控制門所組成,計數單元則由一系列具有存儲信息功能的各類觸發器構成,這些觸發器有RS觸發器、T觸發器、D觸發器及JK觸發器等。
  • PLC控制伺服電機準確定位的方法
    1 利用PLC的高速計數器指令和旋轉編碼器控制三相交流異步電機實現的準確定位  1.1 系統工作原理  PLC的高速計數器指令和編碼器的配合使用,在現代工業生產自動控制中可實現精確定位和測量長度。目前,大多數PLC都具有高速計數器功能,例如西門子S7-200系列CPU226型PLC有6個高速計數器。
  • 《地鐵:逃離》蓋革計數器是什麼 蓋革計數器介紹
    這裡帶來蓋革計數器相關介紹和分享,希望能夠幫助到大家。 關於蓋革計數器的科普知識 蓋革... 蓋革計數器是《地鐵:逃離》遊戲中比較常見的道具,玩家一直不知道這類道具是什麼?具體作用是什麼?怎麼使用呢?這裡帶來蓋革計數器相關介紹和分享,希望能夠幫助到大家。
  • 如何通過PLC調試手搖輪,手動控制步進電機?
    一、動作描述:系統的框架如下圖一臺3U的plc,控制了3臺步進電機,分別控制了X、Y、Z這3個軸,PLC接了一個手搖輪,可以手動控制這3個軸,手搖輪的第一個旋鈕可以選擇控制不同的軸,第二個懸念可以選擇速度的倍率
  • 51單片機定時器/計數器的結構和原理
    定時器/計數器簡稱定時器,其作用主要包括產生各種時標間隔、記錄外部事件的數量等,是微機中最常用、最基本的部件之一。803l單片機有2個16位的定時器/計數器:定時器0(T0)和定時器1(T1)。
  • 怎樣進行PLC控制伺服電機準確定位?
    本文引用地址:http://www.eepw.com.cn/article/201808/385717.htm1 利用PLC的高速計數器指令和旋轉編碼器控制三相交流異步電機實現的準確定位1.1 系統工作原理PLC的高速計數器指令和編碼器的配合使用,在現代工業生產自動控制中可實現精確定位和測量長度。
  • 單片機定時器/計數器基本原理
    在AT89S52晶片內包含有三個16位的定時器/計數器:T0、T1和T2,其核心是加1計數器。我們主要要求掌握T0和T1的結構和功能。學習中要注意從電路結構上來理解功能的實現。定時器/計數器方式寄存器TMOD和定時器/計數器控制寄存器TCON是用以設定定時器/計數器的工作方式、定時或計數功能,控制啟動或停止以及產生溢出中斷的重要模塊,應該對這兩個寄存器中的逐位的定義和功能進行學習和掌握。
  • 51單片機---定時器 計數器
    1/12;作為計數器使用時,通過引腳T0(P3.4)或T1(P3.5)對外部脈衝信號進行計數,當輸入的外部脈衝信號發生從1到0的負跳變時,計數器的值就自動加1;計數器的最高頻率一般是時鐘振蕩頻率的1/24;由此可知,不論是定時器還是計數器工作方式,定時器T0和T1均不佔用CPU的時間,除非定時器/計數器T0和T1溢出,才可能引起
  • 機械計數器結構及原理圖
    計數是一種最簡單基本的運算,計數器就是實現這種運算的邏輯電路,計數器在數字系統中主要是對脈衝的個數進行計數,以實現測量、計數和控制的功能,同時兼有分頻功能,計數器是由基本的計數單元和一些控制門所組成,計數單元則由一系列具有存儲信息功能的各類觸發器構成,這些觸發器有RS觸發器、T觸發器、D觸發器及JK觸發器等。
  • S7-1200 高速計數器為何要修改輸入濾波器默認值
    接觸過的項目,關於PLC高速計數器的使用最常見的就是,編碼器的反饋、直線位移尺的反饋,並且元件的輸出信號為脈衝形式。關於輸入通道濾波器修改默認值的事情,今天我就這個問題,再介紹一下如何修改及為什麼修改輸入濾波器。
  • 利用高速計數器檢測電力參數的方法
    查閱PLC 300 的技術手冊,發現其CPU 313C-2DP 集成有3 個計數器,每個計數器的最高計數頻率為30 kHz,此頻率為電網頻率50 Hz 的600 倍,能夠用來測量電網的電力信號[1]。將和電網同步的弱信號轉換成與其同步的電平信號,把電壓、電流的同步電平信號相「異或(XOR)」,則高電平的時間長度便是電網的電壓、電流相位差所對應的時間長度。