在iFIX中如何通過(guò)VBA編程實(shí)現(xiàn)RS485通訊?
最近有個(gè)網(wǎng)友遇到一個(gè)問題,現(xiàn)場(chǎng)有塊儀表,采購(gòu)的時(shí)候沒有注意通訊協(xié)議。買到后發(fā)現(xiàn)儀表只支持RS485自由口協(xié)議。這樣就不能用現(xiàn)有的Mb1驅(qū)動(dòng)直接讀數(shù)。需要自己開發(fā)程序。本文介紹了基于MScomm控件的串口通訊。
我們首先在iFIX后臺(tái)添加一個(gè)窗體。選擇窗體后。在菜單欄里找到“工具”。選擇附加控件,向下滑動(dòng)找到“Microsoft Communications Control version V6.0 SP”勾選上以后點(diǎn)擊確定。然后你會(huì)發(fā)現(xiàn)工具箱多了一個(gè)電話一樣的控件。將控件拖到窗體。
這時(shí)候發(fā)發(fā)現(xiàn)報(bào)錯(cuò)了。錯(cuò)誤信息“對(duì)于指定的操作,該使用者不受信任”。出現(xiàn)這個(gè)問題的原因是windows的更新補(bǔ)丁限制了一些activex控件的使用。網(wǎng)上有很多解決辦法。我這里操作的辦法是:
第一:下載安裝VB6.0企業(yè)版軟件;
第二:安裝VB6的SP6補(bǔ)丁,這個(gè)補(bǔ)丁可以獨(dú)立下載安裝?;蛘呦螺dVB6.0的時(shí)候注意下載Visual Basic 6.0 SP6集成安裝簡(jiǎn)體中文企業(yè)版。這個(gè)里面有SP6的補(bǔ)丁。直接安裝就可以了。
第三:安裝一個(gè)針對(duì)vb控件的更新包(Microsoft Visual Basic 6.0 Service Pack 6 Cumulative Update)。
以上三步完成后,再去拖拽MScomm控件,便可以使用了。
下面就可以編寫通訊程序了。首先我們先查看儀表的通訊協(xié)議。我們看下發(fā)送的串行命令碼包含哪些內(nèi)容。我們這里以基恩士LS-7070激光測(cè)距傳感器為例。
首先看通訊手冊(cè),設(shè)置串口參數(shù),波特率:9600;數(shù)據(jù)長(zhǎng)度:8;停止位:1;奇偶校驗(yàn):無(wú)校驗(yàn);如果讀取儀表的測(cè)量值,需要發(fā)送的命令為“M q,r cr”。轉(zhuǎn)換為16進(jìn)制的話為:4D 71 2C 0D
編輯窗體的程序,如下:
這樣便可以試著跟設(shè)備通訊了。當(dāng)然這種方式僅僅是簡(jiǎn)單的實(shí)現(xiàn)通訊。如果想要持續(xù)、穩(wěn)定的和設(shè)備保持長(zhǎng)時(shí)間的通訊,還需要對(duì)上面的程序作出很多修改。
提交
新大陸自動(dòng)識(shí)別精彩亮相2024華南國(guó)際工業(yè)博覽會(huì)
派拓網(wǎng)絡(luò)被Forrester評(píng)為XDR領(lǐng)域領(lǐng)導(dǎo)者
智能工控,存儲(chǔ)強(qiáng)基 | ??低晭?lái)精彩主題演講
展會(huì)|Lubeworks路博流體供料系統(tǒng)精彩亮相AMTS展會(huì)
中國(guó)聯(lián)通首個(gè)量子通信產(chǎn)品“量子密信”亮相!