我目前正在尋找不同的可能性來通過C#與SCPI兼容的設備進行通信。通過COM接口:(C語言),並做得相當「手動」,我會說:我已經寫了我在LabWindows/CVI第一碼使用SCPI通過GPIB和RS-232/COM進行通信
ComOpen(ComId, "Com1",....);
ComWrite("SYST:...\r");
ComRead(&value)`
這樣的事情。問題在於我不喜歡純C,而OOP的缺乏只是愚蠢的,因爲我有真正想要溝通的對象。親愛的美國國家儀器,爲什麼不使用OOP來控制對象?
現在有人給我提示,我應該查看全局SCPI文檔,因爲有更多的信息比設備的手冊。我發現了一組與.NET兼容的命令。例如,
IIviDCPwr Ivi.DCPwr.Create(String resourceName,
Boolean idQuery,
Boolean reset,
LockType lockType,
String accessKey,
String options);
建立與SCPI設備的面向對象的通信。因爲我非常喜歡C#,所以我想在接下來的幾周內嘗試一下。
但我真的無法看到連接設置,因爲resourceName只是一個名字,以後釋放相關設備,而其他設置在連接已經設置時使用。 IIviDCPwr的實例如何知道應該使用哪個連接(TCP/IP,COM或GPIB)?
我只看到使用套接字的TCP/IP解決方案。但我認爲這不適用於COM和GPIB?
另一種解決方案是使用NI的VISA包。但我不喜歡使用NI提供的專有軟件包的想法(我認爲在使用CVI之後,我感覺到新開發的對NI的斥力)。
你能提供代碼片段或文檔來處理這個問題嗎?你有沒有使用VISA做過任何體驗?我可以使用套接字進行COM/GPIB通信嗎?
順便說一句:如何在代碼片段中創建新行?無論是進入還是移 + 輸入,\ r,\ n,\對我的作品......
我已經編輯您的標題扮演這樣做是爲了你。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 – 2013-03-17 22:48:38
另外,你指的是什麼「代碼片段」? – 2013-03-17 22:48:54
此外,跆拳道是問題? – 2013-03-17 23:15:17