訊言源碼
A. 能給我發個VB與三菱PLC通訊的源代碼實例嗎,非常感謝啊
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一、引言
在工業生產中,人們常常面臨著數據採集與管理。作為工廠自動化的三大支柱可編程控制器PLC(Programmable Logic Controller),由於其安全可靠,廣泛的用於數據採集與控制。生產過程中,要監視PLC內部的數據與運行狀況,選用市場上的人機界面或組態軟體,雖然功能豐富,但大都價格昂貴,在一些中小規模的生產場合,人們希望能自己用高級語言開發一個簡易實用的通信程序。微軟公司推出的Visual Basic 6.0,開發串列通信程序時,有兩種方法,一種是用Windows API函數,另一種是用VB支持的通信控制項MSCOMM.OCX。利用Windows API函數是通過調用讀寫等函數來操作串口。兩種比較,使用MSCOMM.OCX控制項編程方便,具有更完善的發送和接收功能。這里採用了MSCOMM.OCX控制項。
本文根據杭州某包裝材料公司原料配料控制系統為背景,簡述實現計算機與三菱FX系列PLC通信的實現過程。二、硬體與選型
日本三菱公司是國際著名的工廠自動化設備製造商,工業可編程式控制制器在國內市場佔有率一直保持前列。項目選用三菱FX2N-64MR型PLC,SC-09電纜作為計算機與PLC通信的連線。連接電纜的9針端連接在計算機串口上,另一端連接在PLC的RS-422編程口。系統框圖如圖一所示:
SC-09電纜
計算機 三菱 PLC
圖一
三、軟體編程
軟體設計主要包括PLC梯形圖設計和計算機VB程序、資料庫設計。計算機操作系統為Windows98,編程語言用Visual Basic 6.0,資料庫選用Access97,梯形圖程序在三菱PLC編程軟體GPPWIN 軟體環境設計。上位機軟體實現計算機對PLC內部數據讀取、寫入參數和保存數據到資料庫。
三菱FX2N型PLC編程口通信協議如下:
命令
命令字
控制元件
備注
讀元件
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之間的通信。
B. 華為准備直接向客戶公開5G源代碼,愛立信、諾基亞為什麼要反對
華為向用戶公布5G源代碼。
華為5G網路技術處於全球領先之後,也是遭遇到了以美國為首的「西方國家」的抵制,美國更是不斷的向其他盟國施壓要求將華為5G技術拒之門外,但華為創始人:「心底無私天地寬」,坦坦盪盪的華為更是直接向其客戶「英國」、「德國」公開了5G源代碼,這樣的舉措也更是贏得了英國、德國的信任,畢竟源代碼作為一個科技公司而言,是最為核心的商業機密,而此次華為直接將自己的「商業機密」公開,不僅僅進一步向全世界證明,華為5G技術的領先優勢,以獲得更多客戶的支持。
源代碼是剛剛開始建網的5G技術的鑰匙,是企業的最核心的商業機密,他們還指望借5G狠賺一筆。
C. 源碼免殺map定位教程謝謝
1OD打開看特徵碼前後有什麼明顯的函數沒有,如有,到源碼找那個函數,函數附近就是特徵碼;
2建議重新定位特徵碼,好多時候都是定位不準確造成的。
D. 為什麼邊策在《世界電影之旅之資訊快車》里說《源代碼》的劇情是sean就是恐怖分子
不是的,電影里他剛穿越回去前確實會讓人有這樣的懷疑,但是後面不是這樣的,明顯是邊策自己看個預告或者拿個半桶水編輯給的稿子就念了
E. VB通訊錄的設計源代碼
只能做到
親朋好友基本信息和通訊方法(包括通訊地址,郵政編碼,住宿地,電話號碼等)存入通訊錄並提供按姓名,電話號碼等查詢其他信息的功能
列印就不能了
F. 看懂源代碼了嗎另外多出一個問題。
我前幾天才看完 還是很多不明白,就是柯爾特·史蒂文的電波附在了肖恩芬特雷斯身上,你說是他們的結合體了。可是那個時間的肖恩芬特雷斯的思想哪去了?