在厨房拨开内裤进入毛片-欧美一区亚洲二区-www九九热com-亚洲午夜久久久精品一区二区三剧-国产91精品看黄网站在线观看动漫-heyzo朝桐光一区二区

wjun7610
級別: 略有小成
精華主題: 0
發帖數量: 127 個
工控威望: 249 點
下載積分: 708 分
在線時間: 35(小時)
注冊時間: 2007-09-16
最后登錄: 2025-07-30
查看wjun7610的 主題 / 回貼
樓主  發表于: 2008-02-26 13:58
西門子S7-200系列PLC PPI協議及PPI動態鏈接庫DLL(需VB、Delphi DEMO程序請回貼并留下Emial地址)


一、西門子S7-200系列PLC PPI協議動態鏈接庫DLL(以下簡稱DLL),是為滿足工業通信需要,針對工業領域要求上位機對西門子S7-200系列

PLC實時采集與控制的組態編程而設計。本DLL是采用Delphi語言開發的標準串口通訊庫,具有以下特點:

1)、實時性、可靠性好,可根據通信數據量自行調整通信時間;

2)、適用于多PLC聯網和上位機通信,滿足多方面的需要;

3)、函數接口功能全,操作簡單;

4)、附加實用轉換與讀取函數,易于快速開發(VC等非RAD開發環境的開發);

5)、支持USB、PC擴展卡等擴展串口號;

6)、支持多種操作系統win9x/win2000/winXP(標注Win32 DLL);

7)、可在多種編程環境下使用,例如VB、VC、Delphi等開發環境。

二、PPI協議簡介及S7-200CPU內存地址范圍介紹

2.1 西門子PPI通訊協議

    通過硬件和軟件偵聽的方法,分析PLC內部固有的PPI通訊協議,然后采用上位機編程,遵循PPI通訊協議,讀寫PLC數據,實現人機操作

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

RS-485結構,SIEMENS提供MicroWin軟件,采用的是PPI(Point to Point)協議,可以用來傳輸、調試PLC程序。在現場應用中,當需要PLC

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

利用中斷方式控制通訊端口的數據收發。采用這種方式,PLC編程調試較為煩瑣,占用PLC的軟件中斷和代碼資源,而且當PLC的通訊口定義

為自由通訊口時,PLC的編程軟件無法對PLC進行監控,給PLC程序調試帶來不便。

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

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

且正在通訊的端口的數據,然后歸納總結,解析出PPI協議的數據讀寫報文。這樣,上位機遵循PPI協議,就可以便利的讀寫PLC內部的數據,

實現上位機的人機操作功能。

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

的響應,上位機接到此響應則發出確認申請命令,PLC則完成正確的讀寫響應,回應給上位機數據。這樣收發兩次數據,完成一次數據的讀寫

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

其通訊數據報文格式大致有以下幾類:

1)、讀寫申請的數據格式如下:

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

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

LE:(Length)報文數據長度

LER:(Repeated Length)重復數據長度

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

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

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

FC:(Function Code)功能碼

DSAP:(Destination Service Access Point)目的服務存取點

SSAP:(Source Service Access Point)源服務存取點

DU:(Data Unit)數據單元

FCS:(Frame Check Sequence)校驗碼

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

報文數據長度和重復數據長度為自DA至DU的數據長度,校驗碼為DA至DU數據的和校驗,只取其中的末字節值。

讀寫一般數據的功能碼為 6CH,讀CT數據、置位、復位、強制等的功能碼為 7CH,確認命令功能碼5CH。

2)、PLC接收到讀寫命令,校驗后正確,返回的數據格式為 E5H

3)、確認讀寫命令的數據格式為:

SD SA DA FC FCS ED 

其中SD為起始符,為10H

SA為數據源地址

DA為目的地址

FC為功能碼,取5CH

FCS為SA+DA+FC的和的末字節

ED為結束符,取16H

4)、數據類型碼

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

5)、讀寫功能數據命令實例

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的數據值

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

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

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

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

被存取:    類型 CPU 221            CPU 222      CPU 224                  CPU 226

位(字節.位)      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

字節        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
                        SB  0 - 31                    0 - 31            0 - 31                              0 - 31
                    SMB  0 - 179                  0 - 299          0 - 549                            0 - 549                 
                 
字          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的字、雙字地址和字節地址實際上是重疊的,下面做個說明如:

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中字節、字與雙字尋址的關系,當然如果你想使用VW1(VB1 VB2)、VD3(VB3 VB4 VB5 VB6)等尋址方式也是可以的,

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

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

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

C、T區當前值讀取時的地址按實際地址0~255來。

三、DLL函數說明

1、打開串口

Function ComOpen(nport,BaudRate,DataBits,Parity,StopBits:longint;User:Pchar):longint;stdcall;

參數:nport: 打開串口號,取值為1~8,代表COM1~COM8;
     
      BaudRate:波特率,取值為:1200、2400、4800、9600、19200、38400;
   
      DataBits:數據位,取值為5、6、7、8;

      Parity:  校驗位,取值1(代表Even)、取值2(代表Odd)、取值3(代表Mark)、取值4(代表Space)、取值5(代表None);
 
      StopBits:停止位,取值1(代表1位停止位)、取值2(代表2位停止位)、取值3(代表1.5位停止位);

      User:DLL授權用戶名;

返回值:長整型,操作成功返回“1”或“2”;1表示注冊授權用戶,2表示用戶未注冊;

操作不成功返回為“0”時的原因:1)、串口不存在或被占用; 2)、DLL注冊授權不正確。

注:本DLL用戶不注冊除了下面說明的功能限制外沒有其他限制,未注冊用戶請使用特定用戶名:wangjun。

    注冊用戶功能上無任何限制,且將得到永久的軟件使用和更新升級服務;

使用舉例:

Delphi:ComOpen(1,9600,8,1,1,Pchar('wangjun')) , 打開COM1口。

VB:ComOpen(1,9600,8,1,1,"wangjun") , 打開COM1口。

2、關閉串口

Function ComClose(nport:longint):longint;stdcall;

參數:nport: 串口號,取值為1~8,代表COM1~COM8;

返回值:長整型,操作成功返回“1”,否則返回“0”;

使用舉例:

ComClose(1) ,關閉打開的COM1口。


3、PLC內部元件讀取功能函數

注:PLC內部元件與數字的對應關系(DLL中的所有函數都遵循此規定):

0 : I
1 : Q
2 : M
3 : V
4 : S
5 : SM
6 : AI
7 : AQ
8 : C
9 : T 

注:下面的讀寫等PLC操作函數使用舉例都是按VB調用函數形式給出。

1)、字節元件數據讀取

Function FcnBread(nport,purpose,source,name,address,Count:longint):Pchar;stdcall;

參數:

nport:  串口號,取值為1~8,代表COM1~COM8;

purpose:目標地址,取值0~126;

source: 源地址,取值0~126;(這里是PLC的相應端口的PPI站地址,PLC的地址實際是從2開始的)

name:    取值0(代表I)、取值1(代表Q)、取值2(代表M)、取值3(代表V)、取值4(代表S)、取值5(代表SM);

address: 元件地址,取值為請參照 2.2 S7-200PLC CPU內存地址范圍;

Count:  讀取的字節個數,最多讀取128個但不能超出尋址范圍;

返回值:字符串數據,字符串數據的終止符為"@";

使用舉例:

FcnBread(1,0,2,0,2,4),由COM1讀取PPI 2號站 數據到0號站(計算機)IB2~IB5四個字節的值,如返回值為“01FF6403@”,

則表示IB2=01, IB3=FF,IB4=64,IB5=03;

                            ---------- --
字符串返回序列:            | 01 | FF | 64 | 03| @ |
                            ---------- --

返回值為16進制字符串,將返回值如上2位一組,可轉換成“0~255”間的整數值。

在讀取錯誤或不能讀取的情況下返回“Error@”

注:沒有注冊用戶不能讀取S、SM區字節值,可尋址范圍IB0~IB1、QB0~QB1、MB0~MB1、VB0~VB1;


2)、字元件數據讀取

Function FcnWread(nport,purpose,source,name,address,Count:longint):Pchar;stdcall;

參數:

nport:  串口號,取值為1~8,代表COM1~COM8;

purpose:目標地址,取值0~126;

source: 源地址,取值0~126;(這里是PLC的相應端口的PPI站地址,PLC的地址實際是從2開始的)

name:    取值3(代表V)、取值6(代表AI)、取值8(代表C)、取值9(代表T);

address: 元件地址,取值為請參照 2.2 S7-200PLC CPU內存地址范圍;

Count:  讀取的字個數,最多讀取64個但不能超出尋址范圍,T區讀取時不超過44個;

返回值:字符串數據,字符串數據的終止符為"@";

使用舉例:

FcnWread(1,0,2,3,0,4),由COM1讀取PPI 2號站 數據到0號站(計算機)VW0~VW6四個字的值,如返回值為“006403E804B00010@”,

則表示VW0=0064, VW2=03E8,VW4=04B0,VW6=0010;

                            -----------------
字符串返回序列:            | 0064 | 03E8 | 04B0 | 0010 | @ |
                            -----------------

返回值為16進制字符串,將返回值如上4位一組,可轉換成無符號“0~65535”或有符號“-32768 ~ +32767”間的整數值。

如果你從PLC中讀取的是有符號的數時,這個值小于等于32767,就得到你讀的實際值,例如讀到一個值“5EEE”轉換成整數24302,

則實際值=+(24302-0)=+24302;如果大于32767,例如我讀到一個值“8FC0”先轉換成整數36800,那實際值=-(36800-32768)=-4032。

在讀取錯誤或不能讀取的情況下返回“Error@”

注:沒有注冊用戶不能讀取C、T區字當前值,可尋址范圍VW0~VW8、AIW0~AIW2;

3)、雙字元件數據讀取

Function FcnDWread(nport,purpose,source,name,address,Count:longint):Pchar;stdcall;

參數:

nport:  串口號,取值為1~8,代表COM1~COM8;

purpose:目標地址,取值0~126;

source: 源地址,取值0~126;(這里是PLC的相應端口的PPI站地址,PLC的地址實際是從2開始的)

name:    取值3(代表V);

address: 元件地址,取值為請參照 2.2 S7-200PLC CPU內存地址范圍;

Count:  讀取的雙字個數,最多讀取32個但不能超出尋址范圍;

返回值:字符串數據,字符串數據的終止符為"@";

使用舉例:

FcnDWread(1,0,2,3,0,2),由COM1讀取PPI 2號站 數據到0號站(計算機)VW0~VW6四個字的值,如返回值為“006403E804B00010@”,

則表示VD0=006403E8,VD4=04B00010;

                            --------------
字符串返回序列:            | 006403E8 | 04B00010 | @ |
                            --------------

返回值為16進制字符串,將返回值如上8位一組,可轉換成無符號“0~4294967295”或有符號“-2147483648 ~ +2147483647”間的整數值。

如果你從PLC中讀取的是有符號的數時,這個值小于等于2147483647,就得到你讀的實際值,例如讀到一個值“5EEE8000”轉換成整數

為1592688640,則實際值=+(1592688640-0)=+1592688640;如果大于2147483647,例如我讀到一個值“8FEFC000”先轉換成整數2414854144,

那實際值=-(2414854144-2147483648)=-267370496。

在讀取錯誤或不能讀取的情況下返回“Error@”

注:沒有注冊用戶可尋址范圍VD0~VD4;

4)、位元件的狀態讀取

Function FcnBitread(nport,purpose,source,name,address,Bit:longint):longint;stdcall;

參數:

nport:  串口號,取值為1~8,代表COM1~COM8;

purpose:目標地址,取值0~126;

source: 源地址,取值0~126;(這里是PLC的相應端口的PPI站地址,PLC的地址實際是從2開始的)

name:    取值0(代表I)、取值1(代表Q)、取值2(代表M)、取值3(代表V)、取值4(代表S)、取值5(代表SM);

address: 元件地址,取值為請參照 2.2 S7-200PLC CPU內存地址范圍;

Bit:    讀取的字節元件的位地址如I1.0指I1字節元件的第0位;

返回值: 長整數,返回為0表示狀態為OFF,返回為1表示狀態為ON,返回為-1表示讀取錯誤或不能讀取;

使用舉例:

FcnBitread(1,0,2,0,1,7),由COM1讀取PPI 2號站 數據到0號站(計算機)I1.7,如返回值為1,則表示I1.7=1;

注:沒有注冊用戶不可以讀取S、SM區狀態,可尋址范圍I0.0~I1.7、Q0.0~Q1.7、M0.0~M1.7、V0.0~V1.7;

4、PLC內部元件寫數據功能函數

1)、字節元件數據寫入

Function FcnBwrite(nport,purpose,source,name,address,Count:longint;Sendstr:Pchar):longint;stdcall;

參數:

nport:  串口號,取值為1~8,代表COM1~COM8;

purpose:目標地址,取值0~126;

source: 源地址,取值0~126;(這里是PLC的相應端口的PPI站地址,PLC的地址實際是從2開始的)

name:    取值0(代表I)、取值1(代表Q)、取值2(代表M)、取值3(代表V)、取值4(代表S);

address: 元件地址,取值為請參照 2.2 S7-200PLC CPU內存地址范圍;

Count:  寫入字節個數,這里1字節應寫入2位16進制字符串;

Sendstr: 給字節寫入的值,該值為2個一組的16進制字符串組其取值為00~FF(整數值為0~255);

返回值: 長整數,操作成功返回1,不能寫入或操作錯誤返回0;

當要寫入多個字節值時依次排列即可。如給MB0與MB1寫值100和80,先將100轉成16進制字符串64、80

轉成16進制字符串50,則sendstr=6450;一次最多寫128個字節即字符串長應小于等于256;

                            ---------- - ~ - ------
寫字符串序列如:            | 00 | FF | 10 | 64 |  ~    | 08 | 04 |
                            ---------- - ~ - ------

實際字符串與位地址的數值應如下表:(將上例的字節MB0'、MB1'轉換為位地址M0.0~M1.7由下表對應,此對應也可以應用于字節讀取)

    M:      0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.0 1.7 1.6 1.5 1.4 1.3 1.2 1.1 1.0
            ---------------------------------
位地址:    | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
            ---------------------------------
各位賦值:  | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 |
            ---------------------------------
16進制串:  |      6      |      4      |      5      |      0      |
            ---------------------------------

使用舉例:

FcnBwrite(1,0,2,2,0,2,"6450")由COM1 0號站(計算機) 寫入PPI 2號站 數據MB0=64(10進制100)、MB1=50(10進制80),操作成功返回1;

注:沒有注冊用戶不能寫S區字節值,可尋址范圍IB0、QB0、MB0、VB0;

2)、字元件數據寫入

Function FcnWwrite(nport,purpose,source,name,address,Count:longint;Sendstr:Pchar):longint;stdcall;

參數:

nport:  串口號,取值為1~8,代表COM1~COM8;

purpose:目標地址,取值0~126;

source: 源地址,取值0~126;(這里是PLC的相應端口的PPI站地址,PLC的地址實際是從2開始的)

name:    取值3(代表V)、取值7(代表AQ);

address: 元件地址,取值為請參照 2.2 S7-200PLC CPU內存地址范圍;

Count:  寫入字個數,這里1字應寫入4位16進制字符串;

Sendstr: 給字節寫入的值,該值為4個一組的16進制字符串組其取值為0000~FFFF(整數值為0~65535);

返回值: 長整數,操作成功返回1,不能寫入或操作錯誤返回0;

當要寫入多個字節值時依次排列即可。如給VW2與VW4寫值100和1000,先將100轉成16進制字符串0064、1000轉成16進制字符串03E8,

則sendstr=006403E8;一次最多寫64個字即字符串長應小于等于256;

                            ---------- ----  ~  ---------
寫字符串序列如:            | 0064 | 03E8 | 0010 | 6004 |  ~    | 0008 | 0400 |
                            ---------- ----  ~  ---------
使用舉例:


FcnWwrite(1,0,2,3,2,2,"006403E8")由COM1 0號站(計算機) 寫入PPI 2號站 數據VW2=0064(10進制100)、VW4=03E8(10進制1000),

操作成功返回1;

注:沒有注冊用戶不能寫AQ區字值,可尋址范圍VW0;

3)、雙字元件數據寫入

Function FcnDWwrite(nport,purpose,source,name,address,Count:longint;Sendstr:Pchar):longint;stdcall;

參數:

nport:  串口號,取值為1~8,代表COM1~COM8;

purpose:目標地址,取值0~126;

source: 源地址,取值0~126;(這里是PLC的相應端口的PPI站地址,PLC的地址實際是從2開始的)

name:    取值3(代表V);

address: 元件地址,取值為請參照 2.2 S7-200PLC CPU內存地址范圍;

Count:  寫入雙字個數,這里1雙字應寫入8位16進制字符串;

Sendstr: 給字節寫入的值,該值為8個一組的16進制字符串組其取值為00000000~FFFFFFFF(整數值為0~4294967295);

返回值: 長整數,操作成功返回1,不能寫入或操作錯誤返回0;

當要寫入多個字節值時依次排列即可。如給VD0與VD4寫值10000和8000,先將10000轉成16進制字符串00002710、8000轉成16進制字符串

為00001F40,則sendstr=0000271000001F40;一次最多寫32個雙字即字符串長應小于等于256;

                            ---------- -  ~  ------------
寫字符串序列如:            | 00000064 | 00002710 |  ~  | 10000008 | 04008010 |
                            ---------- -  ~  ------------

使用舉例:


FcnDWwrite(1,0,2,3,0,2,"0000271000001F40")由COM1 0號站(計算機) 寫入PPI 2號站 數據VD0=00002710(10進制10000)、

VD4=00001F40(10進制8000),操作成功返回1;

注:沒有注冊用戶可尋址范圍VD0;

4)、位元件的置位

Function FcnSet(nport,purpose,source,name,address,Bit:longint):longint;stdcall;

參數:

nport:  串口號,取值為1~8,代表COM1~COM8;

purpose:目標地址,取值0~126;

source: 源地址,取值0~126;(這里是PLC的相應端口的PPI站地址,PLC的地址實際是從2開始的)

name:    取值2(代表M)、取值3(代表V)、取值4(代表S);

address: 元件地址,取值為請參照 2.2 S7-200PLC CPU內存地址范圍;

Bit:    置位的字節元件的位地址如S1.0指S1字節元件的第0位;

返回值: 長整數,操作成功返回1,不能置位或操作錯誤返回0;

使用舉例:

FcnSet(1,0,2,2,2,6),由COM1 0號站(計算機) 置位PPI 2號站 M2.6,如返回值為1,則表示置位成功;

注:沒有注冊用戶可尋址范圍M0.0~M0.7、V0.0~V0.7、S0.0~S0.7;

5)、位元件的復位

Function FcnReset(nport,purpose,source,name,address,Bit:longint):longint;stdcall;

參數:

nport:  串口號,取值為1~8,代表COM1~COM8;

purpose:目標地址,取值0~126;

source: 源地址,取值0~126;(這里是PLC的相應端口的PPI站地址,PLC的地址實際是從2開始的)

name:    取值2(代表M)、取值3(代表V)、取值4(代表S);

address: 元件地址,取值為請參照 2.2 S7-200PLC CPU內存地址范圍;

Bit:    復位的字節元件的位地址如M1.0指M1字節元件的第0位;

返回值: 長整數,操作成功返回1,不能復位或操作錯誤返回0;

使用舉例:

FcnReset(1,0,2,3,2,6),由COM1 0號站(計算機) 復位PPI 2號站 V2.6,如返回值為1,則表示復位成功;

注:沒有注冊用戶可尋址范圍M0.0~M0.7、V0.0~V0.7、S0.0~S0.7;


5、I/Q元件的強制功能 (未注冊用戶不可使用)

注:關于強制功能,如果你再操作時給一個元件強制了值,PLC程序的正常功能將不能改變被強值元件的狀態,所以在不需要對

某個元件進行強制時請使用取消強制函數,來取消對該位的強制狀態,但取消強制狀態并不改變元件的通段狀態。


1)、位元件的強制置位

Function FcnEset(nport,purpose,source,name,address,Bit:longint):longint;stdcall;

參數:

nport:  串口號,取值為1~8,代表COM1~COM8;

purpose:目標地址,取值0~126;

source: 源地址,取值0~126;(這里是PLC的相應端口的PPI站地址,PLC的地址實際是從2開始的)

name:    取值0(代表I)、取值1(代表Q);

address: 元件地址,取值為請參照 2.2 S7-200PLC CPU內存地址范圍;

Bit:    置位的字節元件的位地址如I1.0指I1字節元件的第0位;

返回值: 長整數,操作成功返回1,不能置位或操作錯誤返回0;

使用舉例:

FcnEset(1,0,2,0,0,6),由COM1 0號站(計算機) 置位PPI 2號站 I0.6,如返回值為1,則表示置位成功;

注:沒有注冊用戶不可以使用;

2)、位元件的強制復位

Function FcnEreset(nport,purpose,source,name,address,Bit:longint):longint;stdcall;

參數:

nport:  串口號,取值為1~8,代表COM1~COM8;

purpose:目標地址,取值0~126;

source: 源地址,取值0~126;(這里是PLC的相應端口的PPI站地址,PLC的地址實際是從2開始的)

name:    取值0(代表I)、取值1(代表Q);

address: 元件地址,取值為請參照 2.2 S7-200PLC CPU內存地址范圍;

Bit:    復位的字節元件的位地址如Q1.0指Q1字節元件的第0位;

返回值: 長整數,操作成功返回1,不能復位或操作錯誤返回0;

使用舉例:

FcnEreset(1,0,2,1,2,6),由COM1 0號站(計算機) 復位PPI 2號站 Q2.6,如返回值為1,則表示復位成功;

注:沒有注冊用戶不可以使用;



3)、位元件取消強制

Function FcnECancel(nport,purpose,source,name,address,Bit:longint):longint;stdcall;

參數:

nport:  串口號,取值為1~8,代表COM1~COM8;

purpose:目標地址,取值0~126;

source: 源地址,取值0~126;(這里是PLC的相應端口的PPI站地址,PLC的地址實際是從2開始的)

name:    取值0(代表I)、取值1(代表Q);

address: 元件地址,取值為請參照 2.2 S7-200PLC CPU內存地址范圍;

Bit:    取消強制的字節元件的位地址如Q1.0指Q1字節元件的第0位;

返回值: 長整數,操作成功返回1,不能復位或操作錯誤返回0;

使用舉例:

FcnECancel(1,0,2,1,2,6),由COM1 0號站(計算機) 取消PPI 2號站 Q2.6的強制轉狀態,如返回值為1,則表示取消強制成功;

注:沒有注冊用戶不可以使用;

6、PLC運行函數(該函數可在Run、Stop功能選項開關打在Run上且PLC處于停止模式時可將PLC轉換到運行模式)

Function FcnRun(nport,purpose,source:longint):Longint;stdcall;stdcall;

參數:

nport:  串口號,取值為1~8,代表COM1~COM8;

purpose:目標地址,取值0~126;

source: 源地址,取值0~126;(這里是PLC的相應端口的PPI站地址,PLC的地址實際是從2開始的)

返回值: 長整數,操作成功返回1,不能復位或操作錯誤返回0;

使用舉例:

FcnRun(1,0,2),由COM1 0號站(計算機) 使PPI 2號進入運行模式,如返回值為1,則表示運行成功;

注:沒有注冊用戶不可以使用;

7、PLC停止函數(該函數可在Run、Stop功能選項開關打在Run上且PLC處于運行模式時可將PLC轉換到停止模式)

Function FcnStop(nport,purpose,source:longint):Longint;stdcall;

參數:

nport:  串口號,取值為1~8,代表COM1~COM8;

purpose:目標地址,取值0~126;

source: 源地址,取值0~126;(這里是PLC的相應端口的PPI站地址,PLC的地址實際是從2開始的)

返回值: 長整數,操作成功返回1,不能復位或操作錯誤返回0;

使用舉例:

FcnStop(1,0,2),由COM1 0號站(計算機) 使PPI 2號進入停止模式,如返回值為1,則表示停止成功;

注:沒有注冊用戶不可以使用;


四、DLL附加函數說明 (本段函數對未注冊用戶沒有限制,完全可以使用。)

1、串口打開狀態的讀取

Function ComTrue(nport:longint):longint;stdcall;

參數:

noprt: 串口號,取值為1~8,代表COM1~COM8;

返回值:長整型,串口成功打開返回“1”,否則返回“0”;

2、整數轉換成16進制字符串 (為VC等非RAD開發環境所增設)

Function CIntToHex(Dcint,Digits:Longint):Pchar;stdcall;

參數:

Cint: 待轉換整數,取值為(0~65535);

Digits: 轉換的字符串位數,指定位數小于實際位數時按實際輸出;

在參數錯誤等非法的情況下返回“Error@”

使用舉例:

CIntToHex(200,2),則返回字符串“C8@”;
CIntToHex(200,4),則返回字符串“00C8@”;
CIntToHex(200,8),則返回字符串“000000C8@”;
CIntToHex(4500,4),則返回字符串“1194@”;
CIntToHex(4500,3),則返回字符串“1194@”,因為“194”不足以表示4500這個數所以按實際輸出字符串“1194@”;

"@"為字符串數據的終止符。

3、16進制字符串轉換成整數 (為VC等非RAD開發環境所增設)

Function CHexToInt(CHex:Pchar):Longint;stdcall;

參數:

CHex: 待轉換字符串,取值為(0000~FFFF);

使用舉例:

CHexToInt("03E8"),則返回整數1000;

注:在參數不正確等出錯情況下返回值為“-1”。

4、抽取(0~65535)所示整數中(0~15)某個位的值

Function CinBin(CHex,Start:longint):longint;stdcall;

參數:

CHex: 待轉換整數,取值為0~65535(0000~FFFF);

Start: 抽取的位,取值為(0~15);

使用舉例:

CinBin(15,3),則返回值1;
CinBin(15,4),則返回值0;
CinBin(1000,6),則返回值1;

讀取MB0組合成的字節值為“FC”(252)時,要讀取M0.1的值時,則調用CinBin(252,1)返回值0表示M0.1的值為0。

注:在參數不正確等出錯情況下返回值為“-1”。

5、返回字符串Text左邊的Count個字符  (為VC等非RAD開發環境所增設)

Function CLeftStr(Text:Pchar;Count:longint):Pchar;stdcall;

參數:

Text: 字符串原型;

Count: 指定返回左側字符串個數;

在參數錯誤等非法的情況下返回“Error@”

使用舉例:

CleftStr("123456", 3) = "123@";

"@"為字符串數據的終止符。

6、返回字符串Text右邊的Count個字符  (為VC等非RAD開發環境所增設)

Function CRightStr(Text:Pchar;Count:longint):Pchar;stdcall;

參數:

Text: 字符串原型;

Count: 指定返回右側字符串個數

在參數錯誤等非法的情況下返回“Error@”

使用舉例:

CRightStr("123456", 3) = "456@";

"@"為字符串數據的終止符。

7、返回字符串Text從Start開始的Count個字符 (為VC等非RAD開發環境所增設)

Function CMidStr(Text:Pchar;Start,Count:longint):Pchar;stdcall;

參數:

Text: 字符串原型;

Start: 指定返回字符串的起始位置;

Count: 指定返回字符串個數;

在參數錯誤等非法的情況下返回“Error@”

使用舉例:

CMidStr("123456",2,3) = "234@";

"@"為字符串數據的終止符。

8、字符串Cstr開始于字符串Ostr的位置 (為VC等非RAD開發環境所增設)

Function Cinstr(Ostr,Ckstr:Pchar;Dcint:Longint):Longint;stdcall;

參數:

Ostr:  字符串原型;

Cstr:  查詢的字符串;

Dcint: 設定查詢字符串的起始位置,取值>=1,即最少從源字符串的第一個字符開始查詢;

返回值:長整型;

使用舉例:

CinStr("1Tfdg23456","2",2) = 6

注:在參數不正確等出錯情況下返回值為“0”。

9、PC喇叭的報警過程函數;

Function MyBeep(SoundHz:longint):longint;stdcall;

參數:SoundHz:長整型;

返回值:長整型,操作成功返回“1”,否則返回“0”。

使用舉例:

MyBeep(2000); 按2000的頻率發出報警聲。

DLL中關于傳出字符串值的函數都以"@"為字符串函數值終止符,這是對多開發環境應用時方便用戶正確讀取返回字符串數據而設。

五、詳細的DLL使用請參DEMO程序或DLL手冊(DLL手冊提供VB、VC、Delphi的調用說明),相關DEMO程序和說明所使用的開發環境

VB指的是VB6.0,Delphi指的是Delphi6.0/Delphi7.0,VC指的是VC6.0。如果使用了高版本開發環境請根據開發軟件更新后所兼容的聲明方式進行聲明調用。

作者:  wjun7610
QQ:    157610979
淘寶店:http://shop34821629.taobao.com
mfknuyygyy
級別: *
精華主題: * 篇
發帖數量: * 個
工控威望: * 點
下載積分: * 分
在線時間: (小時)
注冊時間: *
最后登錄: *
查看mfknuyygyy的 主題 / 回貼
1樓  發表于: 2008-05-07 12:00
先謝了!
谷向榮
級別: 略有小成
精華主題: 0
發帖數量: 117 個
工控威望: 239 點
下載積分: 679 分
在線時間: 55(小時)
注冊時間: 2007-04-26
最后登錄: 2025-07-08
查看谷向榮的 主題 / 回貼
2樓  發表于: 2008-05-23 10:36
HENHAO
sp1985513
級別: *
精華主題: * 篇
發帖數量: * 個
工控威望: * 點
下載積分: * 分
在線時間: (小時)
注冊時間: *
最后登錄: *
查看sp1985513的 主題 / 回貼
3樓  發表于: 2008-05-26 20:40
謝啦!你把程序發給我嗎?sp1985513429@126.com
wjun7610
級別: 略有小成
精華主題: 0
發帖數量: 127 個
工控威望: 249 點
下載積分: 708 分
在線時間: 35(小時)
注冊時間: 2007-09-16
最后登錄: 2025-07-30
查看wjun7610的 主題 / 回貼
4樓  發表于: 2008-07-02 14:53
不好意思最近太忙沒上論壇,如果各位發貼沒能回復,可以用過QQ和我聯系或Email:wjun7610@yahoo.com.cn
lcbll
級別: *
精華主題: * 篇
發帖數量: * 個
工控威望: * 點
下載積分: * 分
在線時間: (小時)
注冊時間: *
最后登錄: *
查看lcbll的 主題 / 回貼
5樓  發表于: 2008-07-29 16:31
    
johnsonxjq
必攻不守
級別: 略有小成
精華主題: 0
發帖數量: 149 個
工控威望: 333 點
下載積分: 470 分
在線時間: 70(小時)
注冊時間: 2007-08-31
最后登錄: 2025-07-01
查看johnsonxjq的 主題 / 回貼
6樓  發表于: 2008-08-02 13:41
你好,感謝大俠的無私奉獻,可以提供VB源碼例程讓我研究一下嗎?
我的郵箱是:    johnsonxjq@163.com   多謝!
wjun7610
級別: 略有小成
精華主題: 0
發帖數量: 127 個
工控威望: 249 點
下載積分: 708 分
在線時間: 35(小時)
注冊時間: 2007-09-16
最后登錄: 2025-07-30
查看wjun7610的 主題 / 回貼
7樓  發表于: 2008-08-02 21:35
johnsonxjq郵件已發
hwhenry
級別: *
精華主題: * 篇
發帖數量: * 個
工控威望: * 點
下載積分: * 分
在線時間: (小時)
注冊時間: *
最后登錄: *
查看hwhenry的 主題 / 回貼
8樓  發表于: 2008-08-08 14:32
  
dlzhoubo
級別: *
精華主題: * 篇
發帖數量: * 個
工控威望: * 點
下載積分: * 分
在線時間: (小時)
注冊時間: *
最后登錄: *
查看dlzhoubo的 主題 / 回貼
9樓  發表于: 2008-08-11 21:50
a___yue
級別: *
精華主題: * 篇
發帖數量: * 個
工控威望: * 點
下載積分: * 分
在線時間: (小時)
注冊時間: *
最后登錄: *
查看a___yue的 主題 / 回貼
10樓  發表于: 2008-11-25 13:08
我上了您的淘寶店,這個dll文件是要購買?
youngsoon
級別: 探索解密
精華主題: 0
發帖數量: 29 個
工控威望: 189 點
下載積分: 2397 分
在線時間: 64(小時)
注冊時間: 2008-12-16
最后登錄: 2024-08-13
查看youngsoon的 主題 / 回貼
11樓  發表于: 2010-04-10 08:55
很好,能發程序給我嗎?602265225@QQ.COM

主站蜘蛛池模板: 国产欧美亚洲精品a | 国产日韩久久久久69影院 | 亚洲精品图片一区15p | 久久99国产精品久久99果冻传媒 | 国产精品伦一区二区在线 | 800av凹凸视频在线观看 | 日韩精品久久久久久久 | 91尤物在线 | 欧美做爰性生交视频 | 亚洲高清在线免费观看 | 午夜婷婷久久 | 婷婷五月综合丁香在线 | 色综合中文综合网 | 日韩欧美成人免费观看 | 五月婷婷在线视频 | 成人18视频免费69 | 欧美一级片观看 | 日韩成人无码一区二区三区 | 草草影院最新 | 男女毛片视频 | 中文字幕成熟丰满人妻 | 99麻豆久久久国产精品免费 | 奇米综合网 | 国产欧美日韩在线 | 18精品久久久无码午夜福利 | 免费三级网站 | 国产成人精品白浆久久69 | 毛片无遮挡高清免费观看 | 在线播放中文字幕 | 欧美天堂视频 | 中文字幕久久网 | 国产91在线播放九色000 | 久久久久女人精品毛片 | 日本少妇做爰大尺裸体视频 | 少妇大叫太大太粗太爽了a片小说 | 日本爽妇网 | 8x8ⅹ在线永久免费入口 | 男人和女人在床的app | 国产日韩欧美精品在线 | 国产精品高潮呻吟久久av免费动漫 | 亚洲36d大奶网 | h色在线观看 | 色婷婷香蕉在线一区二区 | 亚洲娇小业余黑人巨大汇总 | 国产这里只有精品 | 国产在线毛片 | 日韩人妻精品一区二区三区视频 | 色狠狠久久av五月综合 | 午夜男人网 | 国产精品高潮呻吟久久久 | 女同做爰hdxx | jzzjzz日本丰满成熟少妇 | 亚洲爱婷婷色婷婷五月 | av美国| 亚洲国产精品久久久久制服 | 久久久久久九九99精品 | 欧美色欧美亚洲高清在线视频 | 亚洲综合精品伊人久久 | 91网国产| 在线一二三区 | 97久久精品人人澡人人爽 | caoprom超碰| 丰满少妇大bbbbb超 | 99在线精品视频观看 | 精品国产综合区久久久久久 | 中文字幕成人av | 高潮毛片又色又爽免费 | 日日av色欲香天天综合网 | 黄色网页在线观看 | 天天在线免费视频 | 欧美一级色片 | 中文字幕免费在线视频 | 久久爱涩涩www | √天堂8在线网 | 精品无码国产自产拍在线观看 | 国产黄色免费观看 | 欧美人和黑人牲交网站上线 | 精品国产亚洲第一区二区三区 | 久久久精品国产一区二区三区 | 亚洲 精品 综合 精品 自拍 | av网址观看| 中文区中文字幕免费看 | 免费国产成人高清在线观看网站 | 麻豆高清免费国产一区 | 亚洲国产精品女人 | 91亚洲国产精品 | 欧美精品国产综合久久 | 国产精品毛片久久久久久久 | 伊甸园精品99久久久久久 | 800av在线视频| 天天干天天爽天天射 | 久久大| 国产超碰自拍 | 99热这里只有精品首页 | 国产传媒一区二区 | 国产口爆吞精在线视频 | 国精产品一区一区三区免费视频 | 肉嫁高柳家在线看 | 国产精品天天在线午夜更新 | 乌克兰少妇xxxx做受 | 香蕉视频ww | 国产精品热久久高潮av袁孑怡 | 国产丝袜久久 | 北岛玲一区二区 | 午夜色大片在线观看 | 久久久久久香蕉 | 婷婷国产成人精品视频 | 国产精品无码一区二区在线看 | 欧美中文字幕一区二区三区 | 三级在线国产 | 美女赤身免费网站 | 国产亚洲精品久久久久婷婷瑜伽 | 久久人人爽爽人人爽人人片av | 日韩中文免费 | 中国白嫩丰满少妇xxxxx明星 | 成年激情网 | 色综久久综合桃花网 | 国产一区二区视频在线 | 国产伦精品一区二区三区免费 | 蜜臀一区二区三区精品免费视频 | 久久老女人| 国产自在自线午夜精品 | 国产真人真事毛片 | 北岛玲日韩一区二区三区 | 88国产精品视频一区二区三区 | 国产精品一卡二卡三卡四卡 | 国产高跟黑色丝袜在线 | 欧美成人吸奶水做爰 | 免费av播放 | 午夜免费福利在线 | 潘金莲4级淫片aaaa | 91精品久久久久久久久久入口 | 成人在线视频一区 | 国产精品刺激对白97 | 青草青草久热精品视频在线观看 | 亚洲精品国产乱码在线看蜜月 | 爱爱小视频免费看 | gogogo免费在线观看 | 欧美日韩精品一二三区 | 男女无遮挡做爰猛烈黄文 | 久在线观看 | 啪视频免费| 婷婷午夜 | 成人精品区 | 亚洲天堂热 | 狠狠色噜噜狠狠狠狠69 | 亚洲精品av一二三区无码 | mm1313亚洲国产精品 | 亚洲国产精品99久久久久久久久 | a级在线播放 | 婷婷综合五月天 | 天天色网站 | 制服丝袜国产在线 | 东京热一区二区三区无码视频 | eeuss国产一区二区三区 | 精品国产乱码久久久久久虫虫 | 久久人人爽人人爽人人片 | 欧美aaaaaaaaa | 蜜桃精品视频在线 | 区二区三区玖玖玖 | 色综合天天色综合 | 一级黄色视屏 | 91porny丨首页入口在线 | 国产精品入口免费视频一 | 91午夜精品一区二区三区 | 少妇影院yy111111 | 成人无遮挡裸免费视频在线观看 | 日本特黄特色aaa大片免费 | 露脸内射熟女--69xx | 亚洲乱仑 | 国产肉体xxxx裸体视频 | 天堂在线中文 | 日本猛少妇色xxxxx猛叫 | 尹人成人 | 新版本天堂资源在线中文8的特点 | 99精产国品产在线观看 | 草草视频网站 | 狠狠色很很在鲁视频 | 中文字幕高清一区 | 中国女人做爰视频 | 国产夫妻性生活视频 | 国产精品女丝袜白丝袜 | 无码人妻人妻经典 | 国产成人精品白浆久久69 | 中国免费一级片 | 亚洲狠狠色丁香婷婷综合 | 波多野结衣精品一区二区三区 | 久久免费视频在线观看30 | 自拍偷自拍亚洲精品播放 | 国产做a爱片久久毛片 | 亚洲性xxx| 92看片淫黄大片看国产片 | 清纯唯美一区二区三区 | 操操日日 | 日本色综合 | 曰韩少妇内射免费播放 | 国产精品视频色拍拍 | 大乳奶水成人吃91 | 四虎视频国产精品免费 | 日韩成人在线播放 | 国产高潮国产高潮久久久91 | 国产人澡人澡澡澡人碰视频 | www婷婷com| 卡一卡二在线视频 | 亚洲欧美日韩一区二区三区在线 | 黄色网www | 肉色超薄丝袜脚交一区二区 | 欧美黄色免费视频 | 国产精品国产精品国产专区不片 | 欧美日韩一级在线观看 | 青青草原综合网 | 国产精品伦一区二区三级视频 | 黄色毛片子| 中文字幕一区二区三区日韩精品 | 一女二男3p波多野结衣 | 国语自产偷拍精品视频 | 无码一区二区三区av免费 | 98久久 | 性史性高校dvd毛片 性视频黄色 | 国产高清在线精品 | 国产又爽又粗又猛的视频 | 国产精品高潮呻吟久久av黑人 | 石原莉奈在线播放 | 后入内射国产一区二区 | 26uuu国产精品视频 | 美女一级片 | 深夜视频在线播放 | 中文天堂av | 亚洲欧美中文日韩在线v日本 | 欧美日韩一区二区综合 | 老头边吃奶边弄进去呻吟 | 成人涩涩网 | 国产精品国产三级国产专业不 | 日本人配人免费视频人 | 精品乱码久久久久久中文字幕 | 真人作爱90分钟免费看视频 | 亚洲人成网站在线播放2019 | 国产aaa级片 | 日b视频免费观看 | 国产在线麻豆 | 日本私人影院 | 天堂av2019| 加勒比综合在线19p 加勒比综合在线888 | 自拍偷自拍亚洲精品播放 | 国产精品福利视频导航 | 国产乱码精品一品二品 | 四虎国产精品成人永久免费影视 | 99精品欧美一区二区三区 | 任你躁久久久久久妇女av | 美女网站黄频 | 久久国产精品无码网站 | 成人深夜在线 | 免费久久日韩aaaaa大片 | 麻豆一区二区三区蜜桃免费 | 国产精品普通话 | 久久久免费精品 | 怡红院av亚洲一区二区三区h | 亚洲激情网| 97久久久久人妻精品区一 | 亚洲成人另类 | 日韩在线一区视频 | 黑人操白妞| 丰满少妇免费做爰大片人 | 成人av高清在线观看 | 亚洲精品久久久久中文字幕 | 亚洲一级av毛片 | 2021精品亚洲中文字幕 | 中文字幕久久av | 免费一级特黄3大片视频 | 天干天干天啪啪夜爽爽av网站 | 亚洲乱码无码永久不卡在线 | av一二三四区 | 欧美牲交a欧美牲交aⅴ久久 | 国产精彩视频在线 | 99久久精品国产一区二区三区 | 日韩深夜福利 | www国产在线| 午夜资源| 人妻少妇精品专区性色av | 国产自啪精品视频网站丝袜 | 不卡av在线播放 | 性感av在线 | 男女操操操 | 91午夜免费视频 | 亚洲性久久久影院 | 91成人福利 | 欧美精品观看 | 第一福利在线观看 | 国产亚洲成av片在线观看 | 亚洲a成人片在线观看 | 国产一区二区丝袜 | av超碰在线观看 | ass嫩粉嫩粉嫩pⅰcs | 免费毛片软件 | 国产激情з∠视频一区二区 | 黄色软件视频大全 | 国产成人18黄网站 | 成人av资源网 | 欧美大黄视频 | 永久免费黄色 | 奇米综合四色77777久久 | 天天综合国产 | 精品人妻久久久久久888 | 久久国产avjust麻豆 | 99综合色| 国产乱子伦无套一区二区三区 | 精久国产一区二区三区四区 | 亚洲色五月| 国产精品伦子伦免费视频 | 欧洲熟妇色xxxx欧美老妇多毛网站 | 特级西西444ww大胆视频 | 国产精品久久久一区二区三区 | 黄色av播放 | 国产原创视频 | 午夜影院免费视频 | 丰满熟妇乱又伦 | 公么大龟弄得我好舒服秀婷视频 | 麻豆精品一区二正一三区 | 欧美xxxx做受性欧美88 | 国产三级精品三级在线 | 日韩亚洲一区二区三区 | 2020亚洲男人天堂 | 国产亚洲综合一区二区 | 337p日本欧洲亚洲大胆裸体艺术 | 天堂久久久久久久 | 黄视频在线免费 | 大地资源影视在线播放观看高清视频 | 男人的天堂亚洲 | 无套日出白浆 | 日韩av不卡在线观看 | 天堂av观看| 精品久久久久中文字幕日本 | 色噜噜av亚洲色一区二区 | 色妞色综合久久夜夜 | 无遮挡又黄又刺激的视频 | 久热国产vs视频在线观看 | 国产精品久久久久无码av | 成人在线影片 | 日韩成人三级 | 亚洲区一区二区三区 | 日韩精品无码一区二区三区 | 久久精品无码一区二区日韩av | 永久免费无码av网站在线观看 | 日本免费黄视频 | 亚洲女优在线观看 | 亚洲国产精品99久久久久久久久 | 天天天欲色欲色www免费 | 欧美 中文字幕 | 国产欧美在线观看不卡 | 国产色综合天天综合网 | 男人的天堂一级片 | 久久久久久久岛国免费网站 | 亚洲图区欧美 | 精品国产乱码久久久久夜深人妻 | 丝袜美腿一区二区三区动态图 | 日韩性生活大片 | 欧美中文字幕在线 | 一级特黄bbbbb免费观看 | 亚洲天堂999| 国产成人av一区二区 | 日本大尺度吃奶做爰视频 | 国产精品黄在线观看免费软件 | 成人国内精品久久久久一区 | 精品欧美一区二区精品久久久 | 国产精品偷窥熟女精品视频 | 日本亲子乱子伦xxxx | 成年人黄色大片 | 久草视频2| 国产一区在线免费观看 | 亚洲欧美另类综合偷拍 | 成人三级晚上看 | 亚洲乱码国产乱码精品精软件 | 2023国产精品 | 天天射天天干天天插 | 性做久久久久久免费观看 | 国产精品美女久久久久久 | 国产精品亚洲аv无码播放 露脸内射熟女--69xx | 亚洲国产三级 | 中文天堂av | 日韩国产第一页 | 欧美三级午夜理伦三级老人 | 99热这里只有精品9 99热这里只有精品99 | 国产精品无码av天天爽 | 91精品国产91久久久久久吃药 | 亚洲精品怡红院 | 992人人草 | 伊人中文字幕在线 | 国产第6页 | 亚洲无卡视频 | 欧美成人a视频 | 亚洲精品国产精品乱码在线观看 | 无码h片在线观看网站 | av爱爱网站| 性高潮影院 | 亚洲色欲综合一区二区三区 | 蜜臀av粉嫩av懂色av | 毛片av在线播放 | 干一夜综合 | 天天精品免费视频 | 国内国外精品影片无人区 | 亚洲视频色 | 色爱无码av综合区 | 欧美成年黄网站色视频 | 少妇野外性xx老女人野外性xx | 国产明星裸体无码xxxx视频 | 国产伦精品一区二区三区四区视频 | 少妇高潮露脸国语对白 | 成年人的黄色片 | 亚欧在线播放 | av狠狠干| 韩国精品一区二区三区无码视频 | 99热这里只有精品首页 | 一级做a爰片久久 | 欧美亚洲国产精品久久蜜芽直播 | 欧美韩国一区 | 黄色小说在线视频 | 性8电台性8成人电台 | 蜜桃臀无码内射一区二区三区 | 免费网站看v片在线18禁无码 | 玩弄japan白嫩少妇hd | 亚洲va久久久噜噜噜久久 | 少妇3p视频 | 日韩精品欧美在线 | 最新日韩精品中文字幕 | 妺妺窝人体色www聚色窝 | 亚洲区免费中文字幕影片|高清在线观看 | 国产精品国产三级国产播12软件 | 欧美色炮 | 日日噜噜噜夜夜狠狠久久蜜桃 | 色视频网站在线观看一=区 色视频网址 | 中文字幕黄色片 | 色妞综合网 | 婷婷四房综合激情五月 | 国产一区二区三精品久久久无广告 | 午夜视频福利 | 欧美日韩高清一区 | 日韩av中文字幕在线 | 中文字幕久久av | 亚洲 自拍 另类小说综合图区 | 谁有av网址 | 亚洲青涩| 无码专区亚洲综合另类 | 亚洲精品美女视频 | 女人扒开屁股桶爽30分钟 | 亚洲人人插 | 成人午夜在线观看视频 | 国产日韩欧美不卡 | 国产偷国产偷亚洲高清人白洁 | av成人免费观看 | 又色又爽又大免费区欧美 | 99精品欧美一区二区三区小说 | av不卡在线播放 | 高潮久久久久久 | 国产怡红院在线观看 | 亚洲激情黄色 | 国产69精品久久久久9999 | 亚洲国产精品嫩草影院 | 高清无码午夜福利视频 | 999在线观看视频 | a在线观看| 欧美午夜精品 | 日韩精品91亚洲二区在线观看 | 亚洲精品视频免费在线观看 | 国产精品欧美亚洲 | 国产精品成人3p一区二区三区 | 一区二区三区av夏目彩春 | 日韩视频在线观看 | 91性高潮久久久久久久久 | 国产欧美精品aaaaaa片 | 色爱成人综合 | 欧美v日韩 | 色琪琪久久草在线视频 | 91麻豆精品国产91久久久久久久久 | 欧美日韩亚洲中文字幕一区二区三区 | 少妇无套内谢久久久久 | 绯色av一区| 中文资源在线观看 | 成人网在线播放 | 久久精品国产99久久99久久久 | 欧美成人免费网址 | 99久久精品一区二区三区 | 久久香蕉国产线熟妇人妻 | 琪琪五月天| 欧美日韩精品一区二区在线观看 | 国产又色又爽无遮挡免费动态图 | 18禁止看的免费污网站 | 色婷婷激情网 | ass阿娇裸体pics | 免费小视频在线观看 | 伊人成人久久 | 亚洲日韩aⅴ在线视频 | 嫩草视频免费观看 | 国产69精品久久久久app下载 | 国内精品久久久久久久久久久 | 欧美日韩一区精品 | 中文字幕五区 | 成av免费大片黄在线观看 | 国产极品美女做性视频 | 91精品啪在线观看国产81旧版 | 亚洲一区二区三区乱码aⅴ蜜桃女 | 日韩国产一区 | 亚洲欧洲精品一区二区三区 | 综合 欧美 亚洲日本 | 美女黄视频在线观看 | 日本女人黄色 | 欲求不满 希岛あいり在线看 | 黄视频在线免费看 | 久久久人成影片免费观看 | 成人无码av片在线观看 | 国产a级黄色 | 欧美视频在线观看亚洲欧 | 黄色免费网站在线 | 欧美18videosex性欧美黑吊 | 天天干夜夜操视频 | 国产高潮视频在线观看 | 婷婷嫩草国产精品一区二区三区 | 五月开心播播网 | 国产亚洲精品精品国产亚洲综合 | 欧美九九九| 顶级黄色片 | 国产精品成人3p一区二区三区 | 少妇被粗大的猛烈进出 | 中文字幕日本在线观看 | 6080影视最新97理伦片 | 国产黄色毛片视频 | 很污很黄的网站 | 福利一区二区 | 97欧美一乱一性一交一视频 | 国产91精品ai换脸 | 在线免费看污网站 | 爽妇网国产精品 | 午夜精品久久久久久99热小说 | 国产在线拍偷自揄拍精品 | 国产精品国语对白 | 成人久久久 | 亚洲国产精品久久久久婷婷老年 | 少妇放荡的呻吟干柴烈火视频 | 亚洲精品成人无码中文毛片不卡 | 日韩午夜精品 | 久久综合给合久久狠狠狠97色 | 久久精品国产999大香线蕉 | 免费看高清毛片 | 国内自拍第二页 | 青草青草久热精品视频在线观看 | 91在线播放国产 | аⅴ资源天堂资源库在线 | 上司人妻互换hd无码 | 中文字幕2区 | 99久久久99久久国产片鸭王 | 北条麻妃久久 | 欧美激情肉欲高潮视频 | 狼人综合伊人 | 午夜精品久久久久久久久久久久久 | 按摩师高h荡肉呻吟在线观看 | 实拍澡堂美女洗澡av | 亚洲成a人片在线观看无码 97se亚洲精品一区 | 特色特色大片在线 | 久久久久9| 国产精品无码翘臀在线观看 | 日韩国产高清一区二区 | 激情床戏视频女人叫国语 | 女人18毛片一区二区三区 | 亚洲第一成年免费网站 | 天天色天天艹 | 午夜理论片yy44880影院 | 黄色日批 | kk视频在线视频 | 大尺度做爰黄9996片视频 | 手机在线观看日韩av | 天堂国产一区二区三区 | 在线观看视频中文字幕 | 久久综合社区 | 伊人成人免费视频 | 欧美色图综合网 | 成人精品少妇免费啪啪18 | 日韩av在线免费看 | 黄色爱爱视频 | 成人另类小说 | 亚洲精品久久久狠狠爱小说 | 狠狠躁夜夜躁人人爽超碰女h | 新婚之夜疯狂做爰视频一区二区 | 正在播放木下凛凛xv99 | 激情丁香网 | 97夜夜澡人人爽人人喊91洗澡 | 亚洲老妈激情一区二区三区 | 狠狠精品久久久无码中文字幕 | 我爱avav色aⅴ爱avav | 日韩免费在线播放 | 91九色中文| 久久久亚洲一区二区三区 | 久久综合久久美利坚合众国 | 荷兰女人裸体性做爰 | 免费毛片手机在线播放 | www777含羞草| 国产精品久久久久久久久久久杏吧 | 国产成人精品午夜视频 | 精品一区二区三区在线视频 | 天天做爰裸体免费视频 | 亚洲黄网av | 很黄的网站在线观看 | 欧美一区二区三区免费播放视频了 | 麻豆高清免费国产一区 | 国产精品成人免费精品自在线观看 | 桃色在线视频 | 国色天香久久久久久久小说 | 国产在线免费 | 欧美我不卡| 性色av一区二区三区无码 | 成人乱码一区二区三区av | 免费网站看v片在线观看 | 欧美午夜理伦三级在线观看 | 久久久精品伦理 | 日产精品一区二区三区在线观看 | 成人午夜国产内射主播 | 精品国产一区二区三区av性色 |