国产一区二区三区毛片_亚洲乱码AV中文一区二区_亚洲精品无码专区在线播放_日韩欧美一二_咪咪av影院_欧久久av一区二区

wjun7610
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 127 個
工控威望: 249 點(diǎn)
下載積分: 708 分
在線時間: 35(小時)
注冊時間: 2007-09-16
最后登錄: 2025-05-07
查看wjun7610的 主題 / 回貼
樓主  發(fā)表于: 2013-04-13 12:43
S7200_PPI動態(tài)庫DLL+實(shí)例.rar (490 K) 下载次数:1920    S7200_PPI.dll V3.2 通信協(xié)議串口通訊動態(tài)鏈接庫DLL(以下簡稱DLL),是為滿足工業(yè)通信需要,

針對工業(yè)領(lǐng)域要求上位機(jī)對西門子S7-200系列PLC通訊實(shí)時采集與控制的組態(tài)編程而設(shè)計。

本DLL是采用Delphi語言開發(fā)的標(biāo)準(zhǔn)串口通訊庫,具有以下特點(diǎn):

1)、遵循西門子PLC的PPI通訊協(xié)議;

2)、支持多串口并發(fā)操作,支持多線程串口通訊,將串口通訊對主程序的影響降至最低;

3)、實(shí)時性、可靠性好,通用性強(qiáng);

4)、適用于多PLC(下位機(jī))聯(lián)網(wǎng)和上位機(jī)通信,滿足多方面的需要;

5)、函數(shù)接口功能全,操作簡單,支持PPI通訊協(xié)議的絕大部分地址的讀寫功能函數(shù);

6)、支持USB、PC擴(kuò)展卡等擴(kuò)展串口號;

7)、支持多種操作系統(tǒng)win9x/win2000/winXP(標(biāo)準(zhǔn)Win32 DLL);

8)、易于快速開發(fā)(VC等非RAD開發(fā)環(huán)境的開發(fā));

9)、更新原有函數(shù)調(diào)用方式采用數(shù)組調(diào)用數(shù)據(jù)發(fā)生與接收,初學(xué)者快速入門;

10)、可在多種編程環(huán)境下使用,例如VB、VC、Delphi、PB、Labview、易語言等開發(fā)環(huán)境;

11)、擴(kuò)展了函數(shù)功能讀取下位機(jī)中的雙字、單精度浮點(diǎn)等類型數(shù)據(jù),更加符合工業(yè)自動化領(lǐng)域的工控軟件的開發(fā)。

軟件版本更新及相關(guān)說明:

S7200_PPI.dll V3.2 串口通訊鏈接庫,實(shí)現(xiàn)了對S7-200系列PLC的I、Q、M、V、S、、SM、C、T區(qū)軟元件的讀寫功能

wangjun于2008年在原有S7200_PPI.dll V2.0版基礎(chǔ)上的更新版,重寫了函數(shù)結(jié)構(gòu),采用數(shù)據(jù)接收和發(fā)送緩沖區(qū)

(數(shù)組)方式傳遞,讀出和寫入單元數(shù)據(jù)使用更方便。對于16位整數(shù)和32位整數(shù)讀取寫入均按有符號整數(shù)處理,

小數(shù)的返回按單精度浮點(diǎn)型(2進(jìn)制浮點(diǎn))處理讀取方式。提供擴(kuò)展功能函數(shù),方便用戶實(shí)現(xiàn)混合數(shù)據(jù)讀取。

能夠同時滿足32個串口并發(fā)情況下的正常使用。

S7200_PPI.dll V3.2 分為完美版和單機(jī)版兩個版本。

注意:實(shí)例在使用時不能超出試用版的地址限制,否則無法正確通訊。

龍帥工作室為您提供專業(yè)串口通訊控件,也可為您訂制

專用通訊協(xié)議串口控件。目前龍帥系列串口通訊協(xié)議

控件包括modbus_rtu、modbus_tcp、三菱FX PLC編程口、

歐姆龍HostLink、西門子PPI等多個系列產(chǎn)品。

淘寶店:http://shop34821629.taobao.com

電  話:13912935690

騰訊QQ:157610979

阿里旺旺: wj_longshuai

郵  箱:157610979@QQ.com        

        wjun7610@yahoo.com.cn

        chinawanglong@163.com
[ 此帖被wjun7610在2013-04-13 15:03重新編輯 ]
wjun7610
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 127 個
工控威望: 249 點(diǎn)
下載積分: 708 分
在線時間: 35(小時)
注冊時間: 2007-09-16
最后登錄: 2025-05-07
查看wjun7610的 主題 / 回貼
1樓  發(fā)表于: 2013-04-13 12:47
DLL串口操作函數(shù)包括:

  1)、S7200ComOpen打開串口;

  2)、S7200ComClose關(guān)閉串口;
      
  3)、S7200SetDelay串口通訊延時設(shè)定;
                    
  4)、S7200ComTrue判斷串口是否打開成功;
            
  5)、S7200ComWork判斷串口是否正在工作中;

S7200 PPI協(xié)議功能函數(shù):

  1)、S7200BitRead    位讀取函數(shù)

  2)、S7200ByteRead   字節(jié)讀取函數(shù)

  3)、S7200WordRead   字讀取函數(shù)

  4)、S7200DwordRead  雙字讀取函數(shù)

  5)、S7200FloatRead  浮點(diǎn)讀取函數(shù)

  6)、S7200BitWrite   位賦值函數(shù)

  7)、S7200ByteWrite  字節(jié)賦值函數(shù)

  8)、S7200WordWrite  字賦值函數(shù)

  9)、S7200DwordWrite 雙字賦值函數(shù)

10)、S7200FloatWrite 浮點(diǎn)賦值函數(shù)

11)、S7200BitEWrite  元件強(qiáng)制賦值函數(shù)

12)、S7200EbitCancel 取消位元件強(qiáng)制值函數(shù)

13)、S7200PlcRun     置PLC為運(yùn)行模式

14)、S7200PlcStop    置PLC為停止模式

S7200 PPI協(xié)議DLL緩沖區(qū)傳遞功能函數(shù)包括:

  1)、S7200ClearBuf         清除復(fù)位DLL緩存區(qū)

  2)、S7200ByteReadBuf      字節(jié)讀取函數(shù)  

  3)、S7200WordReadBuf      字讀取函數(shù)

  4)、S7200DwordReadBuf     雙字讀取函數(shù)  

  5)、S7200IntDllBufRead    讀DLL整數(shù)緩存區(qū)值;
  
  6)、S7200FloatReadBuf     浮點(diǎn)讀取函數(shù)

  7)、S7200FloatDllBufRead  讀DLL浮點(diǎn)緩存區(qū)值;

  8)、S7200WriteIntDllBuf   寫DLL整數(shù)緩存區(qū)值;

  9)、S7200ByteWriteBuf     字節(jié)賦值函數(shù)  

10)、S7200WordWriteBuf     字賦值函數(shù)  

11)、S7200DwordWriteBuf    雙字賦值函數(shù)

12)、S7200WriteFloatDllBuf 寫DLL浮點(diǎn)緩存區(qū)值;  

13)、S7200FloatWriteBuf    浮點(diǎn)賦值函數(shù)

   這里,僅對PB開發(fā)環(huán)境使用DLL緩存區(qū)數(shù)據(jù)傳遞進(jìn)行調(diào)用給出了

申明方式和調(diào)用舉例,其他非VC、VB、Delphi等語言需要使用DLL

緩沖區(qū)進(jìn)行數(shù)據(jù)傳遞時,調(diào)用DLL聲明請參考本語言對Windows標(biāo)準(zhǔn)

DLL的規(guī)則和函數(shù)原型進(jìn)行調(diào)用。

能夠正確傳遞數(shù)組的開發(fā)環(huán)境如VB、VC、delphi不推薦使用該部分

擴(kuò)展功能函數(shù)。

當(dāng)需要進(jìn)行8位整數(shù)、16位整數(shù)、32位整數(shù)、32位浮點(diǎn)數(shù)值進(jìn)行混合讀寫時,所需拓展函數(shù)包括:

  1)、DecBitBin        字整數(shù)的位抽取;

  2)、Int16ToInt_8h     字到字節(jié)轉(zhuǎn)換高位字節(jié);  

  3)、Int16ToInt_8l     字到字節(jié)轉(zhuǎn)換低位字節(jié);

  4)、Int8ToInt16       字節(jié)到字的轉(zhuǎn)換;

  5)、Int32ToInt_16h    雙字到字轉(zhuǎn)換高位字;  

  6)、Int32ToInt_16l    雙字到字轉(zhuǎn)換低位字;

  7)、Int16ToInt32      字到雙字的轉(zhuǎn)換;

  8)、Float32ToInt_16h  浮點(diǎn)到字轉(zhuǎn)換高位字;

  9)、Float32ToInt_16l  浮點(diǎn)到字轉(zhuǎn)換低位字;

  10)、Int16ToFloat32   字到浮點(diǎn)的轉(zhuǎn)換;  

  11)、介紹如何實(shí)現(xiàn)數(shù)據(jù)的混合讀取和寫入;
wjun7610
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 127 個
工控威望: 249 點(diǎn)
下載積分: 708 分
在線時間: 35(小時)
注冊時間: 2007-09-16
最后登錄: 2025-05-07
查看wjun7610的 主題 / 回貼
2樓  發(fā)表于: 2013-04-13 12:47
在VC中使用DLL一般都是采用動態(tài)聲明的方式,函數(shù)說明中給出的是Delphi的函數(shù)原型,

在VC中聲明時只要注意一下類型的對應(yīng)即可,Delphi中的longint類型對應(yīng)VC中的int類型

Delphi中的Pchar對應(yīng)VC中的char* ,下面給出主要函數(shù)的聲明:

在使用的文件的cpp中聲明一個句柄:

HINSTANCE hinstDLL;

用來標(biāo)識導(dǎo)入的動態(tài)鏈接庫。

1)、按下例說明聲明相關(guān)各個函數(shù):(在cpp文件的頭處聲明);

typedef int (_stdcall *pOpen)(int nport, int BaudRate, int DataBits, char* Parity, int StopBits, char* User);
typedef int (_stdcall *pClose)(int nport);
typedef int (_stdcall *pSetDelay)(int value);
typedef int (_stdcall *pComTrue)(int nport);
typedef int (_stdcall *pComWork)(int nport);

typedef int (_stdcall *pReadBit)(int nport, int node, char* element, int address, int Bit);
typedef int (_stdcall *pReadByte)(int nport, int node, char* element, int address, int Count, int* RxdBuffer);
typedef int (_stdcall *pReadInt)(int nport, int node, char* element, int address, int Count, int* RxdBuffer);
typedef int (_stdcall *pReadDInt)(int nport, int node, char* element, int address, int Count, int* RxdBuffer);
typedef int (_stdcall *pReadFloat)(int nport, int node, char* element, int address, int Count, float* RxdBuffer);

typedef int (_stdcall *pBitWrite)(int nport, int node, char* element, int address, int Bit, int value);
typedef int (_stdcall *pBitEWrite)(int nport, int node, char* element, int address, int Bit, int value);
typedef int (_stdcall *pEbitCancel)(int nport, int node, char* element, int address, int Bit);

typedef int (_stdcall *pWriteByte)(int nport, int node, char* element, int address, int Count, int* TxdBuffer);
typedef int (_stdcall *pWriteInt)(int nport, int node, char* element, int address, int Count, int* TxdBuffer);
typedef int (_stdcall *pWriteDInt)(int nport, int node, char* element, int address, int Count, int* TxdBuffer);
typedef int (_stdcall *pWriteFloat)(int nport, int node, char* element, int address, int Count, float* TxdBuffer);

typedef int (_stdcall *pPlcRun)(int nport, int node);
typedef int (_stdcall *pPlcStop)(int nport, int node);

typedef int (_stdcall *pBitBin)(int value, int Bitaddress);
typedef int (_stdcall *p16I_8h)(int value);
typedef int (_stdcall *p16I_8l)(int value);
typedef int (_stdcall *p8I_16I)(int valueH, int valueL);
typedef int (_stdcall *p32I_16h)(int value);
typedef int (_stdcall *p32I_16l)(int value);
typedef int (_stdcall *p16I_32I)(int valueH, int valueL);
typedef int (_stdcall *p32f_16h)(float value);
typedef int (_stdcall *p32f_16l)(float value);
typedef float (_stdcall *p16I_32f)(int valueH, int valueL);

2)、建立動態(tài)鏈接庫的新函數(shù)名:(在cpp文件的頭處聲明,上面的聲明之后)

pOpen mOpen;
pClose mClose;
pSetDelay mSetDelay;
pComTrue mComTrue;
pComWork mComWork;

pReadBit mReadBit;
pReadByte mReadByte;
pReadInt mReadInt;
pReadDInt mReadDInt;
pReadFloat mReadFloat;

pBitWrite mBitWrite;
pBitEWrite mBitEWrite;
pEbitCancel mEbitCancel;

pWriteByte mWriteByte;
pWriteInt mWriteInt;
pWriteDInt mWriteDInt;
pWriteFloat mWriteFloat;

pPlcRun mPlcRun;
pPlcStop mPlcStop;

pBitBin mBitBin;
p16I_8h m16I_8h;
p16I_8l m16I_8l;
p8I_16I m8I_16I;
p32I_16h m32I_16h;
p32I_16l m32I_16l;
p16I_32I m16I_32I;
p32f_16h m32f_16h;
p32f_16l m32f_16l;
p16I_32f m16I_32f;

3)、導(dǎo)入動態(tài)鏈接庫,如例所示:(在cpp文件的OnInitDialog過程建立):

hinstDLL = LoadLibrary("S7200_PPI.dll");

4)、判斷dll文件是否存在并聲明并建立動態(tài)鏈接庫中的函數(shù)與新函數(shù)名的對應(yīng)關(guān)系,

如下:(在cpp文件的OnInitDialog過程建立):

if (hinstDLL)
{
   mOpen = (pOpen)GetProcAddress (hinstDLL,"S7200ComOpen");
   mClose = (pClose)GetProcAddress (hinstDLL,"S7200ComClose");
   mSetDelay = (pSetDelay)GetProcAddress (hinstDLL,"S7200SetDelay");
   mComTrue = (pComTrue)GetProcAddress (hinstDLL,"S7200ComTrue");
   mComWork = (pComWork)GetProcAddress (hinstDLL,"S7200ComWork");

   mReadBit = (pReadBit)GetProcAddress (hinstDLL,"S7200BitRead");
   mReadByte = (pReadByte)GetProcAddress (hinstDLL,"S7200ByteRead");
   mReadInt = (pReadInt)GetProcAddress (hinstDLL,"S7200WordRead");
   mReadDInt = (pReadDInt)GetProcAddress (hinstDLL,"S7200DwordRead");
   mReadFloat = (pReadFloat)GetProcAddress (hinstDLL,"S7200FloatRead");

   mBitWrite = (pBitWrite)GetProcAddress (hinstDLL,"S7200BitWrite");
   mBitEWrite = (pBitEWrite)GetProcAddress (hinstDLL,"S7200BitEWrite");
   mEbitCancel = (pEbitCancel)GetProcAddress (hinstDLL,"S7200EbitCancel");
      
   mWriteByte = (pWriteByte)GetProcAddress (hinstDLL,"S7200ByteWrite");
   mWriteInt = (pWriteInt)GetProcAddress (hinstDLL,"S7200WordWrite");
   mWriteDInt = (pWriteDInt)GetProcAddress (hinstDLL,"S7200DwordWrite");
   mWriteFloat = (pWriteFloat)GetProcAddress (hinstDLL,"S7200FloatWrite");
  
   mPlcRun = (pPlcRun)GetProcAddress (hinstDLL,"S7200PlcRun");
   mPlcStop = (pPlcStop)GetProcAddress (hinstDLL,"S7200PlcStop");
      
   mBitBin = (pBitBin)GetProcAddress (hinstDLL,"DecBitBin");
   m16I_8h = (p16I_8h)GetProcAddress (hinstDLL,"Int16ToInt_8h");
   m16I_8l = (p16I_8l)GetProcAddress (hinstDLL,"Int16ToInt_8l");
   m8I_16I= (p8I_16I)GetProcAddress (hinstDLL,"Int8ToInt16");
   m32I_16h = (p32I_16h)GetProcAddress (hinstDLL,"Int32ToInt_16h");
   m32I_16l = (p32I_16l)GetProcAddress (hinstDLL,"Int32ToInt_16l");
   m16I_32I= (p16I_32I)GetProcAddress (hinstDLL,"Int16ToInt32");
   m32f_16h = (p32f_16h)GetProcAddress (hinstDLL,"Float32ToInt_16h");
   m32f_16l = (p32f_16l)GetProcAddress (hinstDLL,"Float32ToInt_16l");
   m16I_32f= (p16I_32f)GetProcAddress (hinstDLL,"Int16ToFloat32");
  
   AfxMessageBox("S7200_PPI.dll已成功載入!");
}
else
{
  AfxMessageBox("沒找到S7200_PPI.dll!");
  SendMessage(WM_CLOSE);
}

注:雙引號中為動態(tài)鏈接庫中的原有函數(shù)名。

函數(shù)中用到了char*型參數(shù),這里介紹下char*與Cstring的相互轉(zhuǎn)換的函數(shù):

(1)char*->CString

char* sz;
CString str;
str.Format("%s",sz);  //可以用此函數(shù)將讀取的值轉(zhuǎn)成字符串

(2) CString -> char*

CString str;
char* sz = str.GetBuffer(0);//可將字符串轉(zhuǎn)成char*給函數(shù)賦值


5)、當(dāng)不再需要使用DLL時記得關(guān)閉串口及釋放動態(tài)鏈接庫,(在OnDestroy事件中釋放)

if(hinstDLL)
{
   int k = mComTrue(mnport);
   if (k==1)
   {
      mClose(mnport);
   }    
   FreeLibrary(hinstDLL);
}
wjun7610
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 127 個
工控威望: 249 點(diǎn)
下載積分: 708 分
在線時間: 35(小時)
注冊時間: 2007-09-16
最后登錄: 2025-05-07
查看wjun7610的 主題 / 回貼
3樓  發(fā)表于: 2013-04-13 12:47
西門子PPI通訊協(xié)議

    通過硬件和軟件偵聽的方法,分析PLC內(nèi)部固有的PPI通訊協(xié)議,然后采用上位機(jī)編程,遵循PPI通訊協(xié)議,讀寫PLC數(shù)據(jù),實(shí)現(xiàn)人機(jī)操作

任務(wù)。這種通訊方法,與一般的自由通訊協(xié)議相比,省略了PLC的通訊程序編寫,只需編寫上位機(jī)的通訊程序資源S7-226的編程口物理層為

RS-485結(jié)構(gòu),SIEMENS提供MicroWin軟件,采用的是PPI(Point to Point)協(xié)議,可以用來傳輸、調(diào)試PLC程序。在現(xiàn)場應(yīng)用中,當(dāng)需要PLC

與上位機(jī)通訊時,較多的使用自定義協(xié)議與上位機(jī)通訊。在這種通訊方式中,需要編程者首先定義自己的自由通訊格式,在PLC中編寫代碼,

利用中斷方式控制通訊端口的數(shù)據(jù)收發(fā)。采用這種方式,PLC編程調(diào)試較為煩瑣,占用PLC的軟件中斷和代碼資源,而且當(dāng)PLC的通訊口定義

為自由通訊口時,PLC的編程軟件無法對PLC進(jìn)行監(jiān)控,給PLC程序調(diào)試帶來不便。

    SIEMENS S7-200PLC的編程通訊接口,內(nèi)部固化的通訊協(xié)議為PPI協(xié)議,如果上位機(jī)遵循PPI協(xié)議來讀寫PLC,就可以省略編寫PLC的通訊

代碼。如何獲得PPI協(xié)議?可以在PLC的編程軟件讀寫PLC數(shù)據(jù)時,利用第三個串口偵聽PLC的通訊數(shù)據(jù),或者利用軟件方法,截取已經(jīng)打開

且正在通訊的端口的數(shù)據(jù),然后歸納總結(jié),解析出PPI協(xié)議的數(shù)據(jù)讀寫報文。這樣,上位機(jī)遵循PPI協(xié)議,就可以便利的讀寫PLC內(nèi)部的數(shù)據(jù),

實(shí)現(xiàn)上位機(jī)的人機(jī)操作功能。

西門子的PPI(Point to Point)通訊協(xié)議采用主從式的通訊方式,一次讀寫操作的步驟包括:首先上位機(jī)發(fā)出讀寫命令,PLC作出接收正確

的響應(yīng),上位機(jī)接到此響應(yīng)則發(fā)出確認(rèn)申請命令,PLC則完成正確的讀寫響應(yīng),回應(yīng)給上位機(jī)數(shù)據(jù)。這樣收發(fā)兩次數(shù)據(jù),完成一次數(shù)據(jù)的讀寫

(從這里可以看出PPI協(xié)議的通訊效率并不好,一次讀寫需收發(fā)兩次數(shù)據(jù)^_^)。

其通訊數(shù)據(jù)報文格式大致有以下幾類:

1)、讀寫申請的數(shù)據(jù)格式如下:

SD LE LER SD DA SA FC DASP SSAP DU FCS ED

SD:(Start Delimiter)開始定界符(68H)

LE:(Length)報文數(shù)據(jù)長度

LER:(Repeated Length)重復(fù)數(shù)據(jù)長度

SD: (Start Delimiter)開始定界符(68H)

SA:(Source Address)源地址,指該地址;

DA:(Destination Address)目標(biāo)地址,指該地址;

FC:(Function Code)功能碼

DSAP:(Destination Service Access Point)目的服務(wù)存取點(diǎn)

SSAP:(Source Service Access Point)源服務(wù)存取點(diǎn)

DU:(Data Unit)數(shù)據(jù)單元

FCS:(Frame Check Sequence)校驗(yàn)碼

ED:(End Delimiter)結(jié)束分界符(16H)

報文數(shù)據(jù)長度和重復(fù)數(shù)據(jù)長度為自DA至DU的數(shù)據(jù)長度,校驗(yàn)碼為DA至DU數(shù)據(jù)的和校驗(yàn),只取其中的末字節(jié)值。

讀寫一般數(shù)據(jù)的功能碼為 6CH,讀CT數(shù)據(jù)、置位、復(fù)位、強(qiáng)制等的功能碼為 7CH,確認(rèn)命令功能碼5CH。

2)、PLC接收到讀寫命令,校驗(yàn)后正確,返回的數(shù)據(jù)格式為 E5H

3)、確認(rèn)讀寫命令的數(shù)據(jù)格式為:

SD SA DA FC FCS ED  

其中SD為起始符,為10H

SA為數(shù)據(jù)源地址

DA為目的地址

FC為功能碼,取5CH

FCS為SA+DA+FC的和的末字節(jié)

ED為結(jié)束符,取16H

4)、數(shù)據(jù)類型碼

04:S
05:SM
06:AI
07:AQ
1E: C
81:I
82:Q
83:M
84:V
1F: T

5)、讀寫功能數(shù)據(jù)命令實(shí)例

1、給寫VW3值1200

68 21 21 68 02 00 6C 32 01 00 00 00 00 00 0E 00 06 05 01 12 0A 10 02 00 02 00 01 84 00 00 18 00 04 00 10 04 B0 50 16

2、讀取IB0的數(shù)據(jù)值

68 1B 1B 68 02 00 6C 32 01 00 00 00 00 00 0E 00 00 04 01 12 0A 10 02 00 01 00 00 81 00 00 00 64 16

感興趣的朋友給你根據(jù)上述例子用串口精靈測試一下,當(dāng)發(fā)送命令成功PLC返回E5,你再發(fā)送10 02 00 5C 5E 16,就可以完成一次讀寫命令。

(記得接收和發(fā)送采用16進(jìn)制方式 o(∩_∩)o...哈哈)

2.2 S7-200PLC CPU內(nèi)存地址范圍(DLL所能尋址的范圍)

被存。       內(nèi)存類型      CPU 221        CPU 222         CPU 224                   CPU 226

位(字節(jié).位)       V          0.0 ~ 2047.7  0.0 ~  2047.7  0.0 ~  5119.7  V 1.22    0.0 ~  5119.7   V 1.23
                                                            0.0 ~  8191.7  V 2.00    0.0 ~ 10239.7  V 2.00
                                                            0.0 ~  10239.7 XP

                   I          0.0 ~ 15.7   0.0 ~ 15.7     0.0 ~  15.7              0.0 ~  15.7

                   Q          0.0 ~ 15.7   0.0 ~ 15.7     0.0 ~ 15.7               0.0 ~ 15.7
                  
                   M          0.0 ~ 31.7   0.0 ~ 31.7     0.0 ~ 31.7               0.0 ~ 31.7

                   S          0.0 ~ 31.7   0.0 ~ 31.7     0.0 ~ 31.7               0.0 ~ 31.7

                   SM         0.0 ~ 179.7  0.0 ~ 299.7    0.0 ~ 549.7              0.0 ~ 549.7

字節(jié)               VB         0 ~ 2047     0 ~ 2047       0 ~ 5119   V 1.22        0 ~ 5119        V 1.23
                                                            0 ~ 8191   V 2.00        0 ~ 10239       V 2.00
                                                            0 ~ 10239  XP

                   IB         0 ~ 15       0 ~ 15         0 ~ 15                   0 ~ 15

                   QB         0 ~ 15       0 ~ 15         0 ~ 15                   0 ~ 15

                   MB         0 ~ 31       0 ~ 31         0 ~ 31                   0 ~ 31

                   SMB        0 ~179       0 ~299         0 ~ 549                  0 ~ 549

                   SB         0 ~ 31       0 ~ 31         0 ~ 31                   0 ~ 31

字                 VW         0 ~2046      0 ~ 2046       0 ~5118   V 1.22         0 ~ 5118        V 1.23
                                                            0 ~ 8190   V 2.00        0 ~ 10230       V 2.00
                                                            0 ~ 10230  XP
                  
                   T          0 ~ 255      0 ~ 255        0 ~ 255                  0 ~ 255

                   C          0 ~ 255      0 ~ 255        0 ~ 255                  0 ~ 255

                   AIW        0 ~ 30       0 ~ 30         0 ~ 62                   0 ~ 62

                   AQW        0 ~ 30       0 ~ 30         0 ~ 62                   0 ~ 62

雙字               VD         0 ~ 2044     0 ~ 2044      0 ~ 5116   V 1.22       0 ~ 5116        V 1.23
                                                           0 ~ 8188   V 2.00       0 ~ 10236       V 2.00
                                                           0 ~ 10236  XP

說明:S7-200PLC的字、雙字地址和字節(jié)地址實(shí)際上是重疊的,下面做個說明如:

VB0  VB1  VB2  VB3  VB4  VB5  VB6  VB7  VB8  VB9  VB10  VB11  VB12  VB13  VB14  VB15

————  ————  ————  ————  ————  ————    ————     ————
  VW0       VW2       VW4       VW6       VW8       VW10        VW12         VW14
—————————  ————————— —————————    ———————————
       VD0                 VD4                 VD8                     VD12

從上例可以看出PLC中字節(jié)、字與雙字尋址的關(guān)系,當(dāng)然如果你想使用VW1(VB1 VB2)、VD3(VB3 VB4 VB5 VB6)等尋址方式也是可以的,

但為了減少不必要的尋址錯誤造成程序的非法執(zhí)行建議:

字尋址時使用(V、I、Q、M等等)0、2、4、6、8、10 ……,(這從PLC的模擬量輸入/輸出(AIW/AQW)的尋址就可以看出奇數(shù)地址是不允許的)

雙字尋址時使用(V、I、Q、M等等)0、4、8、12、16、20、24 …………………………,同時還要注意字節(jié)地址尋址最好也能不重疊;

C、T區(qū)當(dāng)前值讀取時的地址按實(shí)際地址0~255來。
huoshi
為所當(dāng)為
級別: 網(wǎng)絡(luò)英雄

精華主題: 0
發(fā)帖數(shù)量: 2598 個
工控威望: 21440 點(diǎn)
下載積分: 16735 分
在線時間: 2772(小時)
注冊時間: 2010-12-27
最后登錄: 2025-04-28
查看huoshi的 主題 / 回貼
4樓  發(fā)表于: 2013-04-14 08:50
謝謝下了學(xué)習(xí)學(xué)習(xí)
kccjason
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 42 個
工控威望: 144 點(diǎn)
下載積分: 600 分
在線時間: 35(小時)
注冊時間: 2011-04-26
最后登錄: 2024-12-25
查看kccjason的 主題 / 回貼
5樓  發(fā)表于: 2013-04-25 23:10
取下謝謝
11yewang
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 3 個
工控威望: 121 點(diǎn)
下載積分: 523 分
在線時間: 1(小時)
注冊時間: 2013-01-28
最后登錄: 2015-01-30
查看11yewang的 主題 / 回貼
6樓  發(fā)表于: 2013-10-23 09:23
好東西啊
yahk1984
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 7 個
工控威望: 125 點(diǎn)
下載積分: 576 分
在線時間: 8(小時)
注冊時間: 2013-04-19
最后登錄: 2025-05-18
查看yahk1984的 主題 / 回貼
7樓  發(fā)表于: 2013-11-05 11:49
下不了

主站蜘蛛池模板: 色播基地_久久精品女人天堂av_日韩精品卡1卡2三卡四卡乱码_亚洲国产精品无码AAA片_国产精品久久久久毛片软件_欧美男男大粗吊1069_免费看av大片_一个人看的www免费高清在线视频 | 91视频综合_亚洲自拍偷拍区_偷国产乱人伦偷精品视频_91九色视频网_黄色片在线观看免费_日韩精品一区二区在线观看_亚洲一级精品毛片_成年动漫av网免费 | 国产成人无码精品午夜福利A_日本熟妇HD人妻_国产成年无码a∨片在线韩国_秋霞福利_午夜精品91_AA片子吇中文字处女_欧美夜噜噜免费观看_国产精品青青草原免费无码 | aaaaaaa片毛片免费观看_www欧美在线观看_亚洲欧美一区二区三区综合_jizzjizzjizz日本老师_熟女人妇成熟妇女系列视频_中文字幕精品一区二区精品_日本高清免费视频m免费_91综合久久久久婷婷 | 久久久久久99精品_成年美女黄的视频网站_国产一区二区三区四区区_亚洲欧美日韩在线播放_国产三区四区视频_四虎永久在线精品免费看_wwwxxx日韩_一级黄色毛片视频 | 特大巨人黑人AAA片BBC_www.色涩涩.com网站_1024国产精品视频一区_欧美自拍亚洲综合在线_老外黑人欧美一级毛片_91精品啪在线观看国产商店_免费的青榴视频在线观看_国产不卡av在线播放 | 在线观看高清视频免费网站_在线āv视频_国产一区二区三区四区五区精品_69国产在线观看_免费久草视频_少妇与大狼拘作爱性A片_狠狠干狠狠操_成人免费在线小视频 | 牛和人交VIDE欧美XX00_国内精品久久人妻无码网站_羞羞答答xxdd在线观看_国产美女网站_国产吖v免费看在线观看_免费看黄色毛片网站播放_日本JAPANESE丰满白浆_中文字幕avav | 黄瓜av_九九热在线视频观看_久久国产精品久久喷水_在线视频免费观看大全_草草影院永久在线观看_久久一区_中文字幕在线免费看线人_bestialityvideo另类灌满 | 一级a毛片免费完整视频在线观看_成在人线午夜福利无码_精品视频在线观看一区二区三区_www.四虎在线观看_亚洲色欲色欲WWW在线看小说_在线观看免费视频麻豆_三年片在线观看大全国语_亚洲精品久久av无码一区二区 | 嫩草精品_91精品一区二区三区四区_欧洲美女粗暴牲交_日韩精品无码一区二区三区av_伊人青草_内射爽无广熟女亚洲_欧美黄片免费看_久久本道综合色狠狠五月 | 日本一区二区在线看_精品国产乱码久久久久久口爆_欧州办公室内射美女_SAO货腿张开JI巴CAO死我_成年女人喷潮毛片免费播放_欧美丝袜丝交足nylons视频_九九久久视频_亚洲国产清纯系在线观看 www日本xx_gay亚洲男男gv在线观看网站_99pao在线视频国产_国产精品亚洲网站_黄色一级大片在线免费看国产一_自慰系列无码专区_国产乱free国语对白_中文字幕综合 | av在线免费观看网址_国产传媒果冻天美传媒_亚洲AV片不卡无码久久嫩模_绯色av蜜臀vs少妇_色欲综合久久中文字幕网_脱老师内裤进入gif视频_欧美精品,久久综合_欧美日韩中文字幕在线观看 | 国内精品久久久久久不卡影院_国产清纯美女白浆在线播放_aav在线_日韩成人一区二区三区在线观看_欧美在线_欧美人与拘性视交_欧美视频成人_国产情侣一区二区| 欧美大片a片免费看视频频_麻豆精品影院_国产精品手机视频一区二区_久久懂色精品99综一区合_久久综合干_国产在线视频不卡二_国产天堂久久综合_79av国产 | 六月激情久久_18毛片_国产精品国产三级国产aⅴ_成人性生交大片免费看r链接_国产成人av在线婷婷不卡九色_高潮喷水在线观看_一区二区伊人久久大杳蕉_在线观看一区二区三区四区 | 欧美黑人又粗又大xxx_亚洲综合在线播放_91色噜噜_精品久久视频_妖精av_欧美在线xxx_a级在线_欧美又大粗又黄又爽无码 | 色欲色欲久久综合网_人妻暴雨中被强制侵犯在线_亚洲国产AⅤ综合网_狠狠色综合播放一区二区_久久精品久久精品久久39_午夜一级做a爰片久久毛片_久久重口味视频_国产最新毛片 | 日产精品久久_免费看成人_海贼王hentaikey_爱爱综合_日韩精品视频在线看_亚洲成精品_一级黄av_麻豆传媒视频观看 | 500av导航大全精品_麻豆媒体_亚洲区免费视频_aa爱做片免费_视频国产一区二区三区_69天堂网_久久国产精品一二三区_女人夜夜春精品a片 | 国产人与动牲交_老牛嫩草一区二区三区日本_性欧美日本_欧美成人在线免费视频_日本WWW一道久久久免费榴莲_丰满少妇A级毛片露出偷拍_国产无码一区二区精品_欧洲裸体兽交大黑妞 | 久久人妇_激情动漫_国产精品福利在线观看无码卡一_欧美日韩在线二区_国产精品aⅴ_天天爱夜夜爱_又爽又黄又无遮挡的视频在线观看_艳魔大战春荡女淫3 | 欧美中文在线观看_国产91精_无码国产69精品久久久久网站_中文在线a在线_毛片大全免费_免费观看色网站_农村一级毛片_意甲赛程2024赛程表最新 | 亚洲一区AV在线观看_欧美熟妇zozozo_热久久精品国产_日本丰满少妇XXXX_97超碰香蕉_国产日韩欧美视频在线观看_草草视频在线播放_欧美成人午夜免费全部完 | 国产视频h_国产日韩视频_日日插天天操_成人宗合_日韩国产一区二区三区四区五区_亚洲AV永久无码精品桃花岛知道_www.日本在线_淫视频网站 | 狠狠干影视_成人亚洲性情网站www在线观看国产_日韩在线综合网_欧美一区二区三区在线视频观看_成年免费黄色网_四虎精品在线视频_亚洲精品91在线_免费视频久久 | 超碰97人人人人人蜜桃_日韩不卡在线观看_国产又粗又猛又黄又爽的视频_男人亚洲天堂网_日本少妇xlxxx_午夜AV免费播放不卡三区_少妇做受xxxxⅹ高潮片_无码人妻精品一区二区三区欧美 | 天天干视频网_国产精品久久久久免费a∨大胸_在线亚洲日本_成人αv_精品人妻AV一区二区三区_最新理论三级中文在线观看_久久久免费观看_最好看的中文2018 | 国产精品久久久久久久久久辛辛_日本丰满熟妇乱子伦_亚洲欧美精品综合在线观看_国产无av码在线观看_青苹果乐园1080免费_色偷偷尼玛图亚洲综合_欧美一区二区视频网站_成人做爰999 | 蜜臀影院_亚洲一区二区三区91_欧洲AV色爱无码综合网_精品日产卡一卡二卡麻豆_亚洲AV最新在线网址尤物_免费看的国产视频网站_一区二区网站_特级黄色一级毛片 | 日韩二区在线播放_99久久免费精品高清特色大片_久久欧美精品_麻豆一区二区在线_欧美综合久久_久久综合亚洲色1080P_日韩字幕在线_国产a级一级 18禁男女无遮挡啪啪网站_黄色a级免费观看_奇米成人av国产一区二区三区_插插综合视频_国产成人麻豆亚洲综合无码精品_国产免费一区二区三区四在线播放_免费播放黄色_午夜在线视频播放 | 国产AV旡码专区亚洲AV_国产亚洲高清在线观看_日韩精品免费_成人乱码一区二区三区av_国产在线一区二区三区四区_偷拍自拍在线视频_不卡的一区_国内精品国语自产拍在线观看 | 国产美女自拍视频_欧美熟妇另类久久久久久多毛_波多野结衣免费一区视频_日韩国产高清在线观看_制服丝袜人妻中文字幕在线_日本成人一二三区_火之迷恋三级无删减视频_69视频污 | 国语对白爽死我了_成人免费观看网址_欧美一级片_色aⅴ性欧美_人妻少妇邻居少妇好多水在线_粉嫩小泬BBBB免费看_日韩中文字幕专区_极品粉嫩饱满一线天在线 | 国产露脸饥渴孕妇在线播放_成人黄色片网站_麻豆99_国内另类在线_日韩无套_亚洲狠狠婷婷综合久久久久_亚洲精品16p_国产91高潮流白浆在线麻豆 | 丁香花开心四播房麻豆_婷婷综合久久狠狠色_日韩一级免费一区_天干天干天啪啪夜爽爽色_国产欧美欧美成人亚洲欧美激情_日韩成年人视频在线_亚洲视频日韩_免费A级毛片无码A∨蜜芽按摩 | 亚洲AV无码成人网站手机观看_中文字幕不卡乱偷在线观看_综合色站导航_亚洲一级图片_青天衙门第一部免费观看_天天搞夜夜骑_在线视频夫妻内射_国产黄色av免费看 | 成人无码H动漫网站免费_中文在线最新版天堂8_亚洲视频在线观看中文字幕_蜜芽亚洲AV尤物183不卡资源_国产精品成人AAAA网站女吊丝_日韩欧美日韩在线_亚洲成人自拍_色网在线观看 | 国产91网_国产在线精品一区二区三区不卡_欧美va久久久噜噜噜久久_G国产精品无马_中文字幕在线不卡一区二区三区_亚洲AV色吊丝无码_韩国一级大片_永久免费AV无码网站04 | 国产午夜福利在线观看视频_四虎1515永久免费_少妇高潮惨叫久久久久久_色综合久久婷婷五月_日韩一区网站_国产精品色内内在线播放_中国鲜肉GAY高中XX禁18网站_91九色porny老版 绝顶丰满少妇av无码_国产精品一区欧美_国产精品色哟哟_日韩淫视频_老熟妇仑乱视频一区二区_亚洲欧美中文日韩在线v日本野外_欧美乱偷一区二区三区在线_成人在线观看www | 91区在线_亚洲综色_一级做a免费视频观看网站_日韩av第一页在线播放_又黄又网站国产_中文字幕第一页久久_一区二区三区四区在线观看视频_一级中文字幕 |