1. 程式人生 > >Tony.SerialPorts.RS232串列埠模組(三)

Tony.SerialPorts.RS232串列埠模組(三)

Tony.SerialPorts.RS232使用流程:

入口端為:Tony.SerialPorts.RS232Enroll。
.引用Tony.SerialPorts.RS232.dll(將Tony.SerialPorts.RS232.dll、HDInfo.txt複製到執行目錄下)。
⑵.呼叫入口程式:Tony.SerialPorts.RS232Enroll.GetRS232Enroll();【靜態方法】。
⑶.檢查Tony.SerialPorts.RS232Enroll.RunRS232Enroll是否為null,不為空可繼續使用。【靜態,資料型別為:Tony.SerialPorts.RS232Enroll】。
⑷.設定串列埠引數配置模組 RS232Setting:【按下面流程進行後,可設定串列埠引數,並儲存為檔案。】
①.如不存在串列埠引數配置模組 RS232Setting的配置檔案:
Tony.SerialPorts.RS232.RS232Setting xSettings =new Tony.SerialPorts.RS232.RS232Setting();
xSettings = Tony.SerialPorts.RS232Enroll.RunRS232Enroll.RS232Worker.RunRS232Setting( gSettings,  gFileSaveName,  gUserName,  gRead,  ScanEvent);(內含窗體,以進行設定)
【引數說明】:
Tony.SerialPorts.RS232.RS232Setting gSettings:例項化的RS232.RS232Setting(本例中的xSettings)。
string gFileSaveName:設定好後的配置檔案儲存路徑(含名稱)。
string gUserName:例項化名稱:隨便起名,與其他串列埠區分開即可。
bool gRead:是否只讀(只讀:除可修改串列埠號,或者進行掃描串列埠,其他手動更改都禁止;非只讀:獲得全部功能。);
Tony.SerialPorts.RS232.RS232ScanHandler ScanEvent:傳入串列埠掃描事件,掃描串列埠時使用,做到程式自動掃描符合條件的串列埠(當裝置連好後,自動定位)。【具體方法另行提供】
②.如存在串列埠引數配置模組 RS232Setting的配置檔案:
Tony.SerialPorts.RS232.RS232Setting xSettings =Tony.SerialPorts.RS232.RS232Setting.GetSetting(gPath);
【引數說明】:
string gPath:配置檔案路徑(含名稱)。
xSettings = Tony.SerialPorts.RS232Enroll.RunRS232Enroll.RS232Worker.RunRS232Setting( gSettings,  gFileSaveName,  gUserName,  gRead,  ScanEvent);(內含窗體,以進行設定)
【引數說明】:
Tony.SerialPorts.RS232.RS232Setting gSettings:例項化的RS232.RS232Setting(本例中的xSettings)。
string gFileSaveName:設定好後的配置檔案儲存路徑(含名稱)。
string gUserName:例項化名稱:隨便起名,與其他串列埠區分開即可。
bool gRead:是否只讀(只讀:除可修改串列埠號,或者進行掃描串列埠,其他手動更改都禁止;非只讀:獲得全部功能。);
Tony.SerialPorts.RS232.RS232ScanHandler ScanEvent:傳入串列埠掃描事件,掃描串列埠時使用,做到程式自動掃描符合條件的串列埠(當裝置連好後,自動定位)。【具體方法另行提供】


⑸.生成串列埠:【推薦使用方法②】
方法①:Tony.SerialPorts.RS232.IRS232 IRS232Comm1=Tony.SerialPorts.RS232Enroll.RunRS232Enroll.RS232Worker.GetRS232Working(gUserName);
【引數說明】
string gUserName:例項化名稱:隨便起名,與其他串列埠區分開即可。
方法②:Tony.SerialPorts.RS232.IRS232 IRS232Comm2=Tony.SerialPorts.RS232Enroll.RunRS232Enroll.RS232Worker.GetRS232Working(gUserName,gSettingFilePath);
【引數說明】
string gUserName:例項化名稱:隨便起名,與其他串列埠區分開即可。
string gSettingFilePath:串列埠引數配置模組 RS232Setting的配置檔案路徑(含名稱)。

⑹.開啟/關閉串列埠:IRS232Comm1.Open()方法、IRS232Comm1.Close()方法
⑺.串列埠狀態:讀IRS232Comm1.Online屬性
⑻.傳送及接收資料:【參見: IRS232方法、IRS232屬性、IRS232事件】
傳送:IRS232Comm1.Transact(……)方法、IRS232Comm1.OutPut屬性。
接收:IRS232Comm1.InPut屬性、IRS232Comm1.InPutReadOnly屬性、IRS232Comm1.Transact(……)方法、OnRs232Receive事件。
⑼.串列埠事件:OnRs232Receive、RS232Open、RS232Close【參見: IRS232事件】
⑽.有用資源:
①靜態函式:Tony.SerialPorts.RS232.General.GetByteArray(char[] gValue)//char陣列轉byte陣列
②靜態函式:Tony.SerialPorts.RS232.General.IsPortAvailable(string s)//測試指定串列埠的可用性
③函式:IRS232Comm1.GetQueueStatus()//查詢串列埠狀態
其他:
【參見: 串列埠引數配置模組Tony.SerialPorts.RS232.RS232Setting】
【參見: Tony.SerialPorts.RS232.IRS232參考】
【注】
Tony.SerialPorts.RS232執行中,傳送及接收資料並不會中斷客戶主執行緒執行。
IRS232Comm1.Open()方法、IRS232Comm1.Close()方法可能會稍微遲滯,主要依賴於客戶現場情況。
IRS232Comm1.Transact(……)方法執行時間依賴於客戶設定的方法引數及客戶現場情況。
如客戶現場比較複雜,通訊遲滯較大,推薦客戶使用多執行緒程式設計。(Tony.SerialPorts.RS232可以運行於多執行緒環境中。)