avav588con,最近2019中文免费字幕在线观看,欧美一道本一区二区三区,九九热在线观看,经典好看免费AV

廈門阿米控技術(shù)有限公司
免費(fèi)會(huì)員

當(dāng)前位置:廈門阿米控技術(shù)有限公司>>ABB>> ABB 3HNP 04765-1ABB 3HNP 04765-1

ABB 3HNP 04765-1

參  考  價(jià)面議
具體成交價(jià)以合同協(xié)議為準(zhǔn)

產(chǎn)品型號(hào)ABB 3HNP 04765-1

品       牌

廠商性質(zhì)經(jīng)銷商

所  在  地廈門市

更新時(shí)間:2022-04-21 13:36:51瀏覽次數(shù):323次

聯(lián)系我時(shí),請(qǐng)告知來自 智慧城市網(wǎng)
同類優(yōu)質(zhì)產(chǎn)品更多>
ABB 3HNP 04765-1
我們是工業(yè)自動(dòng)化領(lǐng)域的備件專家
庫存:大量新的和停產(chǎn)的零部件廣泛的廠牌。
經(jīng)濟(jì)實(shí)惠:有競(jìng)爭(zhēng)力的價(jià)格和特定的經(jīng)銷商折扣
可靠:每件產(chǎn)品都經(jīng)過測(cè)試并享受至少12個(gè)月的保修。
速度:快速反應(yīng),高效交付。
專業(yè)的:堅(jiān)實(shí)的商業(yè)組織,訓(xùn)練有素的工程師。
:合作伙伴和供應(yīng)商網(wǎng)絡(luò)。

ABB 3HNP 04765-1

ABB 3HNP 04765-1

DELPHI開發(fā)環(huán)境下PC機(jī)應(yīng)用軟件與PLC的數(shù)據(jù)通信的編程與實(shí)現(xiàn)

 

摘要 本文主要介紹了在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 language, 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)品及通信技術(shù)的實(shí)際應(yīng)用問題有著廣泛普遍的重要意義。本文通過對(duì)某市級(jí)煙草公司的卷煙配送分揀系統(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ù)對(duì)系統(tǒng)控制使其連續(xù)分揀和收集,同時(shí)系統(tǒng)工作狀態(tài)及工作數(shù)據(jù)通過PROFIBUS 現(xiàn)場(chǎng)總線在兩個(gè)觸摸屏TP27-10得到動(dòng)態(tài)顯示,后在收集工位自動(dòng)得到一箱對(duì)應(yīng)一個(gè)銷售網(wǎng)點(diǎn)的用戶配料。為了提高調(diào)系統(tǒng)試效率,我們?cè)贒ELPHI和Microsoft Access數(shù)據(jù)庫平臺(tái)上編寫了用于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ā)平臺(tái)上開發(fā)的管理程序及調(diào)試程序與S7-300系列PLC通信,順利完成了系統(tǒng)研制任務(wù)。限于篇幅,本文以調(diào)試軟件的通信實(shí)現(xiàn)方法來討論第三方應(yīng)用軟件與西門子S7-300 PLC的通信問題。

2調(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ī)界面對(duì)數(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中對(duì)應(yīng)的DB(DATA BLOCKS)塊,其中一條記錄對(duì)應(yīng)一個(gè)DB塊,每條記錄的一個(gè)字段對(duì)應(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ù)通信是通過PC/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)榭赡堋?/span>

3.2 通信函數(shù)

在DELPHI的Object Pascal語言中,要訪問動(dòng)態(tài)鏈接庫DLL(Dynamic Link Library)中的例程有兩種方式。一種是靜態(tài)引入方式;另一種是動(dòng)態(tài)引入方式。

本軟件使用靜態(tài)引入方式,即在單元的Interface部分用External指示字列出要從DLL中引入的例程。如果要引入的例程比較多,就可以用一個(gè)專門的單元來集中聲明要引入的例程。

PLC控制程序調(diào)試軟件用到的PRODAVE函數(shù)主要有:

(1)load_tool PC機(jī)與PLC系統(tǒng)初始化鏈接;

(2)unload_tool 斷開PC機(jī)與PLC系統(tǒng)鏈接;

(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子句。該引入單元的代碼如下:

unit prodave;

interface

type

Tadr_table_type=record

adr:byte; segmentid:byte;

slotno:byte; rackno:byte;

end;

function load_tool(no:Byte;name:PChar;adr_table_type:PChar):Integer;stdcall;external "w95_s7.dll";

function unload_tool:Integer;stdcall;external "w95_s7.dll";

function db_read(blockno:integer;no:integer;amount:pointer;buffer:pointer):integer;stdcall;external "w95_s7.dll";

function db_write(blockno:integer;no:integer;amount:pointer;buffer:pointer):integer;stdcall;external "w95_s7.dll";

……

implementation

end.

在調(diào)試軟件的主程序中調(diào)用該引入單元前,須將軟件包prodave.pas文件加到工程中。這樣才能在主程序中調(diào)用w95_s7.dll中的函數(shù),具體程序調(diào)用實(shí)現(xiàn)如下:

implementation

uses prodave;

{$R *.DFM}

……

begin

plc_adr_table[0> := 2; {address} plc_adr_table[1> := 0; {segment id}

plc_adr_table[2> := 2; {slotno} plc_adr_table[3> := 0; {rackno} plc_adr_table[4> := 0;

res := Load_tool(1,"S7ONLINE",@plc_adr_table); //初始化鏈接

函數(shù)load_tool的作用在于初始化適配器,初始化參數(shù)的地址以及激活選定的界面。程序在讀寫PLC數(shù)據(jù)前應(yīng)該用該函數(shù)初始化PC機(jī)與PLC的連接。

此函數(shù)傳送以下3個(gè)參數(shù):

no:此參數(shù)設(shè)置可激活連接的數(shù)量,連接個(gè)數(shù)可以達(dá)到16個(gè)。此例中,;

device:用戶驅(qū)動(dòng)設(shè)備名稱,如MPI驅(qū)動(dòng)器的設(shè)備名為“S7ONLINE”;

plc_adr_table:連接部分的地址列表指針。

如果沒有錯(cuò)誤,此函數(shù)返回0,否則返回錯(cuò)誤信息的相應(yīng)十六進(jìn)制代碼。下面給出數(shù)據(jù)下載程序:

begin

error:=false;

table1.first; //定位到配方表的首記錄

for i:=2 to 61 do //把60個(gè)配方數(shù)據(jù)寫到DB2-DB61

begin

for j:=1 to 42 do //把42個(gè)庫位的自動(dòng)配煙數(shù)的值高低字節(jié)調(diào)換位置存入buffer數(shù)組

begin

c0:=table1.fields.fields[j>.asinteger;

clow:=c0 shl 8;

chigh:=c0 shr 8;

cdate:=clow xor chigh;

buffer[j-1>:=cdate;

end;

anzahl:=42;

dbno:=i; //DB

dwno:=1; //第1個(gè)數(shù)據(jù)字,即DW2

res := db_write(dbno,dwno,@anzahl,@buffer);

函數(shù)db_write()的作用是從PC機(jī)的數(shù)組變量“buffer”中給PLC的第“dbno”個(gè)數(shù)據(jù)塊中從“dwno”個(gè)數(shù)據(jù)字開始寫“anzahl” 個(gè)數(shù)據(jù)字。如果數(shù)據(jù)塊不存在,將返回錯(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é)。因而,在對(duì)所讀取的數(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)的方法本文不予介紹,請(qǐng)讀者參考數(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ī)對(duì)PLC CPU318-2DP數(shù)據(jù)的讀寫操作,不但數(shù)據(jù)傳輸數(shù)率快,而且數(shù)據(jù)傳輸正確率高。在對(duì)PLC控制系統(tǒng)的調(diào)試過程中,可以大大縮短調(diào)試周期,提高工作效率。此通信技術(shù)的實(shí)現(xiàn)對(duì)西門子工控產(chǎn)品的應(yīng)用及PROFIBUS現(xiàn)場(chǎng)總線的推廣應(yīng)用有著廣泛普遍的重要意義。

會(huì)員登錄

×

請(qǐng)輸入賬號(hào)

請(qǐng)輸入密碼

=

請(qǐng)輸驗(yàn)證碼

收藏該商鋪

X
該信息已收藏!
標(biāo)簽:
保存成功

(空格分隔,最多3個(gè),單個(gè)標(biāo)簽最多10個(gè)字符)

常用:

提示

X
您的留言已提交成功!我們將在第一時(shí)間回復(fù)您~
在線留言