跳至內容
測試伺服器
開發伺服器

Array Creator vTool#

Array Creator vTool 會從一個或多個來源擷取元素,並將其整合為獨立的輸出陣列。

Array Creator 透過Element輸入引腳接收不同類型的元素(例如圖片或區域),並透過Array輸出引腳輸出組合後的元素。

下載 pylon Software Suite 以使用「Array Creator 」vTool。

Array Creator vTool

運作原理#

Array Creator 設計用於與 Array Element Iterator ,以便在配方中進行彈性陣列處理,但您亦可單獨搭配其他 vTools 使用。

每次更新時(即資料傳入Element輸入腳位),Array Creator 會讀取索引,並將各Element輸入腳位的值寫入該位置的對應輸出陣列中。若某個索引位置的值被寫入多次,則最近接收到的值將覆寫先前所有值。您最多可建立 100 個Element輸入腳位,系統將據此建立相同數量的Array輸出腳位。

「索引」輸入腳位指定每個新元素寫入對應輸出陣列的位置。「最後迭代」輸入腳位用以標示序列的結束,此時會輸出已收集的陣列。

Array輸出腳位的数据類型將與Element輸入腳位所接收的數據類型相同。

資訊

若您使用的是「Array Element Iterator 」,必須將LastIteration與Index輸入腳位連接起來,才能讓「Array Creator 」正常運作。若未連接這些腳位,vTool 將無法判斷應將傳入的元素寫入何處,也無法判斷何時輸出已收集的陣列。若其中任一腳位未連接,每次更新都會在所有輸出腳位產生陣列層級的錯誤,且不會收集任何資料。

若LastIteration輸入腳位接收到 true,且Index輸入腳位接收到有效輸入,則會照常儲存接收到的元素,隨後輸出所有陣列。若LastIteration輸入腳位接收到true,但未接收到Index輸入,則會忽略 Element 輸入腳位傳來的任何值,並直接輸出陣列,其中包含迄今為止收集的所有值。輸出完成後,所有內部陣列將重設為空。

錯誤處理#

缺少必要的連接:若「LastIteration」或「Index」輸入腳位未連接,每次更新都會在所有輸出腳位產生陣列層級錯誤(「LastIteration」與「Index」輸入腳位必須同時連接),且不會收集任何資料。

發生錯誤的 LastIteration:若LastIteration輸入腳位接收到的值處於錯誤狀態,Array Creator 將在所有輸出腳位輸出帶有陣列層級錯誤(LastIteration 輸入端接收到的元素發生錯誤)的陣列,並重置其內部狀態。

最後一次迭代時索引無效:若LastIteration接腳接收到「真」,且索引值無效(負數、超過已設定的「最大元素數」限制,或處於錯誤狀態),則所有輸出接腳將輸出發生陣列層級錯誤(索引超出範圍)的陣列。所有先前收集的值均會被捨棄。

非最後一次迭代時出現無效索引:若LastIteration接腳接收到的值為false(或無值),且Index值無效(為負數、超過已設定的「最大元素數」限制,或處於錯誤狀態),Array Creator 會記錄錯誤並忽略該次更新。先前收集的數值將予以保留。

輸入接腳出現錯誤的元素:具有錯誤狀態的輸入元素不會與有效值區別對待,而是會以透明方式轉發至輸出陣列中。

未初始化的位置:若索引輸入導致輸出陣列中出現空缺(例如,索引從 0 跳至 3),則中間位置(例如 1、2)將填入錯誤值(此位置未收到任何元素)。

設定 vTool#

要設定「Array Creator 」vTool,請在「Workbench 」中雙擊該 vTool。系統將開啟一個對話方塊,顯示所有可用的設定。此外,您也可以在 「功能 - 全部」 窗格中找到相同的設定。

Inputs#

ElementN#

可接收來自任何 vTool 的資料。該接腳的資料類型會自動適應首次提供的輸入。所有簡單資料類型(例如:字串、浮點數、布林值、整數、PointF2D 等)均受支援,但不支援陣列類型。

  • 資料類型:布林型、圓形 (CircleF)、橢圓形 (EllipseF)、浮點數 (Float)、影像 (Image)、整數 (Integer)、線段 (LineF)、點 (PointF)、矩形 (RectangleF)、區域 (Region)、字串 (String)、變換資料 (Transformation Data)

LastIteration#

從 Array Element Iterator ,用以指示當前元素是否為完成陣列的最後一個元素。若接收到「true」,Array Creator 將輸出已收集的陣列,並重置其內部緩衝區以準備處理下一組序列。若在更新期間此接腳未接收到任何值,vTool 將假定為「false」(非最後一次迭代)。

  • 資料類型:布林值

索引#

接受與ElementN輸入腳位所接收之輸入相關的索引位置(整數)。接著,該元素將寫入輸出陣列中對應的索引位置。若接收到的索引超過陣列的當前大小,則會相應地調整陣列大小。未使用的位置將填入錯誤值。

  • 資料類型:整數

Outputs#

ArrayN#

針對每個Element輸入腳位,返回一個陣列。該陣列包含在整個迭代序列中從對應輸入腳位收集的所有值。當LastIteration輸入腳位接收到true時,這些陣列便會輸出。對於從未被寫入的索引位置,其元素將填入錯誤值。

  • 資料類型:透過對應的Element接腳輸入的資料類型的陣列