成人动漫在线观看 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
發(fā)帖數(shù)量: 110 個
工控威望: 249 點
下載積分: 708 分
在線時間: 35(小時)
注冊時間: 2007-09-16
最后登錄: 2025-10-10
查看wjun7610的 主題 / 回貼
樓主  發(fā)表于: 2007-09-22 12:49
一、最新三菱PLC FX系列PLC編程口通信協(xié)議動態(tài)鏈接庫DLL(以下簡稱DLL),是為滿足工業(yè)通信需要,針對工業(yè)領(lǐng)域要求上位機對PLC實時采集與控制的組態(tài)編程而設(shè)計。本DLL是采用Delphi語言開發(fā)的標(biāo)準(zhǔn)串口通訊庫,具有以下特點:
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存儲器的預(yù)置(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),當(dāng)要寫入多個寄存器值時依次排列即可。如給D0與D1寫值100和1000,先將100轉(zhuǎn)成16進制字符串0064、1000轉(zhuǎn)成16進制字符串03E8,則sendstr=006403E8;一次最多寫32個寄存器即字符串長應(yīng)小于等于128;
                            ---------- ----  ~  ---------
寫字符串序列如:            | 0000 | FFFF | 0010 | 0064 |  ~    | 0010 | 0064 |
                            ---------- ----  ~  ---------
返回值:長整型,操作成功返回1,否則返回0;

使用舉例:
ComDwrite(1,0,‘006403E8’),由串口1預(yù)置值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ù)器當(dāng)前值)區(qū)0~255;
Count: 讀取寄存器個數(shù),最多讀取32個寄存器;DLL讀取的越界會自動舍去
element:元件名稱,支持D、C、T;
返回值:字符串?dāng)?shù)據(jù),字符串?dāng)?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),當(dāng)要寫入多個值時依次排列即可。例如: 字節(jié)地址C0'(實際由位地址位C0~C7)、字節(jié)地址C1'(實際由位地址位C8~C15),如給C0'賦值80、C1'賦值CF,則sendstr=80CF;一次最多寫64個字節(jié),即字符串長應(yīng)小于等于128;
                          ---------- - ~  ------
寫字符串序列如:          | 00 | FF | 10 | 64 |  ~  | 1F | 48 |
                          ---------- - ~  ------

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

使用舉例:
ComEForce(1,0,‘C’ ,‘80CF’),DLL將按上表給相應(yīng)位強置值,這里地址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的值為上表反應(yīng)的結(jié)果。0~255的位地址映射成字節(jié)地址應(yīng)為0~31。
即:實際地址=address / 8 ,如ComERead(1,11,2,‘C’)相應(yīng)都得是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        | @ |
        -----------------------------------------

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

DLL還提供附加函數(shù)CinBin ,可以讀出字節(jié)中相應(yīng)位的值是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的線圈復(fù)位(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復(fù)位;
ComEReset (1,810,‘S’),給S810復(fù)位;

三、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)境所增設(shè))
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@”;

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

3、16進制字符串轉(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進制字符串中某個位的值
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)境所增設(shè))
Function CLeftStr(Text:Pchar;Count:longint):Pchar;stdcall;
參數(shù):
Text: 字符串原型;
Count: 指定返回左側(cè)字符串個數(shù);

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

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

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

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

7、返回字符串Text從Start開始的Count個字符 (為VC等非RAD開發(fā)環(huán)境所增設(shè))
Function CMidStr(Text:Pchar;Start,Count:longint):Pchar;stdcall;
參數(shù):
Text: 字符串原型;
Start: 指定返回字符串的起始位置;
Count: 指定返回字符串個數(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: 查詢的字符串;
返回值:長整型;

使用舉例:
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ù),建議用Delphi自帶函數(shù),如需使用聲明參上例;

聲明后可以在程序中使用這些函數(shù),附加函數(shù)置中除ComTrue、CinBin外Delphi系統(tǒng)自帶有類似功能函數(shù)。通信時必須先使用ComOpen函數(shù)打開串口,在串口打開后可以有效操作相關(guān)函數(shù),為確保通信可在程序運行開始時打開串口,程序關(guān)閉前關(guān)閉串口。應(yīng)用程序關(guān)閉之前請務(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都行,實際地址=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ù),建議用VB自帶函數(shù),如需使用聲明參上例;
做完上述聲明后,便可以在程序中使用相關(guān)函數(shù)了。本DLL是串口通信庫,通信時必須先使用ComOpen函數(shù)打開串口,在串口打開后可以有效操作相關(guān)函數(shù),為保證通信可以在程序運行開始時打開串口,程序關(guān)閉前關(guān)閉串口。在應(yīng)用程序關(guān)閉之前請務(wù)必將關(guān)閉所有串口,如您的程序串口未關(guān)閉前被關(guān)閉系統(tǒng)將拋出異常。當(dāng)出現(xiàn)這樣的異常請更改您的程序,確保應(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)不會執(zhí)行正常的窗體釋放等事件而直接退出程序,如程序中有form1,form2兩個窗體,則使用下面語句:
Unload  form1
Unload  form2
VB會在所有窗體關(guān)閉后釋放所有占用資源。
上述可以詳細(xì)參照DEMO程序。

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

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

1)、導(dǎo)入動態(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ù)名的對應(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");

注:雙引號中為動態(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)、當(dāng)不再需要使用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-10-10
    查看wjun7610的 主題 / 回貼
    1樓  發(fā)表于: 2007-09-22 12:50
    這是我第一次發(fā)貼,希望大家多支持。
    wjun7610
    級別: 略有小成
    精華主題: 0
    發(fā)帖數(shù)量: 110 個
    工控威望: 249 點
    下載積分: 708 分
    在線時間: 35(小時)
    注冊時間: 2007-09-16
    最后登錄: 2025-10-10
    查看wjun7610的 主題 / 回貼
    2樓  發(fā)表于: 2007-09-22 12:52
    希望在這里能夠結(jié)識很多工控界的朋友共同進步
    lishlish
    級別: *
    精華主題: * 篇
    發(fā)帖數(shù)量: * 個
    工控威望: * 點
    下載積分: * 分
    在線時間: (小時)
    注冊時間: *
    最后登錄: *
    查看lishlish的 主題 / 回貼
    3樓  發(fā)表于: 2008-03-21 12:26
    太好了,這種程序可以在電腦與PLC人機界面中用
    catywu
    級別: 家園?
    精華主題: 2 篇
    發(fā)帖數(shù)量: 632 個
    工控威望: 873 點
    下載積分: 20044 分
    在線時間: 614(小時)
    注冊時間: 2007-08-19
    最后登錄: 2025-10-12
    查看catywu的 主題 / 回貼
    4樓  發(fā)表于: 2008-03-21 21:38
    不錯啊!值得學(xué)習(xí)!感謝分享!
    heyijun
    級別: 探索解密
    精華主題: 0
    發(fā)帖數(shù)量: 39 個
    工控威望: 141 點
    下載積分: 626 分
    在線時間: 36(小時)
    注冊時間: 2010-11-18
    最后登錄: 2025-07-26
    查看heyijun的 主題 / 回貼
    5樓  發(fā)表于: 2011-01-27 11:55
    值得學(xué)習(xí)!感謝分享!
    xt5818
    級別: 家園常客
    精華主題: 0
    發(fā)帖數(shù)量: 378 個
    工控威望: 556 點
    下載積分: 9727 分
    在線時間: 277(小時)
    注冊時間: 2010-11-06
    最后登錄: 2024-06-10
    查看xt5818的 主題 / 回貼
    6樓  發(fā)表于: 2011-01-27 14:14
    值得學(xué)習(xí)!感謝分享!
    crgtom
    人生三寶:家庭,事業(yè),健康。
    級別: 網(wǎng)絡(luò)英雄

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

    主站蜘蛛池模板: 久久这里只有精品99 | 特级毛片在线观看 | 精品国产午夜理论片不卡 | 张筱雨337p大尺度欧美 | www.久久久久 | 国产裸体永久免费视频网站 | 未满成年国产在线观看 | 在线看黄色av | 艳妇乳肉豪妇荡乳xxx | 成人国产mv免费视频 | 国产精品55夜色66夜色 | 2020国产精品香蕉在线观看 | 日韩精品在线观看中文字幕 | 99热久久最新地址 | 丝袜 亚洲 另类 欧美 | 欧美黄色免费在线观看 | 国产精品丝袜久久久久久久不卡 | 四虎国产精品永久在线观看 | 精品久久久久久久久午夜福利 | 各种少妇正面bbw撒尿 | 国产成人久久精品77777的功能 | 国产a级淫片 | 麻豆文化传媒精品一区观看 | 黑人巨大猛交丰满少妇 | 国产免费一级淫片a级中文 大香蕉毛片 | 无码免费v片在线观看 | 天天躁日日躁狼狼超碰97 | 伊人网中文字幕 | 波多野结衣视频网址 | 99re久久资源最新地址 | 国产又粗又黄又爽无遮挡 | 福利片一区 | 欧洲免费无线码在线一区 | 91插插视频| 久久96国产精品久久久 | 免费精品国产人妻国语三上悠亚 | 亚洲综合国产在不卡在线 | 五月av综合av国产av | 欧美色图久久 | 欧美精品a片久久www慈禧 | av无码不卡在线观看免费 | 欧美激情一区二区三区蜜桃视频 | 亚洲国产精品综合久久2007 | 国产午夜激情视频 | 国产精品pans私拍 | 国产真实乱人偷精品视频 | 欧美日韩一区二区成人午夜电影 | 久久久精品福利 | 久久亚洲精品综合国产仙踪林 | 人人妻人人添人人爽欧美一区 | 成人男女视频 | 国产手机看片 | 夜先锋av资源网站 | 伊人1314| 亚洲一区二区精品 | 精品无人乱码一区二区三区的特点 | 中文日产乱幕九区无线码 | 99热国产在线手机精品 | 香蕉成人av | 主站蜘蛛池模板: 蛛词}| 色欲狠狠躁天天躁无码中文字幕 | 国产成人福利在线视频播放下载 | 久久国产精品99久久久大便 | 99国语露脸久久精品国产ktv | 国产亚洲综合网曝门系列 | 色一情一乱一伦一视频免费看 | 亚洲成人在线网站 | 中文字幕av一区二区五区 | 欧美一级免费在线 | 国产精品好好热av在线观看 | 婷婷国产天堂久久综合五月 | 亚洲中文字幕成人综合网 | 人人鲁人人莫一区二区三区 | 精品人妻伦一二三区久久aaa片 | 国产精品va无码一区二区 | 国产又粗又猛又爽视频上高潮69 | 三级视频在线观看 | 欧美精品一区二区三区免费播放 | 久久永久免费人妻精品我不卡 | 2021最新国产在线人成 | 91网站在线观看免费 | 大肉大捧一进一出好爽动态图 | 免费无码专区在线视频 | 五十路熟女一区二区三区 | 久热在线观看视频 | 日韩av手机在线播放 | 日产幕无线码三区在线 | 天堂岛国av无码免费无禁网站 | 欧洲成人免费视频 | 免费国产又色又爽又黄的软件 | 亚洲精品久久一区二区三区 | 92av视频 | 国产av成人精品播放 | 亚洲日批视频 | 四虎影视免费永久在线 | 美女屁股隐私免费视频 | 天天看天天摸 | 国产高清精品综合在线网址 | 免费色片网站 | 性久久久久久久久久 | 久久99免费 | 午夜激情久久 | 在线观看国产网址你懂的 | 91精品国产91久久久久游泳池 | 激情网网站 | 91国内自产精华天堂 | 精品国产鲁一鲁一区二区张丽 | 国产69成人精品视频免费 | 日韩福利在线视频 | 亚洲欧美一区二区三区视频 | 日本高清免费毛片大全awaaa | 国产呻吟久久久久久久92 | 你懂的国产精品 | 日日草夜夜草 | 人妻精品丝袜一区二区无码av | 国产japanhdxxxx麻豆 | 久久久亚洲欧洲日产av | 国产午夜无码视频免费网站 | 国产成人无码a区在线观看导航 | 主站蜘蛛池模板: 蛛词}| 亚洲精品午夜无码专区 | 精品av一区二区 | av无码中出一区二区三区 | 欧美熟妇的荡欲在线观看 | 亚洲视频网站在线观看 | 国产自偷自偷免费一区 | 国产av午夜精品一区二区三 | 欧美国产成人精品 | 久久精品日产第一区二区三区在哪里 | xxxx日本少妇| 色老板精品无码免费视频 | 少妇高潮叫床在线播放 | 少妇爆乳无码专区网站 | 国产综合精品一区二区三区 | 999国产精品视频免费 | 久久国产精品一区二区三区 | 国产一区视频网站 | 免费国产黄色 | 成人爽a毛片免费 | 日本少妇久久久 | 久久人人添人人爽添人人88v | 免费观看又污又黄在线观看 | 久久精品国产v日韩v亚洲 | 国产鲁鲁视频在线观看免费 | 亚洲综合性 | 在线精品国产一区二区三区88 | 国产成人亚洲综合无码精品 | 久久久久久aaaabbbb | 亚洲成人aaa| 岛国av免费看| 亚洲欧美18岁网站 | 久久超碰97人人做人人爱 | 黄色在线国产 | 李采潭av| 久久夜色撩人精品国产小说 | 日韩大陆欧美高清视频区 | 天天影视色香欲综合网一寡妇 | 综合国产精品 | 国产成+人+综合+亚洲欧美丁香花 | www.久久久久.com| 在线观看www| 日韩区欧美区 | 久久久久久臀欲欧美日韩 | 国产美女在线精品免费观看 | 视频区 国产 图片区 小说区 | 中文字幕一区二区三区第十负 | 女人张开腿让男人桶个爽 | 四川丰满少妇被弄到高潮 | 亚洲人成色4444在线观看 | 高清日韩欧美 | 亚洲精品无码国模 | 欧美福利片在线观看 | 超碰在线91 | 久草在线费播放视频 | 日韩一区二区免费在线观看 | 俄罗斯性欧美 | 免费国产人成网站x8x8 | 久久av嫩草影院 | 成人亚洲a片v一区二区三区动漫 | 主站蜘蛛池模板: 蛛词}| 亚洲成av人片在线观看天堂无 | 青青青手机视频在线观看 | 国产精品人人做人人爽人人添 | 日本又黄又硬又爽的大片 | 色哟哟国产精品免费观看 | 国产亚洲无日韩乱码 | 日韩久久免费 | 国产精品嫩草影院一二三区入口 | 亚洲一区激情 | 6080yy伦理亚洲第一区 | 无码人妻精品一区二区三区下载 | 一区二区三区在线播放视频 | 久久av影视 | 蜜乳av久久久久久久久久久 | 欧美亚洲日本日韩在线 | 国产一二区视频 | 中文字幕不卡乱偷在线观看 | 国产精品另类激情久久久免费 | 992在线观看| 久草精品视频在线看网站免费 | 在线免费91 | 免费无码h肉动漫在线观看 97久久香蕉国产线看观看 | 熟女少妇色综合图区 | 亚洲www天堂com | 国产福利日本一区二区三区 | 99国内精品久久久久久久夜夜嗨 | www.国产99| 久热中文字幕在线精品观 | 国产精品一区二区含羞草 | 失禁潮痉挛潮喷av在线无码 | 色久综合网| 国产精品区在线观看 | 97小视频 | 亚洲欧美日韩网站 | 粉嫩虎白女毛片人体 | 激情综合在线观看 | 中文韩国午夜理伦三级好看 | 撕开奶罩揉吮奶头高潮av | 少妇av在线| 高清日韩欧美 | 天天干网址 | 我爱搞在线观看 | 国产精品久久777777 | 亚洲午夜精品一区 | 欧美日韩在线视频免费 | 四虎精品免费 | 精品国产乱码久久久久久芒果 | 欧洲丰满少妇做爰视频爽爽 | 成人影院www蜜桃网站 | 亚洲国产精品无码久久电影 | 好大好猛好爽好深视频免费 | av片日韩一区二区三区在线观看 | 乱人伦无码中文视频在线 | 成人精品一区二区三区网站 | 午夜精品久久久久久久久久蜜桃 | 免费精品国产自在 | 日韩欧美一区二区三区免费观看 | 午夜免费看片 | 欧美精选一区二区三区 | 主站蜘蛛池模板: 蛛词}| 日韩放荡少妇无码视频 | 国产伦精品一区二区三区照片91 | 99婷婷 | 亚洲精品国产综合99久久夜夜嗨 | 丝袜美腿一区二区三区动态图 | 国产人妖xxxx做受视频 | 日日噜噜噜夜夜爽爽狠狠22 | 级毛片内射视频 | 国产成人精品无码免费看夜聊软件 | 国产午夜视频在线 | 又黄又爽又刺激久久久久亚洲精品 | 91精品国产乱码久久久张津瑜 | 性xxxx视频 | 日韩一区二区在线观看视频 | 亚洲午夜成人精品电影在线观看 | 一级老太婆bbb视频bbb | 超碰夜夜 | 国产精品无码av天天爽 | 一级草逼片 | 欧美亚洲综合色 | 国产亚洲中文字幕在线制服 | 亚洲另类一区二区 | 国产伦一区二区三区色一情 | 成人性生交大片免费看r链接 | 狠狠做久久深爱婷婷 | 991av| 欧美视频在线观看一区二区 | 亚洲成a人片77777在线播放 | 欧美福利二区 | 风流少妇又紧又爽又丰满 | 日韩亚洲欧美视频 | 免费观看成人毛片 | 在线观看网站黄 | 国产二区交换配乱婬 | 一区免费| 亚洲人成77在线播放网站 | 超鹏97 | 国产乱妇无码大片在线观看 | 国产午夜片无码区在线播放 | 日韩爽爽视频 | 美女福利视频 | 亚洲精品乱码久久久久久黑人 | 精品日本免费一区二区三区 | 亚洲2019av无码网站在线 | 久久天天视频 | 国产九色蝌蚪 | 精品视频国产狼友视频 | 色妞www精品免费视频 | 黄色一级大片网站 | 红桃av永久久久 | 亚洲乱码尤物193yw最新网站 | 欧美 日韩 国产 亚洲 色 | 欧美整片第一页 | 国产亚洲精久久久久久无码77777 | 一边啪啪的一边呻吟声口述 | 天天躁夜夜操 | 国产在线观看黄色 | 永久免费av在线 | 九月色婷婷 |