用VB編寫modbus源代碼的過程_第1頁
用VB編寫modbus源代碼的過程_第2頁
用VB編寫modbus源代碼的過程_第3頁
用VB編寫modbus源代碼的過程_第4頁
用VB編寫modbus源代碼的過程_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

本文格式為Word版,下載可任意編輯——用VB編寫modbus源代碼的過程用VB編寫modbus源代碼的過程

今天是周六,現(xiàn)在剛從單位自愿加班回來。為什么自愿加班呢?由于自己和老板夸下??谡f:一個(gè)禮拜把modbus上位機(jī)程序?qū)懞茫ㄒ簿褪沁@個(gè)禮拜拉)?,F(xiàn)在終究把這個(gè)程序?qū)懞美?/p>

感想好多啊!該如何說起呢?我語文不好,把自己想表達(dá)的意思說出來就行拉。

首先:還是那句話:一切得靠自己!上周一時(shí),老板說讓我做個(gè)modbus界面,我想:這個(gè)簡單啊。不就是串口收發(fā)么?于是我計(jì)劃安排上寫了1個(gè)禮拜搞定。然后開始安裝DELPHI(我在單位一直搞C編程,機(jī)子沒有裝這些),完后就開啟我那曾經(jīng)熟悉的界面。恩?怎么看似熟悉的界面怎么這么陌生呢/于是上網(wǎng)找資料。。。這個(gè)3天的期間我感慨好深啊:由于我大四學(xué)習(xí)的DELPHI,所以我感覺這個(gè)還熟悉點(diǎn),可是當(dāng)時(shí)做課程設(shè)計(jì)的時(shí)候也沒有用過串口,這個(gè)串口編程咋得和MCU串口不一樣呢?它就是不一樣!暈暈。上網(wǎng)找SPCOMM。。。,學(xué)習(xí)了一天也不會(huì)用。于是徒勞了3天也沒有效果。轉(zhuǎn)瞬就到了周四,我心里那個(gè)急呀。唉!還是忍痛拋棄delphi吧!為什么呢?它沒有自帶串口控件,下載并安裝了還是出錯(cuò)啊。

VB好象是我大二學(xué)的,具體時(shí)間我也忘了,反正就記得做課設(shè)的時(shí)候用它連個(gè)ACCESS實(shí)現(xiàn)了插入刪除查詢工作。以后知道這個(gè)周四我也沒有用過,甚至沒有見到過它的界面。我選擇它一個(gè)由于我選擇,我喜歡。更重要的是它安裝了自帶串口控件,不用下載什么的了,用起來實(shí)打?qū)嵉男睦镉械住?/p>

大家現(xiàn)在知道我的底子了吧?周四我借公司里的一本VB書看了一天的串口,然后心理有底了,周五動(dòng)手一天,收獲很大,今天早晨8點(diǎn)起床,心理還琢磨著程序的事情,由于家里沒有試驗(yàn)儀器,于是計(jì)劃去公司,一直做到現(xiàn)在,終究搞定拉。這個(gè)禮拜上網(wǎng)找源代碼的時(shí)候看著好多像我一樣找源碼的人發(fā)帖子要源程序,但是大多只是網(wǎng)頁寫了一大堆代碼。沒有用!為什么呢?你怎么知道人家用什么控件,什么功能呢?還是老老實(shí)實(shí)的自己寫吧。沒什么的,很簡單的啊。說實(shí)話,這個(gè)程序只要你把煩躁的心放下來寫就可以了。我自從畢業(yè)一直沒有做過WINDOWS編程,都是直接對(duì)單片機(jī)的,上學(xué)那會(huì)也是每日樂呼呼的,沒學(xué)到什

么東西,就這樣我還不是搞定了嗎?(當(dāng)然這個(gè)建立在看網(wǎng)上那堆源程序的基礎(chǔ)上)。

現(xiàn)在我就把這個(gè)程序發(fā)在網(wǎng)頁上,這個(gè)程序已經(jīng)調(diào)通了,寫在這里的目的是讓大家做個(gè)程序參考,你也不知道我界面上的控件,所以沒有必要復(fù)制粘貼。(不是我小氣,是由于這個(gè)工程涉及到公司機(jī)密,這個(gè)產(chǎn)品還沒有送檢,所以不給。發(fā)布啊,望諒解)歡迎大家和我探討,感謝!'GlobalDataDefinitions

DimMyHandleAsLong'HandletoConnection

DimMyStatusAsInteger'StatusreturnedfrommbMasterV7ControlDimSlaveAsInteger'Slave,Cmd,Address,&LengthDimCmdAsIntegerDimAddressAsLongDimLengthAsIntegerDimLoopbackMsg(20)AsByte

PublicSubshow_status(ErrCodeAsInteger)If(ErrCode=0)Then

STATUS.Text=\正常通行ing\ElseIf(ErrCode0Then

'Connectionwassuccessful

'(Thisexampleonlyallowsasingleconnection)'DisableAllConnectionButtons

'EnabletheRead,Write&DisconnectButtonsConnectSerial.Enabled=FalseConnectTAPI.Enabled=FalseConnectTCP.Enabled=FalseDisconnect.Enabled=True'LoopBackTst.Enabled=TrueSTATUS.Text=\正在連接ing\READMODBUS.Enabled=TrueWRITEMODBUS.Enabled=TrueElse

'ConnectionAttemptFailed

'(AnotherapplicationmusthavecontroloftheCOMPort)STATUS.Text=\串口忙,請(qǐng)稍候\EndIfEndSub

'HandlerfortheCONNECTTAPIButtonPrivateSubConnectTAPI_Click()

DimnTAPIDevicesAsLongDimTAPIDeviceAsString

'GothroughthemotionsofgettingtheTAPIDeviceListnTAPIDevices=MbMasterV71.NumberOfTAPIDevices()TAPIDevice=MbMasterV71.GetTAPIDeviceName(0)'SetupthephonenumbertodialMbMasterV71.PhoneNumber=\'Dialthecall

MyHandle=MbMasterV71.DialTAPIDevice(0)IfMyHandle>0Then

'Callshouldbeinprogressnow'Don'tenabletheRead&WriteButtons'untilwegettheCallEstablishedEventSTATUS.Text=\正在連接ing\ConnectSerial.Enabled=FalseConnectTAPI.Enabled=FalseConnectTCP.Enabled=FalseDisconnect.Enabled=False'LoopBackTst.Enabled=FalseREADMODBUS.Enabled=FalseWRITEMODBUS.Enabled=FalseElse

STATUS.Text=\沒有連接\EndIfEndSub

'Han

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論