三菱PLC與PC上位機(jī)VB通訊_第1頁
三菱PLC與PC上位機(jī)VB通訊_第2頁
三菱PLC與PC上位機(jī)VB通訊_第3頁
三菱PLC與PC上位機(jī)VB通訊_第4頁
三菱PLC與PC上位機(jī)VB通訊_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、三菱PLC通訊三菱PLC與PC上位機(jī)VB通訊三菱 PLC : FX1N + FX1N-232-BDFX2N + FX2N-232-BD計算機(jī): Windows XP中文企業(yè)版 + Visual Basic 6.0中文企業(yè)版Windows 98中文版 + Visual Basic 6.0中文企業(yè)版兩者之間連接使用的是FX-232CAB-1電纜線(2-3,3-2,4-6( 8), 5-5).三菱PLC的設(shè)置 三菱FX PLC在進(jìn)行計算機(jī)鏈接(專用協(xié)議)和無協(xié)議通訊( RS指令)時均須對通訊格式(D8120)進(jìn)行設(shè)定。其中包含有波特率、數(shù)據(jù)長度、奇偶校驗、停止位和協(xié)議格式等。在修改了 D8120的設(shè)

2、置后,確保關(guān)掉 PLC的電源,然后再打開。此外,對于采用 RS485形式1:N計算機(jī)鏈接的還必須對站點(diǎn)號(D8121 )進(jìn)行設(shè)定。設(shè)定的范圍從00H到0FH (即0到15)。在這里對D8120采用下述設(shè)置:bOb15 0110 1000 1000 1110688 E即數(shù)據(jù)長度為7位,偶校驗,2位停止位,波特率為 9600bps,無標(biāo)題符和終結(jié)符,采用計 算機(jī)鏈接(RS-232C),自動添加和校驗碼,采用專用協(xié)議格式同時設(shè)定站號為0。具體設(shè)定如下所示:M07 (MOV11EMDFX PLC進(jìn)行計算機(jī)鏈接時可用的專用協(xié)議有兩種: 是否在每一個塊上添加了 CR + LF,其中添加了格式 1和格式4。

3、兩種格式的差別在于CR + LF的是格式4。在這里采用格式 1。二.上位機(jī)程序的編制中文企業(yè)版編制上位機(jī)程序。這里采用 Microsoft 公司的 Visual Basic 6.0Visual Basic中提供了一個名為 MSCom的通信控件便于設(shè)計串行通信的程序。MSCom控件的主要屬性有:1. Com mPort 屬性Comm Port屬性用于指定所要使用的串行端口的號碼。雖然Win dows操作系統(tǒng)可以容納最多256個串行通信端口,不過Visual Basic 的MSCom控件則僅限于16個端口。2. Setti ngs 屬性9600, n,8,1”9600,e,7,2 ”作為設(shè)置值。S

4、ett in gs 設(shè)置完成之后, 必須完全一樣,使用RS-232通信的雙方,SettingsSett in gs 屬性用于設(shè)置初始化參數(shù)。以字符串的形式設(shè)置波特率、奇偶校驗、數(shù)據(jù)位、停 止位等4個參數(shù)。其格式為“ BBBB,P,D,S”,其中BBBB表示波特率,P表示奇偶校驗位檢查 方式,D表示數(shù)據(jù)位數(shù),S表示停止位數(shù)。一般情況下,歐美儀器習(xí)慣使用“ 當(dāng)成設(shè)置值;而日本儀器則習(xí)慣使用“ 所傳輸及接受的字符串便以此設(shè)置為準(zhǔn),彼此才能順利地通信,否則雙方將無法正確接收到彼此所傳輸?shù)男盘?。所以,該屬性的設(shè)置必須和三菱PLC中D8120的相關(guān)設(shè)置保持一致。在這里,統(tǒng)一采用“ 9600,e,7,2 ”

5、的設(shè)定。3. PortOpen 屬性窗體載入事件 選擇端口號 設(shè)置端口屬性 打開端口PortOpen屬性用于設(shè)置通信連接端口的狀態(tài)。在使用串行端口之前必須先將要使用的串行 端口打開。在上位機(jī)程序中應(yīng)進(jìn)行如下設(shè)定:Private Sub Form_Load() ' MSComm1.Com mPort = 1'MSComm1.Setti ngs = "9600,e,7,2"' MSComm1. PortO pen = True'End Sub4. Out put 屬性MSComm控件的Out put屬性提供了發(fā)送的功能,當(dāng)從計算機(jī)向可編程控制器寫

6、入數(shù)據(jù)或從 可編程控制器讀取數(shù)據(jù)時,上位機(jī)應(yīng)當(dāng)先發(fā)出以下格式(格式1)的指令字符串:ENQ站號PC號 命令 消息等待時間 字符區(qū)域A和校驗代碼 其中站號為在 D8121中的設(shè)定值,這里是:00, PC號對于FX系列為:FF。因為ENQ , ACK , NAK等通信控制字符是不可見字符,所以先用Chr函數(shù)對其進(jìn)行賦值:ENQ=Chr (5) ACK=Chr (6) NAK=Chr (&H15 )然后在上位機(jī)程序中寫入以下代碼即可發(fā)出指令:MSComml.Output=ENQ &“00FF<命令 ><消息等待時間 ><字符區(qū)域A><和校驗代

7、碼 >”5. Input 屬性與Out put屬性相反,Inp ut屬性提供了接收數(shù)據(jù)的功能。它將對方傳到輸入緩沖區(qū)中的數(shù) 據(jù)讀進(jìn)程序中,并清除緩沖區(qū)中已被讀取的數(shù)據(jù)。a. 如果是從計算機(jī)向可編程控制器寫入數(shù)據(jù)時,接收到從可編程控制器返回的應(yīng)該是以下 格式的字符串:后一種表示可編程控制器未ACK站號PC號或者 NAK站號PC號錯誤代碼 前一種表示可編程控制器已經(jīng)正確接收到從計算機(jī)發(fā)來的指令, 正確接收到從計算機(jī)發(fā)來的指令。b. 如果是從計算機(jī)向可編程控制器讀取數(shù)據(jù)時,接收到從可編程控制器返回的應(yīng)該是以下 格式的字符串:B ETX和校驗代碼或者NAK站號PC號錯誤代碼Timer控件。將 O

8、ut put和Inp ut放在Timer控件的Timer事 控件的Interval屬性中設(shè)置的間隔去發(fā)送指令和接收數(shù)據(jù)。對于MSCom控件的其他一些屬性使用 VB的默認(rèn)值即可。 在串行通信傳輸?shù)膽?yīng)用中,經(jīng)常使用的Chr函數(shù): Asc函數(shù):Len函數(shù):Mid函數(shù):Left函數(shù):STX站號PC號字符區(qū)域 如果要連續(xù)讀取數(shù)據(jù)可以利用 件中即可。程序會以 TimerVisual Basic 中的字符串處理函數(shù)如下: 返回含有特定ANSI或DBCS字符碼的字符串。返回字符串第一個字符的 ANSI或DBCS字符碼。返回以字符數(shù)為單位的字符串長度。取得字符串中特定數(shù)量的字符,可指定開始獲取的位置和長度。取得

9、字符串的左邊固定字符數(shù)的字符串。Right函數(shù):取得字符串的右邊固定字符數(shù)的字符串。Val函數(shù):把字符串轉(zhuǎn)換為數(shù)值,可以將8進(jìn)制或16進(jìn)制的字符串轉(zhuǎn)換為10進(jìn)制。Hex函數(shù):返回以十六進(jìn)制數(shù)值表示的字符串。RS指令應(yīng)用一三菱PLC與計算機(jī)利用RS指令進(jìn)行通訊(通訊手冊9-14例)三菱 PLC : FX1N + FX1N-232-BD計算機(jī): Windows XP中文企業(yè)版 + Visual Basic 6.0中文企業(yè)版Windows 98中文版 + Visual Basic 6.0中文企業(yè)版兩者之間連接使用的是FX-232CAB-1電纜線(2-3,3-2,4-6( 8), 5-5)一.三菱PL

10、C的設(shè)置三菱FX PLC在進(jìn)行計算機(jī)鏈接(專用協(xié)議)和無協(xié)議通訊( RS指令)時均須對通訊格式(D8120)進(jìn)行設(shè)定。其中包含有波特率、數(shù)據(jù)長度、奇偶校驗、停止位和協(xié)議格式等。在修改了 D8120的設(shè)置后,確保關(guān)掉 PLC的電源,然后再打開。在這里對D8120采用下述設(shè)置:b15b00000 0100 1000 11110 48 F即數(shù)據(jù)長度為8位,偶校驗,2位停止位,波特率為 9600bps,無標(biāo)題符和終結(jié)符,沒有添 加和校驗碼,采用無協(xié)議。PLC程序如下:K«002H9000I-ERSTruDuDOW4SFDllQA1 £0MVOCQDJ.9B3pLFH?0seH

11、63;0二.上位機(jī)程序的編制完整程序代碼及注釋如下:Private Sub cmd1_Click()Ibll.Ca ptio n =""'發(fā)送按鈕pi3T|srTM3J.Z3HS122pNTIf txt1.Text = "" The n'若發(fā)送數(shù)據(jù)欄中未鍵入指令則提示鍵入指令lbl1.Ca ptio n = "P lease inp ut data"ElseMSComm1.Out put = txt1.TextTimer1.E nabled = TrueEnd If'發(fā)送指令'觸發(fā)延時接收End Sub

12、Private Sub Form_Load()MSComm1.Com mPort = 1MSComm1.Setti ngs = "9600,e,8,2" MSComm1. PortOpen = True End Sub'窗體載入事件'選擇端口號'設(shè)置端口屬性'打開端口P rivate Sub Timer1_Timer()NAK = Chr(&H15)If MSComm1.l nBufferCou nt > 0 Then'延時500ms接收txt2.Text =""a = MSComm1.I nputt

13、xt2.Text = aElselbl1.Ca ptio n = "No respon se"End IfTimer1.E nabled = False'在接收數(shù)據(jù)欄中顯示接收到的數(shù)據(jù)End SubRS指令應(yīng)用二三菱PLC與儀表之間通訊三菱 PLC : FX1N + FX1N-232-BD儀表(稱重器)兩者之間連線該儀表僅提供3線式的簡化RS-232C 口,即只有:RXD TXD和 GND于是采用2-3,3-2,5-5的三線接法。1.對D8120進(jìn)行設(shè)置并使其與儀表中的設(shè)置一致,對其中的控制線設(shè)置成使用無硬件握手方式,即(b12,b11,b10)=( 0,0,0)。根據(jù)儀表說明書上對通訊的要求,設(shè)置如下:b15b00000 0000 1000 01100 0 8 62.根據(jù)儀表說明書所述,該種儀表有兩種工作方式:連續(xù)發(fā)送和指令狀態(tài)。這里設(shè)置成指 令狀態(tài),即儀表根據(jù)發(fā)來的指令返回相應(yīng)的數(shù)據(jù)。在此使用READ指令,根據(jù)指令協(xié)議,輸入的指令必須以<CR><LF>確認(rèn)。所以REA

溫馨提示

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

評論

0/150

提交評論