時(shí)間:2008-01-07 15:21:00來源:dujing
圖1 硬件連接示意圖[/align]
(2) PLC部分編程
① 自由端口的初始化
在自由口通信模式下,通過設(shè)置特殊存儲(chǔ)器SMB30(端口0),來為自由端口通信選擇波特率、奇偶校驗(yàn)和數(shù)據(jù)位。這些設(shè)定必須與PC機(jī)設(shè)定值相一致。其格式如下:
SMB30
pp為奇偶校驗(yàn)選擇,d為數(shù)據(jù)位選擇,bbb為波特率選擇。
00為無校驗(yàn),0為每個(gè)字符8位,000為38 400
baud,001為19 200baud;
01為偶校驗(yàn),1為每個(gè)字符7位,010為9 600 baud,011為4 800baud;
10為無校驗(yàn),100為2 400baud,101為1 200baud;
11為奇校驗(yàn),110為600baud,111為300baud;
mm為協(xié)議選擇:00為PPI協(xié)議,01為自由口協(xié)議,10為PPI/主站模式,11默認(rèn)為PPI/從站模式。
② S7-200PLC實(shí)時(shí)向上位PC機(jī)傳送數(shù)據(jù)
在對(duì)電梯模型控制中,所有的控制信號(hào)均為開關(guān)量,基于這一特點(diǎn),系統(tǒng)狀態(tài)的改變即為這些開關(guān)量信號(hào)狀態(tài)的改變,因此可通過跟蹤這些開關(guān)量信號(hào)的上升沿信號(hào)、下降沿信號(hào)的到來,做為系統(tǒng)狀態(tài)改變的依據(jù)。據(jù)此在本系統(tǒng)中,通過對(duì)同一個(gè)開關(guān)量信號(hào)的上升沿、下降沿分別定義不同的16進(jìn)制數(shù)的方式,來代表信號(hào)的產(chǎn)生與結(jié)束,當(dāng)檢測(cè)到這些信號(hào)產(chǎn)生時(shí),便將這些數(shù)據(jù)存入指定的數(shù)據(jù)緩沖區(qū)中的字節(jié)中,并通過COM口發(fā)至上位PC機(jī),同時(shí)產(chǎn)生發(fā)送完成中斷,PLC延遲等待接收來自上位機(jī)的應(yīng)答信號(hào),通過分析存儲(chǔ)在接收字符緩沖器SMB2中的數(shù)據(jù),判斷是否需要重新發(fā)送。下位機(jī)程序如圖2所示。
[align=center]
圖2 下位機(jī)程序流程圖[/align]
(3) 上位機(jī)部分編程
基于VB處理監(jiān)控界面圖形、數(shù)據(jù)報(bào)表及通信的方便快捷,本課題上位機(jī)的編程環(huán)境采用VB來實(shí)現(xiàn)。VB不僅提供了MSCOMM串行通信控件,而且也為這個(gè)控件提供了標(biāo)準(zhǔn)的事件處理函數(shù),并通過設(shè)置它的一些屬性對(duì)通信接口進(jìn)行初始化,從而很容易的實(shí)現(xiàn)了串行通信的問題。
下面介紹一下有關(guān)此控件的屬性:
Commport,設(shè)置通信連接端口。程序必須指定要使用的串行端口的號(hào)碼,Windows使用所設(shè)置的通信端口與外界進(jìn)行通信。
Settings,設(shè)置初始化參數(shù)。其格式為“BBBB,P,D,S”,其中BBBB為連接速度,P為奇偶校驗(yàn)方式,D為數(shù)據(jù)位數(shù),S為停止位數(shù)。默認(rèn)值是“9 600,n,8,1”。
PortOpen,設(shè)置通信連接端口的狀態(tài)。使用串行端口之前必須先將要使用的串行端口打開。
Input,返回并刪除接收緩沖區(qū)中的數(shù)據(jù)流。
InputLen,設(shè)置從串行端口讀入的字符串長(zhǎng)度。
Rthreshold,設(shè)置引發(fā)接收事件的字符數(shù)。
InputMode,設(shè)置接收數(shù)據(jù)數(shù)據(jù)形式。
OnComm事件,用來處理所有與通信相關(guān)的事件。使用事件程序的好處是不需要一直讓程序處于檢測(cè)的狀態(tài)下,只要事先將程序代碼寫好,一有事件發(fā)生,就會(huì)直接執(zhí)行相對(duì)應(yīng)的程序代碼。可見這種事件驅(qū)動(dòng)的方式也為實(shí)現(xiàn)實(shí)時(shí)通信提供了必要的條件。上位機(jī)程序如圖3所示。
[align=center]
圖3 上位機(jī)程序流程圖[/align]
PC機(jī)根據(jù)接收到的信息很容易的實(shí)現(xiàn)對(duì)每個(gè)開關(guān)量的狀態(tài)進(jìn)行識(shí)別,從而控制監(jiān)控界面的實(shí)時(shí)顯示。
5 結(jié)語
以上是基于S7-200PLC自由口通信方式實(shí)現(xiàn)與上位機(jī)PC實(shí)時(shí)通信的一個(gè)簡(jiǎn)單應(yīng)用。經(jīng)驗(yàn)證,該方法簡(jiǎn)單、實(shí)時(shí)性好,可靠性高,對(duì)于邏輯控制系統(tǒng),是能夠?qū)崿F(xiàn)對(duì)被控對(duì)象實(shí)時(shí)監(jiān)控簡(jiǎn)單易行的方法。
參考文獻(xiàn)
[1] 馬國(guó)華. 監(jiān)控組態(tài)軟件及其應(yīng)用[M]. 清華大學(xué)出版社.
[2] 李志宏, 杜鵑, 張平, 等. 基于VB的PLC和上位機(jī)通信的實(shí)現(xiàn)方法[J]. 基礎(chǔ)自動(dòng)化, 2002,2.
[3] SIMATIC S7-200可編程控制器[M]. 系統(tǒng)手冊(cè), 2000,11.
[4] 范逸之, 等. 利用Visual Basic實(shí)現(xiàn)串并行通信技術(shù)[M]. 清華大學(xué)出版社標(biāo)簽:
傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為傳動(dòng)網(wǎng)(www.wangxinlc.cn)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
產(chǎn)品新聞
更多>500kN.m聯(lián)軸器扭矩剛度疲勞試驗(yàn)系統(tǒng)
2025-11-10
2025-11-10
多項(xiàng)行業(yè)首發(fā)!免畫圖拆單七大升級(jí)功能...
2025-11-07
2025-10-31
勇梅機(jī)械液壓閘門給煤機(jī)的優(yōu)點(diǎn)
2025-10-22
2025-10-17