成人精品一区二区久久久 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
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 110 個(gè)
工控威望: 249 點(diǎn)
下載積分: 708 分
在線時(shí)間: 35(小時(shí))
注冊(cè)時(shí)間: 2007-09-16
最后登錄: 2025-07-30
查看wjun7610的 主題 / 回貼
樓主  發(fā)表于: 2007-09-22 12:49
一、最新三菱PLC FX系列PLC編程口通信協(xié)議動(dòng)態(tài)鏈接庫DLL(以下簡(jiǎn)稱DLL),是為滿足工業(yè)通信需要,針對(duì)工業(yè)領(lǐng)域要求上位機(jī)對(duì)PLC實(shí)時(shí)采集與控制的組態(tài)編程而設(shè)計(jì)。本DLL是采用Delphi語言開發(fā)的標(biāo)準(zhǔn)串口通訊庫,具有以下特點(diǎn):
1)、實(shí)時(shí)性、可靠性好,可根據(jù)通信數(shù)據(jù)量自行調(diào)整通信時(shí)間;
2)、適用于多PLC聯(lián)網(wǎng)和上位機(jī)通信,滿足多方面的需要;
3)、函數(shù)接口功能全,操作簡(jiǎn)單;
4)、附加實(shí)用轉(zhuǎn)換與讀取函數(shù),易于快速開發(fā)(VC等非RAD開發(fā)環(huán)境的開發(fā));
5)、支持USB、PC擴(kuò)展卡等擴(kuò)展串口號(hào);
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: 打開串口號(hào),取值為1~8,代表COM1~COM8;
      User:DLL授權(quán)用戶名;
返回值:長(zhǎng)整型,操作成功返回1,否則返回0;打開串口不成功即返回0時(shí)的原因:1)、串口不存在或被占用; 2)、DLL試用過期; 3)、DLL授權(quán)注冊(cè)不正確。

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

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

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

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

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

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

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


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

實(shí)際字符串與位地址的數(shù)值應(yīng)如下表:(將上例的字節(jié)C0'、C1'轉(zhuǎn)換為位地址C0~C15由下表對(duì)應(yīng))
            ------------------------------------
位地址:    | 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進(jìn)制串:  |      8      |      0      |        C        |        F      |
            ------------------------------------
         
返回值:長(zhǎng)整型,操作成功返回1,否則返回0;

使用舉例:
ComEForce(1,0,‘C’ ,‘80CF’),DLL將按上表給相應(yīng)位強(qiáng)置值,這里地址address賦值0~7都是給C0~C15的強(qiáng)置值,因?qū)嶋H字節(jié)地址=address div 8 (0~7 div 8 都等于0,即都是給C0'、C1'強(qiáng)置值)。

字節(jié)地址如Mx' = address div 8 ,M、S、C、T都按此公式計(jì)算如何給實(shí)際的位地址強(qiáng)置值。

6、PLC的多線圈讀取(C、M、S、T、X、Y)
Function ComERead(nport,address,Count:longint;element:Pchar):Pchar;stdcall;
參數(shù):
nport: 串口號(hào),取值為1~8,代表COM1~COM8;
address: 位單元地址,定時(shí)器C:0~255、M:0~2047、S:0~999、T:0~255、X:0~177(8進(jìn)制)、Y:0~177(8進(jìn)制)、特M: M8000~M8255;
Count: 讀取字節(jié)個(gè)數(shù),最多讀取64個(gè)字節(jié);
element:元件名稱,支持C、M、S、T、X、Y;
位單元的字節(jié)組成按8個(gè)位一組,如56(16進(jìn)制)則表示下表的位構(gòu)造值。
              ----------------
位地址:      | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
              ----------------
各位賦值:    | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 |
              ----------------
16進(jìn)制串:    |      5      |      6      |
              ----------------
使用舉例:
ComERead(1,0,1,‘M’),如返回56(16進(jìn)制)則M0~M7的值為上表反應(yīng)的結(jié)果。0~255的位地址映射成字節(jié)地址應(yīng)為0~31。
即:實(shí)際地址=address / 8 ,如ComERead(1,11,2,‘C’)相應(yīng)都得是C8~C15與C16~C23組合的兩個(gè)字節(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進(jìn)制串:|        8        |        7      |        0        |        A        | @ |
        -----------------------------------------

"@"為字符串?dāng)?shù)據(jù)的終止符。

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

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


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

Function ComESet(nport,address:longint;element:Pchar):longint;stdcall;
參數(shù):
nport: 串口號(hào),取值為1~8,代表COM1~COM8;
address: 位單元地址,定時(shí)器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的線圈復(fù)位(C、M、S、T)
Function ComEReset (nport,address:longint;element:Pchar):longint;stdcall;
參數(shù):
nport: 串口號(hào),取值為1~8,代表COM1~COM8;
address: 位單元地址,定時(shí)器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復(fù)位;
ComEReset (1,810,‘S’),給S810復(fù)位;

三、DLL附加函數(shù)說明

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

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

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

"@"為字符串?dāng)?shù)據(jù)的終止符。

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

4、抽取16進(jìn)制字符串中某個(gè)位的值
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”時(shí),要讀取M10的值時(shí),則調(diào)用CinBin(‘FC’,3)返回值1表示M10的值為1。

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

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

"@"為字符串?dāng)?shù)據(jù)的終止符。

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

"@"為字符串?dāng)?shù)據(jù)的終止符。

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

"@"為字符串?dāng)?shù)據(jù)的終止符。

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

使用舉例:
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(許可文件)復(fù)制到應(yīng)用程序目錄下(即將上述文件與編譯后的可執(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í)用函數(shù),建議用Delphi自帶函數(shù),如需使用聲明參上例;

聲明后可以在程序中使用這些函數(shù),附加函數(shù)置中除ComTrue、CinBin外Delphi系統(tǒng)自帶有類似功能函數(shù)。通信時(shí)必須先使用ComOpen函數(shù)打開串口,在串口打開后可以有效操作相關(guān)函數(shù),為確保通信可在程序運(yùn)行開始時(shí)打開串口,程序關(guān)閉前關(guān)閉串口。應(yīng)用程序關(guān)閉之前請(qǐng)務(wù)必將關(guān)閉所有串口,如串口未關(guān)閉前關(guān)閉系統(tǒng)將拋出異常。確保應(yī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都行,實(shí)際地址=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)換法。

上述可以詳細(xì)參照DEMO程序。

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

在VB環(huán)境下將melsecfx.dll、serialfx.slip(許可文件)復(fù)制到應(yīng)用程序目錄下(即將上述文件與編譯后的可執(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í)用函數(shù),建議用VB自帶函數(shù),如需使用聲明參上例;
做完上述聲明后,便可以在程序中使用相關(guān)函數(shù)了。本DLL是串口通信庫,通信時(shí)必須先使用ComOpen函數(shù)打開串口,在串口打開后可以有效操作相關(guān)函數(shù),為保證通信可以在程序運(yùn)行開始時(shí)打開串口,程序關(guān)閉前關(guān)閉串口。在應(yīng)用程序關(guān)閉之前請(qǐng)務(wù)必將關(guān)閉所有串口,如您的程序串口未關(guān)閉前被關(guān)閉系統(tǒng)將拋出異常。當(dāng)出現(xiàn)這樣的異常請(qǐng)更改您的程序,確保應(yīng)用程序在關(guān)閉釋放前關(guān)閉打開的串口。
解決方法,在form的Unload事件中加入如下例:
If ComTrue(1)=1 then
  ComClose(1)
End if
為確保Unload事件有效執(zhí)行程序中應(yīng)使用“End”語句,而盡量使用“Unload”語句釋放所有窗體,因使用“End”語句系統(tǒng)不會(huì)執(zhí)行正常的窗體釋放等事件而直接退出程序,如程序中有form1,form2兩個(gè)窗體,則使用下面語句:
Unload  form1
Unload  form2
VB會(huì)在所有窗體關(guān)閉后釋放所有占用資源。
上述可以詳細(xì)參照DEMO程序。

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

在工程主文件cpp中聲明一個(gè)句柄:
HINSTANCE m_handle;
用來標(biāo)識(shí)導(dǎo)入的動(dòng)態(tài)鏈接庫。

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

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

2)、按下例說明聲明相關(guān)各個(gè)函數(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)、聲明并建立動(dòng)態(tài)鏈接庫中的函數(shù)與新函數(shù)名的對(duì)應(yīng)關(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");

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

4)、接下來就可以自由使用動(dòng)態(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)、當(dāng)不再需要使用DLL時(shí)記得關(guān)閉串口及釋放動(dòng)態(tài)鏈接庫,如:

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

6)、釋放DLL

FreeLibrary(m_handle);

注:對(duì)于各位使用VC及其他開發(fā)環(huán)境的朋友,我表示歉意因?yàn)槲也惶褂眠@類軟件所以就不再寫DEMO程序了,VC的參照上述聲明我做過測(cè)試是可以使用的,其他開發(fā)環(huán)境我沒有測(cè)試不能保證您可以使用。

作者:  wjun7610
QQ:    157610979
Email: wjun7610@yahoo.com.cn
淘寶店:http://shop34821629.taobao.com
本帖最近評(píng)分記錄:
  • 下載積分:+5(taoyu001) 樓主辛苦了!
  • 下載積分:+5(YMMFA)
    catywu
    級(jí)別: 家園常客
    精華主題: 2 篇
    發(fā)帖數(shù)量: 632 個(gè)
    工控威望: 873 點(diǎn)
    下載積分: 20044 分
    在線時(shí)間: 614(小時(shí))
    注冊(cè)時(shí)間: 2007-08-19
    最后登錄: 2025-10-07
    查看catywu的 主題 / 回貼
    1樓  發(fā)表于: 2008-03-21 21:38
    不錯(cuò)啊!值得學(xué)習(xí)!感謝分享!

    主站蜘蛛池模板: 青青草原影视 | 99激情 | 男的操女的国产 | a天堂在线看 | 国产精品乱码一区二区三 | 精品福利一区二区三区 | 欧美大胆丰满熟妇xxbb | 7m视频国产精品 | 天堂√中文在线 | 日本一道高清一区二区三区 | 涩欲国产一区二区三区四区 | 在线播放国产精品三级网 | youjizzhd | 国产成人免费9x9x人网站视频 | 日本一区二区视频在线 | www.青青草.com | 午夜免费剧场 | 99re在线观看 | 在线人视频观看免费 | 女儿国3在线观看免费版高清 | 色综合久久久无码中文字幕波多 | 337p日本欧洲亚洲大胆69影院 | 欧美一级爽aaaaa大片 | 国产麻豆精品福利在线观看 | 四虎影院wwww | 玖草视频在线 | 亚洲人在线观看 | 欧美亚洲在线 | 少妇高潮太爽了中文字幕 | 手机看黄av免费网址 | 国产卡1卡2卡3精品视频 | 日日麻批免费40分钟无码 | 欧美久久黄 | 99re热精品视频 | www.久久爱.cn| 久久精品亚洲男人的天堂 | 九九热精品视频在线 | 日韩欧美色 | 欧美日韩精品一区二区性色a+v | 久久视频这里有精品33 | 一级特黄特色的免费大片视频 | 欧美成人一区二区三区四区 | 午夜香蕉 | 少妇天天爽视频在线看网站 | 亚洲精品无码av人在线观看 | 在线观看肉片av网站免费 | 狠狠干快播 | 91久久天天躁狠狠躁夜夜 | 在线播放国产不卡免费视频 | 69色在线 | 亚洲男人的天堂一区二区 | 一级视频在线观看 | 欧美三级午夜理伦三级老人 | 免费观看男女性高视频 | 91久久夜色精品国产九色 | 亚洲欧美日韩国产一区二区 | 97色偷偷色噜噜男人的天堂 | 综合无码一区二区三区四区五区 | 日本女优爱爱视频 | 主站蜘蛛池模板: 蛛词}| 超碰曰口干天天种夜夜爽 | 日韩av成人在线 | 97香蕉久久超级碰碰高清版 | 欧美区一区二区三 | 天天躁日日躁狠狠躁性色avq | 精品久久久中文字幕二区 | 久久99久久99精品免观看粉嫩 | 夜夜爽妓女8888888视频 | 992国产精品福利视频 | 天堂视频免费看 | 精品91久久久 | 无码人妻巨屁股系列 | 国产在线无码一区二区三区视频 | 国产视频h | 久久国产精品视频一区 | 黄色片免费看 | 精品国产香蕉伊思人在线 | 久久中文网 | 久久久精品免费看 | 日本国产在线播放 | 日本国产乱弄免费视频 | 黄色三级毛片 | 日本黄页网站免费大全 | 国产成人一区二区三区久久久 | 人人澡人人澡人人看 | 亚洲人成网网址在线看 | 国产成人三级三级三级97 | 国产成人拍精品视频午夜网站 | 中文午夜乱理片无码 | www欧美日韩 | 十八禁毛片 | 日本高清不卡aⅴ免费网站 国产国拍亚洲精品 | 久爱无码免费视频在线 | 永久免费毛片 | 狠狠色噜噜狠狠狠狠97俺也去 | 精品国产一区二区三区四区色 | 伊人97| 熟女系列丰满熟妇av | 视频在线观看91 | 日日日视频 | 国产成在线观看免费视频成本人 | 精品视频在线观看一区二区 | 国产91精品一区二区麻豆亚洲 | 欧美最猛黑人xxxx黑人 | 国产欧美一区二区 | 精品人妻一区二区三区四区在线 | av簧片 | 77色午夜成人影院综合网 | 国产精品人人爽人人做av片 | 国产片自拍 | 无码国产精品一区二区免费3p | 妻色成人网 | 国产日产欧产精品精乱了派 | av最新版天堂资源在线 | 久久艹久久| 成人国产一区二区精品 | 亚洲中文字幕久久久一区 | 国产超碰人人做人人爱 | 亚洲精品乱码久久久久久麻豆不卡 | 主站蜘蛛池模板: 蛛词}| 中文字幕乱码免费看电影 | 黄色免费片 | 中文字幕高清在线中文字幕 | 午夜夜伦鲁鲁片免费无码 | 亚洲精品久久久久avwww潮水 | 四川女人高潮毛片 | 99re在线视频播放 | 久久久久久国产精品久久 | 一本色道久久综合亚洲高 | 日韩特黄| 亚洲成在人线在线播放无码 | 国内毛片毛片毛片毛片毛片毛片 | 欧美精品99 | 免费观看特级毛片 | 亚洲尤物在线 | 亚洲另类欧美日韩 | eeuss影院一区二区三区 | 五月天国产成人av免费观看 | 色婷婷在线观看视频 | 国产精品久久久av | 国内揄拍国内精品人妻浪潮av | 嫩草伊人久久精品少妇av | 色欲香天天天综合网站 | 风韵人妻丰满熟妇老熟女 | 天堂v亚洲国产v第一次 | 亚洲国产精品99久久久久久久久 | 男女边吃奶边做边爱视频 | 亚洲中文字幕av无码区 | 国产亚洲精品av | 成人黄色毛片 | 黄色大全在线观看 | 久久理论视频 | 青青国产精品 | 一区二区三区美女视频 | 欧美综合自拍亚洲综合图片区 | 五月99久久婷婷国产综合亚洲 | 亚洲有无码av在线播放 | 国产日韩欧美亚洲精品中字 | 欧美偷窥清纯综合图区 | 亚洲av毛片一区二区三区 | 成人做爰www免费看视频网站 | 69式高清视频在线观看 | 国产一区二区四区在线观看 | 亚洲国产精品av在线播放 | 久久精品无码观看tv | 国产最爽乱淫视频国语对白 | 亚洲熟妇av一区 | 99久久99久久久精品齐齐 | 国精一二二产品无人区免费应用 | 国产v亚洲v天堂无码网站 | 黑人大荫蒂高潮视频 | 印度最猛性xxxxx69交 | 丁香五月激情缘综合区 | 成人永久免费 | 特级欧美成人性a片 | 夜夜添狠狠添高潮出水 | 成人精品一区日本无码网站 | 国产三级精品在线 | 国产欧美精品一区二区色综合 | 主站蜘蛛池模板: 蛛词}| 99国产精品一区 | 男主和女配啪慎入h闺蜜宋冉 | 亚洲精品欧美一区二区三区 | 久久综合影院 | gogo精品国模啪啪作爱 | 欧美大片高清免费观看 | 国模大尺度一区二区三区 | 国产又粗又长又爽视频 | 国产美女自卫慰视频福利 | 亚洲一区二区视频在线观看 | 亚洲最新在线视频 | 国产偷国产偷亚洲高清日韩 | 无码av最新清无码专区吞精 | 天堂网www在线 | 52熟女露脸国语对白视频 | 91精品一区二区中文字幕 | 中国富婆色惰xxxwww | 久久综合中文 | 精品国产乱码久久久久久红粉 | 午夜性刺激在线观看 | 亚洲成av人不卡无码影片 | av再线| 熟女少妇精品一区二区 | 又黄又爽又湿又无遮挡的在线视频 | 久久久婷婷 | 午夜福利啪啪无遮挡免费 | 欧美成人免费在线观看 | 亚洲第一天堂无码专区 | 日产精品久久久久久久蜜臀 | 熟妇激情内射com | 中文字幕精品在线播放 | 又粗又色又爽一区二区三区 | 天堂av色 | 在线中文字幕视频 | 日本高清毛片中文视频 | 国产一区二区无码蜜芽精品 | 综合久久—本道中文字幕 | aaa欧美色吧激情视频 | 亚洲免费网址 | 女同性恋毛片 | 伊人影院在线视频 | 台湾av在线 | www国产精品内射老师 | 专干老肥熟女视频网站 | 欧美日韩一区二区三区自拍 | 日韩精品无码免费一区二区三区 | 黑人性生活视频 | 精品国产男人的天堂久久 | 免费能看的黄色片 | 亚洲人成电影网站色mp4 | 四虎四虎院5151hhcom | 国产精品久久久久千精品 | av无码av在线a∨天堂app | 黄色毛片在线观看 | 亲子性教育中文字幕 | 樱花草国产18久久久久 | 久久综合中文 | 亚欧日韩| 欧美 亚洲 中文 国产 综合 | 主站蜘蛛池模板: 蛛词}| 日日噜噜噜夜夜爽爽狠狠片 | 日本无码人妻波多野结衣 | 五月伊人网 | 国产女人高潮毛片 | 好男人在线社区www在线播放 | 老牛影视免费一区二区 | 3344永久在线观看视频免费 | av在线视屏| 泰国三级av | 国产无遮挡又爽又刺激的视频老师 | 欧美日韩一区二区区别是什么 | 在线观看日韩一区 | 上司侵犯下属人妻中文字幕 | 久久青草资料网站 | 在线观看黄色免费网站 | 日日操天天操 | 中文字幕一区日韩精品 | www夜插内射视频网站 | 曰本无码人妻丰满熟妇5g影院 | 俺去俺来也www色官网 | 成人动漫中文字幕 | 欧美日韩国产va另类 | 日本精品中文字幕 | www.jizz国产 | 免费无码国产v片在线观看 中国老妇淫片bbb | 久久人妻无码一区二区 | 欧美福利小视频 | 97精品久久人人爽人人爽 | 国产午夜永久福利视频在线观看 | 国产高清在线精品一区下载 | 亚洲综合小说另类图片五月天 | 成人网入口 | av成人免费在线观看 | 国产欧美在线亚洲一区 | 欧洲熟妇牲交 | 久久www香蕉免费人成 | 亚洲精品国自产拍在线观看 | 亚洲综合无码av一区二区三区 | 日本丰满少妇xxxx | 色欲久久久天天天综合网 | 欧美视频在线观看一区二区 | 美女啪啪无遮挡免费久久网站 | 性无码专区无码 | 香蕉免费一区二区三区在 | 日本毛x片免费视频观看视频 | 亚洲久草视频 | 少妇的丰满3中文字幕 | 91成人毛片| 日韩视频二区 | 18禁美女黄网站色大片免费网站 | 国产亚洲一区二区在线观看 | 欧美日韩精品亚洲精品 | 日韩欧群交p片内射中文 | 国产精品天干天干在线综合 | 国产丝袜无码一区二区视频 | 少妇丰满尤物大尺度写真 | 国产高清在线精品一区小说 | 色翁荡息又大又硬又粗又视频图片 | 岳毛多又紧做起爽 |