This page uses cookies. For details and possible settings refer to our Privacy Policy.
Continuing to use this page means accepting the processing of cookie files.

Accept (hide info)
POL ENG GER 中文(繁體) 中文(简体)

資料流編程

請注意:Adaptive Vision Studio的用戶不需擁有任何底層編程的經驗。 我司軟件卻還是算是適合於工程師之高度專業的工具,也算是羽翼豐滿的可視編程語言。 您得了解其四個關鍵概念: 資料過濾器連接以及 宏過濾器


資料

Adaptive Vision Studio既是資料處理的環境,因此資料作為其關鍵概念之一。 首先必須了解的是類型 (例如Point2D)和值(例如(15.7, 4.1)等坐標)之間的區別。 類型定義協議和指導程式的構建程序,而值程式運行后再出現;值表示所處理的信息。

Adaptive Vision Studio還支持數組, 既是大小可變的可同時處理的資料專案集。每一資料類型有所對應的數組類型。舉個例子,如果4算是 Integer類型的值,{1, 5, 4}集算是 IntergerArray類型的值。嵌套數組也可以使用。

過濾器

過濾器(亦稱為工具)算是資料流驅動編程中基本資料處理原件。典型機器視覺應用程式中先前運行採集圖像的過濾器, 然后列出變換圖像的序列,過濾器將圖像變換成區域、輪廓、幾何基元,最后變換成最終結果,比如Pass/Fail的標記。

一個過濾器通常具有幾個輸入和一個或者一個以上輸出。每一端口帶所指定的類型 (比如ImagePoint2D等),同樣類型的端口再可以連接起來。 參數視窗中可以設置未連接輸入的值;該視窗還提供所方便定義幾何資料的可視編輯器。 喚起過濾器時,可以將輸出所代表的資料顯示在資料預覽視窗的面板,進行分析等。

連接

連接將資料過濾器之間發來發去,此外還對隱藏底層建構通常出現的比較復雜元件,比如迴圈或者條件。不同連接類型支持下面的功能: 基本資料流 、自動變換 、for-each轉換 以及條件轉換 。 不用手動定義連接類型;連接類型由DWIM規則(do what I mean,“按我意思去做”)推論。

宏過濾器

宏過濾器 提供構建大型實際專案的辦法。宏過濾器算是可重用子程式,每一帶自己的輸入和輸出。 構建宏過濾器后,它就顯示在項目資源管理器視窗中,可以隨時以拖放方式來將其移動,像普通過濾器同樣。

大多數宏過濾器(Step類型的哪些)就算是幾個互相連接過濾器的取代;這樣專案又整理,又好讀。 其他紅過濾器類型則構建嵌套迴圈,目標為處理資料(Task類型的宏過濾器)或者將程式運行序列導致所明顯指定路徑之一(Variant Step類型的宏過濾器)。 上述的建造方便典雅地構建資料流地程式,不管復雜性多麼高。

資料及其類型類似於C++所使用地。我司軟體同樣具有一般的集類型;就是 數組類型,其與std::vector之間的區別不大。過濾器和宏過濾器就是函數的對應者,不過不帶單一所傳回的值,而經常帶幾個輸出參數。 連接對應於不用命名的變量。
另一方面,Adaptive Vision Studio中的迴圈和條件與C++中的哪些不太一樣。通過數組連接或者Task宏過濾器可以處理迴圈, 而通過條件連接和Variant Step宏過濾器可以處理條件。