資源描述:
《基于西門子Prodave的以太網(wǎng)通訊開發(fā).pdf》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在學術論文-天天文庫。
1、7ongheYan◆綜合研究l基于西門子Prodave的以太網(wǎng)通訊開發(fā)付余(杭州浙達精益機電技術股份有限公司,浙江杭州3l1122)摘要:西門子Prodave是基于以太網(wǎng)開發(fā)的一個動態(tài)鏈接庫,該動態(tài)鏈接庫提供給在Windows操作系統(tǒng)下的高級語言編輯器(VC、VB、Delphi等)使用?,F(xiàn)對Prodave@的函數(shù)進行介紹,并就其在以太網(wǎng)通訊開發(fā)中的應用進行簡要分析和探討。關鍵詞:Prodave以太網(wǎng);通訊0引言要設定該參數(shù)需要先定義兩個結構變量如下:Type在工業(yè)生產(chǎn)控制系統(tǒng)中,網(wǎng)絡就像人類大腦
2、的中樞神經(jīng)CONADRTYPE-record系統(tǒng),它把現(xiàn)場所有支持網(wǎng)絡通訊的設備全部連接起來,以便————Adresse:array[0..5]ofbyte;相互傳輸數(shù)據(jù),從而實現(xiàn)對工業(yè)生產(chǎn)的控制。在工業(yè)生產(chǎn)自動End;化系統(tǒng)中,目前有多種網(wǎng)絡在應用。Type雖然以太網(wǎng)在工業(yè)生產(chǎn)中已大量運用,然而在PC端基于PCONTABLETYPE=CONTABLETYPE;以太網(wǎng)與PLC直接通訊的方式一直沒有很好的方案,除西門子____CONTABLETYPE=record——自己的WinCC開發(fā)軟件外。由
3、于WinCC在做大量的數(shù)據(jù)處理—.Adr:CONADRTYPE;//PLC的地址時運行較慢,所以很多PC端的上位機都是用高級語言編輯器AdrType:byte;//PLC地址的類型(VC、VB、Delphi等)開發(fā)的。SlotNr:byte;//CPU插槽號1Prodave中的函數(shù)介紹RackNr:byte;//CPU機架地址end;Prodave是西門子基于C環(huán)境開發(fā)的動態(tài)鏈接庫,其中包含連接實現(xiàn)如下:了與PLC鏈接的函數(shù)、讀PLC內(nèi)存的函數(shù)、讀PLC中DB塊的函寫通訊函數(shù):數(shù),各函數(shù)原型如下
4、:functionCounectPLC:integer;(1)通訊連接函數(shù):LoadConnectionex6;vat(2)通訊斷開函數(shù):UnloadConnectionex6;AccessPoint:pchar;(3)讀DB數(shù)據(jù)塊函數(shù):dbreadex6;pConTable:C0NTABLETYPE:(4)寫DB數(shù)據(jù)塊函數(shù):dbwriteex6。ConTableLen,ConNr:Smallint;2Prodave在開發(fā)中的應用eror_no:Integer;begin2.1在Delphi中的
5、函數(shù)聲明AccessPoint:=Oetmemory(SizeoF(’S7ONLINE’)+lO);FunctionLoadConnectionex6(ConNr:Smallint;AccessPoint:—Strcopy(AccessPoint,’S7ONL1NE’);Pchar,ConTableLen:Smallint;pConTable:PCONTABLE__TYPE):ConNr:=0;integer;stdcall;extemalS7Connectname’LoadConnection
6、ex6’;_pConTable.Adr.Adresse[0]:=192;FunctionUnloadConnectionex6(ConNr:Smallint):integer;stdcaU;_pConTable.Adr.Adresse[1]:=168:externalS7CormectName’UnloadConnectionex6’;_pConTable.Adr.Adresse[2]:=1:Functiondbread—ex6(BlkNr:Integer;DatType:byte;StartN
7、r:—pConTable.Adr.Adresse[3]:=10:integer;Amount:pinteger;Buf~en:Integer;pBuchBufer:Pointer;pConTable.Adr.Adresse[4]:=0:pDatLen:Plnteger):integer;stdcall;externalS7ConnectNamepConTable.Adr.Adresse[5]:=0:’dbreadex6’;__pConTable.AdrType:=2;Functiondbwrit
8、e__ex6(BlkNr:Integer;DatType:byte;StartNr:pConTable.SlotNr:=2;integer;Amount:pinteger;ButLen:integer;pWriteBufer:Pointer):pConTable.RackNr:=0;integer;stdcall;externalS7ConnectName’dbwriteex6’;ConTableLen:=sizeof(pConTable);2.2連接參數(shù)設定及連接ReturnelTorno:=