成人精品一区二区久久久 I 国产美女永久无遮挡 I 中文字幕+乱码+中文字幕明步 I 国产在视频一区二区三区吞精 I 日韩精品小视频 I 成人性生交大片免费4 I 免费aaa级毛片在线视频 I 一级片毛片 I 大型成人社区 I 国模在线播放 I 欧美大荫蒂毛茸茸视频 I 偷偷色噜狠狠狠狠的777米奇 I www.久久亚洲 I 日日搞夜夜操 I 亚洲成色777777女色窝 I 毛片黄色毛片 I 午夜片在线观看 I 国产一区二区三区中文字幕 I 天天干夜夜骑 I 日韩在线视频一区二区三区 I 久久久无码精品亚洲a片0000 I 写真福利片hd在线播放 I 欧美成人一区二免费视频 I 色噜噜狠狠爱综合视频 I 中文字幕无线码免费人妻 I 国产精品久久久久久久久久不蜜臀 I 欧美综合人人做人人爱 I 1024成人网色www I 国产精品视频一二三区 I 亚洲免费美女视频

wjun7610
級別: 略有小成
精華主題: 0
發帖數量: 110 個
工控威望: 249 點
下載積分: 708 分
在線時間: 35(小時)
注冊時間: 2007-09-16
最后登錄: 2025-07-30
查看wjun7610的 主題 / 回貼
樓主  發表于: 2007-09-22 12:49
一、最新三菱PLC FX系列PLC編程口通信協議動態鏈接庫DLL(以下簡稱DLL),是為滿足工業通信需要,針對工業領域要求上位機對PLC實時采集與控制的組態編程而設計。本DLL是采用Delphi語言開發的標準串口通訊庫,具有以下特點:
1)、實時性、可靠性好,可根據通信數據量自行調整通信時間;
2)、適用于多PLC聯網和上位機通信,滿足多方面的需要;
3)、函數接口功能全,操作簡單;
4)、附加實用轉換與讀取函數,易于快速開發(VC等非RAD開發環境的開發);
5)、支持USB、PC擴展卡等擴展串口號;
6)、支持多種操作系統win9x/win2000/winXP;
7)、可在多種編程環境下使用,例如VB、VC、Delphi等開發環境。

二、DLL函數說明

1、打開串口
Function ComOpen(nport:longint;User:Pchar):longint;stdcall;
參數:nport: 打開串口號,取值為1~8,代表COM1~COM8;
      User:DLL授權用戶名;
返回值:長整型,操作成功返回1,否則返回0;打開串口不成功即返回0時的原因:1)、串口不存在或被占用; 2)、DLL試用過期; 3)、DLL授權注冊不正確。

使用舉例:
ComOpen(1,'wjun') , 打開COM1口。

2、關閉串口
Function ComClose(nport:longint):longint;stdcall;
參數:nport: 串口號,取值為1~8,代表COM1~COM8;
返回值:長整型,操作成功返回1,否則返回0;

使用舉例:
ComClose(1) ,關閉打開的COM1口。

3、PLC存儲器的預置(D)
Function ComDWrite(nport,address:longint;sendstr:pchar):longint;stdcall;
參數:
nport: 串口號,取值為1~8,代表COM1~COM8;
address: 寄存器地址,取值為0~4095(此值需根據不同的PLC操作選擇合適的地址范圍);
sendstr:  給寄存器寫入的值,該值為4個一組的16進制字符串組其取值為0000~FFFF(整數值為0~65535),當要寫入多個寄存器值時依次排列即可。如給D0與D1寫值100和1000,先將100轉成16進制字符串0064、1000轉成16進制字符串03E8,則sendstr=006403E8;一次最多寫32個寄存器即字符串長應小于等于128;
                            ---------- ----  ~  ---------
寫字符串序列如:            | 0000 | FFFF | 0010 | 0064 |  ~    | 0010 | 0064 |
                            ---------- ----  ~  ---------
返回值:長整型,操作成功返回1,否則返回0;

使用舉例:
ComDwrite(1,0,‘006403E8’),由串口1預置值D0=100,D1=1000。

4、PLC存儲器的讀取(C、D、T)
Function ComDRead(nport,address,Count:longint;element:Pchar):Pchar;stdcall;
參數:
nport: 串口號,取值為1~8,代表COM1~COM8;
address: 寄存器地址,取值為D區0~4095、C、T(定時器/計數器當前值)區0~255;
Count: 讀取寄存器個數,最多讀取32個寄存器;DLL讀取的越界會自動舍去
element:元件名稱,支持D、C、T;
返回值:字符串數據,字符串數據的終止符為"@";
使用舉例:
ComDRead(1,0,4,'D') ,由COM1讀取D0~D3四個寄存器的值,如返回值為“0001006403E809F0@”,則表示D0=0001, D1=0064,D2=03E8,D3=09F0;

                            ---------- ----  ---
讀字符串序列如:            | 0001 | 0064 | 03E8 | 009F | | @ |
                            ---------- ----  ---
返回值為16進制字符串,可以將返回值如上四位一組再轉換成“0~65535”的整數值。


5、PLC的多線圈強置(C、M、S、T)
Function ComEForce(nport,address:longint;element,sendstr:pchar):longint;stdcall;
參數:
nport: 串口號,取值為1~8, 代表COM1~COM8;
address: 位單元地址,定時器C:0~255、M:0~2047、S:0~999、T:0~255、特M: M8000~M8255;
element:元件名稱,支持C、M、S、T;
sendstr:  給多線圈寫入的值,該值為2個一組的16進制字符串組其取值為00~FF(整數值為0~255),當要寫入多個值時依次排列即可。例如: 字節地址C0'(實際由位地址位C0~C7)、字節地址C1'(實際由位地址位C8~C15),如給C0'賦值80、C1'賦值CF,則sendstr=80CF;一次最多寫64個字節,即字符串長應小于等于128;
                          ---------- - ~  ------
寫字符串序列如:          | 00 | FF | 10 | 64 |  ~  | 1F | 48 |
                          ---------- - ~  ------

實際字符串與位地址的數值應如下表:(將上例的字節C0'、C1'轉換為位地址C0~C15由下表對應)
            ------------------------------------
位地址:    | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
            ------------------------------------ 
各位賦值:  | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1  | 1  | 0  | 0  | 1  | 1  | 1 | 1 |
            ------------------------------------
16進制串:  |      8      |      0      |        C        |        F      |
            ------------------------------------
         
返回值:長整型,操作成功返回1,否則返回0;

使用舉例:
ComEForce(1,0,‘C’ ,‘80CF’),DLL將按上表給相應位強置值,這里地址address賦值0~7都是給C0~C15的強置值,因實際字節地址=address div 8 (0~7 div 8 都等于0,即都是給C0'、C1'強置值)。

字節地址如Mx' = address div 8 ,M、S、C、T都按此公式計算如何給實際的位地址強置值。

6、PLC的多線圈讀取(C、M、S、T、X、Y)
Function ComERead(nport,address,Count:longint;element:Pchar):Pchar;stdcall;
參數:
nport: 串口號,取值為1~8,代表COM1~COM8;
address: 位單元地址,定時器C:0~255、M:0~2047、S:0~999、T:0~255、X:0~177(8進制)、Y:0~177(8進制)、特M: M8000~M8255;
Count: 讀取字節個數,最多讀取64個字節;
element:元件名稱,支持C、M、S、T、X、Y;
位單元的字節組成按8個位一組,如56(16進制)則表示下表的位構造值。
              ----------------
位地址:      | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
              ----------------
各位賦值:    | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 |
              ----------------
16進制串:    |      5      |      6      |
              ----------------
使用舉例:
ComERead(1,0,1,‘M’),如返回56(16進制)則M0~M7的值為上表反應的結果。0~255的位地址映射成字節地址應為0~31。
即:實際地址=address / 8 ,如ComERead(1,11,2,‘C’)相應都得是C8~C15與C16~C23組合的兩個字節的值,例如返回值為“870A@”
        -----------------------------------------
位地址:| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | @ |
        ----------------------------------------- 
各位賦值:| 1 | 0  | 0  | 0  | 0  | 1  | 1 | 1 | 0  | 0  | 0  | 0  | 1  | 0  | 1  | 0  | @ |
        -----------------------------------------
16進制串:|        8        |        7      |        0        |        A        | @ |
        -----------------------------------------

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

DLL還提供附加函數CinBin ,可以讀出字節中相應位的值是1還是0。

對于X、Y區線圈地址可以按8進制地址轉換成10進制后再參照上表的地址映射關系。


7、PLC的線圈置位(C、M、S、T)

Function ComESet(nport,address:longint;element:Pchar):longint;stdcall;
參數:
nport: 串口號,取值為1~8,代表COM1~COM8;
address: 位單元地址,定時器C:0~255、M:0~1023、S:0~999、T:0~255、X:0~177、Y:0~177及特M: M8000~M8255;
element:元件名稱,支持C、M、S、T;
使用舉例:
ComESet(1,0,‘C’),由COM1給C0置位;
ComESet(1,8010,‘M’), 由COM1給M8010置位;


8、PLC的線圈復位(C、M、S、T)
Function ComEReset (nport,address:longint;element:Pchar):longint;stdcall;
參數:
nport: 串口號,取值為1~8,代表COM1~COM8;
address: 位單元地址,定時器C:0~255、M:0~1023、S:0~999、T:0~255、X:0~177、Y:0~177及特M: M8000~M8255;
element:元件名稱,支持C、M、S、T;
使用舉例:
ComEReset(1,0,‘T’),給T0復位;
ComEReset (1,810,‘S’),給S810復位;

三、DLL附加函數說明

1、串口打開狀態的讀取
Function ComTrue(nport:longint):longint;stdcall;
參數:
noprt: 串口號,取值為1~8,代表COM1~COM8;
返回值:長整型,串口打開返回1,否則返回0;

2、整數轉換成16進制字符串 (為VC等非RAD開發環境所增設)
Function CIntToHex(Cint,Digits:Longint):Pchar;stdcall;
參數:
Cint: 待轉換整數,取值為(0~65535);
Digits: 轉換的字符串位數,指定位數小于實際位數時按實際輸出;

使用舉例:
CIntToHex(200,2),則返回字符串“C8@”;
CIntToHex(200,4),則返回字符串“00C8@”;
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;

4、抽取16進制字符串中某個位的值
Function CinBin(CHex:Pchar;Start:longint):longint;stdcall;
參數:
CHex: 待轉換字符串,取值為(0~FFFF);
Start: 抽取的位,取值為(0~15);
使用舉例:
CinBin(‘0F’,3),則返回值1;
CinBin(‘0F’,4),則返回值0;
CinBin(‘03E8’,6),則返回值1;
讀取M8~M15組合成的字節值為“FC”時,要讀取M10的值時,則調用CinBin(‘FC’,3)返回值1表示M10的值為1。

5、返回字符串Text左邊的Count個字符  (為VC等非RAD開發環境所增設)
Function CLeftStr(Text:Pchar;Count:longint):Pchar;stdcall;
參數:
Text: 字符串原型;
Count: 指定返回左側字符串個數;

使用舉例:
CleftStr('123456', 3) = '123@';

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

6、返回字符串Text右邊的Count個字符  (為VC等非RAD開發環境所增設)
Function CRightStr(Text:Pchar;Count:longint):Pchar;stdcall;
參數:
Text: 字符串原型;
Count: 指定返回右側字符串個數
使用舉例:
CRightStr('123456', 3) = '456@';

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

7、返回字符串Text從Start開始的Count個字符 (為VC等非RAD開發環境所增設)
Function CMidStr(Text:Pchar;Start,Count:longint):Pchar;stdcall;
參數:
Text: 字符串原型;
Start: 指定返回字符串的起始位置;
Count: 指定返回字符串個數;
使用舉例:
CMidStr('123456',2,3) = '234@';

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

8、字符串Substr開始于字符串S的位置 (為VC等非RAD開發環境所增設)
Function CinStr(S,Substr:Pchar):Longint;stdcall;
參數:
S: 字符串原型;
Substr: 查詢的字符串;
返回值:長整型;

使用舉例:
CinStr('1Tfdg23456','2') = 6

DLL中關于傳出字符串值的函數都以"@"為字符串函數值終止符。

四、Delphi、VB、VC語言環境的開發使用說明

1、Delphi語言環境開發說明

在Delphi環境下將melsecfx.dll、serialfx.slip(許可文件)復制到應用程序目錄下(即將上述文件與編譯后的可執行文件方入同一文件夾內);

在工程文件的主程序窗體(pas)文件中聲明:

Function ComOpen(nport:longint;User:pchar):longint;stdcall;External'melsecfx.dll';
Function ComClose(nport:longint):longint;stdcall;External'melsecfx.dll';
Function ComDWrite(nport,address:longint;sendstr:pchar):longint;stdcall;External'melsecfx.dll';
Function ComDRead(nport,address,Count:longint;element:Pchar):Pchar;stdcall;External'melsecfx.dll';
Function ComEForce(nport,address:longint;element,sendstr:pchar):longint;stdcall;External'melsecfx.dll';
Function ComERead(nport,address,Count:longint;element:Pchar):Pchar;stdcall;External'melsecfx.dll';
Function ComESet(nport,address:longint;Element:Pchar):longint;stdcall;External'melsecfx.dll';
Function ComEReset(nport,address:longint;element:Pchar):longint;stdcall;External'melsecfx.dll';
Function ComTrue(nport:longint):longint;stdcall; External'melsecfx.dll';
Function CinBin(CHex:Pchar;Start:longint):longint;stdcall; External'melsecfx.dll';

其它附加函數Delphi有實用函數,建議用Delphi自帶函數,如需使用聲明參上例;

聲明后可以在程序中使用這些函數,附加函數置中除ComTrue、CinBin外Delphi系統自帶有類似功能函數。通信時必須先使用ComOpen函數打開串口,在串口打開后可以有效操作相關函數,為確保通信可在程序運行開始時打開串口,程序關閉前關閉串口。應用程序關閉之前請務必將關閉所有串口,如串口未關閉前關閉系統將拋出異常。確保應用程序在關閉釋放前關閉打開的串口。解決方法,在form的OnDestroy事件中加入如下語句:
if ComTrue(1)=1 then ComClose(1);
在Delphi中給中給DLL中的函數傳pchar值問題,參考下例:
讀取多線圈M8~M23的值
Procedure TForm1.BitBtn1Click(Sender: TObject);
Var
  elementstr,Recstr:string
  Name:pchar;
  address,Count:word;
begin
  elementstr:=’M’;
  address:=8;  //地址給8~15都行,實際地址=address div 8
  Count:=2;
  // Recstr:= ComERead(1,address, Count,Pchar(elementstr));
  //以上的用法不建議是使用,推薦用下面的用法。
  try
    Name:=strAlloc(8);
Name:=strPCopy(Name, elementstr);  Recstr:=strpas(ComERead(1,address,Count,
Pchar(elementstr));
  finally;
    StrDispose(Name);
  end;
end; 
建議采用strPCopy()|string型轉換到Pchar型,straps()|Pchar型轉換到string型,不推薦使用直接轉換法。

上述可以詳細參照DEMO程序。

2、VB語言環境開發說明

在VB環境下將melsecfx.dll、serialfx.slip(許可文件)復制到應用程序目錄下(即將上述文件與編譯后的可執行文件方入同一文件夾內);

在工程文件中聲明:

Private Declare Function ComOpen Lib "melsecfx.dll" (ByVal nport As Long, ByVal User As String) As Long
Private Declare Function ComClose Lib "melsecfx.dll" (ByVal nport As Long) As Long
Private Declare Function ComDWrite Lib "melsecfx.dll" (ByVal nport As Long, ByVal address As Long, ByVal sendstr As String) As Long
Private Declare Function ComEForce Lib "melsecfx.dll" (ByVal nport As Long, ByVal address As Long, ByVal element As String, ByVal sendstr As String) As Long
Private Declare Function ComDRead Lib "melsecfx.dll" (ByVal nport As Long, ByVal address As Long, ByVal Count As Long, ByVal element As String) As String
Private Declare Function ComERead Lib "melsecfx.dll" (ByVal nport As Long, ByVal address As Long, ByVal Count As Long, ByVal element As String) As String
Private Declare Function ComESet Lib "melsecfx.dll" (ByVal nport As Long, ByVal address As Long, ByVal element As String) As Long
Private Declare Function ComEReset Lib "melsecfx.dll" (ByVal nport As Long, ByVal address As Long, ByVal element As String) As Long
Private Declare Function ComTrue Lib "melsecfx.dll" (ByVal nport As Long) As Long
Private Declare Function CinBin Lib "melsecfx.dll" (ByVal Chex As String, ByVal Start As Long) As Long

其它附加函數VB有實用函數,建議用VB自帶函數,如需使用聲明參上例;
做完上述聲明后,便可以在程序中使用相關函數了。本DLL是串口通信庫,通信時必須先使用ComOpen函數打開串口,在串口打開后可以有效操作相關函數,為保證通信可以在程序運行開始時打開串口,程序關閉前關閉串口。在應用程序關閉之前請務必將關閉所有串口,如您的程序串口未關閉前被關閉系統將拋出異常。當出現這樣的異常請更改您的程序,確保應用程序在關閉釋放前關閉打開的串口。
解決方法,在form的Unload事件中加入如下例:
If ComTrue(1)=1 then
  ComClose(1)
End if
為確保Unload事件有效執行程序中應使用“End”語句,而盡量使用“Unload”語句釋放所有窗體,因使用“End”語句系統不會執行正常的窗體釋放等事件而直接退出程序,如程序中有form1,form2兩個窗體,則使用下面語句:
Unload  form1
Unload  form2
VB會在所有窗體關閉后釋放所有占用資源。
上述可以詳細參照DEMO程序。

3、VC語言環境開發說明
在VC環境下將melsecfx.dll、serialfx.slip(許可文件)復制到應用程序目錄下(即將上述文件與編譯后的可執行文件方入同一文件夾內);

在工程主文件cpp中聲明一個句柄:
HINSTANCE m_handle;
用來標識導入的動態鏈接庫。

1)、導入動態鏈接庫,如例所示:

  m_handle =:: LoadLibrary("melsecfx.dll");

2)、按下例說明聲明相關各個函數:

typedef long (CALLBACK* pOpen)(long nport, char* User);
typedef long (CALLBACK* pClose)(long nport);
typedef long (CALLBACK* pDWrite)(long nport,long address, char* sendstr);
typedef long (CALLBACK* pEForce)(long nport,long address, char* element, char* sendstr);
typedef char* (CALLBACK* pDRead)(long nport,long address,long Count, char* element);
typedef char* (CALLBACK* pERead)(long nport,long address,long Count,char* element);
typedef long (CALLBACK* pSet)(long nport,long address, char* element);
typedef long (CALLBACK* pReset)(long nport,long address char* element);
typedef long (CALLBACK* pTrue)(long nport);
typedef char* (CALLBACK* pIntHex)(long Cint,long Digits);
typedef long (CALLBACK* pHexInt)( char* CHex);
typedef long (CALLBACK* pBin)( char* Chex, long Start);
typedef char* (CALLBACK* pLeft)( char* Text, long Count);
typedef char* (CALLBACK* pRight)( char* Text, long Count);
typedef char* (CALLBACK* pMid)( char* Text, long  Start, long Count);
typedef long (CALLBACK* pinstr)( char* S, char* Substr);

3)、聲明并建立動態鏈接庫中的函數與新函數名的對應關系,如下:

pOpen cOpen = (pOpen)GetProcAddress(m_handle,"ComOpen");
pClose cClose = (pClose)GetProcAddress(m_handle,"ComClose");
pDWrite cDWrite = (pDWrite)GetProcAddress(m_handle," ComDWrite");
pDRead cDRead = (pDRead)GetProcAddress(m_handle," ComDRead");
pEForce cEForce = (pEForce)GetProcAddress(m_handle,"ComEForce");
pERead cERead = (pERead)GetProcAddress(m_handle,"ComERead");
pSet cSet = (pSet)GetProcAddress(m_handle," ComESet");
pReset cReset = (pReset)GetProcAddress(m_handle," ComEReset");
pTrue cTrue = (pTrue)GetProcAddress(m_handle," ComTrue");
pIntHex cIntHex = (pIntHex)GetProcAddress(m_handle," CIntToHex");
pHexInt cHexInt = (pHexInt)GetProcAddress(m_handle," CHexToInt");
pBin cBin = (pBin)GetProcAddress(m_handle," CinBin");
pLeft cLeft = (pLeft)GetProcAddress(m_handle," CLeftStr");
pRight cRight = (pRight)GetProcAddress(m_handle," CRightStr");
pMid cMid= (pMid)GetProcAddress(m_handle," CMidStr");
pinstr instr=(pinstr)GetProcAddress(m_handle," CinStr");

注:雙引號中為動態鏈接庫中的函數名。

4)、接下來就可以自由使用動態鏈接庫中的函數了,如:

cOpen(參數略);
cClose(參數略);
cDWrite(參數略);
cDRead(參數略);
cEForce(參數略);
cERead(參數略);
cSet(參數略);
cReset(參數略);
cTrue(參數略);
cIntHex(參數略);
cHexInt(參數略);
cBin(參數略);
cLeft(參數略);
cRight(參數略);
cMid(參數略);
instr(參數略);

注:函數中用到了char*型參數,這里介紹下char*與Cstring的相互轉換的函數:
(1)char*->CString
char* sz;
CString str;
str.Format("%s",sz);  //可以用此函數將讀取的值轉成字符串
(2) CString -> char*
CString str;
char* sz = str.GetBuffer(0);//可將字符串轉成char*給函數賦值

5)、當不再需要使用DLL時記得關閉串口及釋放動態鏈接庫,如:

關閉串口
if cTrue(1)==1 then
{
  cClose(1);
}

6)、釋放DLL

FreeLibrary(m_handle);

注:對于各位使用VC及其他開發環境的朋友,我表示歉意因為我不太使用這類軟件所以就不再寫DEMO程序了,VC的參照上述聲明我做過測試是可以使用的,其他開發環境我沒有測試不能保證您可以使用。

作者:  wjun7610
QQ:    157610979
Email: wjun7610@yahoo.com.cn
淘寶店:http://shop34821629.taobao.com
本帖最近評分記錄:
  • 下載積分:+5(taoyu001) 樓主辛苦了!
  • 下載積分:+5(YMMFA)
    wjun7610
    級別: 略有小成
    精華主題: 0
    發帖數量: 110 個
    工控威望: 249 點
    下載積分: 708 分
    在線時間: 35(小時)
    注冊時間: 2007-09-16
    最后登錄: 2025-07-30
    查看wjun7610的 主題 / 回貼
    1樓  發表于: 2007-09-22 12:50
    這是我第一次發貼,希望大家多支持。
    wjun7610
    級別: 略有小成
    精華主題: 0
    發帖數量: 110 個
    工控威望: 249 點
    下載積分: 708 分
    在線時間: 35(小時)
    注冊時間: 2007-09-16
    最后登錄: 2025-07-30
    查看wjun7610的 主題 / 回貼
    2樓  發表于: 2007-09-22 12:52
    希望在這里能夠結識很多工控界的朋友共同進步
    lishlish
    級別: *
    精華主題: * 篇
    發帖數量: * 個
    工控威望: * 點
    下載積分: * 分
    在線時間: (小時)
    注冊時間: *
    最后登錄: *
    查看lishlish的 主題 / 回貼
    3樓  發表于: 2008-03-21 12:26
    太好了,這種程序可以在電腦與PLC人機界面中用
    catywu
    級別: 家園常客
    精華主題: 2 篇
    發帖數量: 632 個
    工控威望: 873 點
    下載積分: 20044 分
    在線時間: 613(小時)
    注冊時間: 2007-08-19
    最后登錄: 2025-10-03
    查看catywu的 主題 / 回貼
    4樓  發表于: 2008-03-21 21:38
    不錯啊!值得學習!感謝分享!
    heyijun
    級別: 探索解密
    精華主題: 0
    發帖數量: 39 個
    工控威望: 141 點
    下載積分: 626 分
    在線時間: 36(小時)
    注冊時間: 2010-11-18
    最后登錄: 2025-07-26
    查看heyijun的 主題 / 回貼
    5樓  發表于: 2011-01-27 11:55
    值得學習!感謝分享!
    xt5818
    級別: 家園常客
    精華主題: 0
    發帖數量: 378 個
    工控威望: 556 點
    下載積分: 9727 分
    在線時間: 277(小時)
    注冊時間: 2010-11-06
    最后登錄: 2024-06-10
    查看xt5818的 主題 / 回貼
    6樓  發表于: 2011-01-27 14:14
    值得學習!感謝分享!
    crgtom
    人生三寶:家庭,事業,健康。
    級別: 網絡英雄

    精華主題: 0
    發帖數量: 1333 個
    工控威望: 9749 點
    下載積分: 105584 分
    在線時間: 986(小時)
    注冊時間: 2009-09-21
    最后登錄: 2025-10-04
    查看crgtom的 主題 / 回貼
    7樓  發表于: 2011-05-11 17:59
    感謝分享!學習!學習!
    技術是有時效性的,一旦過了市場周期,都會變成垃圾!
    wtgosa
    級別: 略有小成
    精華主題: 0
    發帖數量: 222 個
    工控威望: 294 點
    下載積分: 6270 分
    在線時間: 295(小時)
    注冊時間: 2010-01-25
    最后登錄: 2025-08-09
    查看wtgosa的 主題 / 回貼
    8樓  發表于: 2011-05-15 12:21
           ,很想了解,但是智慧有限!!

    主站蜘蛛池模板: 欧美热热 | 国产亚洲日韩在线a不卡 | 天天操天天干视频 | 99热一区 | 国产碰碰 | 色哟哟18免费影视 | 亚洲中文字幕久久精品无码va | 久久久精品视 | 亚洲精品永久免费 | 精品免费一区二区在线 | 成人无码无遮挡很h在线播放 | 成人免费视频大全 | 精品国偷自产在线视频 | 亚洲午夜国产成人av电影 | 黄网站在线观 | 少妇啪啪av一区二区三区 | 国产小视频在线看 | 日韩av无码久久一区二区 | 成人乱淫av日日摸夜夜爽节目 | 色5月婷婷 | 北岛玲熟邻居bd在线观看 | 国产xxxx成人精品免费视频频 | 亚洲在线免费看 | 强开小婷嫩苞又嫩又紧视频 | 狠狠躁夜夜躁人人爽超碰91 | 一本大道东京热无码一区 | 成人av一区二区亚洲精 | 操人视频网站 | 四色成人网 | 国内精品福利视频 | 国产乱码久久久久 | 国语激情对白 | 在线播放无码字幕亚洲 | 国产免费爽爽视频在线观看 | av鲁丝一区鲁丝二区鲁丝三区 | 亚洲专区免费 | 无码人妻精品一区二区蜜桃色欲 | 一本色道久久88综合日韩精品 | 日韩精品少妇 | 人妻体内射精一区二区三四 | 精品亚洲国产成人蜜臀优播av | 日韩怡春院 | 久久久久久久9999 | 久久国产原创 | 国产日产欧产精品品不卡 | 久久人人97超碰人人澡 | 久久不见久久见免费影院 | 丰满熟妇人妻中文字幕 | 黄色一级网站 | 九九热在线视频 | 亚洲日本中文字幕 | 深夜视频在线免费 | 又色又爽又激情的59视频 | 亚洲色成人中文字幕网站 | 亚洲国产精品国自产拍av秋霞 | 国产中文字字幕乱码无限 | 亚洲a∨国产av综合av麻豆丫 | 欧美日韩国产精品一区 | 国产精品羞羞答答在线 | 主站蜘蛛池模板: 蛛词}| 免费无码观看的av在线播放 | 国产福利精品在线 | 亚洲欧洲日产国码av老年人 | 女被男啪到哭的视频网站 | 无码专区人妻诱中文字幕 | 国产成人一区二区精品视频 | a黄色大片 | 久久午夜夜伦鲁鲁片不卡 | 亚洲无线看| 国产福利视频一区二区三区 | 久久精品中文字幕一区 | 91久久嫩草影院一区二区 | 国产丝袜久久 | 国产成人精品999视频 | 亚洲日韩精品a∨片无码加勒比 | 亚洲а∨精品天堂在线 | www.com.cn成人 | 97久久久久久久久久久久 | 成人毛片在线精品国产 | 国产精品高潮呻吟av久久动漫 | 成人sm另类专区 | 日本不卡中文 | 一二三四社区在线高清观看8 | 国产欧美日韩在线观看一区二区 | av资源站| 60老熟女多次高潮露脸视频 | 国产精品乱码一区二区三区视频 | 日产中文字幕一码 | av字幕网| 插吧综合网 | 色综合久久中文字幕无码 | 色婷婷五月综合久久 | 男男车车的车车网站w98免费 | 色婷婷一区二区三区av免费看 | 97av在线视频免费播放 | 亚洲国产女人aaa毛片在线动漫 | 人人妻人人澡人人爽精品日本 | 日本三级免费观看 | 日本精品少妇一区二区三区 | 中文字幕av高清 | 亚洲成人动漫在线 | 西西人体大胆444www | 伊人久艹 | 国产精彩乱子真实视频 | 久久国产热视频 | 国产又爽又黄无码无遮挡在线观看 | 国产精品偷乱一区二区三区 | av色噜噜| 亚洲一码二码三码精华液 | 曰韩一级片 | 免费黄色日本 | 精品视频999 | 精品少妇人妻av免费久久洗澡 | av一区在线观看 | 狠狠撸在线视频 | 亚洲精品xxxxx | 免费黄网站在线 | 日本少妇色视频 | 亚洲视频在线免费观看 | 主站蜘蛛池模板: 蛛词}| 性――交――性――乱视频 | 雨宫琴音一区二区在线 | 成人亚洲a片v一区二区三区动漫 | 亚洲欧洲免费无码 | 欧美日本激情 | 热久久99热精品首页 | youjizz韩国 | 日韩欧美www | 天天躁日日躁狠狠躁喷水软件 | 成 人 色 网 站免费观看 | 亚洲bbw | 黄网在线免费 | 国产毛片精品国产一区二区三区 | 国产精品99久久久久久武松影视 | 亚洲乱色熟女一区二区三区麻豆 | www.日韩系列| 成人免费泡妞 | 国产区精品在线观看 | 国产极品久久 | 校园激情亚洲 | 手机看片久久国产永久免费 | 黄网站色视频免费国产 | 国产亚洲一区二区在线观看 | 按摩师他揉我奶好爽捏我奶视频 | 97人人超| 91视频 - v11av | 97人摸人人澡人人人超碰 | 久久窝窝 | 少妇高潮不断出白浆av | 国产成人无码牲交免费视频 | 亚洲成av人片一区二区梦乃 | 国内激情在线 | 女同亚洲精品一区二区三 | 天天爽天天狠久久久综合麻豆 | 亚洲熟妇无码另类久久久 | 久久成人亚洲 | 国产精品午夜8888 | 狠狠躁夜夜躁人人爽天天bl | 国产在线不卡一区二区三区 | 麻豆成人国产亚洲精品a区 亚洲成色999久久网站 | 一级片特级片 | 亚洲综合色婷婷六月丁香宅男大增 | 国产乱xxxx国语对白 | 成人亚洲黄色 | 动漫女女吸乳舌吻羞羞 | 亚洲欧美日本国产专区一区 | 国产美女在线精品免费观看网址 | 欧美三区在线 | 亚洲欧美综合在线一区 | 亚洲成片在线观看12345 | 成人免费毛片足控 | 亚洲3dmax成人| 日本xxxx肉体谢液体色液体 | 99久久婷婷国产综合精品青牛牛 | 日韩欧美aaaa羞羞影院 | 一级黄色大毛片 | 肥婆av| 亚洲天堂网站 | 欧美日韩国产亚洲沙发 | 主站蜘蛛池模板: 蛛词}| 主播视频www在线观看入口 | 久久国产精品亚洲艾草网 | 国产91在线高潮白浆在线观看 | 四虎无码永久在线影库网址一个人 | 女同性恋毛片 | 国产亚洲99天堂一区 | 欧美成aⅴ人在线视频 | 中文字幕第11页 | 波多野结衣潮喷视频无码42 | 国产精品91视频 | 免费播放毛片精品视频 | 欧美精品一区二区免费 | 久久精品国产77777蜜臀 | 午夜福利国产在线观看1 | 亚洲中文字幕久久精品无码app | 丁香五月缴情在线 | 秋霞影院中文字幕 | 在线观看的av免费网站 | 日韩中文字幕中文无码久本草 | 日日操夜夜爽 | 亚州av久久精品美女模特图片 | 少妇太爽了在线观看视频 | 久久精品国产99国产精品 | 日韩av中文字幕在线免费观看 | 亚洲欧美日韩精品永久 | 妓女妓女一区二区三区在线观看 | 四虎网站最新 | 奇米国产 | 黄色一级片黄色 | 性欧美暴力猛交69式 | 精品国产一区在线观看 | 伊人色播 | 欧美人与动牲交a免费 | 日本艳妓bbw高潮一19 | 新版天堂8中文在线最新版官网 | 超碰97人人草 | 亚洲欧美日韩精品永久 | 国产精品色婷婷亚洲综合看 | 天堂欧美城网站地址 | 欧美成人aa久久狼窝五月丁香 | 探花精品 | 极品在线视频 | 农村乡下女人毛片 | 国产精品久久久久久亚洲影视内衣 | 国产精品视频免费一区二区 | 性欢交69精品久久久 | av在线成人| 日韩中文字幕在线观看视频 | 久草在线免费福利资源站 | 97久久精品国产一区二区片 | 亚洲成av人片在 | 国产69堂免费视频 | 欧美精品无码一区二区三区 | 日本免费不卡一区在线电影 | 9l视频自拍蝌蚪自拍丨视频 | 超碰99在线 | 天堂在线观看www | 狠狠色丁香婷婷综合久久小说 | 国产一级片网址 | 主站蜘蛛池模板: 蛛词}| 久久久久蜜桃精品成人片公司 | 精品国偷自产在线视频 | 中文字字幕在线中文 | 亚洲午夜成人久久久久久 | 末成年女av片一区二区丫 | 亚洲黄色毛片视频 | 97超碰中文 | 无遮挡很爽很污很黄的网站 | 懂色aⅴ精品一区二区三区 狠狠干福利视频 | 无码免费午夜福利片在线 | 久久精品天天中文字幕人妻 | 成人午夜特黄aaaaa片男男 | 精品国产一区二区av麻豆不卡 | 国产黄三级高清在线观看播放 | 手机免费看av | 日韩久久综合 | 日日插插 | 色就是色欧美色图 | 四库影院永久国产精品地址 | 红桃17c视频永久免费入口 | 97国产超碰一区二区三区 | 欧牲交a欧美牲交aⅴ | 一级一毛片a级毛片 | 东方影院av久久久久久 | 亚洲中文在线精品国产 | 在线播放国产一区二区三区 | 国产一区二区三区观看 | 青草av久久一区二区三区 | 国产精品18久久久久久首页狼 | 春药高潮抽搐流白浆在线观看 | 久久这里只有精品8 | 超碰成人网 | 欧美黑人又粗又大的性格特点 | 国产精品久久久久久久网 | 成品人视频ww入口 | 护士奶头又白又大又好摸视频 | 国产一级特黄aa大片 | 国产欧美一级二级三级在线视频 | 国产欧美va欧美va在线 | www.青青青 | 日韩性xxxx| www.国产免费拍拍拍影片软件 | 少妇仑乱a毛片 | mm31美女爽爽爽爱做视频vr | 浓毛欧美老妇乱子伦视频 | 亚洲国产av一区二区三区四区 | 秋霞鲁丝片av无码中文字幕 | 亚洲人成无码网站18禁10 | www国产亚洲精品久久久日本 | 国产91在线播放九色 | 成人美女黄网站色大色费全看在线观看 | 亚洲激色 | 精品久久网站 | 欧美激情一区二区成人 | 男人的天堂久久久 | 中文字幕人妻丝袜美腿乱 | 国产丝袜无码一区二区三区视频 | 亚洲 欧美 另类 综合 偷拍 | 中文字幕乱码熟妇五十中出 |