3.10 External*

*This module is available in Professional only*

3.10.1 ExternalDll*

*Only in Professional*

本模組主要是幫助使用者嵌入各種獨自開發的演算法、訊號來源的介面等,使用者可以利用 Visual C#、Visual Basic、Visual C++ 產生各種應用的 DLL ( Dynamic Link Library ),本模組便可以在 Visual Signal 的環境下使用該 DLL。

說明

1. 首先產生 DLL,在 Visual Studio 環境下,Project 選擇為 " Class Library ",並在 References 加入 " vsmExternalBase.dll " ( C:\Program Files\AnCAD\Visual Signal\External\vsmExternalBase.dll ),並且記得 " using VSignal.ExternalBase; "

2. 所撰寫的 Class 必須繼承 TExternalBase,並且改寫兩個主要方法包括 Init( ),主要在於設定名稱、參數設定、模組基本設定等,以及 DoCompute( ),目的在於接收輸入訊號、使用者處理訊號的演算法、輸出訊號設定等。

3. 所有設定可以參考 ExternalBase Class Library或 Visaul Signal 下 Help / Reference Guides / ExternalBase Class Library ,產生 DLL 範例可以參考 C:\Program Files\AnCAD\Visual Signal\External\api\cs\VSignalExternalDllDemo。

參數設定(Properties)

參數名稱

參數定義

預設值

External Path

設定外接 DLL 的路徑。

None

Module

選擇外接 DLL 內包含之模組。

None

LocalCopy

設定為 "True",儲存專案時會將 DLL 檔案複製到專案資料夾。

False

SystemCopy

設定為 "True",會將 DLL 檔案複製到Visual Signal 專用資料夾 ( C:\Program Files\AnCAD\Visual Signal\External\... )。

False

Auto-name

自動設定元件名稱為外接模組名稱。

True

DllProperties

包含使用者設計及定義 DLL 模組的參數設定,或者 API Version等。

None

範例(Example)

  1. 開啟 Compute / External / ExternalDll,然後 ExternalPath 中開啟 ExternalDllDemos.dll ( C:\Program Files\AnCAD\Visual Signal\External\External\ExternalDllDemos.dll ),然後再 Module 可以看到許多模組,如下圖。

  1. 首先將 Module 選擇為 demo1,然後在 DllProperties 類別中出現 Multiplier1 代表第一個訊號的加權,Multiplier2 代表第二個訊號的加權,最後再將加權後的訊號相加為輸出訊號。

  1. 將 Noise 及 Sine Wave 接至 demo1 元件,再利用 Channel Viewer連接觀察其結果,如下圖。

  1. 再開啟一個 ExternalDll,ExternalPath 中開啟 ExternalDllDemos.dll ( C:\Program Files\AnCAD\Visual Signal\External\External\ExternalDllDemos.dll ),最後將 Module 選擇為 YahooStocks,這個 DLL 的 YahooStocks 將會至 Yahoo 將某個時段、某支股票的資料抓取下來 。

  1. DllProperties 中的 Company 可以輸入公司縮寫,例如 2330.TW ( 台積電 )等,再將其接至 Channel Switch 選擇 開盤價、收盤價、成交量等,最後用 Channel Viewer 連接觀察其結果,。

相關指令

ExternalViewer。

3.10.2 ExternalViewer*

*Only in Professional*

本模組主要讓使用者在 Visual Signal 下嵌入各種圖片,使用者可以利用 Visual C#、Visual Basic、Visual C++ 產生各種應用的 DLL ( Dynamic Link Library ),本模組便可以在 Visual Signal 的環境下使用該 DLL 展示圖片。。

說明

1. 首先產生 DLL,在 Visual Studio 環境下,Project 選擇為 " Class Library ",並在 References 加入 " vsmExternalBase.dll " ( C:\Program Files\AnCAD\Visual Signal\External\vsmExternalBase.dll ),並且記得 " using VSignal.ExternalBase; "

2. 所撰寫的 Class 必須繼承 TExternalViewer,並且改寫兩個主要方法包括 Init( ),主要在於設定名稱、參數設定、模組基本設定等,以及 DoCompute( ),目的在於接收輸入訊號、使用者處理訊號的演算法、輸出訊號設定等。

3. 所有設定可以參考 ExternalBase Class Library或 Visaul Signal 下 Help / Reference Guides / ExternalBase Class Library ,產生 DLL 範例可以參考 C:\Program Files\AnCAD\Visual Signal\External\api\cs\VSignalExternalDllDemo。

參數設定(Properties)

參數名稱

參數定義

預設值

External Path

設定外接 DLL 的路徑。

None

Module

選擇外接 DLL 內包含之模組。

None

LocalCopy

設定為 "True",儲存專案時會將 DLL 檔案複製到專案資料夾。

False

SystemCopy

設定為 "True",會將 DLL 檔案複製到 Visual Signal 專用資料夾 ( C:\Program Files\AnCAD\Visual Signal\External\... )。

False

Auto-name

自動設定元件名稱為外接模組名稱。

True

DllProperties

包含使用者設計及定義 DLL 模組的參數設定,或者 API Version等。

None

BackColor

設定繪製圖形的底色。

White

Auto Resize Viewer

設定 "True",根據外接顯示器大小去設定圖表大小,反之則為依照使用者設定。

False

ViewerWidth

設定繪製圖形的寬度,以pixels為單位。

default (750)

ViewerHeight

設定繪製圖形的高度,以pixels為單位。

default (180)

ListOrder

設定圖形於繪圖視窗中的排序。

依照 Viewer 的建立順序排列

RetainPlot

設定是否要保留圖形,如果設定True,若將連接至ChanneViewer 的模組刪除,圖形還是會被保留,若設定False,則圖形被消除。

False

Show Title

圖表中顯是標題名稱。

True

Title

標題名稱。

{default}

範例(Example)

  1. 開啟 Compute / External / ExternalViewer,然後 ExternalPath 中開啟 ExternalDllDemos.dll ( C:\Program Files\AnCAD\Visual Signal\External\External\ExternalDllDemos.dll ),然後再 Module 可以看到許多模組,如下圖。

  1. 首先將 Module 選擇為 demo6,然後在 DllProperties 類別中出現 Path,可以任意選擇一張圖片,將其透過 ExternalViewer 來展示。

相關指令

ExternalDll。