林錦實
I-7055是臺灣泓格公司生產(chǎn)的現(xiàn)場總線上用的智能控制模塊,共有8個輸入和8個輸出I/O數(shù)字量控制端,主要用途是I/O的數(shù)字量的輸入、輸出控制[1]。利用泓格I-7055模塊采集按鈕的狀態(tài),組態(tài)王6.53進行組態(tài)和編程,對流水燈點亮方式實現(xiàn)多樣化控制,具有結構簡單、性能穩(wěn)定、性價比高的優(yōu)點[2]。
現(xiàn)在要用兩個按鈕控制四個燈,分布如圖1所示。要求實現(xiàn)以下控制:當按鈕1按下、按鈕2未按下時,燈由左向右順序循環(huán)點亮,間隔時間1秒;當按鈕1未按下、按鈕2按下時,燈由右向左順序循環(huán)點亮,間隔時間5秒;當按鈕1與按鈕2全按下時,4個燈間隔3秒同時亮滅;當按鈕1與按鈕2都未按下時,恢復初始狀態(tài),即四個燈全滅。
圖1 按鈕燈分布圖
tm-7561為USB轉RS-485轉換模塊,按鈕K1、按鈕K2分別接在I-7055模塊的DI0、DI1口,燈1、燈2、燈3、燈4分別接在I-7055模塊的DO4、DO5、DO6、DO7口[3]。I-7055模塊采集按鈕K1、K2的狀態(tài),轉換成數(shù)字量,通過tm-7561傳送給計算機,在計算機中利用組態(tài)軟件進行組態(tài)和編程,產(chǎn)生控制信號,通過tm-7561傳送給 I-7055 控制 DO4、DO5、DO6、DO7口的輸出開關量,控制燈的亮滅。具體硬件接線如圖2所示。
tm-7561是鴻格系列產(chǎn)品中的新成員,組態(tài)王6.53中沒有相應的模塊驅動,需要自己安裝。將tm-7561通過USB線接入計算機USB口,計算機會提示“發(fā)現(xiàn)新硬件,請安裝驅動”,將設備配套的驅動光盤放進光驅,安裝驅動結束后,計算機會顯示新設備接入口的模擬COM口(如COM3),記錄下該COM口。
圖2 硬件接線圖
打開“工程管理器”,選擇文件夾,新建工程。
(1)定義組態(tài)王設備
打開組態(tài)王“工程瀏覽器”|“設備”|“板卡”,雙擊“新建”,打開“設備配置向導”,選擇“智能模塊”|“泓格I-7000系列”|“I-7055”|“串口”;單擊“下一步”按鈕,給該設備起個名稱,如I7055;單擊“下一步”按鈕,正確選擇tm-7561模擬的計算機通訊口(COM3);單擊“下一步”按鈕,輸入模塊的實際地址0(該項目中所用模塊只有I-7055,地址為出廠默認值0,如果地址重新設定過,注意正確選擇對應值);單擊“下一步”按鈕,確定模塊出現(xiàn)故障時的恢復策略;單擊“下一步”按鈕,檢查所設置的設備參數(shù),無誤后單擊“完成”[4]。
完成設備定義后,單擊“工程瀏覽器”|“設備”|“COM3”,會在右邊窗口看到定義過的模塊,如果有錯誤,可以雙擊該模塊名稱進行修改[5]。
(2)變量設置
該工程所需要的I/O變量如表1所示。
除以上I/O變量外,該系統(tǒng)為設定循環(huán)點亮流水燈的時間間隔,還需要設置一些內(nèi)存變量,如表2所示。
表1 I/O變量列表
表2 內(nèi)存變量列表
(3)畫面制作與編程
1)打開“工程瀏覽器”|“命令語言”|“應用程序命令語言”[6]
在“啟動時”頁面編程:
燈 1=0;燈 2=0;燈 3=0;燈 4=0;//所有燈熄滅
在“停止時”頁面編程:
燈 1=0;燈 2=0;燈 3=0;燈 4=0;//所有燈熄滅
2)選擇“工程瀏覽器”|“命令語言”|“數(shù)據(jù)改變命令語言”,雙擊“新建”,打開“數(shù)據(jù)改變命令語言”窗口,選擇變量[.域]:$秒;編寫程序:
左循環(huán)位=左循環(huán)位+1;//“左循環(huán)位”變量每秒加1,再根據(jù)此數(shù)字確定被點亮的燈
if(左循環(huán)位>=4)
{左循環(huán)位=0;}
右循環(huán)計時=右循環(huán)計時+1;//用“右循環(huán)計時”變量實現(xiàn)5秒計時
if(右循環(huán)計時>=5)
{右循環(huán)計時=0;}
閃爍計時=閃爍計時+1;//用“閃爍計時”變化實現(xiàn)3秒計時
if(閃爍計時>=3)
{閃爍計時=0;}
3)選擇“工程瀏覽器”|“命令語言”|“事件命令語言”,雙擊“新建”,打開“事件命令語言”窗口
①選擇事件描述:右循環(huán)計時==,3;編寫程序:
右循環(huán)位=右循環(huán)位+1;
if(右循環(huán)位>=4)
{右循環(huán)位=0;}//每當“右循環(huán)計時==3”時,“右循環(huán)位”變量加1,再根據(jù)此數(shù)字確定被點亮的燈,實現(xiàn)右循環(huán)時每隔3秒點亮燈的位置右移
②選擇事件描述:閃爍計時==2;編寫程序:閃爍=!閃爍;
4)編寫畫面命令語言
“存在時”命令語言:
if(按鈕1==1&&按鈕2==1)//兩個按鈕全按下時,4個燈間隔3秒閃爍
{if(閃爍==0)
{燈1=0;燈2=0;燈3=0;燈4=0;}
else
{燈 1=1;燈 2=1;燈 3=1;燈 4=1;}}
else
{if(按鈕1==1)//按鈕1按下時左循環(huán)間隔1秒點亮
{if(左循環(huán)位==0)
{燈1=0;燈2=0;燈3=0;燈4=1;}
if(左循環(huán)位==1)
{燈1=0;燈2=0;燈3=1;燈4=0;}
if(左循環(huán)位==2)
{燈1=0;燈2=1;燈3=0;燈4=0;}
if(左循環(huán)位==3)
{燈1=1;燈2=0;燈3=0;燈4=0;}
}
else
{if(按鈕2==1)//按鈕2按下時右循環(huán)間隔5秒依次點亮
{if(右循環(huán)位==0)
{燈1=1;燈2=0;燈3=0;燈4=0;}
if(右循環(huán)位==1)
{燈1=0;燈2=1;燈3=0;燈4=0;}
if(右循環(huán)位==2)
{燈1=0;燈2=0;燈3=1;燈4=0;}
if(右循環(huán)位==3)
{燈1=0;燈2=0;燈3=0;燈4=1;}
}}}
if((按鈕1==0)&&(按鈕2==0))//沒有按下的按鈕時,恢復初始狀態(tài)
{燈 1=0;燈 2=0;燈 3=0;燈 4=0;}
啟動“運行系統(tǒng)”,觀察兩按鈕按下狀態(tài)不同時流水燈的狀態(tài),并對軟件進行調(diào)試,得到滿意的運行結果。
基于鴻格1-7055模塊采用其他的編程方法,也可以實現(xiàn)流水燈控制。本文介紹的編程思路新穎可行,可進一步拓展,實現(xiàn)更多的功能。
參考文獻:
[1]張英豪,楊柱.泓格I-7000系列采集模塊在礦井風機在線監(jiān)測中的應用[J].礦山機械,2006(11):45-46.
[2]王啟立,胡亞非,何敏.泓格Ⅰ-7000系列模塊在風機性能監(jiān)測系統(tǒng)中的應用[J].工礦自動化,2005(03):46-48.
[3]林錦實.泓格I-7000系列模塊在溫度控制系統(tǒng)中的應用[J].機電工程技術,2011(11):37-40.
[4]李紅萍,賈秀明,李藝鴻,等.基于泓格I-7000系列的Kingview液位控制系統(tǒng)設計[J].電氣自動化,2013(1):76-78.
[5]劉文貴.泓格I-7000系列模塊在水利工程監(jiān)測系統(tǒng)中的應用[J].工業(yè)控制計算機,2005(11):76-74.
[6]樊會祥,韓菲.利用泓格I-7000系列模塊實現(xiàn)環(huán)境的實時監(jiān)控[J].信息技術,2008(06):106-109.