問題描述:對于一般的應用,LabVIEW中直接用VISA串口API函數(shù)就可以實現(xiàn),方便快捷,但是對于需要使用中斷方式進行串口通信的,就得使用MSComm控件來實現(xiàn)了。 MSComm控件:操作ActiveX控件,最主要的就是要使用好它的屬性、方法函數(shù),并做好中斷事件的回調(diào)處理。LabVIEW針對ActiveX設(shè)置的控件在“互連接口”的“ActiveX”中提供了8個功能函數(shù):Automation Open, Close Reference, To Variant, Variant to Data, Invoke Node, Property Node, Register Event Callback, UnRegister Event Callback。
在LabVIEW中使用MSComm控件: 首先需要在LabVIEW中加入MSComm,在“工具”--“導入”--“ActiveX至選板”中將MSComm添加到LabVIEW環(huán)境,選擇默認路徑。 然后可以在前面板的".Net與ActiveX"中找到mscomm然后拖拽到前面板中。也可以先在前面板放置ActiveX容器,然后右鍵選擇mscomm控件: 調(diào)用ActiveX控件創(chuàng)建客戶端應用程序: 主要用到“互連接口”--“ActiveX”中的8個函數(shù): ActiveX事件注冊相關(guān):即使用事件回調(diào)處理中斷事件等, 編程注意事項: 對于MSComm控件,編程時使用的都是其自動化引用,即LabVIEW將ActiveX控件作為對象來處理。連接屬性節(jié)點到控件,可以查看所有屬性,連接調(diào)用節(jié)點時,MSComm沒有提供方法,所以會顯示沒有方法。以下是LabVIEW中看到的MSComm的屬性: 另外,回調(diào)事件注冊首先要確定好需要傳輸什么樣的數(shù)據(jù),如果包含多種數(shù)據(jù)類型,可以使用簇來解決,回調(diào)函數(shù)中會自動創(chuàng)建與該數(shù)據(jù)類型相同的事件參數(shù),并提供ActiveX控件的引用。