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

二、DLL函數(shù)說明

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

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

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

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

3、PLC存儲器的預置(D)
Function ComDWrite(nport,address:longint;sendstr:pchar):longint;stdcall;
參數(shù):
nport: 串口號,取值為1~8,代表COM1~COM8;
address: 寄存器地址,取值為0~4095(此值需根據(jù)不同的PLC操作選擇合適的地址范圍);
sendstr:  給寄存器寫入的值,該值為4個一組的16進制字符串組其取值為0000~FFFF(整數(shù)值為0~65535),當要寫入多個寄存器值時依次排列即可。如給D0與D1寫值100和1000,先將100轉(zhuǎn)成16進制字符串0064、1000轉(zhuǎn)成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;
參數(shù):
nport: 串口號,取值為1~8,代表COM1~COM8;
address: 寄存器地址,取值為D區(qū)0~4095、C、T(定時器/計數(shù)器當前值)區(qū)0~255;
Count: 讀取寄存器個數(shù),最多讀取32個寄存器;DLL讀取的越界會自動舍去
element:元件名稱,支持D、C、T;
返回值:字符串數(shù)據(jù),字符串數(shù)據(jù)的終止符為"@";
使用舉例:
ComDRead(1,0,4,'D') ,由COM1讀取D0~D3四個寄存器的值,如返回值為“0001006403E809F0@”,則表示D0=0001, D1=0064,D2=03E8,D3=09F0;

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


5、PLC的多線圈強置(C、M、S、T)
Function ComEForce(nport,address:longint;element,sendstr:pchar):longint;stdcall;
參數(shù):
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(整數(shù)值為0~255),當要寫入多個值時依次排列即可。例如: 字節(jié)地址C0'(實際由位地址位C0~C7)、字節(jié)地址C1'(實際由位地址位C8~C15),如給C0'賦值80、C1'賦值CF,則sendstr=80CF;一次最多寫64個字節(jié),即字符串長應小于等于128;
                          ---------- - ~  ------
寫字符串序列如:          | 00 | FF | 10 | 64 |  ~  | 1F | 48 |
                          ---------- - ~  ------

實際字符串與位地址的數(shù)值應如下表:(將上例的字節(jié)C0'、C1'轉(zhuǎn)換為位地址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的強置值,因?qū)嶋H字節(jié)地址=address div 8 (0~7 div 8 都等于0,即都是給C0'、C1'強置值)。

字節(jié)地址如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;
參數(shù):
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: 讀取字節(jié)個數(shù),最多讀取64個字節(jié);
element:元件名稱,支持C、M、S、T、X、Y;
位單元的字節(jié)組成按8個位一組,如56(16進制)則表示下表的位構(gòu)造值。
              ----------------
位地址:      | 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的值為上表反應的結(jié)果。0~255的位地址映射成字節(jié)地址應為0~31。
即:實際地址=address / 8 ,如ComERead(1,11,2,‘C’)相應都得是C8~C15與C16~C23組合的兩個字節(jié)的值,例如返回值為“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        | @ |
        -----------------------------------------

"@"為字符串數(shù)據(jù)的終止符。

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

對于X、Y區(qū)線圈地址可以按8進制地址轉(zhuǎn)換成10進制后再參照上表的地址映射關(guān)系。


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

Function ComESet(nport,address:longint;element:Pchar):longint;stdcall;
參數(shù):
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;
參數(shù):
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附加函數(shù)說明

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

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

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

"@"為字符串數(shù)據(jù)的終止符。

3、16進制字符串轉(zhuǎn)換成整數(shù) (為VC等非RAD開發(fā)環(huán)境所增設)
Function CHexToInt(CHex:Pchar):Longint;stdcall;
參數(shù):
CHex: 待轉(zhuǎn)換字符串,取值為(0000~FFFF);
使用舉例:
CHexToInt(‘03E8’),則返回整數(shù)1000;

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

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

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

"@"為字符串數(shù)據(jù)的終止符。

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

"@"為字符串數(shù)據(jù)的終止符。

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

"@"為字符串數(shù)據(jù)的終止符。

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

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

DLL中關(guān)于傳出字符串值的函數(shù)都以"@"為字符串函數(shù)值終止符。

四、Delphi、VB、VC語言環(huán)境的開發(fā)使用說明

1、Delphi語言環(huán)境開發(fā)說明

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

在工程文件的主程序窗體(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';

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

聲明后可以在程序中使用這些函數(shù),附加函數(shù)置中除ComTrue、CinBin外Delphi系統(tǒng)自帶有類似功能函數(shù)。通信時必須先使用ComOpen函數(shù)打開串口,在串口打開后可以有效操作相關(guān)函數(shù),為確保通信可在程序運行開始時打開串口,程序關(guān)閉前關(guān)閉串口。應用程序關(guān)閉之前請務必將關(guān)閉所有串口,如串口未關(guān)閉前關(guān)閉系統(tǒng)將拋出異常。確保應用程序在關(guān)閉釋放前關(guān)閉打開的串口。解決方法,在form的OnDestroy事件中加入如下語句:
if ComTrue(1)=1 then ComClose(1);
在Delphi中給中給DLL中的函數(shù)傳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型轉(zhuǎn)換到Pchar型,straps()|Pchar型轉(zhuǎn)換到string型,不推薦使用直接轉(zhuǎn)換法。

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

2、VB語言環(huán)境開發(fā)說明

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

在工程文件中聲明:

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

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

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

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

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

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

2)、按下例說明聲明相關(guān)各個函數(shù):

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)、聲明并建立動態(tài)鏈接庫中的函數(shù)與新函數(shù)名的對應關(guān)系,如下:

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");

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

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

cOpen(參數(shù)略);
cClose(參數(shù)略);
cDWrite(參數(shù)略);
cDRead(參數(shù)略);
cEForce(參數(shù)略);
cERead(參數(shù)略);
cSet(參數(shù)略);
cReset(參數(shù)略);
cTrue(參數(shù)略);
cIntHex(參數(shù)略);
cHexInt(參數(shù)略);
cBin(參數(shù)略);
cLeft(參數(shù)略);
cRight(參數(shù)略);
cMid(參數(shù)略);
instr(參數(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)、當不再需要使用DLL時記得關(guān)閉串口及釋放動態(tài)鏈接庫,如:

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

6)、釋放DLL

FreeLibrary(m_handle);

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

作者:  wjun7610
QQ:    157610979
Email: wjun7610@yahoo.com.cn
淘寶店:http://shop34821629.taobao.com
本帖最近評分記錄:
  • 下載積分:+5(taoyu001) 樓主辛苦了!
  • 下載積分:+5(YMMFA)
    wjun7610
    級別: 略有小成
    精華主題: 0
    發(fā)帖數(shù)量: 110 個
    工控威望: 249 點
    下載積分: 708 分
    在線時間: 35(小時)
    注冊時間: 2007-09-16
    最后登錄: 2025-07-30
    查看wjun7610的 主題 / 回貼
    1樓  發(fā)表于: 2007-09-22 12:50
    這是我第一次發(fā)貼,希望大家多支持。
    wjun7610
    級別: 略有小成
    精華主題: 0
    發(fā)帖數(shù)量: 110 個
    工控威望: 249 點
    下載積分: 708 分
    在線時間: 35(小時)
    注冊時間: 2007-09-16
    最后登錄: 2025-07-30
    查看wjun7610的 主題 / 回貼
    2樓  發(fā)表于: 2007-09-22 12:52
    希望在這里能夠結(jié)識很多工控界的朋友共同進步

    主站蜘蛛池模板: 亚洲国产成人爱av网站 | 末世极度乱淫h | 视频一区视频二区制服丝袜 | 午夜精品免费在线 | 网址你懂的在线观看 | 亚洲成a∧人片在线播放调教 | www.国产一区 | 欧美成在线| 国内自拍五区 | 香蕉视频在线精品视频 | 成人一区二区三区久久精品嫩草 | 日韩精品视频一区二区三区 | 天天爽夜夜爽人人爽一区二区 | 丰满人妻熟妇乱偷人无码 | 九九福利视频 | 99久久国产露脸精品国产麻豆 | 精品久久久久久国产牛牛 | 手机看片国产 | 正在播放重口老熟女露脸 | 日本在线观看www | 精品免费国偷自产在线视频 | 伊人大香线蕉精品在线播放 | 在线观看国产成人swag | 国产精品欧美亚洲韩国日本久久 | 日本丰满大乳奶做爰 | av解说在线观看 | 国产精品欧美久久久久一区二区 | 96超碰在线 | 亚洲精品自拍视频在线观看 | 最爽爱爱高潮免费视频 | 国产一区二区不卡老阿姨 | 欧亚乱熟女一区二区在线 | 伊人网站 | 国产99久久久久久免费看 | 成年无码动漫av片在线尤物网站 | 精品国产三级a在线观看网站 | www,色| 国产免费mv大片人人电影播放器 | 欧美精品免费一区二区三区 | 午夜欧美艳情视频免费看 | 国产亚洲黑人性受xxxx精品 | 三级慰安女妇威狂放播 | 在线观看亚洲精品国产福利片 | 精品少妇人妻av久久久 | 亚洲精品乱码8久久久久久日本 | 亚洲一区二区三区偷拍女厕 | 亚洲 日韩 国产 有码 不卡 | 曰曰摸夜夜添夜夜添高潮出水 | 国产精品视频第一页 | 亚洲精品国产一区二区 | 中文字幕一区三级久久日本 | 欧美精品一区二 | 色8激情欧美成人久久综合电 | 在线亚洲激情 | 国产精品视频麻豆 | 国产v片在线播放 | 欧美日韩精品一区二区在线观看 | 国产精品欧美一区二区三区喷水 | 福利所第一导航福利 | 主站蜘蛛池模板: 蛛词}| 亚洲天堂网在线观看 | 国产丝袜足j在线视频播放 二区久久 | 国产精品视频www | 国产自愉自愉免费精品七区 | 亚洲 另类 熟女 字幕 | 人人干日日干 | 在线观看无码不卡av | 日本中文字幕有码在线视频 | 91丨九色丨国产 | 久久久中文字幕日本无吗 | av在线网址观看 | 精品无人区一区二区三区 | www.99在线观看 | 国产亚洲精品久久久久动漫 | 日韩高清不卡一区 | 亚洲性夜色噜噜噜在线观看不卡 | 午夜精品国产精品大乳美女 | av男人的天堂av | 99国产精品久久久久久久久久久 | 国产精品社区 | 天天躁夜夜躁狠狠眼泪 | 小草社区视频在线观看 | 99激情| 狠狠色婷婷丁香综合久久 | 成人三级视频 | 在线a√| 人妻熟女一区二区三区app下载 | 亚洲高清最新av网站 | 国产午夜福利片 | 亚洲国产福利成人一区二区 | 黄色免费直接看 | 欧美日激情日韩精品嗯 | 日本中文字幕免费 | 日韩在线观看一区 | 一区二区三区回区在观看免费视频 | www.久久精品视频 | 18禁成人黄网站免费观看 | 中文字幕人成乱码在线观看 | 在线观看亚洲大片短视频 | sm调教视频在线 | 激情小说区 | 在线观看免费网页欧美成 | 玩弄漂亮少妇高潮白浆 | 国产精品久久在线 | 日韩精品第一区 | 国产精品久久久久久久久久久久久久久久久久 | 人妻人人做人做人人爱 | 日本一级大黄爱做片 | 久久久久久人妻一区精品 | 2021国产麻豆剧传媒精品 | 下面一进一出好爽视频 | 久操免费在线 | 日韩特级片 | 国产精品国产免费无码专区不卡 | 国产在线日韩拍揄自揄视频 | 含羞草导航| 成人美女黄网站色大免费的88 | 国语对白少妇spa私密按摩 | 免费看国产黄色片 | 主站蜘蛛池模板: 蛛词}| 曰的好深好爽免费视频网站 | 一区二区三区四区产品乱码在线观看 | www.av不卡| 亚洲欧美成人综合 | 装睡被陌生人摸出水好爽 | 一本到在线观看视频 | 黄色免费播放 | 色婷婷久久综合中文久久一本 | 怀孕挺大肚子疯狂高潮av毛片 | 丝袜自慰一区二区三区 | 国产中文字幕一区二区三区 | 亚洲综合色区在线播放2019 | 日本乱码一区二区三区芒果 | 亚洲综合精品香蕉久久网 | 亚洲人 女学生 打屁股 得到 | 男男女女爽爽爽免费视频 | 午夜福利av无码一区二区 | 国语憿情少妇无码av | 白浆网站 | 超碰成人免费在线观看 | 无码日韩精品一区二区免费暖暖 | av爱爱网站| 无码国产精品一区二区免费16 | 伊人色综合久久天天人手人婷 | 亚洲国产成人久久综合碰 | 国产麻豆精品一区二区 | 日本丰满妇人成熟免费中文字幕 | 18岁女人毛片 | 99久久久无码国产精品性 | 日本午夜看x费免 | 66亚洲一卡2卡新区成片发布 | 美女跪下吃j8视频免费网站 | 国产精品免费_区二区三区观看 | 久久99精品久久久久久青青日本 | 日韩欧美视频一区 | 一级成人毛片 | 美女狂揉羞羞的视频 | 日日噜噜夜夜狠狠久久波多野 | 成人无码一区二区三区网站 | 国产精品宾馆国内精品酒店 | 亚洲乱码国产乱码精品精 | 欧美精 | 91久久久久久久久久久久 | 久草在线视频免费资源观看 | 久久大香伊蕉在人线免费 | 国产美女精品视频线免费播放软件 | 性做爰片免费视频毛片中文 | 亚洲人成无码区在线观看 | 色宅男看片午夜大片啪啪 | 久久九九网| 国产成人毛片在线视频 | 久久精品中文騷妇女内射 | 东北少妇不戴套对白第一次 | 免费人成视频x8x8入口 | 小sao货水好多真紧h无码视频 | 蜜臀av性久久久久蜜臀av麻豆 | 人妻熟女一区二区aⅴ千叶宁真 | 国产亚洲精选美女久久久久 | 亚洲h视频在线 | 主站蜘蛛池模板: 蛛词}| 视频毛片| 国产精品国产自产拍高清av王其 | 亚洲性生活 | 免费网址av | 国产在线精品无码二区 | 999自拍偷拍| 一区二区三区精品在线 | 风韵丰满熟妇啪啪区老熟熟女 | 免费黄色av网站 | 国产精品国产自线拍免费 | 亚洲精品国产电影 | 国产成人亚洲综合色婷婷秒播 | 青青草香蕉 | 51久久夜色精品国产麻豆 | 国内永久福利在线视频 | 日本十八禁黄无遮禁视频免费 | 一区二区不卡视频 | av不卡免费在线 | 国产国语老龄妇女a片 | 日韩中文字幕影院 | 四虎影视免费 | 51自拍视频在线观看 | 小明中文字幕 | 日本操操操| 国产免费又粗又猛又爽 | 色之久久| 6699嫩草久久久精品影院 | 在线天堂www天堂资源在线 | 国产九九精品视频 | av综合色| 国产九九在线视频 | 亚洲人xxxx| 欧美亚洲福利 | 人妻护士在线波多野结衣 | 1024手机在线看 | 国产精品久久一区性色av图片 | 亚洲精品久久久久中文字幕 | 国产精品视频大全 | 在线视频18在线视频4k | 国产精品成人免费精品自在线观看 | 国产精品高潮呻吟久久av免费动漫 | 日韩在线一二三 | 色久综合视频 | 伊人久久大香线蕉综合网站 | 亚洲高潮毛片无遮挡免费 | 国产亚洲一区二区在线 | 99偷拍视频精品一区二区 | 午夜污 | 中国china体内裑精亚洲日本 | 在线播放国产精品三级网 | 红桃av永久久久 | 91一区二区三区 | 亚洲色www成人永久网址 | 91精品又粗又猛又爽 | av在线播放免费观看 | 99sao| 国产午夜精品久久久久久免费视 | 天天综合网日韩 | 国内无遮挡18禁无码网站免费 | 主站蜘蛛池模板: 蛛词}| 日韩1| 国产精品sm捆绑调教视频 | 久久伊人精品青青草原vr | 天天伊人网 | 午夜网站在线观看 | 精品乱子伦一区二区 | 日日橹狠狠爱欧美视频 | 亚洲国产长腿丝袜av天堂 | 亚洲xx站 | 无码人妻少妇久久中文字幕蜜桃 | 日韩成人av片 | 色婷婷香蕉 | 激情偷乱人成视频在线观看 | 精品深夜av无码一区二区 | 国产成人欧美一区二区三区 | 国产露出视频 | 国产一级性生活 | 搡女人真爽免费视频网站波兰美女 | 欧美高潮喷水大叫 | 欧美日韩成人网 | 国产又色又爽无遮挡免费 | 伊人wwwyiren22cn| 一品二品三品中文字幕 | 国产美女免费 | 国产拍拍拍 | 欧美日韩视频在线观看免费 | 国产猛烈高潮尖叫视频免费 | 国内精品久久久久久久小说 | 四虎永久在线高清国产精品 | 欧洲精品视频在线观看 | 日本欧美一级aaaaa毛片 | 中国丰满猛少妇xxxx | a级黄片毛片 | 亚洲天堂网2020 | 国产又黄又硬又湿又黄的故事 | 亚洲国产精品999久久久婷婷 | 伊人爱爱网 | 亚洲久热无码中文字幕人妖 | 色伊人影院 | 黑人猛挺进小莹的体内视频 | 日韩一区2区 | 成人网站www污污污网站 | 午夜国产一区二区三区四区 | 国产精品污www在线观看 | 午夜无码无遮挡在线视频 | 色噜噜狠狠狠狠色综合久 | 手机在线观看av片 | av午夜激情 | 肉肉av| 999久久久久久 | 国产成人av在线影院 | 日本一丰满一bbw | 国产亚洲一区二区在线 | 最新色网址 | 美日韩在线视频一区二区三区 | 日本aⅴ在线 | 亚洲系列中文字幕 | 一级特黄aa大片欧美 | 久久久精品妇女99 |