西門子S7-1200CPU1211C*處理單元 西門子S7-1200CPU1211C*處理單元
如果不請求更新參數值,則將忽略相應的輸入值。
2 僅當組態(tài)的計數方向設置為“用戶程序(內部方向控制)”(User program (internal direction control)) 時,DIR 參數才有效。 用戶在 HSC 設備組態(tài)中確定如何使用該參數。
3 對于 CPU 或 SB 上的 HSC,BUSY 參數的值始終為 0。
在 CPU 的設備組態(tài)中對每個 HSC 的參數進行組態(tài): 計數、I/O 連接、中斷分配以及是作為高速計數器還是設備來測量脈沖。
可以通過用戶程序來修改某些 HSC 參數,從而對計數提供程序控制:
如果執(zhí)行 CTRL_HSC 指令后以下布爾標記值置位為 1,則相應的 NEW_xxx 值將裝載到計數器。 CTRL_HSC 指令執(zhí)行一次可處理多個請求(同時設置多個標記)。
CTRL_HSC 指令通常放置在觸發(fā)計數器硬件中斷事件時執(zhí)行的硬件中斷 OB 中。 例如, 如果 CV=RV 事件觸發(fā)計數器中斷,則硬件中斷 OB 代碼塊執(zhí)行 CTRL_HSC 指令并且可通過裝載 NEW_RV 值更改參考值。
在 CTRL_HSC 參數中沒有提供當前計數值。 在高速計數器硬件的組態(tài)期間分配存儲當前計數值的映像地址。 可以使用程序邏輯直接讀取計數值。 返回給程序的值將是讀取計數器瞬間的正確計數。 但計數器仍將繼續(xù)對高速事件計數。 因此,程序使用舊的計數值完成處理前,實際計數值可能會更改。
條件代碼: 發(fā)生錯誤時,ENO 設置為 0,并且 STATUS 輸出包含條件代碼。
表格 9- 3 STATUS 值 (W#16#)
STATUS | 說明 |
0 | 無錯誤 |
80A1 | HSC 標識符沒有對 HSC 尋址 |
80B1 | NEW_DIR 的值 |
80B2 | NEW_CV 的值 |
80B3 | NEW_RV 的值 |
80B4 | NEW_PERIOD 的值 |
80C0 | 多路訪問高速計數器 |
80D0 | CPU 硬件配置中未啟用高速計數器 (HSC) |
高速計數器的使用
高速計數器 (HSC) 對發(fā)生速率快于 OB 執(zhí)行速率的事件進行計數。 如果待計數事件的發(fā)生速率處于 OB 執(zhí)行速率范圍內,則可使用 CTU、CTD 或 CTUD 計數器指令。 如果事件的發(fā)生速率快于 OB 的執(zhí)行速率,則應使用 HSC。 CTRL_HSC 指令允許用戶程序通序更改一些 HSC 參數。
例如: 可以將 HSC 用作增量軸編碼器的輸入。 該軸編碼器每轉提供數量的計數值以及一個復位脈沖。 來自軸編碼器的時鐘和復位脈沖將輸入到 HSC 中。
先是將若干預設值中的個裝載到 HSC 上,并且在當前計數值小于當前預設值的時段內計數器輸出一直是的。 在當前計數值等于預設時、發(fā)生復位時以及方向改變時,
HSC 會提供一個中斷。
每次出現“當前計數值等于預設值”中斷事件時,將裝載一個新的預設值,同時設置輸出的 下一狀態(tài)。 當出現復位中斷事件時,將設置輸出的個預設值和個輸出狀態(tài),并重復該循環(huán)。
由于中斷發(fā)生的遠低于 HSC 的計數速率,因此能夠在對 CPU 掃描周期影響相對較小的情況下實現對高速操作的控制。 通過提供中斷,可以在的中斷例程中執(zhí)行每次的新預設值裝載操作以實現簡單的狀態(tài)控制。 (或者,所有中斷事件也可在單個中斷例程中進行處理。)
表格 9- 4 大 (KHz)
HSC | 單相 | 雙相和 AB 正交 |
HSC1 | CPU | 100 KHz | 80 KHz |
高速 SB | 200 KHz | 160 KHz |
SB | 30 KHz | 20 KHz |
HSC2 | CPU | 100 KHz | 80 KHz |
高速 SB | 200 KHz | 160 KHz |
SB | 30 KHz | 20 KHz |
HSC3 | CPU | 100 KHz | 80 KHz |
HS | CPU | 30 KHz | 20 KHz |
HSC5 | CPU | 30 KHz | 20 KHz |
高速 SB | 200 KHz | 160 KHz |
SB | 30 KHz | 20 KHz |
HSC6 | CPU | 30 KHz | 20 KHz |
高速 SB | 200 KHz | 160 KHz |
SB | 30 KHz | 20 KHz |
選擇 HSC 的功能
所有 HSC 在同種計數器運行下的工作都相同。 HSC 共有四種基本類型:
用戶可選擇是否復位輸入來使用各種 HSC 類型。 如果復位輸入(存在一些,請參見下表),則它會當前值并在您禁用復位輸入之前保持狀態(tài)。
測量周期決定 HSC 計算并報告新值的。 報告是通過上一測量周期內總計數值確定的平均值。 如果該在快速變化,則報告值將是介于測量周期內出現的高和低之間的一個中間值。 無論測量周期的設置是什么,總是會以赫茲為單位來報告(每秒脈沖個數)。
同一輸入不可用于兩個不同的功能,但任何未被其 HSC 的當前使用的輸入均可用于其它用途。 例如,如果 HSC1 處于使用內置輸入但不使用外部復位 (I0.3) 的, 則 I0.3 可以用于沿中斷或 HSC2。
表格 9- 5 HSC 的計數
類型 | 輸入 1 | 輸入 2 | 輸入 3 | 功能 |
具有內部方向控制的單相計數器 | 時鐘 | (可選: 方向) | - | 計數或 |
復位 | 計數 |
具有外部方向控制的單相計數器 | 時鐘 | 方向 | - | 計數或 |
復位 | 計數 |
具有 2 個時鐘輸入的雙相計數器 | 加時鐘 | 減時鐘 | - | 計數或 |
復位 | 計數 |
A/B 相正交計數器 | A 相 | B 相 | - | 計數或 |
復位 1 | ?計數 |
1 對于編碼器: Z 相,歸位
HSC 的輸入地址
說明