《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > LabVIEW與三菱PLC串口通信的實現
LabVIEW與三菱PLC串口通信的實現
來源:微型機與應用2013年第12期
張 力,王 盈
(三峽大學 機械與材料學院,湖北 宜昌443002)
摘要: 以電機星三角降壓啟動監控系統為例,介紹了通過FX2N-232BD通信擴展板,實現LabVIEW與FX2N系列PLC串口通信的方法。設計了電機星三角降壓啟動的PLC控制電路,編寫了三菱PLC通信擴展板的通信程序,給出了上位機LabVIEW軟件的監控程序,并且創建了用于人機交互的前面板。
Abstract:
Key words :

摘  要: 以電機星三角降壓啟動監控系統為例,介紹了通過FX2N-232BD通信擴展板,實現LabVIEW與FX2N系列PLC串口通信的方法。設計了電機星三角降壓啟動的PLC控制電路,編寫了三菱PLC通信擴展板的通信程序,給出了上位機LabVIEW軟件的監控程序,并且創建了用于人機交互的前面板。
關鍵詞: LabVIEW軟件;三菱FX2N系列PLC;FX2N-232BD通信擴展板;串口通信

    LabVIEW是美國國家儀器公司(NI公司)推出的用于數據采集、儀器控制、數據分析與數據表達的圖形化編程環境,它是一個開放的開發環境,具有PCI、GPIB、PXI、VXI、RS-232/485、USB等儀器通信總線標準的所有功能函數,開發者可以利用這些函數與不同總線標準接口的數據采集硬件交互工作。本文介紹的是利用RS-232串口通信協議,實現上位PC LabVIEW軟件與下位機三菱PLC之間的數據通信[1]。
    要實現LabVIEW的串口通信,在PC上正確安裝LabVIEW軟件后,還必須安裝NI_VISA串口通信協議驅動。而三菱PLC的串口通信,則要在FX2N PLC基本單元上加裝FX2N-232BD通信擴展板。加裝通信擴展板的方法是:從PLC基本單元的上表面卸下面板的蓋子,將FX2N-232BD通信板壓入到連接器上,用M3螺釘將通信板固定在基本單元上,再將PC和通信板的九針串口通過RS-232通信電纜連接起來,如圖1所示[2]。

    軟件和硬件設備安裝好后,就可以編制LabVIEW和PLC通信程序,通過FX2N-232BD通信擴展板,實現上下位機的數據通信。
1 三菱PLC串口通信實現
    異步電動機的星三角降壓啟動控制要求如下:當上位機中LabVIEW軟件中前面板的啟停開關打到啟動檔,下位機三菱PLC的輸出繼電器Y1和Y2得電,控制電源接觸器和星形連接接觸器動作,使電機星形連接啟動,20 s后輸出繼電器Y2失電,星形連接接觸器主觸頭斷開,而輸出繼電器Y3得電,三角形連接接觸器主觸頭接通,電機進入正常運行狀態。當前面板的啟停開關打到停止檔,Y0~Y3這4個輸出繼電器全部失電,所有接觸器的主觸頭斷開,電機停機。當電機過載時,連接在X0處的熱繼電器的常閉觸頭斷開,電機停機。如果電機星形連接啟動階段或其發生過載時,連接在Y0處的指示燈亮,其他情況指示燈滅。根據控制要求設計的電機星三角降壓啟動的PLC控制電路如圖2所示。

    要監控PLC控制電路的運行,FX2N-232BD通信擴展板需要向上位機監控軟件LabVIEW發送PLC輸出繼電器Y0~Y3的狀態和星形連接啟動的時間進度,并接受LabVIEW發出的啟停命令,為此編寫的基于FX2N-232BD的三菱PLC通信程序如圖3所示[3]。
    FX2N-232BD的通信格式是通過PLC的特殊數據寄存器D8120來設定的。PLC上電后,M8002繼電器接通一個掃描周期,執行MOV指令,將D8120設置為H87,即將通信格式規定為:數據長度為8位、偶校驗、停止位為1位、波特率為9 600 b/s。LabVIEW的通信程序必須把PC的串口COM通信格式設為與FX2N-232BD的通信格式一致。
    PLC處于“RUN”狀態,M8000繼電器常開觸點一直接通,M8161繼電器線圈得電,這可使串口通信按8位字節數據處理。M8000常開觸點接通,RS指令執行,RS指令是通信用的功能擴展板發送和接收串行數據的指令,圖3中的RS指令指定了發送數據緩沖區的首地址是數據寄存器D0,發送緩沖區內的數據寄存器的個數為2,接收數據緩沖區的首地址為D20,接收緩沖區內的數據寄存器個數為1。RS指令執行后,通信系統馬上處于接收等待狀態。

    LabVIEW軟件向PLC發出的啟停命令通過發送十六進制數H0DD或H0FF來實現,根據圖3的18邏輯行程序所示,當PLC接收完數據,系統自動置位M8123接收完成標志位,M8123常開觸點接通,CMP指令把存放在接收數據緩沖區D20中的數據分別與H0DD和H0FF比較,若與H0DD相等,則說明是啟動命令,M1被置位,若與H0FF相等,則說明是停止命令,M11被置位。當處理完畢接收的數據后,必須人為地通過RST指令復位M8123,若M8123不復位,系統將禁止發送和接收數據。
    根據圖3的35邏輯行程序所示,M8012繼電器常開觸點每0.1 s接通一次,通過MOV指令將Y0~Y3的狀態和星形連接啟動的時間T0分別賦值給發送數據緩沖區的D0和D1,并執行SET指令,人為置位M8122發送請求標志位,RS指令轉為發送狀態,這樣D0和D1中的數據每隔0.1 s發送給上位PC,提供給LabVIEW軟件處理。發送完畢后,系統會自動對M8122復位,然后自動轉到接收等待狀態。
    PLC按照PC發送的啟停命令,實現電機星三角降壓啟動的控制程序如圖4所示。

    根據圖2和圖4,當PLC接收到啟動命令時,M1得電,執行49邏輯行程序的MOV指令,將7賦值給由Y0~Y3組成的位組件K1Y000,實現電機星形連接啟動。通過56邏輯行程序延時20 s。20 s后,由60邏輯行程序完成電機星形連接分斷,同時三角形連接運行。當PLC接收到停止命令時,M11得電,由66邏輯行程序,使Y0~Y3全部失電,電機斷電停機。當電機發生過載時,X0常閉觸點接通,電機停機。
2 LabVIEW軟件串口通信的實現方法
    LabVIEW虛擬儀器程序由前面板和框圖程序組成,前面板是人機交互的界面,界面上有用戶輸入和顯示輸出兩類控件;框圖程序則是用戶編制的程序源代碼,以定義和控制在前面板上的控件輸入和輸出功能。圖5為上位機監控三菱PLC實現電機星三角降壓啟動的LabVIEW框圖程序[4]。
    圖5所示的圖形化編程設計采用NI_VISA串口Serial函數來完成PC與PLC之間的串口通信。VISA中的Serial函數庫里包含VISA Configure Serial Port、VISA Write、VISA Read、VISA Close等子函數。本設計用到的4個VISA串口子函數是:VISA串口配置函數VISA Configure Serial Port、VISA寫入函數VISA Write、VISA讀取函數VISA Read和VISA 關閉函數VISA Close。

 

 

    VISA串口配置函數VISA Configure Serial Port的作用是完成串口參數的初始化設置,包括串口資源名稱、波特率、奇偶校驗、數據比特、是否啟用終止符等。由于VISA寫入函數VISA Write只接受字符串輸入,所以LabVIEW向PLC寫入的啟動命令和停止命令標識符H0DD或H0FF,要通過如圖5所示的“創建數組”函數和“字節數組至字符串轉換”函數,組成字符串,輸入到VISA Write函數的寫入緩沖區中。VISA Write函數將寫入緩沖區的內容通過串口發送到PLC。VISA讀取函數VISA Read從串口讀取PLC發送的字符串,每次讀取字節數設置為2,它的輸出通過“字符串至字節數組轉換”函數和“索引數組1”函數,把字符串轉換為兩個無符號字節數據,這兩個字節數據分別包含了PLC的Y0~Y3狀態和星形連接啟動時間T0。VISA關閉函數VISA Close的作用是在程序停止之前,必須要把使用的串口設備關閉,若不關閉,其他程序就不能使用該設備。
    圖5中有個條件結構,在前面板上,切換“啟停切換”水平搖桿開關,滿足“真”條件,向PLC寫入啟動命令標識符,而滿足“假”條件,則向PLC寫入停止命令標識符。
    由“索引數組1”函數的索引0生成的字節數據通過“數值至布爾數組轉換”函數和“索引數組2”函數,把8位無符號字節的低4位拆分出4個布爾數,并以指示燈的形式顯示在前面板中,用來監視PLC的輸出繼電器Y0~Y3的狀態,反映出電機的工作狀態。“索引數組1”函數的索引1生成的字節數據除以10就是以秒為單位的啟動時間,它以水平進度條和實時數據的形式顯示在前面板中。
    在條件結構外還有個While循環結構,目的是反復執行對PLC寫入或讀取數據的程序,直到前面板按下“退出”按鈕,結束程序運行[5-6]。
    按上述步驟,把電機星三角降壓啟動監控系統搭建完成后,上下位機聯機運行,實驗現象表明基于FX2N-232BD通信擴展板的LabVIEW與FX2N系列PLC的串口通信方法是可行的。本文充分利用了LabVIEW易開發、人機界面良好的特點,將組態軟件和VB、VC++等高級語言的優點完美結合起來, 通過這種串口通信方法,很方便地完成了上位PC對三菱PLC各類軟元件的讀寫操作,從而為實現工業現場的監控與現場數據的分析打下了基礎。
參考文獻
[1] 張桐,陳國順,王正林.精通LabVIEW程序設計[M].北京:電子工業出版社,2008:224-228.
[2] 張運剛,宋小春,郭武強.從入門到精通三菱FX2NPLC技術與應用[M].北京:人民郵電出版社,2007:283-298.
[3] 馬振鋒,劉獻禮,王鵬,等.基于LabVIEW7.1的PC與PLC通信[J].哈爾濱理工大學學報,2005,10(5):30-33.
[4] 張從雄.虛擬儀器技術分析與設計[M].北京:電子工業出版社,2007:100-108.
[5] 施壽生.虛擬儀器串口卡設計[J].樂山師范學院學報,2008,23(12):29-30.
[6] 張力.基于LabVIEW的旋轉編碼器轉角及轉速測量儀的設計[J].三峽大學學報(自然科學版),2008,30(3):67-69.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国产a国产 | 久久综合88 | 伊人五月天婷婷琪琪综合 | 青青热久久综合网伊人 | 久久精品国产欧美日韩99热 | 日韩欧美一区二区不卡看片 | 99久久精品免费看国产免费软件 | 日本高清乱偷www | 久久国产精品久久国产片 | 亚洲男人天堂手机版 | 国产成人一区二区三区影院免费 | 国产精品免费一区二区三区 | 思思99re| 亚洲男女视频 | 国产在线视频一区二区三区 | 国产精品视频永久免费播放 | 99色在线视频| 在线成人a毛片免费播放 | 午夜影院啪啪 | 久色精品 | 欧美日韩亚洲v在线观看 | 国产三级午夜理伦三级 | 欧美日韩一区二区在线观看 | 99国产高清久久久久久网站 | 欧美一级特黄刺激爽大片 | 日韩午夜精品 | m男亚洲一区中文字幕 | 毛片免费高清免费 | 日本a级在线 | 国产成人精品亚洲777图片 | 久久久免费精品视频 | 成年人三级黄色片 | 亚洲成人综合在线 | 国产高清一级视频在线观看 | 国产情侣久久精品 | 农村寡妇一级毛片免费看视频 | 日韩免费高清 | a理论片| 综合欧美视频一区二区三区 | 亚洲国产精品视频 | 国产一级毛片网站 |