From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.



使用 73xx Motion I/O Line 當作 General Purpose Digital I/O



硬體: Motion Control>>Controllers>>PCI-7330, Motion Control>>Controllers>>PCI-7340, Motion Control>>Controllers>>PCI-7350

問題:

我有一張 73xx 馬達控制卡而我需要一對 General purpose digital I/O line 來控制我系統一部分。我知道有 32 lines 在馬達卡的 DIO 接頭,但我想要用 Motion I/O 的接口因為我已經在 UMI 7764 上接好線了。我試著要用 flex_set_breakpoint_output_momo function,這個和LabVIEW 裡的 Set Breakpoint Output MOMO VI 很像。

mustOn/mustOff (MOMO) 是怎樣運作的? 甚麼應該要接給這個 function 的 mustOn 與 mustOff ?



解答:

Breakpoint 和 Inhibit lines for Digital I/O 都用相同的 mustOn/mustOff (MOMO) 協定。方式就是有兩個部林陣列來設定breakpoint 的 tri-state output。對 line 0,如果 mustOn 為 true,則此線為 digital high (5V)。如果 mustOff 為 true,則此線為 digital low (0V)。如果都是 False,則此線為 unchange state。如果兩者都為 true,則 mustOn 蓋過 mustOff,此線為 high。下表說明了 mustOn 和 mustOff 的狀態所給出的 Output

MUST ON MUST OFF OUTPUT
T F T
F T F
F F Unchanged
T T T

使嗽 MOMO 也讓你可以 set 或 reset 獨立的 inhibit output 而不影響其他的 inhibit output。這讓你的 tri-state 都能在每個 output 控制: On,Off,或 Unchanged。一個一 (1) 在 mustOn 的點陣上的 bit location 會讓 inhibit On,而當一個一 (1) 在相對應的 mustOff 的點陣上會讓 inhibit Off。一個零 (0) 在各別的點陣上都沒有影響,所以讓 mustOn 和 mustOff bits 上都為零就是一個有效的 hold,inhibit 的狀態就為 unchanged。如果你將 mustOn 和 mustOff  bit 都設為一 (1),這會被認為是 mustOn 的狀態並且 inhibit On。在 LabVIEW 裡,你可以使用 Set Inhibit MOMO 和 Set Breakpoint Output MOMO VI來設定這些參數。

在一個文字環境下,MOMO 輸入就單純的是點陣。如果你看在 NI-FlexMotion 的 function call,你可以看到一個表說明 8 bits 的 mustOn 和 mustOff 的參數是怎麼對應的。Bits D1 - D6 都要被設定為 0 或 1,如果需要的話你可以計算 8 bit 的 U8 數值。C 的原型函式對於 inhibit 和 breakpoint 如下表示

status = flex_set_inhib_momo (boardID, u8 mustOn, u8 mustOff)
status = flex_set_bp_momo (boardID, axisOrEncoder, u8 mustOn, u8 mustOff)

mustOn/mustOff inhibit points 會強制設定為 8 bit representation:

D7 D6 D5 D4 D3 D2 D1 D0
0 mustOn/Off 6 mustOn/Off  5 mustOn/Off 4 mustOn/MustOff 3 mustOn/Off 2 mustOn/Off 1  0

對 D1-D6 1 為 enabled on 而 0 為 output unchanged

舉例來說,如果我想要 enable breakpoint 1,我需要設定如下

must on = 00000010  = 2 in binary
must off = 0000000 =  0 in binary

你可以使用 Windows 裡的基本的計算來從 binary 轉換到 decimal。



相關連結:

附加檔案:





報告日期: 07/28/2004
最後更新: 03/12/2009
文件偏號: 3BR8O4KD