在iFIX中如何通過VBA編程實現RS485通訊?
最近有個網友遇到一個問題,現場有塊儀表,采購的時候沒有注意通訊協議。買到后發現儀表只支持RS485自由口協議。這樣就不能用現有的Mb1驅動直接讀數。需要自己開發程序。本文介紹了基于MScomm控件的串口通訊。

我們首先在iFIX后臺添加一個窗體。選擇窗體后。在菜單欄里找到“工具”。選擇附加控件,向下滑動找到“Microsoft Communications Control version V6.0 SP”勾選上以后點擊確定。然后你會發現工具箱多了一個電話一樣的控件。將控件拖到窗體。

這時候發發現報錯了。錯誤信息“對于指定的操作,該使用者不受信任”。出現這個問題的原因是windows的更新補丁限制了一些activex控件的使用。網上有很多解決辦法。我這里操作的辦法是:
第一:下載安裝VB6.0企業版軟件;
第二:安裝VB6的SP6補丁,這個補丁可以獨立下載安裝。或者下載VB6.0的時候注意下載Visual Basic 6.0 SP6集成安裝簡體中文企業版。這個里面有SP6的補丁。直接安裝就可以了。
第三:安裝一個針對vb控件的更新包(Microsoft Visual Basic 6.0 Service Pack 6 Cumulative Update)。
以上三步完成后,再去拖拽MScomm控件,便可以使用了。
下面就可以編寫通訊程序了。首先我們先查看儀表的通訊協議。我們看下發送的串行命令碼包含哪些內容。我們這里以基恩士LS-7070激光測距傳感器為例。

首先看通訊手冊,設置串口參數,波特率:9600;數據長度:8;停止位:1;奇偶校驗:無校驗;如果讀取儀表的測量值,需要發送的命令為“M q,r cr”。轉換為16進制的話為:4D 71 2C 0D
編輯窗體的程序,如下:

這樣便可以試著跟設備通訊了。當然這種方式僅僅是簡單的實現通訊。如果想要持續、穩定的和設備保持長時間的通訊,還需要對上面的程序作出很多修改。
提交
2025中歐綠色建筑工業化論壇9月北京啟幕 全球智慧共推建筑產業“雙碳”轉型
喜訊!華強電子網榮獲“2025年中國產業互聯網創新企業”
深入實施“人工智能+”行動 浪潮軟件集團看好人工智能+工業質檢廣闊前景,持續布局線纜行業智能質檢
海爾新增2家卓越級智能工廠,總數品類行業雙第一
深度剖析格力打破磁懸浮壓縮機國外壟斷,底氣來自對自主創新的堅守!

投訴建議