成人动漫在线观看 I 免费看大片a I 亚洲另类av I 久久精品视频一区 I 秋霞中文字幕 I 不卡视频一区二区 I 性色在线 I 爽妇综合网 I 黄色的一级片 I 美女靠逼app I 色播欧美 I 久色悠悠 I 日本久久黄色 I 非洲黑寡妇性猛交视频 I 亚洲乱码国产乱码精品精大量 I 看特级黄色片 I 一二三区在线播放 I 久久激情婷婷 I 欧美日韩国产成人精品 I 国产三级国产精品国产专区50 I 911视频完整版在线观看 I 色婷婷aⅴ一区二区三区 I 美女视频福利网站 I 操久久久久久 I 揉着我的奶从后面进去视频 I 各种少妇bbw撒尿484613 I 自拍偷拍 网站 I 亚洲人 屁股 鞭打网站

wjun7610
級別: 略有小成
精華主題: 0
發帖數量: 110 個
工控威望: 249 點
下載積分: 708 分
在線時間: 35(小時)
注冊時間: 2007-09-16
最后登錄: 2025-10-10
查看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-10-10
    查看wjun7610的 主題 / 回貼
    1樓  發表于: 2007-09-22 12:50
    這是我第一次發貼,希望大家多支持。
    wjun7610
    級別: 略有小成
    精華主題: 0
    發帖數量: 110 個
    工控威望: 249 點
    下載積分: 708 分
    在線時間: 35(小時)
    注冊時間: 2007-09-16
    最后登錄: 2025-10-10
    查看wjun7610的 主題 / 回貼
    2樓  發表于: 2007-09-22 12:52
    希望在這里能夠結識很多工控界的朋友共同進步
    lishlish
    級別: *
    精華主題: * 篇
    發帖數量: * 個
    工控威望: * 點
    下載積分: * 分
    在線時間: (小時)
    注冊時間: *
    最后登錄: *
    查看lishlish的 主題 / 回貼
    3樓  發表于: 2008-03-21 12:26
    太好了,這種程序可以在電腦與PLC人機界面中用
    catywu
    級別: 家園常客
    精華主題: 2 篇
    發帖數量: 632 個
    工控威望: 873 點
    下載積分: 20044 分
    在線時間: 615(小時)
    注冊時間: 2007-08-19
    最后登錄: 2025-10-14
    查看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
    發帖數量: 1334 個
    工控威望: 9750 點
    下載積分: 105796 分
    在線時間: 986(小時)
    注冊時間: 2009-09-21
    最后登錄: 2025-10-15
    查看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
           ,很想了解,但是智慧有限!!

    主站蜘蛛池模板: 人妻少妇精品久久久久久 | 国产无遮挡又黄又爽免费网站 | 亚洲黄网在线观看 | 天天躁狠狠躁狠狠躁夜夜躁68 | 国产精品亚洲欧美大片在线看 | 玖玖爱视频在线 | 国产超碰av人人做人人爽 | 嫩呦国产一区二区三区av | 亚洲中文字幕无码爆乳app | 日本又紧又色又嫩又爽的视频 | 中文无遮挡h肉视频在线观看 | 少妇人妻大乳在线视频不卡 | 第一区免费在线观看 | 欧美极品少妇xxx | 国产超碰人人模人人爽人人喊 | 果冻传媒一区二区天美传媒 | 国产超碰91| 午夜无码免费福利视频网址 | 国产国语性生话播放 | 特级无码毛片免费视频 | 小婷又软又嫩又紧水又多的视频 | а√最新版在线天堂 | 爱爱高清视频 | 国产色婷婷精品综合在线播放 | 黄色av一区二区 | 色噜噜狠狠成人中文 | 国内自拍xxxx18 | 成人第一页 | 女人又爽又高潮毛片 | 玖玖精品在线视频 | 最近中文2019字幕第二页 | 欧美黑人性视频 | 欧美理论在线 | 久久久九九精品国产毛片a片 | 91精品视频免费在线观看 | 揉捏奶头高潮呻吟视频试看 | 四虎av在线 | 亚洲色偷拍另类无码专区 | 全国男人的天堂网 | 日韩免费高清大片在线 | 国产一区二区三区小说 | 国产精品亚洲欧美 | 9420免费高清在线观看视频 | 欧美性色网 | 免费播放一区二区三区 | 亚洲色大成网站www 国产1区二区 | 精精国产xxxx视频在线播放 | 婷婷综合丁香 | 精品人妻少妇一区二区三区在线 | www日韩 | 日日日| 99国产成人综合久久精品欧美 | 国产成人片无码免费视频 | 夜夜高潮夜夜爽高清完整版1 | 国产视频一二三 | 人人摸人人搞人人透 | 美女黄网站在线观看 | 国产精品视频一区国模私拍 | 中文人妻无码一区二区三区信息 | 主站蜘蛛池模板: 蛛词}| 正在播放国产乱子伦最新视频 | 一本一本久久a久久精品综合麻豆 | 免费毛片一区二区三区 | 国产精品va在线播放 | 国产性精品 | 亚洲国产日韩综合久久精品 | 在线网站av | 久久理伦片琪琪电影院 | 天堂在线视频免费 | 中文字幕亚洲日韩无线码 | 国产欧美亚洲日韩图片 | 欧美成年人网站 | 东京无码熟妇人妻av在线网址 | 黑人大战欲求不满人妻 | 国产精品亚洲一区二区三区喷水 | 无人去码一码二码三码区 | 久久男人av | 亚洲综合久久无码色噜噜赖水 | 欧美成人精品免费 | 97久久久亚洲综合久久88 | 日本肉体xxxx裸体784大胆 | 中文av无码人妻一区二区三区 | 99久久久国产精品消防器材 | 亚洲免费视频免在线观看 | 亚洲中文字幕久久精品无码app | 欧美精品一区二区三区蜜桃视频 | 综合久久国产九一剧情麻豆 | 国产成人精品午夜福利软件 | 国产精品被窝福利一区 | 午夜亚洲国产理论片中文飘花 | 98超碰在线 | 国产精品无码人妻在线 | 精品久久久久成人码免费动漫 | www.91香蕉视频 | 国产精品一线二线三线 | 久久人人97超碰国产精品 | 在线免费av网站 | 欧美a一区二区 | 夜夜骑夜夜骑 | 午夜影院污 | 五月婷婷一区二区 | 午夜影院一级片 | 中文字幕一区二区三区在线视频 | a亚洲精品 | 琪琪777午夜理论片在线观看播放 | 亚洲国产精品自拍 | 青青草视频网 | 欧美一级在线免费观看 | 午夜丁香影院 | 日本免费精品视频 | 2019午夜福利不卡片在线 | 偷偷要色偷偷中文无码 | 精品国产一区二区三区av 性色 | 国产极品车模吞精高潮呻吟 | www.欧美激情.com| 99视频免费在线观看 | 久久久久久久久久久久久9999 | 成人免费aaa | 欧美在线免费视频 | 主站蜘蛛池模板: 蛛词}| 四虎影库永久地址 | 国产精品爽爽 | 久久激情五月 | 日本a天堂 | 国产精品区一区二区三含羞草 | 视频在线国产 | 天天av天天操 | 99网曝精品视频久草 | 亚洲综合色婷婷在线影院p厂 | 国产一级爱c视频 | 日韩黄色网址 | 国产偷窥熟女精品视频大全 | 国产精品99久久99久久久不卡 | 理论片午午伦夜理片2021 | 一区二区亚洲精品国产精华液 | 国产精品亚洲欧美 | 可以在线看的av网站 | 亚洲综合无码中文字幕第2页 | 全黄裸体杨贵妃一级 | 艳妇荡女欲乱双飞两中年熟妇 | 97人人看| 91久久人人夜色一区二区 | 18禁美女裸体免费网站 | 国产亚洲中文日本不卡二区 | 午夜精品久久久久久久99热蜜臀 | 亚洲另类色区欧美日韩图片 | 国产夫妻自拍av | 日韩性xxxx| 国产少妇高潮视频 | av撸撸网站 | 国产国产裸模裸模私拍视频 | 视频一区二区三区在线观看 | 亚洲男人a在天堂线一区 | 国产欧美在线播放 | 欧美激情精品成人一区 | 又色又刺激 | 黑人与饥渴少妇在线 | 国产精品自产拍在线观看55 | 久久久久成人免费看a含羞草久色 | 精品欧美日韩 | 日日操日日碰 | 欧美一夜爽爽爽爽爽爽 | 各处沟厕大尺度偷拍女厕嘘嘘 | 天天躁夜夜躁狠狠躁2020色戒 | 中文字幕在线观看一区二区 | b站永久免费看片大全 | 亚洲精品视频观看 | 99国产精品久久久久久久夜 | 久久婷婷综合缴情亚洲狠狠 | 亚洲成a人片在线观看无码 嫩草影院国产 | 久久久精品国产sm调教网站 | 动漫精品中文无码卡通动漫 | 情欲少妇人妻100篇 欧美性猛交xxx嘿人猛交 | 精品v亚洲v欧美v高清v | 天天躁日日躁狠狠躁喷水 | 天天躁日日躁狠狠躁婷婷高清 | 日韩网站在线播放 | 一级二级三级黄色片 | 亚洲资源av无码日韩av无码 | 主站蜘蛛池模板: 蛛词}| 久久综合精品国产二区无码 | 成人片在线观看地址kk4444 | 538国产精品一区二区免费视频 | 亚洲成人av影片 | 国产裸体免费无遮挡 | 日本少妇一级片 | 国产在线拍揄自揄视频网试看 | 日本中文字幕在线 | 色综合久久久久久 | 在线中文字幕亚洲日韩2020 | 成人性视频欧美一区二区三区 | 国产全肉乱妇杂乱视频 | 四虎免费网址 | 亚洲欧美日韩国产手机在线 | 78亚洲精品久久久蜜桃网 | 国产美女被遭强高潮网站下载 | 色姑娘综合网 | 亚洲有无码av在线播放 | 超碰青青操 | 2021国产精品久久久久青青 | 亚洲午夜国产精品无码 | 国产日产欧产精品精乱了派 | 午夜歪影 | av影音先锋最大资源网 | 国产成人一区二区三区 | 精品一区二区不卡 | 中文字幕人乱码中文 | 久久久精品中文字幕麻豆发布 | 5x性社区免费视频播 | 日韩欧美亚洲综合久久影院 | 青青草av| 日韩一区二区三区无码人妻视频 | 亚洲人在线观看 | 蜜臀久久精品久久久更新时间 | 91制片一二三专区亚洲 | 香港三级韩国三级日本三级 | 亚洲黄v | 日本xxxwww在线观看 | 美女被啪到深处抽搐视频 | 涩涩鲁亚洲精品一区二区 | 国产精品乱码一区二区三区 | 性开放永久免费视频 | 影音先锋在线国产 | 婷婷色婷婷深深爱播五月 | av日韩精品 | 色哟哟亚洲精品一区二区 | 国产无遮挡又黄又爽网站 | 极品少妇被啪到呻吟喷水 | 久久精品成人热国产成 | 久久精品青草社区 | 呦呦av在线| 特a毛片 | 国产中文字字幕乱码无限 | 亚洲在线视频免费观看 | 深夜精品视频 | 永久免费的啪啪网站免费观看 | 国产第八页 | 囯产精品一品二区三区 | 丝袜美腿丝袜亚洲综合 | 主站蜘蛛池模板: 蛛词}| 青青免费在线视频 | 国产偷久久 | 日日骑夜夜操 | 女人高潮被爽到呻吟在线观看 | 久久欧美国产伦子伦精品 | 午夜精品久久久久久99热软件 | 亚洲干b| 国产熟妇另类久久久久久 | 久久亚洲精品成人av无码网站 | 黄色免费播放 | 蜜臀av国产精品久久久久 | 992tv成人国产福利在线观看 | 日操夜操 | 日韩欧美国产另类 | 欧美做受又硬又粗又大视频 | www.精品在线| 久久成人a | 伊人精品视频 | 国产精品无打码在线播放 | 欧美一区二区三区免费看 | 久久九色| 少妇精品噜噜噜噜噜av | 亚洲性少妇 | 曰本女人与公拘交酡 | 美日韩一级大片 | 精品一区二区三区毛片 | 老色鬼永久视频网站 | 开心激情亚洲 | 色综合久久久久综合一本到桃花网 | 人人妻人人澡人人爽人人精品97 | 国产91精品看黄网站在线观看动漫 | 69xx视频在线观看 | 国内女人喷潮完整视频 | 中文字幕精品亚洲无线码二区 | 丁香激情综合 | 日本va欧美va | 亚洲国产av一区二区三区四区 | 2019精品国自产拍在线不卡 | 熟女人妻aⅴ一区二区三区60路 | 成人av片在线观看免费 | 成人h动漫无码网站久久 | 91亚洲精品丁香在线观看 | 国产一区二区不卡老阿姨 | 九九久视频 | 日本人与黑人做爰的视频 | 久久精品免费国产 | 日韩欧美自拍偷拍 | 国产精品乱码久久久久久久久 | 喷水白丝蜜臀av久久av | 中文字幕无码他人妻味 | 亚韩无码av电影在线观看 | 婷婷啪啪 | 91精品在线免费观看 | 超碰97人人做人人爱可以下载 | 操比网站| 成人激情黄色小说 | 国产精品又黄又爽又色无遮挡 | 中文字幕亚洲乱码熟女在线 | 精品国产在天天在线观看 |