在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
編輯窗體的程序,如下:
這樣便可以試著跟設備通訊了。當然這種方式僅僅是簡單的實現通訊。如果想要持續、穩定的和設備保持長時間的通訊,還需要對上面的程序作出很多修改。

提交
新大陸自動識別精彩亮相2024華南國際工業博覽會
派拓網絡被Forrester評為XDR領域領導者
智能工控,存儲強基 | 海康威視帶來精彩主題演講
展會|Lubeworks路博流體供料系統精彩亮相AMTS展會
中國聯通首個量子通信產品“量子密信”亮相!