亚洲精华国产精华精华液网站,你懂的,娇生惯养4ph归寻(矜以),丰年经继拇中文3与其他教材比较

技術頻道

娓娓工業
您現在的位置: 中國傳動網 > 技術頻道 > 應用方案 > Vb6.0 實現計算機與三菱PLC的通信 

Vb6.0 實現計算機與三菱PLC的通信 

時間:2008-11-18 13:24:00來源:dujing

導語:?本文介紹了VB 進行串口通信的各種基本方式和三菱可編程控制器之間的通信的程序設計,重點介紹了利用MSCOMM.OCX進行串行通信的設計方法。
  摘要:本文介紹了VB 進行串口通信的各種基本方式和三菱可編程控制器之間的通信的程序設計,重點介紹了利用MSCOMM.OCX進行串行通信的設計方法。   關鍵詞:串行通信, PLC, Visual Basic 6.0   一、引言   在工業生產中,人們常常面臨著數據采集與管理。作為工廠自動化的三大支柱可編程控制器PLC(Programmable Logic Controller),由于其安全可靠,廣泛的用于數據采集與控制。生產過程中,要監視PLC內部的數據與運行狀況,選用市場上的人機界面或組態軟件,雖然功能豐富,但大都價格昂貴,在一些中小規模的生產場合,人們希望能自己用高級語言開發一個簡易實用的通信程序。微軟公司推出的Visual Basic 6.0,開發串行通信程序時,有兩種方法,一種是用Windows API函數,另一種是用VB支持的通信控件MSCOMM.OCX。利用Windows API函數是通過調用讀寫等函數來操作串口。兩種比較,使用MSCOMM.OCX控件編程方便,具有更完善的發送和接收功能。這里采用了M SCOMM.OCX控件。   本文根據杭州某包裝材料公司原料配料控制系統為背景,簡述實現計算機與三菱FX系列PLC通信的實現過程。   二、硬件與選型   日本三菱公司是國際著名的工廠自動化設備制造商,工業可編程控制器在國內市場占有率一直保持前列。項目選用三菱FX2N-64MR型PLC,SC-09電纜作為計算機與PLC通信的連線。連接電纜的9針端連接在計算機串口上,另一端連接在PLC的RS-422編程口。系統框圖如圖一所示。
  三、軟件編程   軟件設計主要包括PLC梯形圖設計和計算機VB程序、數據庫設計。計算機操作系統為Windows98,編程語言用Visual Basic 6.0,數據庫選用Access97,梯形圖程序在三菱PLC編程軟件GPPWIN 軟件環境設計。上位機軟件實現計算機對PLC內部數據讀取、寫入參數和保存數據到數據庫。   三菱FX2N型PLC編程口通信協議如下:      
  波特率9600,偶校驗,8位數據位,一位停止位。   在新建工程的表單上添加MSCOMM.OCX控件,初始化程序:   Private Sub Form_Load()   MSComm1.CommPort = 1 ‘選擇COM1口   MSComm1.Settings = "9600,e,7,1"   End Sub   系統參數主畫面如下圖所示: [align=center] 圖二[/align]   數據讀取子程序:   Public Function GetData(ByVal StartAddress As String, ByVal GetBytes As Integer, ByVal Hex_Bytes As String) As String   MSComm1.InputLen = GetBytes * 2 + 4   MSComm1.Output = STX + CMD_Read + StartAddress + Hex_Bytes + ETX + GetSumChk(CMD_Read + StartAddress + Hex_Bytes + ETX)   ‘傳送數據組成:起始符+命令+首地址+數據位+結束符+和檢驗碼   GetData = MSComm1.Input   MSComm1.InBufferCount = 0   MSComm1.InputLen = 0   End Function   如需讀取數據,通過調用GetData子程序。   參數設置程序可參考讀取子程序,只是改變命令而已。   Access97數據庫中包含三個表單,包括參數表、記錄表、報警記錄表。   通過如下子程序是將實際稱量值(記錄表)更新到數據庫:   Private Sub SaveData()   Dim i As Integer   Dim valid As Boolean   On Error Resume Next   valid = True   Data1.Recordset.AddNew   Data1.Recordset.Fields("dtime") = TimeSerial(OnHour, OnMinute, OnSecond)   Data1.Recordset.Fields("systime") = Time ‘系統時間   Data1.Recordset.Fields("get_xl") = LF(1) ‘小料當前稱量值   Data1.Recordset.Fields("get_fjs") = LF(2) ‘方解石當前稱量值   Data1.Recordset.Fields("get_cs") = LF(3) ‘長石當前稱量值   Data1.Recordset.Fields("get_sys") = LF(4) ‘石英砂當前稱量值   Data1.Recordset.Fields("get_cj") = LF(5) ‘純堿當前稱量值   On Error Resume Next   Data1.Recordset.Update ‘更新數據庫記錄   Data1.Recordset.MovePrevious   End Sub   程序中,LF(i)變量對應為圖二系統參數表單中實稱值。   保存參數子程序只是對數據庫操作,程序結構可參考以上子程序。   上位機與PLC通信質量的好壞,對系統的安全可靠運行影響極大,因此,編寫程序時,除了在兩者之間的通信協議上保持絕對一致和采取相應的容錯技術外,還要考慮系統的整體容錯技術,防止系統的不正常。   四、結束語   串行通信是目前計算機與其他設備之間通信廣泛采用的方式之一,傳送數據準確,程序穩定運行是系統開發的主要目的。本設計中充分利用計算機和PLC的資源,在幾乎不增加設備開支的情況下成功的實現上位機與PLC之間的通信。

標簽:

點贊

分享到:

上一篇:水處理工業中的測量最優化

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.siyutn.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

網站簡介|會員服務|聯系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網-工業自動化與智能制造的全媒體“互聯網+”創新服務平臺

網站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業執照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號

主站蜘蛛池模板: 漳平市| 黎平县| 朔州市| 久治县| 长春市| 那曲县| 武城县| 隆林| 固阳县| 陵川县| 永昌县| 石景山区| 和龙市| 磴口县| 静海县| 郸城县| 仁化县| 石城县| 图们市| 乌审旗| 宜都市| 察隅县| 乐昌市| 黔西县| 扎鲁特旗| 绥阳县| 合作市| 囊谦县| 久治县| 印江| 迁安市| 句容市| 河南省| 七台河市| 齐河县| 石家庄市| 鄂温| 阳山县| 高要市| 察哈| 龙井市|