自在自线亚洲а∨天堂在线-中文字幕一区视频播放-扒开双腿猛进入喷水高潮叫声-欧美日本亚洲一区二区-老熟妇高潮偷拍一区二区-国产精品高清一区二区不卡-午夜色福利视频一区二区三区-亚洲国产成人精品福利在线观看-亚洲欧美成人一区二区在线电影

當前位置:機電之家首頁 >> PLC技術>> plc應用 >> 歐姆龍plc應用 >> 歐姆龍PLC全系列Host Link通信協(xié)議串口動態(tài)鏈接庫DLL
歐姆龍PLC全系列Host Link通信協(xié)議串口動態(tài)鏈接庫DLL

一、最新歐姆龍PLC全系列Host bbbb通信協(xié)議串口動態(tài)鏈接庫DLL(以下簡稱DLL),是為滿足工業(yè)

通信需要,針對工業(yè)領域要求上位機對PLC實時采集與控制的組態(tài)編程而設計。本DLL是采用

Delphi語言開發(fā)的標準串口通訊庫,具有以下特點:
1)、實時性、可靠性好,可根據(jù)通信數(shù)據(jù)量自行調(diào)整通信時間;
2)、適用于多PLC聯(lián)網(wǎng)和上位機通信,滿足多方面的需要;
3)、函數(shù)接口功能全,操作簡單;
4)、附加實用轉換與讀取函數(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,BaudRate,DataBits,Parity,StopBits:longint;User:Pchar):longint;stdcall;
參數(shù):nport: 打開串口號,取值為1~8,代表COM1~COM8;
      BaudRate:波特率,取值為1200、2400、4800、9600、19200、38400 (推薦使用9600或

19200);
      DataBits:數(shù)據(jù)位,取值為5、6、7、8(推薦使用7或8);
      Parity:  校驗位,取值為1(E)、2(O)、3(M)、4(S)、5(N),注括號里是校驗位的英文縮

寫;
      StopBits:停止位,取值為1(1)、2(2)、3(1.5),注括號里是實際的停止位位數(shù)       
      User:DLL授權用戶名;
返回值:長整型,操作成功返回1,否則返回0;打開串口不成功即返回0時的原因:1)、串口不存

在或被占用; 2)、DLL試用過期; 3)、DLL授權注冊不正確。

使用舉例:
ComOpen(1,9600,7,1,1,'wjun') , 打開COM1口,并設定波特率=9600、數(shù)據(jù)位=7、校驗位=E(偶

校驗)、停止位=1,授權用戶='wjun'。

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

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

3、讀取PLC的操作狀態(tài)----{這很重要因為Host bbbb只有在監(jiān)視或編程狀態(tài)才可以進行寫操

作與強制操作,工控應用中應使用監(jiān)視狀態(tài)}
                              . . . . . . . . . . . . . . . . . . . . . . . . . . . . 

. . . . . . . . . . . . . . . . . .
Function ComMS(nport,node:Longint):Longint;stdcall;
參數(shù):
nport: 串口號,取值為1~8,代表COM1~COM8;
node: PLC站號或節(jié)點號(單元號),取值為0~31;
返回值:長整型,返回值:0:編程、1:運行、2:監(jiān)視、3:讀取錯誤;

使用舉例:
ComMS(1,0),由串口1讀取0號PLC的操作狀態(tài);

4、改變PLC的操作狀態(tài)
Function ComSC(nport,node,State:longint):Longint;stdcall;
參數(shù):
nport: 串口號,取值為1~8,代表COM1~COM8;
node: PLC站號或節(jié)點號(單元號),取值為0~31;
State:PLC狀態(tài)參數(shù),取值為0:編程、1:運行、2:監(jiān)視;
返回值:長整型,操作成功返回1,否則返回0;

5、讀取PLC的型號代碼
Function ComMM(nport,node:Longint):Pchar;stdcall;
參數(shù):
nport: 串口號,取值為1~8,代表COM1~COM8;
node: PLC站號或節(jié)點號(單元號),取值為0~31;
返回值:Pchar(字符串),返回值:"Error":表示讀取錯誤

其他見下表:

型號代碼             PLC型號

"01"                 C250
"02"                 C500
"03"                 C120
"0E"                 C2000
"10"                 C1000H
"11"                 C2000H/CQM1/CPM2A/CPM2C/CPM1/CPM1A/SRM1(-V2)
"12"                 C20H/C28H/C40H/C200H/C200HS
"20"                 CV500
"21"                 CV1000
"22"                 CV2000
"30"                 CP1H
"40"                 CVM1-CPU01-E
"41"                 CVM1-CPU11-E
"42"                 CVM1-CPU21-E

所有字符串返回值都以"@"為字符串數(shù)據(jù)終止符,有效字符串為"@"之前的所有字符串組;

6、測試PC與PLC的通信是否可以有效執(zhí)行

Function ComTS(nport,node:longint):Longint;stdcall
參數(shù):
nport: 串口號,取值為1~8,代表COM1~COM8;
node: PLC站號或節(jié)點號(單元號),取值為0~31;
返回值:長整型,測試成功返回1,否則返回0;

7、PLC存儲器數(shù)據(jù)的讀取(IR/SR、LR、HR、AR、DM、T-PV值、T-狀態(tài)值)
Function ComWR(nport,node,address,Count:longint;Order:pchar):Pchar;stdcall;
參數(shù):
nport: 串口號,取值為1~8,代表COM1~COM8;
node: PLC站號或節(jié)點號(單元號),取值為0~31;
address: 寄存器地址,取值請參歐姆龍PLC手冊;
Count: 讀取寄存器個數(shù),T-狀態(tài)值的讀取最大可讀一次都120個,其它一次可讀30個字的數(shù)據(jù);

Order:讀取各區(qū)命令字符見下表:

命令代碼             讀取區(qū)域

"RR"                 IR/SR
"RL"                 LR
"RH"                 HR
"RJ"                 AR
"RD"                 DM
"RC"                 T-PV值
"RG"                 T-狀態(tài)值 

返回值:字符串數(shù)據(jù),字符串數(shù)據(jù)的終止符為"@";

使用舉例:
ComWR(1,0,0,4,'RR') ,由COM1讀取0000~0003四個寄存器的值,如返回值為

“0001006403E809F0@”,則表示0000=0001, 0001=0064,0002=03E8,0003=09F0;

1)、非T區(qū)的讀取返回值為16進制字符串組,可以將返回值如上四位一組再轉換成“0000~FFFF”

的整數(shù)值;

                            ---------- ----  ---
讀字符串序列如:             | 0001 | 0064 | 03E8 | 009F | | @ | 
                            ---------- ----  ---
IR區(qū)                           0000   0001   0002   0003   終止符

對T/C區(qū):

2)、如讀T-PV值,例ComWR(1,0,0,4,'RC') 則返回BCD碼組合數(shù)據(jù),表示T的PV值(當前值)

                            ---------- ----  ---
讀字符串序列如:             | 0001 | 01000 | 1000 | 0159 | | @ | 
                            ---------- ----  --- 
T區(qū)                            0000   0001   0002   0003   終止符

3)、如讀取T/C-狀態(tài)值,例ComWR(1,0,0,4,'RG') 則返回0、1字符串組,表示T/C的完成狀態(tài)

                            ------------- ---
讀字符串序列如:             |  1  |  0  |  0  |  1  | | @ | 
                            ------------- --- 
T區(qū)                           0000   0001  0002  0003  終止符


8、PLC存儲器數(shù)據(jù)的寫入(IR/SR、LR、HR、AR、DM)
Function ComWW(nport,node,address:longint;Sendstr,Order:pchar):Longint;stdcall;
參數(shù):
nport: 串口號,取值為1~8,代表COM1~COM8;
node: PLC站號或節(jié)點號(單元號),取值為0~31;
address: 寄存器地址,取值請參歐姆龍PLC手冊;
Sendstr:給PLC寫入的字符串數(shù)據(jù)組;IR/SR區(qū)一次最多寫30個字、LR區(qū)、HR區(qū)、AR區(qū)注意不要超出

地址范圍、
        DM值區(qū)一次最多寫29個字。

Order:寫入各區(qū)命令字符見下表:

命令代碼             寫入?yún)^(qū)域

"WR"                 IR/SR
"WL"                 LR
"WH"                 HR
"WJ"                 AR
"WD"                 DM

返回值:長整型,操作成功返回1,否則返回0;

使用舉例:ComWW(1,0,0,'0001006403E8009F','WR'),由串口1預置值0號PLC的IR區(qū)的0000=1,

0001=100,0002=1000,0003=159。

寫入值為16進制字符串組


寫字符串序列如:             | 0001 | 0064 | 03E8 | 009F | 
                            ---------- ----  
IR區(qū)                           0000   0001   0002   0003  


9、PLC的線圈強制置位(IR、LR、HR、AR、TIM、TIMH、TIML、TMHH、CNT、CNTR) 
Function ComFBitset(nport,node,address,Bit:longint;Order:pchar):Longint;stdcall;
參數(shù):
nport: 串口號,取值為1~8,代表COM1~COM8;
node: PLC站號或節(jié)點號(單元號),取值為0~31;
address: 寄存器地址,取值請參歐姆龍PLC手冊,
Bit: 強制置位字地址的位地址,取值0~15,TIM、TIMH、TIML、TMHH、CNT、CNTR強制置位時的

取值總是0。

Order:強制置位各區(qū)命令字符見下表:

命令代碼             強制置位區(qū)域

"CIO"                IR/SR
"LR"                 LR
"HR"                 HR
"AR"                 AR
"TIM"                定時器完成標志
"TIMH"               高速定時器完成標志
"TIML"               長定時器完成標志
"TMHH"               特高速定時器完成標志
"CNT"                計數(shù)器完成標志
"CNTR"               可逆定時器完成標志

返回值:長整型,操作成功返回1,否則返回0;

使用舉例:
ComFBitset(1,0,0,0,'CIO'),強制置位(IR)0.00;
ComFBitset(1,0,0,0,'TIM'),強制置位(T)0000。

10、PLC的線圈強制復位(IR、LR、HR、AR、TIM、TIMH、TIML、TMHH、CNT、CNTR) 
Function ComFBitreset(nport,node,address,Bit:longint;Order:pchar):Longint;stdcall;
參數(shù):
nport: 串口號,取值為1~8,代表COM1~COM8;
node: PLC站號或節(jié)點號(單元號),取值為0~31;
address: 寄存器地址,取值請參歐姆龍PLC手冊;
Bit: 強制復位字地址的位地址,取值0~15;TIM、TIMH、TIML、TMHH、CNT、CNTR強制復位時的

取值總是0。

Order:強制復位各區(qū)命令字符見下表:

命令代碼             強制復位區(qū)域

"CIO"                IR/SR
"LR"                 LR
"HR"                 HR
"AR"                 AR
"TIM"                定時器完成標志
"TIMH"               高速定時器完成標志
"TIML"               長定時器完成標志
"TMHH"               特高速定時器完成標志
"CNT"                計數(shù)器完成標志
"CNTR"               可逆定時器完成標志

返回值:長整型,操作成功返回1,否則返回0;

使用舉例:
ComFBitreset(1,0,0,0,'CIO'),強制復位(IR)0.00;
ComFBitreset(1,0,0,0,'TIM'),強制復位(T)0000。

11、PLC的多線圈強制置位復位(IR、LR、HR、AR、TIM、TIMH、TIML、TMHH、CNT、CNTR)
Function ComFRSset(nport,node,address:longint;Sendstr,Order:pchar):Longint;stdcall;
參數(shù):
nport: 串口號,取值為1~8, 代表COM1~COM8;
node: PLC站號或節(jié)點號(單元號),取值為0~31;
address: 寄存器地址,取值請參歐姆龍PLC手冊;
sendstr:  給多線圈寫入的值,該值為16進制字符串組成的16個字符串依下表次排列,TIM、TIMH

、TIML、TMHH、CNT、CNTR強制置位復位時僅第15位是有效的其它將被忽略。

                      ---------- - ---------- - -------

-- 
字符串序列:          | 0 | 2 | 3 | 5 | 4 | 8| 2 | 5 | 3 | 0 | 2 | 8 | 0 | 2 | 3 | 5 

| 
                      ---------- - ---------- - -------

-- 
bit                    15  14  13  12  11  10   9   8   7   6   5   4   3   2   1   0

16進制字符串所表示的處理意義參下表:

0:不改變位狀態(tài)
2:復位
3:置位
4:強制復位
5:強制置位
8:取消強制置位/復位

Order:強制置位復位各區(qū)命令字符見下表:

命令代碼             復位區(qū)域

"CIO"                IR/SR
"LR"                 LR
"HR"                 HR
"AR"                 AR

返回值:長整型,操作成功返回1,否則返回0;

使用舉例:
ComFRSset(1,0,0,'0235482530280235','CIO'),DLL將給(IR)0000按下表動作:

0.15           0  不改變位狀態(tài)  
0.14           2  復位
0.13           3  置位
0.12           5  強制置位   
0.11           4  強制復位
0.10           8  取消強制置位/復位
0.09           2  復位
0.08           5  強制置位
0.07           3  置位
0.06           0  不改變位狀態(tài)
0.05           2  復位
0.04           8  取消強制置位/復位
0.03           0  不改變位狀態(tài) 
0.02           2  復位
0.01           3  置位
0.00           5  強制置位   

12、取消所有被強制置位、復位、及多位強制置復位的強制狀態(tài)
Function ComFCancel(nport,node:longint):Longint;stdcall;  
參數(shù):
nport: 串口號,取值為1~8, 代表COM1~COM8;
node: PLC站號或節(jié)點號(單元號),取值為0~31;
返回值:長整型,操作成功返回1,否則返回0;

使用舉例:
ComFCancel(1,0),取消PLC中所有被強制置位、復位的單元


注:使用強制命令后PLC程序、寫入命令都無法改變被強制的位的狀態(tài)值,因此在實際工控應用中

建議用寫入命令或多線圈強制置位復位命令ComFRSset中的字符串處理碼的2:復位、3:置位來操作

置位復位。如果一定要用強制命令,那么在記得使用后用取消強制命令來恢復管理。

由此可以推出下面的置位與復位函數(shù),注意采用置位與復位函數(shù),置位或復位的結果將受PLC程序

輸出的影響,推崇置/復位用在輸入條件中。

13、PLC的線圈置位(IR、LR、HR、AR、TIM、TIMH、TIML、TMHH、CNT、CNTR) 
Function ComSet(nport,node,address,Bit:longint;Order:pchar):Longint;stdcall;
參數(shù):
nport: 串口號,取值為1~8,代表COM1~COM8;
node: PLC站號或節(jié)點號(單元號),取值為0~31;
address: 寄存器地址,取值請參歐姆龍PLC手冊,
Bit: 置位字地址的位地址,取值0~15,TIM、TIMH、TIML、TMHH、CNT、CNTR置位時的取值總是0

。

Order:置位各區(qū)命令字符見下表:

命令代碼             置位區(qū)域

"CIO"                IR/SR
"LR"                 LR
"HR"                 HR
"AR"                 AR
"TIM"                定時器完成標志
"TIMH"               高速定時器完成標志
"TIML"               長定時器完成標志
"TMHH"               特高速定時器完成標志
"CNT"                計數(shù)器完成標志
"CNTR"               可逆定時器完成標志

返回值:長整型,操作成功返回1,否則返回0;

使用舉例:
ComSet(1,0,0,0,'CIO'),置位(IR)0.00;
ComSet(1,0,0,0,'TIM'),置位(T)0000。

14、PLC的線圈復位(IR、LR、HR、AR、TIM、TIMH、TIML、TMHH、CNT、CNTR) 
Function ComReset(nport,node,address,Bit:longint;Order:pchar):Longint;stdcall;
參數(shù):
nport: 串口號,取值為1~8,代表COM1~COM8;
node: PLC站號或節(jié)點號(單元號),取值為0~31;
address: 寄存器地址,取值請參歐姆龍PLC手冊;
Bit: 復位字地址的位地址,取值0~15;TIM、TIMH、TIML、TMHH、CNT、CNTR復位時的取值總是0

。

Order:復位各區(qū)命令字符見下表:

命令代碼             復位區(qū)域

"CIO"                IR/SR
"LR"                 LR
"HR"                 HR
"AR"                 AR
"TIM"                定時器完成標志
"TIMH"               高速定時器完成標志
"TIML"               長定時器完成標志
"TMHH"               特高速定時器完成標志
"CNT"                計數(shù)器完成標志
"CNTR"               可逆定時器完成標志

返回值:長整型,操作成功返回1,否則返回0;

使用舉例:
ComReset(1,0,0,0,'CIO'),復位(IR)0.00;
ComReset(1,0,0,0,'TIM'),復位(T)0000。

在本DLL中去除了一些特權操作指令接一些不太容易在現(xiàn)場應用中使用的指令(如果有朋友
認為指令怎么不全而你正好需要的話請注冊時與我提出我會將你需要的指令加入。)

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

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

2、整數(shù)轉換成16進制字符串 (為VC等非RAD開發(fā)環(huán)境所增設)
Function CIntToHex(Cint,Digits:Longint):Pchar;stdcall;
參數(shù):
Cint: 待轉換整數(shù),取值為(0~65535);
Digits: 轉換的字符串位數(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進制字符串轉換成整數(shù) (為VC等非RAD開發(fā)環(huán)境所增設)
Function CHexToInt(CHex:Pchar):Longint;stdcall;
參數(shù):
CHex: 待轉換字符串,取值為(0000~FFFF);
使用舉例:
CHexToInt(‘03E8’),則返回整數(shù)1000;

4、抽取16進制字符串中某個位的值
Function CinBin(CHex:Pchar;Start:longint):longint;stdcall;
參數(shù):
CHex: 待轉換字符串,取值為(0000~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: 指定返回左側字符串個數(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: 指定返回右側字符串個數(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中關于傳出字符串值的函數(shù)都以"@"為字符串函數(shù)值終止符。

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

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

在Delphi環(huán)境下將omron.dll、omron.slip(許可文件)復制到應用程序目錄下(即將上述文件與編

譯后的可執(zhí)行文件方入同一文件夾內(nèi));

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

Function ComOpen

(nport,BaudRate,DataBits,Parity,StopBits:longint;User:Pchar):longint;stdcall;External

'omron.dll';
Function ComClose(nport:longint):longint;stdcall;External'omron.dll';
Function ComWR(nport,node,address,Count:longint;Order:pchar):Pchar;stdcall; 

External'omron.dll';
Function ComWW

(nport,node,address:longint;Sendstr,Order:pchar):Longint;stdcall;External'omron.dll';
Function ComMM(nport,node:Longint):Pchar;stdcall;External'omron.dll';
Function ComMS(nport,node:Longint):Longint;stdcall;External'omron.dll';
Function ComSC(nport,node,State:longint):Longint;stdcall;External'omron.dll';
Function ComTS(nport,node:longint):Longint;stdcall;External'omron.dll';
Function ComFBitset

(nport,node,address,Bit:longint;Order:pchar):Longint;stdcall;External'omron.dll';
Function ComFBitreset

(nport,node,address,Bit:longint;Order:pchar):Longint;stdcall;External'omron.dll';
Function ComFRSset

(nport,node,address:longint;Sendstr,Order:pchar):Longint;stdcall;External'omron.dll';
Function ComFCancel(nport,node:longint):Longint;stdcall;External'omron.dll';
Function ComSet

(nport,node,address,Bit:longint;Order:pchar):Longint;stdcall;External'omron.dll';
Function ComReset

(nport,node,address,Bit:longint;Order:pchar):Longint;stdcall;External'omron.dll';
Function ComTrue(nport:longint):longint;stdcall;External'omron.dll';
Function CinBin(CHex:Pchar;Start:longint):longint;stdcall; External'omron.dll';

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

聲明后可以在程序中使用這些函數(shù),附加函數(shù)置中除ComTrue、CinBin外Delphi系統(tǒng)自帶有類似功

能函數(shù)。通信時必須先使用ComOpen函數(shù)打開串口,在串口打開后可以有效操作相關函數(shù),為確保

通信可在程序運行開始時打開串口,程序關閉前關閉串口。應用程序關閉之前請務必將關閉所有

串口,如串口未關閉前關閉系統(tǒng)將拋出異常。確保應用程序在關閉釋放前關閉打開的串口。解決

方法,在bbbb的OnDestroy事件中加入如下語句:
if ComTrue(1)=1 then ComClose(1);
在Delphi中給中給DLL中的函數(shù)傳pchar值問題,參考下例:
procedure Tbbbb_omron.ButtonDsendClick(Sender: Tbbbbbb);
Var
  i,k,l:longint;
  sendText,Order:pchar;
  sendstr,Orderstr:bbbbbb;
begin
  i:=strtoint(Rightstr(Comboxcom.Text,1));
  if (SendEdit.Enabled) and (comTrue(i)=1) then
  begin
    k:=strtoint(DaddressW.Text);
    case ComDwrite.ItemIndex of
      0: Orderstr:='WR';
      1: Orderstr:='WL';
      2: Orderstr:='WH';
      3: Orderstr:='WJ';
      4: Orderstr:='WD';
    end;
    l:=length(SendEdit.Text) div 4;
    l:=l*4;
    sendstr:=leftstr(SendEdit.Text,l);        //以字為單位多余省略,4個字符串為一個字
    try
      sendText:=strAlloc(200);
      sendText:=strPCopy(sendText,sendstr);
      Order:=strAlloc(4);
      Order:=strPCopy(Order,Orderstr);
      if ComWW(i,0,k,SendText,Order)=1 then  SendEdit.Enabled:=False;   //寫各區(qū)值
    finally
      StrDispose(sendText);
      StrDispose(Order);
    end;
  end;
end;
建議采用strPCopy():bbbbbb型轉換到Pchar型,straps():Pchar型轉換到bbbbbb型,不推薦使用直

接轉換法。

上述可以詳細參照DEMO程序。
 
2、VB語言環(huán)境開發(fā)說明

在VB環(huán)境下將omron.dll、omron.slip(許可文件)復制到應用程序目錄下(即將上述文件與編譯

后的可執(zhí)行文件方入同一文件夾內(nèi));

在工程文件中聲明:

Private Declare Function ComOpen Lib "omron.dll" (ByVal nport As Long, ByVal BaudRate 

As Long,ByVal DataBits As Long,ByVal Parity As Long,ByVal StopBits As Long,ByVal User 

As bbbbbb) As Long
Private Declare Function ComClose Lib "omron.dll" (ByVal nport As Long) As Long

作者:未知 點擊:6553次 [打印] [關閉] [返回頂部]
本文標簽:歐姆龍PLC全系列Host Link通信協(xié)議串口動態(tài)鏈接庫DLL
* 由于無法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報酬未能及時支付,在此深表歉意,請《歐姆龍PLC全系列Host Link通信協(xié)議串口動態(tài)鏈接庫DLL》相關權利人與機電之家網(wǎng)取得聯(lián)系。
電子樣本

SN系列樣冊
:鞏經(jīng)理
:13915946763
:南京塞姆泵業(yè)有限公司
個人求購

鄔經(jīng)理 【求購】  LED分析...  2026-4-10
李先生 【求購】  綜合微機保...  2026-4-10
王坤 【求購】  石英碎片  2026-4-9
陳經(jīng)理 【求購】  攪拌設備的...  2026-4-9
周經(jīng)理 【求購】  遠大流量計  2026-4-9
蔡經(jīng)理 【求購】  歐姆龍傳感...  2026-4-8
呂經(jīng)理 【求購】  二手伺服變...  2026-4-8
曾經(jīng)理 【求購】  金龍羽電線  2026-4-8
VIP公司推薦