KsCreateComm
此函式是否可用依裝置支援項目而定。
開啟連接至 EtherCAT 從站的 COM 埠,必須先建立 EtherCAT 網路以成功執行此函式。
語法
HANDLE KsCreateComm(
LPCTSTR lpFileName,
DWORD dwDesiredAccess,
DWORD dwShareMode,
LPSECURITY_ATTRIBUTES lpSecurityAttributes,
DWORD dwCreationDisposition,
DWORD dwFlagsAndAttributes,
HANDLE hTemplateFile
);
參數
lpFileName:指定欲開啟的連接埠位置之空終止字串的指標。KsCreateComm 函式無法用來創建或開啟檔案或局部 COM 埠,只可開啟連接到 EtherCAT 裝置的 COM 埠,字串格式為 COM 1.0 ,為包含 COM 埠的 EtherCAT I/O 之索引;而 0 為該裝置上的連接埠的索引。
dwDesiredAccess:物件存取種類,應用程式可取得讀取、寫入、讀寫及裝置查詢存取,此參數可為以下任何值的組合:
值 | 說明 |
---|---|
0 (zero) | 指定物件的裝置查詢存取,應用程式可在不存取裝置的情況下查詢裝置屬性。 |
WIN32_GENERIC_EXECUTE | 執行檔案權。 |
GENERIC_READ | 指定物件的讀取存取,檔案可讀取資料而檔案指標可移動,讀寫存取可結合 GENERIC_WRITE。 |
GENERIC_WRITE | 指定物件的寫入存取,檔案可寫入資料而檔案指標可移動,讀寫存取可結合 GENERIC_READ。 |
dwShareMode:指定檔案共享方式的一組位原旗標,若 dwShareMode 為 0 ,則物件不可分享,物件的後續開啟操作將失敗,直到控制代碼關閉。
欲共享物件,使用下列一個或多個值的組合:
值 | 說明 |
---|---|
FILE_SHARE_DELETE | 只有在請求刪除存取時,物件的後續開啟操作將成功執行。 |
FILE_SHARE_READ | 只有在請求讀取存取時,物件的後續開啟操作將成功執行。 |
FILE_SHARE_WRITE | 只有在請求寫入存取時,物件的後續開啟操作將成功執行。 |
lpSecurityAttributes:SECURITY_ATTRIBUTES 結構指標,決定回傳控制代碼是否可由子處理序繼承,若 lpSecurityAttributes 為 NULL,則無法繼承控制代碼。
結構的 lpSecurityDescriptor
成員為物件指定安全描述符,若 lpSecurityAttributes 為 NULL,物件將收到預設的安全描述符,目標檔案系統必須支援文件和字典的安全性,此參數才能對檔案產生影響。
dwCreationDisposition:忽略,永遠開啟既存的 COM 埠。
dwFlagsAndAttributes:連間埠屬性。
值 | 說明 |
---|---|
Bit 0 | 連續的存取。 |
Bit 1 | 優化比率。 |
Bit 2 | 半雙工。 |
Bit 3 | 點對點。 |
hTemplateFile:忽略。
回傳值
若函式執行成功,則開啟指定的 COM 埠控制代碼;若失敗,則回傳 INVALID_HANDLE_VALUE,欲獲取延伸錯誤資訊請呼叫 GetLastError。
備註
- 使用 KsCloseComm 以關閉 KsCreateComm 回傳的物件控制代碼。
- 如上所述,將 dwDesiredAccess 指定為零讓應用程式在不實際訪問裝置下查詢裝置屬性,這類的查詢很有用,例如,若應用程式想要在驅動器中沒有軟磁碟的情況下,決定軟磁碟驅動器的大小及其支援的格式。
- 某些 SDO 命令只適用於指定裝置 (6001 or 6021) ,因此無法在其他裝置使用,KINGSTAR 傳送所有設定至兩種裝置 (600X 及 602X) ,並忽略失敗的命令,此為預期的狀態而非問題。
- SDO 命令傳送兩次:一次在初始化;一次在配置時。
範例
N/A
使用需求
RT | Win32 | |
---|---|---|
最低支援版本 | 4.0 | 4.0 |
標頭檔 | kscom.h | kscom.h |
程式庫 | KsApi_Rtss.lib | ksapi.h |
參見