国产一区二区三区毛片_亚洲乱码AV中文一区二区_亚洲精品无码专区在线播放_日韩欧美一二_咪咪av影院_欧久久av一区二区

wjun7610
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 127 個(gè)
工控威望: 249 點(diǎn)
下載積分: 708 分
在線時(shí)間: 35(小時(shí))
注冊(cè)時(shí)間: 2007-09-16
最后登錄: 2025-05-07
查看wjun7610的 主題 / 回貼
樓主  發(fā)表于: 2011-04-05 15:29
圖片:
Omron_HostLink.dll V3.2 HostLink通信協(xié)議串口通訊動(dòng)態(tài)鏈接庫(kù)DLL(以下簡(jiǎn)稱DLL),是為滿足工業(yè)通信需要,

針對(duì)工業(yè)領(lǐng)域要求上位機(jī)對(duì)歐姆龍系列PLC通訊實(shí)時(shí)采集與控制的組態(tài)編程而設(shè)計(jì)。

本DLL是采用Delphi語(yǔ)言開(kāi)發(fā)的標(biāo)準(zhǔn)串口通訊庫(kù),具有以下特點(diǎn):

1)、遵循歐姆龍HostLink通信協(xié)議;

2)、支持多串口并發(fā)操作,支持多線程串口通訊,將串口通訊對(duì)主程序的影響降至最低;

3)、實(shí)時(shí)性、可靠性好,通用性強(qiáng);

4)、適用于多PLC(下位機(jī))聯(lián)網(wǎng)和上位機(jī)通信,滿足多方面的需要;

5)、函數(shù)接口功能全,操作簡(jiǎn)單,支持歐姆龍PLC的絕大部分地址的讀寫功能函數(shù);

6)、支持USB、PC擴(kuò)展卡等擴(kuò)展串口號(hào);

7)、支持多種操作系統(tǒng)win9x/win2000/winXP(標(biāo)準(zhǔn)Win32 DLL);

8)、易于快速開(kāi)發(fā)(VC等非RAD開(kāi)發(fā)環(huán)境的開(kāi)發(fā));

9)、更新原有函數(shù)調(diào)用方式采用數(shù)組調(diào)用數(shù)據(jù)發(fā)生與接收,初學(xué)者快速入門;

10)、可在多種編程環(huán)境下使用,例如VB、VC、Delphi、PB、Labview、易語(yǔ)言等開(kāi)發(fā)環(huán)境;

11)、擴(kuò)展了函數(shù)功能讀取下位機(jī)中的雙字、單精度浮點(diǎn)等類型數(shù)據(jù),更加符合工業(yè)自動(dòng)化領(lǐng)域的工控軟件的開(kāi)發(fā)。

軟件版本更新及相關(guān)說(shuō)明:

Omron_HostLink.dll V3.2 HostLink通信協(xié)議串口通訊鏈接庫(kù),實(shí)現(xiàn)了對(duì)歐姆 龍全系列PLC的HostLink協(xié)議的支持,

(刪減了一些特權(quán)指令)wangjun于2010年在原有omron.dll V2.0版基礎(chǔ)上的更新版,重寫了函數(shù)結(jié)構(gòu),采用數(shù)據(jù)接收

和發(fā)送緩沖區(qū)(數(shù)組)方式傳遞,讀出和寫入單元數(shù)據(jù)使用更方便。對(duì)于16位整數(shù)和32位整數(shù)讀取寫入均按有符號(hào)整數(shù)

處理,小數(shù)的返回按單精度浮點(diǎn)型(2進(jìn)制浮點(diǎn))處理讀取方式。提供擴(kuò)展功能函數(shù),方便用戶實(shí)現(xiàn)混合數(shù)據(jù)讀取。

能夠同時(shí)滿足32個(gè)串口并發(fā)情況下的正常使用。

Omron_HostLink.dll V3.2 分為完美版和單機(jī)版兩個(gè)版本,本DLL于2010年最新規(guī)整優(yōu)化了部分源碼,

通過(guò)DLL發(fā)送緩存區(qū)與接收緩存區(qū)數(shù)據(jù)傳遞的功能擴(kuò)展,使多語(yǔ)言環(huán)境的使用更加便利。

全新的串口通信DLL控件,完美的VB、VC、delphi例程及工件手冊(cè)是,廣大立志利用各類高級(jí)語(yǔ)言進(jìn)行上位機(jī)軟件開(kāi)發(fā)的首先工具。

淘寶店:http://shop34821629.taobao.com

電 話:13912935690 025-84359545

騰訊QQ:157610979

郵 箱:157610979@QQ.com

wjun7610@yahoo.com.cn

chinawanglong@163.com
wjun7610
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 127 個(gè)
工控威望: 249 點(diǎn)
下載積分: 708 分
在線時(shí)間: 35(小時(shí))
注冊(cè)時(shí)間: 2007-09-16
最后登錄: 2025-05-07
查看wjun7610的 主題 / 回貼
1樓  發(fā)表于: 2011-04-05 15:32
在VC中使用DLL一般都是采用動(dòng)態(tài)聲明的方式,函數(shù)說(shuō)明中給出的是Delphi的函數(shù)原型,

在VC中聲明時(shí)只要注意一下類型的對(duì)應(yīng)即可,Delphi中的longint類型對(duì)應(yīng)VC中的int類型

Delphi中的Pchar對(duì)應(yīng)VC中的char* ,下面給出主要函數(shù)的聲明:

在使用的文件的cpp中聲明一個(gè)句柄:

HINSTANCE hinstDLL;

用來(lái)標(biāo)識(shí)導(dǎo)入的動(dòng)態(tài)鏈接庫(kù)。

1)、按下例說(shuō)明聲明相關(guān)各個(gè)函數(shù):(在cpp文件的頭處聲明)

typedef int (_stdcall *pOpen)(int nport, int BaudRate, int DataBits, char* Parity, int StopBits, char* User);
typedef int (_stdcall *pClose)(int nport);
typedef int (_stdcall *pSetDelay)(int nport);
typedef int (_stdcall *pComTrue)(int nport);
typedef int (_stdcall *pComWork)(int nport);

typedef int (_stdcall *pMS)(int nport, int node);
typedef int (_stdcall *pSC)(int nport, int node, int State);
typedef int (_stdcall *pMM)(int nport, int node);
typedef int (_stdcall *pTS)(int nport, int node);
typedef int (_stdcall *pReadInt)(int nport, int node, int address, int Count, char* Order, int* RxdBuffer);
typedef int (_stdcall *pReadTc)(int nport, int node, int address, int Count, int* RxdBuffer);
typedef int (_stdcall *pWriteInt)(int nport, int node, int address, int Count, char* Order, int* TxdBuffer);

typedef int (_stdcall *pSetF)(int nport, int node, int address, int Bit, char* Order);
typedef int (_stdcall *pReSetF)(int nport, int node, int address, int Bit, char* Order);
typedef int (_stdcall *pCancelF)(int nport, int node, int address, int Bit, char* Order);
typedef int (_stdcall *pCancelAllF)(int nport, int node);

typedef int (_stdcall *pSet)(int nport, int node, int address, int Bit, char* Order);
typedef int (_stdcall *pReSet)(int nport, int node, int address, int Bit, char* Order);
typedef int (_stdcall *pReadBit)(int nport, int node, int address, int Bit, int Count, char* Order, int* RxdBuffer);
typedef int (_stdcall *pReadDInt)(int nport, int node, int address, int Count,int* RxdBuffer);
typedef int (_stdcall *pReadFloat)(int nport, int node, int address, int Count, float* RxdBuffer);
typedef int (_stdcall *pWriteDInt)(int nport, int node, int address, int Count, int* TxdBuffer);
typedef int (_stdcall *pWriteFloat)(int nport, int node, int address, int Count, float* TxdBuffer);

typedef int (_stdcall *pBitBin)(int value, int Bitaddress);
typedef int (_stdcall *p32I_16h)(int value);
typedef int (_stdcall *p32I_16l)(int value);
typedef int (_stdcall *p16I_32I)(int valueH, int valueL);
typedef int (_stdcall *p32f_16h)(float value);
typedef int (_stdcall *p32f_16l)(float value);
typedef float (_stdcall *p16I_32f)(int valueH, int valueL);

2)、建立動(dòng)態(tài)鏈接庫(kù)的新函數(shù)名:(在cpp文件的頭處聲明)

pOpen mOpen;
pClose mClose;
pSetDelay mSetDelay;
pComTrue mComTrue;
pComWork mComWork;

pMS mMS;
pSC mSC;
pMM mMM;
pTS mTS;
pReadInt mReadInt;
pReadTc mReadTc;
pWriteInt mWriteInt;

pSetF mSetF;
pReSetF mReSetF;
pCancelF mCancelF;
pCancelAllF mCancelAllF;

pSet mSet;
pReSet mReSet;
pReadBit mReadBit;
pReadDInt mReadDInt;
pReadFloat mReadFloat;
pWriteDInt mWriteDInt;
pWriteFloat mWriteFloat;

pBitBin mBitBin;
p32I_16h m32I_16h;
p32I_16l m32I_16l;
p16I_32I m16I_32I;
p32f_16h m32f_16h;
p32f_16l m32f_16l;
p16I_32f m16I_32f;

3)、導(dǎo)入動(dòng)態(tài)鏈接庫(kù),如例所示:(在cpp文件的OnInitDialog過(guò)程建立):

hinstDLL = LoadLibrary("Omron_HostLink.dll");

4)、判斷dll文件是否存在并聲明并建立動(dòng)態(tài)鏈接庫(kù)中的函數(shù)與新函數(shù)名的對(duì)應(yīng)關(guān)系,

如下:(在cpp文件的OnInitDialog過(guò)程建立):

if (hinstDLL)
{
mOpen = (pOpen)GetProcAddress (hinstDLL,"OmronComOpen");
mClose = (pClose)GetProcAddress (hinstDLL,"OmronComClose");
mSetDelay = (pSetDelay)GetProcAddress (hinstDLL,"OmronSetDelay");
mComTrue = (pComTrue)GetProcAddress (hinstDLL,"OmronComTrue");
mComWork = (pComWork)GetProcAddress (hinstDLL,"OmronComWork");

mMS = (pMS)GetProcAddress (hinstDLL,"OmronMS");
mSC = (pSC)GetProcAddress (hinstDLL,"OmronSC");
mMM = (pMM)GetProcAddress (hinstDLL,"OmronMM");
mTS= (pTS)GetProcAddress (hinstDLL,"OmronTS");
mReadInt = (pReadInt)GetProcAddress (hinstDLL,"OmronReadInt");
mReadTc = (pReadTc)GetProcAddress (hinstDLL,"OmronReadTc");
mWriteInt = (pWriteInt)GetProcAddress (hinstDLL,"OmronWriteInt");

mSetF = (pSetF)GetProcAddress (hinstDLL,"OmronSetF");
mReSetF = (pReSetF)GetProcAddress (hinstDLL,"OmronReSetF");
mCancelF = (pCancelF)GetProcAddress (hinstDLL,"OmronCancelF");
mCancelAllF = (pCancelAllF)GetProcAddress (hinstDLL,"OmronCancelAllF");

mSet = (pSet)GetProcAddress (hinstDLL,"OmronSet");
mReSet = (pReSet)GetProcAddress (hinstDLL,"OmronReSet");
mReadBit = (pReadBit)GetProcAddress (hinstDLL,"OmronReadBit");
mReadDInt = (pReadDInt)GetProcAddress (hinstDLL,"OmronReadDInt");
mReadFloat = (pReadFloat)GetProcAddress (hinstDLL,"OmronReadFloat");
mWriteDInt = (pWriteDInt)GetProcAddress (hinstDLL,"OmronWriteDInt");
mWriteFloat = (pWriteFloat)GetProcAddress (hinstDLL,"OmronWriteFloat");

mBitBin = (pBitBin)GetProcAddress (hinstDLL,"DecBitBin");
m32I_16h = (p32I_16h)GetProcAddress (hinstDLL,"Int32ToInt_16h");
m32I_16l = (p32I_16l)GetProcAddress (hinstDLL,"Int32ToInt_16l");
m16I_32I= (p16I_32I)GetProcAddress (hinstDLL,"Int16ToInt32");
m32f_16h = (p32f_16h)GetProcAddress (hinstDLL,"Float32ToInt_16h");
m32f_16l = (p32f_16l)GetProcAddress (hinstDLL,"Float32ToInt_16l");
m16I_32f= (p16I_32f)GetProcAddress (hinstDLL,"Int16ToFloat32");

AfxMessageBox("Omron_HostLink.dll已成功載入!");
}
else
{
AfxMessageBox("沒(méi)找到Omron_HostLink.dll!");
SendMessage(WM_CLOSE);
}

注:雙引號(hào)中為動(dòng)態(tài)鏈接庫(kù)中的原有函數(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)鏈接庫(kù),(在OnDestroy事件中釋放)

if(hinstDLL)
{
int k = mComTrue(mnport);
if (k==1)
{
mClose(mnport);
}
FreeLibrary(hinstDLL);
}
wjun7610
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 127 個(gè)
工控威望: 249 點(diǎn)
下載積分: 708 分
在線時(shí)間: 35(小時(shí))
注冊(cè)時(shí)間: 2007-09-16
最后登錄: 2025-05-07
查看wjun7610的 主題 / 回貼
2樓  發(fā)表于: 2011-04-05 15:35
上面的DLL使用要點(diǎn)也適用于其他各種windows標(biāo)準(zhǔn)DLL的VC調(diào)用。
yamqq
雅馬哈,愛(ài)普生,電裝機(jī)器人。
級(jí)別: 網(wǎng)絡(luò)英雄

精華主題: 0
發(fā)帖數(shù)量: 1718 個(gè)
工控威望: 5540 點(diǎn)
下載積分: 24630 分
在線時(shí)間: 300(小時(shí))
注冊(cè)時(shí)間: 2008-05-05
最后登錄: 2025-05-24
查看yamqq的 主題 / 回貼
3樓  發(fā)表于: 2011-04-06 16:31
樓主,你out了,現(xiàn)在是基于fins的了!本來(lái)想把源碼貼出來(lái),想想還是不要斷了你的財(cái)路,只把通訊協(xié)議貼一些出來(lái)吧
SUDT ACCESSPORT LOG FILE - Monitor mode

監(jiān)控: COM8
創(chuàng)建時(shí)間: 2011-03-19, 14:35:30
計(jì)算機(jī)名: J2
系統(tǒng)版本: Microsoft Windows XP Professional Service Pack 3 (Build 2600)

#       Time        Function                        Data ( Hex )    

1       [00000000]  IRP_MJ_CREATE                   Port Opened - vb6.exe
2       [00000001]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
3       [00000001]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 1, Parity: No, DataBits: 8
4       [00000010]  IRP_MJ_CLOSE                    Port Closed
5       [00000000]  IRP_MJ_CREATE                   Port Opened - vb6.exe
6       [00000000]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
7       [00000001]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 1, Parity: No, DataBits: 8
8       [00000001]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
9       [00000002]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 2, Parity: Even, DataBits: 7
10      [00000088]  IRP_MJ_WRITE                    Length: 0017, Data: 40 30 30 52 44 30 30 30 31 30 30 30 31 35 36 2A 0D
11      [00002270]  IRP_MJ_CLOSE                    Port Closed
12      [00000000]  IRP_MJ_CREATE                   Port Opened - AccessPort.exe
13      [00000001]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
14      [00000001]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 2, Parity: Even, DataBits: 7
15      [00000002]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
16      [00000003]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 2, Parity: Even, DataBits: 7
17      [00000940]  IRP_MJ_CLOSE                    Port Closed
18      [00000000]  IRP_MJ_CREATE                   Port Opened - vb6.exe
19      [00000000]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
20      [00000001]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 1, Parity: No, DataBits: 8
21      [00000010]  IRP_MJ_CLOSE                    Port Closed
22      [00000000]  IRP_MJ_CREATE                   Port Opened - vb6.exe
23      [00000001]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
24      [00000002]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 1, Parity: No, DataBits: 8
25      [00000002]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
26      [00000003]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 2, Parity: Even, DataBits: 7
27      [00000941]  IRP_MJ_WRITE                    Length: 0017, Data: 40 30 30 52 44 30 30 30 31 30 30 30 31 35 36 2A 0D
28      [00001933]  IRP_MJ_WRITE                    Length: 0017, Data: 40 30 30 57 44 30 30 30 31 30 30 30 32 35 30 2A 0D
29      [00002507]  IRP_MJ_CLOSE                    Port Closed
30      [00000000]  IRP_MJ_CREATE                   Port Opened - AccessPort.exe
31      [00000000]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
32      [00000001]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 2, Parity: Even, DataBits: 7
33      [00000002]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
34      [00000003]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 2, Parity: Even, DataBits: 7
35      [00000804]  IRP_MJ_CLOSE                    Port Closed
36      [00000000]  IRP_MJ_CREATE                   Port Opened - vb6.exe
37      [00000001]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
38      [00000002]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 1, Parity: No, DataBits: 8
39      [00000009]  IRP_MJ_CLOSE                    Port Closed
40      [00000000]  IRP_MJ_CREATE                   Port Opened - vb6.exe
41      [00000001]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
42      [00000001]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 1, Parity: No, DataBits: 8
43      [00000002]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 9600
44      [00000002]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 2, Parity: Even, DataBits: 7
45      [00000093]  IRP_MJ_WRITE                    Length: 0017, Data: 40 30 30 52 44 30 30 30 31 30 30 30 31 35 36 2A 0D
46      [00000177]  IRP_MJ_WRITE                    Length: 0017, Data: 40 30 30 52 44 30 30 30 31 30 30 30 31 35 36 2A 0D
47      [00000190]  IRP_MJ_WRITE                    Length: 0017, Data: 40 30 30 52 44 30 30 30 31 30 30 30 31 35 36 2A 0D
48      [00000293]  IRP_MJ_CLOSE                    Port Closed

@00FA00000000001018200000000017C*//d0讀
@00FA00000000001018200010000017D*  D1讀   @00FA00000000001018200020000017E*  D2讀
@00FA00000000001018200020000027D*  D2D3 讀
@00FA00000000001018200020000027D*  D2D3 可寫

@00FA0000000000101B2000000000106*  H0 讀
@00FA0000000000101B2000000000106*  H0 可寫
@00FA0000000000101B2000100000107*  H1 讀
@00FA0000000000101B2000100000107*  H1 可寫
@00FA0000000000101B2000200000104*  H2 讀
@00FA0000000000101B2000200000104*  H2 可寫
@00FA0000000000101B2000300000105*  H3 讀
@00FA0000000000101B2000300000105*  H3 可寫
@00FA0000000000101B2000300000206*  H3H4讀
@00FA0000000000101B2000300000206*  H3H4可寫

@00FA00000000001023100010100010176* 設(shè)置W1.1位置
@00FA00000000001023000640000010175* 寫100.00
@00FA000000000010130006400000177*  100.00 讀
@00FA000000000010130006401000176*  100.01 讀
@00FA000000000010130006402000175*  100.02 讀
@00FA000000000010130006500000176*  101.00 讀
@00FA000000000010130006501000177*  101.01 讀
@00FA000000000010130006502000174*  101.02 讀


@00FA000000000010130000000000175*  0.00 讀
@00FA000000000010130000001000174*  0.01 讀
@00FA000000000010130000002000177*  0.02 讀
@00FA000000000010130000100000174*  01.00讀
@00FA000000000010130000200000177*  02.00讀
@00FA000000000010131000000000174*  W0.00 讀
@00FA000000000010131000001000175*  W0.01 讀
@00FA000000000010131000002000176*  W0.02 讀
@00FA000000000010131000002000176*   W0.02 讀
@00FA000000000010131000100000175*  W1.00讀
@00FA000000000010131000200000176*  W2.00讀

@00FA000000000010189000000000177*  T0讀
@00FA000000000010189000000000177*  T0讀寫
@00FA000000000010189000100000176*  T1讀
@00FA000000000010189000100000176*  T1讀寫
@00FA000000000010189000200000175*  T2讀
@00FA000000000010189000200000175*  T2讀寫

@00FA000000000010189000000000177*  C0讀
@00FA000000000010189000000000177*  C0讀寫
@00FA000000000010189000100000176*  C1讀
@00FA000000000010189000100000176*  C1讀寫
@00FA000000000010189000100000176*  C1讀寫并寫了上下限100-10

@00FA000000000010189000200000175*  C2讀
@00FA000000000010189000200000175*  C2讀寫
@00FA00000000001018900FA00000170*  C250讀寫
@00FA00000000001018909C400000109*  C2500讀寫
@00FA00000000001018909C40000020A*  C2500 C2501讀寫
這個(gè)人很懶,什么也沒(méi)有留下!
wyk335858575
級(jí)別: *
精華主題: * 篇
發(fā)帖數(shù)量: * 個(gè)
工控威望: * 點(diǎn)
下載積分: * 分
在線時(shí)間: (小時(shí))
注冊(cè)時(shí)間: *
最后登錄: *
查看wyk335858575的 主題 / 回貼
4樓  發(fā)表于: 2011-04-06 16:35
不錯(cuò),看看先
wyk335858575
級(jí)別: *
精華主題: * 篇
發(fā)帖數(shù)量: * 個(gè)
工控威望: * 點(diǎn)
下載積分: * 分
在線時(shí)間: (小時(shí))
注冊(cè)時(shí)間: *
最后登錄: *
查看wyk335858575的 主題 / 回貼
5樓  發(fā)表于: 2011-04-06 16:37
wjun7610
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 127 個(gè)
工控威望: 249 點(diǎn)
下載積分: 708 分
在線時(shí)間: 35(小時(shí))
注冊(cè)時(shí)間: 2007-09-16
最后登錄: 2025-05-07
查看wjun7610的 主題 / 回貼
6樓  發(fā)表于: 2011-05-24 20:29
呵呵,謝謝你的指教,不錯(cuò)Fins協(xié)議是歐姆龍新版的協(xié)議對(duì)于新版的支持更好,而且支持串口、以太網(wǎng)等,特別是他支持CP1H、CP1L、CP1E等新出型號(hào)的W區(qū)的讀寫。數(shù)據(jù)的讀取數(shù)量也更大,本人正在仿現(xiàn)在的hostlink串口動(dòng)態(tài)庫(kù)開(kāi)發(fā)相關(guān)串口庫(kù),以太網(wǎng)的等我購(gòu)買了歐姆龍以太網(wǎng)硬件測(cè)試成功再吧。
我的目的是提高一些工控人員進(jìn)行開(kāi)發(fā)上位機(jī)軟件的速度,提供完整的函數(shù)接口,比開(kāi)發(fā)人員自行使用協(xié)議開(kāi)發(fā)要快速,特別是對(duì)于新手來(lái)說(shuō)完善的使用例程更加方便了他們的使用。多語(yǔ)言的支持比目前很多只支持VB或VC的一些網(wǎng)絡(luò)流行源代碼來(lái)說(shuō)適用性更好,無(wú)論使用VC、VB、delphi、CB、PB、易語(yǔ)言、Labview等等都可以得到完美的解決方案。不使用其他控件,完全可以制作綠色版上位機(jī)軟件,至于收費(fèi)嘛,我用了時(shí)間做這個(gè)軟件自然希望得到認(rèn)可,愿意不愿意用全憑各位自己,我僅提供一種便捷的方法而已。

主站蜘蛛池模板: 色综合狠狠爱_国产精品又又酱在线午夜_野外少妇愉情中文字幕_在线观看国产精品一区二区_开心五月综合亚洲_一本久久a久久精品亚洲_成人免费在线网_国产精品人妻熟女毛片av久久 | 精品无码AV无码免费专区_成人免费A级毛片_欧洲精品一区二区三区久久_精品人伦一区二区三_97SE亚洲国产综合在线_日本一本不卡_91嫩草嫩草_鲁死你资源站亚洲AV | 性高潮久久久久久久久_国产白嫩精品久久久久久_黄片毛片一级片_久久久福利_九色97_超碰在线国产_久操网在线观看_99在线播放 | 久久精品国语对话_亚洲天天摸日日摸天天欢_日韩AV无码一区二区三区不卡_日本污漫_日本在线理论片手机观看_久久精品国产免费_国产freesexvideos中国麻豆_亚洲欧洲精品无码av | 国产福利精品视频_91素人在线_国产欧美另类久久久精品丝瓜_日韩精品一区二区av_XX性欧美肥妇精品久久久久久_老司机深夜18禁污污网站_伊人色综_99国产精品免费视频 | 91久久精品国产一区二区三区_一本大的之伊人_国产免费观看视频_一级片aaa_国产国在线线免费费_久久精品国产亚洲αv忘忧草_WWW国产精品内射熟女_2012中文字幕在线视频 | www无套内射高清免费_2018年国内精品视频_日韩欧美亚欧在线视频_国产毛毛片_国内毛片毛片_国产美女一级a在线_av免费观看大全_九九精品视频免费 | 亚洲天堂久久久久_野花社区wwW高清视频_一区二区三区四区在线观看国产日韩_久久破处_国产精品成人嫩草影院_国产老片播放_热久久美女精品天天吊色_凹凸精品视频分类视频 | 亚洲欧美国产另类_欧美与黑人午夜性猛交久久久_国产欧美日本在线_风流老熟女一区二区三区_天天干人人_91网国产高清_色婷婷一区二区三区四区成人网_中国特黄一级片 | A天堂最新版在线中文_亚洲永久免费视频_精品一区二区三人妻视频_丁香五月网久久综合_网站一级片_男人用嘴添女人私密视频软件_久久不射国产精品_国产精品久久久久99 | 爱操成人_超碰97公开_国产AV天堂亚洲国产AV麻豆_亚洲综合小视频_a级黄色免费网站_a级毛片免费观看完整_在野外被三个男人躁爽白浆视频_军歌嘹亮在线观看 | 巨爆乳寡妇中文在线观看_亚洲精品资源在线观看_午夜剧场协和影视_日韩欧美在线观看视频一区二区_国产人妖ts重口系列网站观看_精品夜夜澡人妻无码AV_四虎国产精品亚洲一区久久特色_久久精品国产影院 | 137日本免费肉体摄影_伊人365_日韩欧美一区二区在线_无码中文字幕VA精品影院_亚洲AV福利无码无一区二区_深夜影院在线观看_被黑人猛男连续高潮视频_aa国产精品 | 国产2区_中国少妇videos露脸hd_香港三日本8A三级少妇三级99_中文字幕一区久久_影音先锋ady69色资源网站_99在线观看视频免费_成人啪啪_最新超碰在线 | 色视频综合无码一区二区三区_69久久精品_91日日夜夜_av精选_亚洲熟妇中文字幕日产无码_久久国产精彩视频_欧美三级做爰全过程_偷拍久久精品视频 | 国产精品夜夜春夜夜爽久久小_午夜影晥_xxxxwwww免费视频_在线成人自拍视频_亚洲一区二区三区精品在线观看_久久国产36精品色熟妇_美女裸身裸乳无遮挡网站_在线看片免费人成视频播 | 日本视频免费观看_国产av一区二区三区天堂综合网_精品人妻一区二区三区浪潮在线_中国熟妇人妻xxxxxhd_亚洲黄色影片_亚洲精品av无码重口另类_av福利一区_av中文字幕无码免费看 | 蜜臀影院_亚洲一区二区三区91_欧洲AV色爱无码综合网_精品日产卡一卡二卡麻豆_亚洲AV最新在线网址尤物_免费看的国产视频网站_一区二区网站_特级黄色一级毛片 | 国产亲子私乱av_欧洲人激情毛片无码视频_欧美在线一区二区三区_天天拍天天草_天天干天天操好逼_好爽好黄的视频_狠狠综合久久av一区二区老牛_91视频论坛 | 91区在线_亚洲综色_一级做a免费视频观看网站_日韩av第一页在线播放_又黄又网站国产_中文字幕第一页久久_一区二区三区四区在线观看视频_一级中文字幕 | 宅男噜噜99国产精品麻豆精品_午夜时刻免费实验区观看_思思久久96热在精品国产_青青草成人网_在线免费av网_国产精品视频97_三级激情视频_五月丁香国产在线视频 | 欧美三级黄色大片_亚洲韩国一区二区_亚洲精品岛国片在线观看_国外一级黄色片_91看片淫黄大片91桃色_1314酒色网_国产夫妻自拍小视频_久久精品国产亚洲aa级女大片 | 亚洲丰满熟女一区二区蜜桃_国产馆一区二区_免费观看992tv_亚洲国产视频一区二区三区_日本中文字幕在线一区_又爽又黄又无遮挡的激情视频_jk制服国产在线视频_岛国成人免费 | av黄色免费看_aⅴ中文字幕不卡在线无码_我不卡一区二区_欧美日韩一区二区三区高清_最近免费中文字幕中文高清6_日本色老头_99久久国语露脸精品对白_最美女人体内射精一区二区 | 午夜一区二区三区视频_成年人一级视频_亚洲区自拍区_日韩欧美一二区_青娱乐在线视频播放_国产成人综合亚洲欧美94在线_亚洲综合无码一区二区三区_亚洲精品亚洲人成人网在线播放 | 亚洲永久精品一区_亚洲精品永久免费_一本大道伊人久久综合_国产精品99久久99久久久动漫_亚洲七久久之综合七久久_超碰网站在线观看_日日日视频_成人做受黄大片 | 日韩一级影视_全国最大成人免费视频_亚洲精品高清AV在线播放_久久精品国产亚洲av四虎_婷婷五月网丁香五月_亚洲在线成人_在线视频欧美一区_无码免费h成年动漫在线观看 | 色播基地_久久精品女人天堂av_日韩精品卡1卡2三卡四卡乱码_亚洲国产精品无码AAA片_国产精品久久久久毛片软件_欧美男男大粗吊1069_免费看av大片_一个人看的www免费高清在线视频 | 最爱高潮全过程免费的视频_日韩免费无码不卡夜夜爽_国产乱子伦一区二区三区国色天香_日日操天天操_中文久久久久久_91欧美激情一区二区三区成人_男男做喘息gv奶白小受动图_国产三及片网站 狠狠搞综合_国产精品欧美亚洲制服_久久久性视频_国产调教性奴在线观看w_狠狠色婷婷久久一区二区三区麻豆_www.青青草_超碰在线资源站_草在线免费观看 | 亚洲中文无码成人片在线观看_在线第一页_啊片网站在线观看_香蕉久久影院精品欧美日韩_国产精品中文字幕在线播放_日韩免费在线视频_国产资源久久_成人a片产无码免费视频在线观看 | 99无码熟妇丰满人妻啪啪_色综合天天综合网无码在_啪啪免费网_成人无码WWW免费视频苹果版_免费一级特黄特色的毛片_天堂av网2019_国产精品久久久久久久99_一区二区三区免费在线播放 | 久久久久久99精品_成年美女黄的视频网站_国产一区二区三区四区区_亚洲欧美日韩在线播放_国产三区四区视频_四虎永久在线精品免费看_wwwxxx日韩_一级黄色毛片视频 | 看真人一级毛片_亚洲欧美xxxx_成人亚洲a片v一区二区三区网址_欧美白人最猛性xxxxx_免费日本一区_av人人爽_av永久在线_曰韩精品 | 亚洲午夜视频在线观看_欧美日本免费一区二区三区_99久久99这里只有免费费精品_色婷婷美国农夫综合激情亚洲_仁科百华av解禁在线播放_精品欧美一区二区精品久久久_99久久精品视频免费_www.youjizz.com中国 | 精品国产乱码一区_亚洲AV中文无码乱人伦在线视色_天堂爱爱_久操热久操_国产农村妇女野外牲交视频_亚洲一区午夜_精品综合_国产资源免费在线观看 | xxxx18—20岁老师_亚洲射情_久久青青草视频_真人作爱视频免费_jk白丝极品被cao到流水呻吟_97成人在线视频_国产人妻精品一区二区三区_天堂在线WWW天堂在线最新版 | 啪啪影视_一日本道A高清免费播放_亚洲三级久久久_一级毛片毛片_99久久久久久国产精品_欧美在线视频日韩_亚洲国产一区二区三区波多野结衣_精品三区 | 99涩涩_国产愉拍精品手机_日本少妇喷浆_欧美性猛少妇xxxxx_hd女人奶水授乳milk_最新在线黄色网址_久久久久久蜜桃_国产69精品久久777的优势 | 国产日产欧美a一级在线_久久成人视屏_强行挺进朋友漂亮人妻身体_午夜影音_91精品国产高清久久久久久久久_国产高清久久_亚洲精品无码久久久_国产成人免费看片 | 中文字幕在线观看三区_国产三级农村妇女在线播放_国产91在线看_玩弄chinese丰满人妻videos_国产一区二区三区视频免费_久艹久久_成人网子_91女女互慰吃奶在线 | 国产精品国产三级国产普通话a_成年女人毛片免费视频_国产精华xxx_欧美精品网站_视频在线免费_少妇性按摩无码中文a片_日本精品一二三区_中文字幕免费一区 |