




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、摘要 本文主要介紹了在DELPHI和Microsoft Access數(shù)據(jù)庫開發(fā)環(huán) 境下,PC機(jī)應(yīng)用軟件與西門子S7-300系列PLC的數(shù)據(jù)通信的實(shí)現(xiàn)方 法。并把此方法應(yīng)用于復(fù)雜控制系統(tǒng)的調(diào)試及PC機(jī)管理系統(tǒng)與PLC 控制系統(tǒng)的信息交換中。關(guān)鍵字DELPHI, PRODAVE,數(shù)據(jù)通信,可編程序控制器,MPI ABSTRACT This paper introduces data communication method between PC applications , which take DELPHI and Microsoft Access as their programming la
2、nguage, and SIMENTIC S7-300 PLC (programmable Logic Controller). And the method is applied to debugging of complicated system and data traffic between management system and PLC system.KEY WORDS PRODAVE; PLC; Data communication; MPI; DELPHI引言西門子工控產(chǎn)品在我國有較高的市場占有率,它的通信及網(wǎng)絡(luò)產(chǎn)品有 著引導(dǎo)世界工控技術(shù)潮流的作用,研究西門子工控產(chǎn)品及通信技
3、術(shù)的 實(shí)際應(yīng)用問題有著廣泛普遍的重要意義。本文通過對某市級煙草公司 的卷煙配送分揀系統(tǒng)的研究,探討了在Windows環(huán)境下,用Delphi開 發(fā)的數(shù)據(jù)庫應(yīng)用軟件與西門子S7-300之間通信的實(shí)現(xiàn)問題。該卷煙 配送分揀系統(tǒng)計(jì)算機(jī)部分結(jié)構(gòu)如圖1所示。該系統(tǒng)管理計(jì)算機(jī)接收信息中心局域網(wǎng)發(fā)送來的各條送貨線路當(dāng)天 的訪銷信息數(shù)據(jù),在此基礎(chǔ)上管理計(jì)算機(jī)建立起以送貨線路為單位的 配方數(shù)據(jù)庫,將配方數(shù)據(jù)分批次連續(xù)地下傳給PLC。PLC根據(jù)下傳的 配方數(shù)據(jù)對系統(tǒng)控制使其連續(xù)分揀和收集,同時(shí)系統(tǒng)工作狀態(tài)及工作 數(shù)據(jù)通過PROFIBUS現(xiàn)場總線在兩個(gè)觸摸屏TP27-10得到動(dòng)態(tài)顯示, 最后在收集工位自動(dòng)得到一箱對應(yīng)
4、一個(gè)銷售網(wǎng)點(diǎn)的用戶配料。為了提 高調(diào)系統(tǒng)試效率,我們在DELPHI和Microsoft Access數(shù)據(jù)庫平臺上 編寫了用于PLC控制程序的調(diào)試軟件。從上看出該系統(tǒng)能否研制成功必須要解決的問題是:西門子S7-300 系列PLC通訊協(xié)議不公開,管理計(jì)算機(jī)和調(diào)試計(jì)算機(jī)上第三方軟件編 制的程序如何實(shí)現(xiàn)PC機(jī)與西門子S7-300系列PLC信息交換?通過技 術(shù)調(diào)研和實(shí)際調(diào)試,我們成功實(shí)現(xiàn)了在VB、DELPHI程序開發(fā)平臺上 開發(fā)的管理程序及調(diào)試程序與S7-300系列PLC通信,順利完成了系 統(tǒng)研制任務(wù)。限于篇幅,本文以調(diào)試軟件的通信實(shí)現(xiàn)方法來討論第三 方應(yīng)用軟件與西門子S7-300 PLC的通信問題。2
5、調(diào)試軟件設(shè)計(jì)根據(jù)PLC控制程序的調(diào)試要求,該調(diào)試軟件使用DELPHI的數(shù)據(jù)庫技 術(shù)把事先設(shè)計(jì)的60個(gè)配方數(shù)據(jù)寫入數(shù)據(jù)庫,根據(jù)調(diào)試需要也可通過人 機(jī)界面對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行任意修改,當(dāng)執(zhí)行“下傳數(shù)據(jù)”命令時(shí) 把數(shù)據(jù)庫中的數(shù)據(jù)字段進(jìn)行一定數(shù)據(jù)處理后通過調(diào)用PRODAVE S7軟 件包寫入PLC中對應(yīng)的DB (DATA BLOCKS)塊,其中一條記錄對應(yīng)一 個(gè)DB塊,每條記錄的一個(gè)字段對應(yīng)該DB塊中的一個(gè)字。該調(diào)試軟件 也可按一定順序讀PLC中各DB塊中的字,并把讀取的數(shù)據(jù)經(jīng)過處理 后寫入數(shù)據(jù)庫,以供調(diào)試人員檢查寫入數(shù)據(jù)的正確性。PC機(jī)與PLC CPU318-2DP MPI 口之間的數(shù)據(jù)通信是通過P
6、C/MPI適配器硬件連接實(shí) 現(xiàn)的。3數(shù)據(jù)通信3.1 通信軟件實(shí)現(xiàn)PC機(jī)與PLC之間的數(shù)據(jù)通信是一個(gè)棘手的問題。西門子公司的 PRODAVE S7軟件包的動(dòng)態(tài)鏈接庫(DLL)提供了大量的基于Windows NT, Windows95/98, Windows3. 11或MS-DOS的函數(shù),這樣就使用戶解決 PLC與PC之間的數(shù)據(jù)交換和數(shù)據(jù)處理問題變?yōu)榭赡堋?.2 通信函數(shù)在DELPHI的Object Pascal語言中,要訪問動(dòng)態(tài)鏈接庫DLL(Dynamic Link Library )中的例程有兩種方式。一種是靜態(tài)引入方式;另一種 是動(dòng)態(tài)引入方式。木軟件使用靜態(tài)引入方式,即在單元的Interfa
7、ce部分用External 指示字列出要從DLL中引入的例程。如果要引入的例程比較多,就可 以用一個(gè)專門的單元來集中聲明要引入的例程。PLC控制程序調(diào)試軟件用到的PRODAVE函數(shù)主要有:(l)load_tool PC機(jī)與PLC系統(tǒng)初始化鏈接;(2)unload_tool斷開PC機(jī)與PLC系統(tǒng)鏈接;1 /1(3) db_read從PLC的DB塊中讀數(shù)據(jù)字;(4)db_write向PLC的DB塊中寫數(shù)據(jù)字。3.3通信程序的實(shí)現(xiàn)在該調(diào)試軟件中用一個(gè)專門的單元集中聲明要引入的PRODAVE S7動(dòng) 態(tài)鏈接庫的例程,然后在程序中在引用這個(gè)單元,即把引入單元prodave加到程序的Uses子句。該引入單
8、元的代碼如下:unit prodave;interfacetypeTadr_tab1e_type=recordadr:byte; segmentid:byte;slotno:byte; rackno:byte;end;functionload_tool(no:Byte;name:PChar;adr_table_type:PChar):Integer;stdcall; external ,zw95_s7. dll;function unload_tool:Integer;stdcal1;external w95_s7,dll; functiondb_read(blockno:integer;no
9、:integer;amount:pointer;buffer:po inter):integer;stdcall;external w95_s7. dll;functiondb_write(blockno:integer;no:integer;amount:pointer;buffer:pointer):integer;stdcall;external w95_s7. dll;implementationend.在調(diào)試軟件的主程序中調(diào)用該引入單元前,須將軟件包prodave. pas 文件加到工程中。這樣才能在主程序中調(diào)用w95_s7.dll中的函數(shù), 具體程序調(diào)用實(shí)現(xiàn)如下:implement
10、ationuses prodave;$R *. DFM) beginplc_adr_table 0 :二 2; address plc_adr_table 1 := 0;segment id)plc_adr_table2 :=2; slotno plc_adr_table3 := 0; rackno) plc_adr_table 4 := 0;res := Load_tool (1, SyONLINE, plc_adr_table); 初始化鏈接 函數(shù)load_tool的作用在于初始化適配器,初始化參數(shù)的地址以及激 活選定的界面。程序在讀寫PLC數(shù)據(jù)前應(yīng)該用該函數(shù)初始化PC機(jī)與 PLC的連接。
11、此函數(shù)傳送以下3個(gè)參數(shù):no:此參數(shù)設(shè)置可激活連接的數(shù)量,連接個(gè)數(shù)可以達(dá)到16個(gè)。此例中,no=l;device:用戶驅(qū)動(dòng)設(shè)備名稱,如MPI驅(qū)動(dòng)器的設(shè)備名為“S70NLINE”; plc_adr_table:連接部分的地址列表指針。如果沒有錯(cuò)誤,此函數(shù)返回0,否則返回錯(cuò)誤信息的相應(yīng)十六進(jìn)制代 碼。下面給出數(shù)據(jù)下載程序:beginerror:=false;tablel. first; 定位到配方表的首記錄for i:=2 to 61 do /把60個(gè)配方數(shù)據(jù)寫到 DB2-DB61beginfor j:=l to 42 do 把42個(gè)庫位的自動(dòng)配煙數(shù)的值高低字節(jié)調(diào)換位 置存入buffer數(shù)組beg
12、inc0:=tablel. fields, fields j. asinteger;clow:二cO shl 8;chigh:=c0 shr 8;cdate:=clow xor chigh;buffer j-l:=cdate;end;anzahl:=42;dbno:=i; DB 塊dwno:=l; 第1個(gè)數(shù)據(jù)字,即DW21/1res := db_write(dbno, dwno, anzahl, buffer);函數(shù)db_write()的作用是從PC機(jī)的數(shù)組變量“buffer”中給PLC的 第“dbn?!眰€(gè)數(shù)據(jù)塊中從“dwn?!眰€(gè)數(shù)據(jù)字開始寫“anzahl”個(gè)數(shù) 據(jù)字。如果數(shù)據(jù)塊不存在,將返回
13、錯(cuò)誤信息的代碼。如果要寫的數(shù)據(jù) 字?jǐn)?shù)目的長度超過了數(shù)據(jù)塊的長度,要寫的數(shù)據(jù)字的長度將得到更 正,同時(shí)此函數(shù)還返回303H的錯(cuò)誤信息。需要特別注意的是:數(shù)據(jù)在緩沖區(qū)存放的順序是從高字節(jié)到低字節(jié)。 而Object Pascal語言中,變量類型為word的變量,它的數(shù)據(jù)存放順 序是從低字節(jié)到高字節(jié)。因而,在對所讀取的數(shù)據(jù)進(jìn)行操作時(shí)或給 PLC數(shù)據(jù)塊中寫數(shù)據(jù)字時(shí)要進(jìn)行相應(yīng)的處理。結(jié)束程序之前,必須調(diào)用適配器函數(shù)unload_tool斷開PC機(jī)與PLC 的連接。否則,將引起PC機(jī)死機(jī),或者系統(tǒng)紊亂。由于數(shù)據(jù)上傳與數(shù)據(jù)下載的實(shí)現(xiàn)方法相近,限于篇幅,數(shù)據(jù)上傳實(shí)現(xiàn) 的方法本文不予介紹,請讀者參考數(shù)據(jù)下載實(shí)現(xiàn)方法部分。4結(jié)束語運(yùn)用DELPHI開發(fā)環(huán)境編寫的PLC控制程序調(diào)試軟件,具有界面友好、 人機(jī)交互功能方便、數(shù)據(jù)庫功能強(qiáng)大靈活的優(yōu)點(diǎn),具有一定的通用性 和實(shí)用性。而且通過調(diào)用PRODAVE S7軟件包的動(dòng)態(tài)鏈接庫實(shí)現(xiàn)PC機(jī) 對PLC CPU318-2DP數(shù)據(jù)的讀寫操作,不但數(shù)據(jù)傳輸數(shù)率快,而且數(shù) 據(jù)傳輸正確率高。在對PLC控制系統(tǒng)的調(diào)試過程中,可以大大縮短調(diào) 試
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 第12課《醉翁亭記》教學(xué)設(shè)計(jì)-2024-2025學(xué)年統(tǒng)編版語文九年級上冊
- Moudle7過程寫作(教學(xué)設(shè)計(jì))-2023-2024學(xué)年外研版英語八年級下冊
- 滬科版 信息技術(shù) 必修 5.2.4.終身學(xué)習(xí)迎接挑戰(zhàn) 教學(xué)設(shè)計(jì)
- 二零二五年度租賃房屋合同申請流程與租金調(diào)整機(jī)制
- 二零二五年度家庭保姆就業(yè)權(quán)益保護(hù)合同
- 二零二五年度國際貿(mào)易總公司設(shè)立分公司合作協(xié)議
- 2025年度校方責(zé)任險(xiǎn)賠償協(xié)議書:校園公共衛(wèi)生事件責(zé)任賠償協(xié)議
- 2025年河南省平頂山市單招職業(yè)適應(yīng)性測試題庫完美版
- 二零二五年度股權(quán)投資股份占比確認(rèn)協(xié)議書范本
- 2025年度股東投資業(yè)績對賭協(xié)議書
- 西師版三年級下冊數(shù)學(xué)教學(xué)反思合集
- 2022年湖南汽車工程職業(yè)學(xué)院單招筆試職業(yè)技能考試試題及答案解析
- 電纜防火封堵施工標(biāo)準(zhǔn)【實(shí)用文檔】doc
- 牙周炎-牙周牙髓聯(lián)合病變
- 分布式光伏電站運(yùn)行維護(hù)技術(shù)方案
- GB/T 9793-2012熱噴涂金屬和其他無機(jī)覆蓋層鋅、鋁及其合金
- GB/T 26121-2010可曲撓橡膠接頭
- 計(jì)算機(jī)輔助設(shè)計(jì)技術(shù)CAD技術(shù)概述
- GB/T 14643.3-2009工業(yè)循環(huán)冷卻水中菌藻的測定方法第3部分:黏泥真菌的測定平皿計(jì)數(shù)法
- GB/T 1095-2003平鍵鍵槽的剖面尺寸
- GB 31631-2014食品安全國家標(biāo)準(zhǔn)食品添加劑氯化銨
評論
0/150
提交評論