91精品在线视频观看-91精品中文字幕-二区视频在线-二区视频在线观看-激情久久av一区av二区av三区-激情久久久-男人疯狂高潮呻吟视频-男人干女人视频-日韩久久一区-日韩久久一区二区-性欧美欧美巨大69-性欧美日本-中文字幕韩日-中文字幕黑人-中文日产幕无线码6区收藏-51福利国产在线观看午夜天堂

技術頻道

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

摘要:本文介紹了VB進行串口通信的各種基本方式和三菱可編程控制器之間的通信的程序設計,重點介紹了利用MSCOMM.OCX進行串行通信的設計方法。

關鍵詞:串行通信, PLC Visual Basic 6.0

Abstract: Describes all kinds of basic serial port communication methods using Visual Basic 6.0 and design of free port communication program of MITSUBISH PLC, furthermore set focus on the designing method of serial port communication through dynamic linked library in Visual Basic 6.0

Key Words: Serial port communication, PLC, Visual Basic 6.0

一、引言

在工業生產中,人們常常面臨著數據采集與管理。作為工廠自動化的三大支柱可編程控制器PLCProgrammable Logic Controller),由于其安全可靠,廣泛的用于數據采集與控制。生產過程中,要監視PLC內部的數據與運行狀況,選用市場上的人機界面或組態軟件,雖然功能豐富,但大都價格昂貴,在一些中小規模的生產場合,人們希望能自己用高級語言開發一個簡易實用的通信程序。微軟公司推出的Visual Basic 6.0,開發串行通信程序時,有兩種方法,一種是用Windows API函數,另一種是用VB支持的通信控件MSCOMM.OCX。利用Windows API函數是通過調用讀寫等函數來操作串口。兩種比較,使用MSCOMM.OCX控件編程方便,具有更完善的發送和接收功能。這里采用了MSCOMM.OCX控件。

本文根據杭州某包裝材料公司原料配料控制系統為背景,簡述實現計算機與三菱FX系列PLC通信的實現過程。

二、硬件與選型

日本三菱公司是國際著名的工廠自動化設備制造商,工業可編程控制器在國內市場占有率一直保持前列。項目選用三菱FX2N-64MRPLCSC-09電纜作為計算機與PLC通信的連線。連接電纜的9針端連接在計算機串口上,另一端連接在PLCRS-422編程口。系統框圖如圖一所示:

圓角矩形標注:  SC-09電纜
 



 

計算機 三菱 PLC

圖一

三、軟件編程

軟件設計主要包括PLC梯形圖設計和計算機VB程序、數據庫設計。計算機操作系統為Windows98,編程語言用Visual Basic 6.0,數據庫選用Access97,梯形圖程序在三菱PLC編程軟件GPPWIN軟件環境設計。上位機軟件實現計算機對PLC內部數據讀取、寫入參數和保存數據到數據庫。

三菱FX2NPLC編程口通信協議如下:

命令

命令字

控制元件

備注

讀元件

0

X,Y,M,S,T,C,D

讀字/位元件狀態

寫元件

1

X,Y,M,S,T,C,D

寫字/位元件狀態

置位

7

X,Y,M,S,T,C

位元件置位

復位

8

X,Y,M,S,T,C

位元件復位

通信格式:

起始符

命令字

首地址

數據區

結束符

和校驗

波特率9600,偶校驗,8位數據位,一位停止位。

在新建工程的表單上添加MSCOMM.OCX控件,初始化程序:

Private Sub Form_Load()

MSComm1.CommPort = 1 '選擇COM1

MSComm1.Settings = "9600,e,7,1"

End Sub


系統參數主畫面如下圖所示: 

圖二

數據讀取子程序:

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之間的通信。

參考文獻

1、美國 ·Microsoft Visal Basic 6.0 Controls reference控件參考手冊

2、舒繼武·Visual Basic 中通信及應用·微型機與應用,1996

3、陳小歐·Windows環境下串口異步通信程序設計·電子技術應用

文章版權歸西部工控xbgk所有,未經許可不得轉載。

91精品在线视频观看-91精品中文字幕-二区视频在线-二区视频在线观看-激情久久av一区av二区av三区-激情久久久-男人疯狂高潮呻吟视频-男人干女人视频-日韩久久一区-日韩久久一区二区-性欧美欧美巨大69-性欧美日本-中文字幕韩日-中文字幕黑人-中文日产幕无线码6区收藏-51福利国产在线观看午夜天堂
  • 
    
  • 主站蜘蛛池模板: 青草热久免费精品视频| 91国产一区在线| 精品久久久久久久久久久久| 日韩色av导航| 欧美激情精品久久久久久大尺度| 精品国偷自产在线视频99| 亚洲男子天堂网| 日韩电影大片中文字幕| 成人精品一区二区三区电影免费| 国产在线98福利播放视频| 亚洲aa在线观看| 亚洲欧美另类人妖| 亚洲性生活视频| 国产综合色香蕉精品| 96精品久久久久中文字幕| 亚洲专区中文字幕| 亚洲美女黄色片| 久久久成人av| 欧美一区二区.| 成人黄色av播放免费| 亚洲人成网7777777国产| 久久久国产精品一区| 久久久亚洲成人| 国产精品一区二区3区| 久久久极品av| 国产91精品高潮白浆喷水| 国产在线视频欧美| 在线视频欧美日韩精品| 欧美激情一区二区三级高清视频| 亚洲成年人在线| 日韩中文字幕视频在线| 久久久久国色av免费观看性色| 国产精品视频在线观看| 亚洲欧美日韩天堂| 日韩欧美亚洲一二三区| 国产中文字幕日韩| www.欧美精品一二三区| 奇米一区二区三区四区久久| 精品一区二区三区三区| 91亚洲va在线va天堂va国 | 色噜噜狠狠色综合网图区|