📄 driver.pas
字号:
{ *************************************************************************** }
{ Module Name: DRIVER.PAS }
{ Purpose: the declaration of functions, data structures, status codes, }
{ constants, and messages }
{ Version: 3.01 }
{ Date: 04/16/1998 }
{ Copyright (c) 1996 Advantech Corp. Ltd. }
{ All rights reserved. }
{ *************************************************************************** }
unit Driver;
interface
uses windows, event, paras;
const
{ ************************************************************************ }
{ Constant Definition }
{ ************************************************************************ }
MaxDev = 255; { max. # of devices }
MaxDevNameLen = 64; { max lenght of device name }
MaxGroup = 6;
MaxPort = 3;
MaxErrMsgLen = 80;
MAX_DEVICE_NAME_LEN= 64;
MAX_DRIVER_NAME_LEN= 16;
MAX_DAUGHTER_NUM = 16;
MAX_DIO_PORT = 48;
MAX_AO_RANGE = 16;
REMOTE = 1;
REMOTE1 = REMOTE+1; { For PCL-818L JP7 = 5V }
REMOTE2 = REMOTE1+1; { For PCL-818L JP7 =10V }
NONPROG = 0;
PROG = REMOTE;
INTERNAL = 0;
EXTERNAL = 1;
SINGLEENDED = 0;
DIFFERENTIAL = 1;
BIPOLAR = 0;
UNIPOLAR = 1;
PORTA = 0;
PORTB = 1;
PORTC = 2;
INPORT = 0;
OUTPORT = 1;
{ ************************************************************************ }
{ Define board vendor ID }
{ ************************************************************************ }
AAC = $0000; { Advantech }
MB = $1000; { Keithley/MetraByte }
BB = $2000; { Burr Brown }
GRAYHILL = $3000; { Grayhill }
KGS = $4000;
{ ************************************************************************ }
{ Define DAS I/O CardType ID. }
{ ************************************************************************ }
NONE = $00; { not available }
{ Advantech CardType ID }
BD_DEMO = AAC Or $00; { demo board }
BD_PCL711 = AAC Or $01; { PCL-711 board }
BD_PCL812 = AAC Or $02; { PCL-812 board }
BD_PCL812PG = AAC Or $03; { PCL-812PG board }
BD_PCL718 = AAC Or $04; { PCL-718 board }
BD_PCL818 = AAC Or $05; { PCL-818 board }
BD_PCL814 = AAC Or $06; { PCL-814 board }
BD_PCL720 = AAC Or $07; { PCL-722 board }
BD_PCL722 = AAC Or $08; { PCL-720 board }
BD_PCL724 = AAC Or $09; { PCL-724 board }
BD_AD4011 = AAC Or $0a; { ADAM 4011 Module }
BD_AD4012 = AAC Or $0b; { ADAM 4012 Module }
BD_AD4013 = AAC Or $0c; { ADAM 4013 Module }
BD_AD4021 = AAC Or $0d; { ADAM 4021 Module }
BD_AD4050 = AAC Or $0e; { ADAM 4050 Module }
BD_AD4060 = AAC Or $0f; { ADAM 4060 Module }
BD_PCL711B = AAC Or $10; { PCL-711B }
BD_PCL818H = AAC Or $11; { PCL-818H }
BD_PCL814B = AAC Or $12; { PCL-814B }
BD_PCL816 = AAC Or $13; { PCL-816 }
BD_814_DIO_1 = AAC Or $14; { PCL-816/814B 8255 DIO module }
BD_814_DA_1 = AAC Or $15; { PCL-816/814B 12 bit D/A module }
BD_816_DA_1 = AAC Or $16; { PCL-816/814B 16 bit D/A module }
BD_PCL830 = AAC Or $17; { PCL-830 9513A Counter Card }
BD_PCL726 = AAC Or $18; { PCL-726 D/A card }
BD_PCL727 = AAC Or $19; { PCL-727 D/A card }
BD_PCL728 = AAC Or $1a; { PCL-728 D/A card }
BD_AD4052 = AAC Or $1b; { ADAM 4052 Module }
BD_AD4014D = AAC Or $1c; { ADAM 4014D Module }
BD_AD4017 = AAC Or $1d; { ADAM 4017 Module }
BD_AD4080D = AAC Or $1e; { ADAM 4080D Module }
BD_PCL721 = AAC Or $1f; { PCL-721 32-bit Digital in }
BD_PCL723 = AAC Or $20; { PCL-723 24-bit Digital in }
BD_PCL818L = AAC Or $21; { PCL-818L }
BD_PCL818HG = AAC Or $22; { PCL-818HG }
BD_PCL1800 = AAC Or $23; { PCL-1800 }
BD_PAD71A = AAC Or $24; { PCIA-71A }
BD_PAD71B = AAC Or $25; { PCIA-71B }
BD_PCR420 = AAC Or $26; { PCR-420 }
BD_PCL731 = AAC Or $27; { PCL-731 48-bit Digital I/O card }
BD_PCL730 = AAC Or $28; { PCL-730 board }
BD_PCL813 = AAC Or $29; { PCL-813 32-channel A/D card }
BD_PCL813B = AAC Or $2a; { PCL-813B 32-channel A/D card }
BD_PCL818HD = AAC Or $2b; { PCL-818HD }
BD_PCL725 = AAC Or $2c; { PCL-725 digital I/O card }
BD_PCL732 = AAC Or $2d; { PCL-732 high speed DIO card }
BD_AD4018 = AAC Or $2e; { ADAM 4018 Module }
BD_814_TC_1 = AAC Or $2f; { PCL-816/814B 16 bit TC module }
BD_PAD71C = AAC Or $30; { PCIA-71C }
BD_AD4024 = AAC Or $31; { ADAM 4024 }
BD_AD5017 = AAC Or $32; { ADAM 5017 }
BD_AD5018 = AAC Or $33; { ADAM 5018 }
BD_AD5024 = AAC Or $34; { ADAM 5024 }
BD_AD5051 = AAC Or $35; { ADAM 5051 }
BD_AD5060 = AAC Or $36; { ADAM 5060 }
BD_PCM3718 = AAC Or $37; { PCM-3718 }
BD_PCM3724 = AAC Or $38; { PCM-3724 }
BD_MIC2718 = AAC Or $39; { MIC-2718 }
BD_MIC2728 = AAC Or $3a; { MIC-2728 }
BD_MIC2730 = AAC Or $3b; { MIC-2730 }
BD_MIC2732 = AAC Or $3c; { MIC-2732 }
BD_MIC2750 = AAC Or $3d; { MIC-2750 }
BD_MIC2752 = AAC Or $3e; { MIC-2752 }
BD_PCL733 = AAC Or $3f; { PCL-733 }
BD_PCL734 = AAC Or $40; { PCL-734 }
BD_PCL735 = AAC Or $41; { PCL-735 }
BD_AD4018M = AAC Or $42; { ADAM 4018M Module }
BD_AD4080 = AAC Or $43; { ADAM 4080 Module }
BD_PCL833 = AAC Or $44; { PCL-833 }
BD_PCA6157 = AAC Or $45; { PCA-6157 }
BD_PCA6149 = AAC Or $46; { PCA-6149 }
BD_PCA6147 = AAC Or $47; { PCA-6147 }
BD_PCA6137 = AAC Or $48; { PCA-6137 }
BD_PCA6145 = AAC Or $49; { PCA-6145 }
BD_PCA6144 = AAC Or $4a; { PCA-6144 }
BD_PCA6143 = AAC Or $4b; { PCA-6143 }
BD_PCA6134 = AAC Or $4c; { PCA-6134 }
BD_AD5056 = AAC Or $4d; { ADAM 5056 }
BD_DN5017 = AAC Or $4e; { ADAM 5017 }
BD_DN5018 = AAC Or $4f; { ADAM 5018 }
BD_DN5024 = AAC Or $50; { ADAM 5024 }
BD_DN5051 = AAC Or $51; { ADAM 5051 }
BD_DN5056 = AAC Or $52; { ADAM 5056 }
BD_DN5060 = AAC Or $53; { ADAM 5060 }
BD_PCL836 = AAC Or $54; { PCL-836 }
BD_PCL841 = AAC Or $55; { PCL-841 }
BD_DN5050 = AAC Or $56; { ADAM 5050 }
BD_DN5052 = AAC Or $57; { ADAM 5052 }
BD_AD5050 = AAC Or $58; { ADAM 5050 for RS-485 }
BD_AD5052 = AAC Or $59; { ADAM 5052 for RS-485 }
BD_PCM3730 = AAC Or $5a; { PCM-3730 }
BD_AD4011D = AAC Or $5b; { ADAM 4011D }
BD_AD4016 = AAC Or $5c; { ADAM 4016 }
BD_AD4053 = AAC Or $5d; { ADAM 4053 }
BD_PCI1750 = AAC Or $5e; { PCI-1750 }
BD_PCI1751 = AAC Or $5f; { PCI-1751 }
BD_PCI1710 = AAC Or $60; { PCI-1710 }
BD_PCI1712 = AAC Or $61; { PCI-1712 }
BD_AD5068 = AAC Or $5e; { ADAM 5068 }
BD_AD5013 = AAC Or $5f; { ADAM 5013 }
BD_AD5017H = AAC Or $60; { ADAM 5017H(unavailable) }
BD_AD5080 = AAC Or $61; { ADAM 5080(unavailable) }
BD_MIC2760 = AAC Or $66; { MIC-2760 }
BD_PCI1710HG = AAC Or $67; { PCI-1710HG }
BD_PCI1713 = AAC Or $68; { PCI-1713 }
BD_PCI1753 = AAC Or $69; { PCI-1753 }
BD_PCI1760 = AAC Or $6a; { PCI-1760 }
BD_PCI1720 = AAC Or $6b; { PCI-1720 }
BD_PCL752 = AAC Or $6c; { PCL-752 }
BD_PCM3718H = AAC Or $6d; { PCM-3718H }
BD_PCM3718HG = AAC Or $6e; { PCL-3718HG }
BD_DN5068 = AAC Or $6f; { ADAM 5068 for Device Net }
BD_DN5013 = AAC Or $70; { ADAM 5013 for Device Net }
BD_DN5017H = AAC Or $71; { ADAM 5017H for Device Net }
BD_DN5080 = AAC Or $72; { ADAM 5080(unavailable) for Device Net }
BD_PCI1711 = AAC Or $73; { PCI-1711 }
{------------------- V2.0b -------------------}
BD_PCI1711L = AAC Or $75; { PCI-1711L }
{------------------- V2.0b -------------------}
BD_PCI1716 = AAC Or $74; { PCI-1716 }
BD_PCI1731 = AAC Or $75; { PCI-1731 }
BD_AD5051D = AAC Or $76; { ADAM 5051D }
BD_AD5056D = AAC Or $77; { ADAM 5056D }
BD_DN5051D = AAC Or $78; { ADAM 5051D for Device Net }
BD_DN5056D = AAC Or $79; { ADAM 5056D for Device Net }
BD_SIMULATE = AAC Or $7a; { Simulate IO }
BD_PCI1754 = AAC Or $7b; { PCI-1754 }
BD_PCI1752 = AAC Or $7c; { PCI-1752 }
BD_PCI1756 = AAC Or $7d; { PCI-1756 }
BD_PCL839 = AAC Or $7e; { PCL-839 }
BD_PCM3725 = AAC Or $7f; { PCM-3725 }
BD_PCI1762 = AAC Or $80; { PCI-1762 }
BD_PCI1721 = AAC Or $81; { PCI-1721 }
BD_PCI1761 = AAC Or $82; { PCI-1761 }
BD_PCI1723 = AAC Or $83; { PCI-1723 }
BD_AD4019 = AAC Or $84; { ADAM 4019 }
BD_AD5055 = AAC Or $85; { ADAM 5055 }
BD_AD4015 = AAC Or $86; { ADAM 4015 }
BD_PCI1730 = AAC Or $87; { PCI-1730 }
BD_PCI1733 = AAC Or $88; { PCI-1733 }
BD_PCI1734 = AAC Or $89; { PCI-1734 }
BD_MIC2750A = AAC Or $8A; { MIC-2750A }
BD_MIC2718A = AAC Or $8B; { MIC-2718A }
BD_AD4017P = AAC Or $8c; { ADAM 4017P Module }
BD_AD4051 = AAC Or $8d; { ADAM 4051 Module }
BD_AD4055 = AAC Or $8e; { ADAM 4055 Module }
BD_AD4018P = AAC Or $8f; { ADAM 4018P Module }
BD_PCI1710L = AAC Or $90; { PCI-1710L }
BD_PCI1710HGL= AAC Or $91; { PCI-1710HGL }
BD_AD4068 = AAC Or $92; { ADAM 4068 }
BD_PCM3712 = AAC Or $93; { PCM-3712 }
BD_PCM3723 = AAC Or $94; { PCM-3723 }
{ --------------------------- V2.0b ----------------------------------- }
BD_PCI1780 = AAC Or $95; { PCI-1780 }
BD_CPCI3756 = AAC Or $96; { CPCI-3756 }
{ --------------------------- V2.0b ----------------------------------- }
{ --------------------------- V2.0c ----------------------------------- }
BD_PCI1755 = AAC Or $97; { PCI-1755 }
BD_PCI1714 = AAC Or $98; { PCI-1714 }
{ --------------------------- V2.0c ----------------------------------- }
{ --------------------------- V2.1 ----------------------------------- }
BD_PCI1757 = AAC Or $99; { PCI-1757 }
{ --------------------------- V2.1 ----------------------------------- }
{ --------------------------- V2.1a ----------------------------------- }
BD_MIC1716 = AAC Or $9A; { MIC-1716 }
BD_MIC1761 = AAC Or $9B; { MIC-1761 }
BD_MIC1753 = AAC Or $9C; { MIC-1753 }
BD_MIC1780 = AAC Or $9D; { MIC-1780 }
{ --------------------------- V2.1a ----------------------------------- }
BD_PCI1724 = AAC Or $9E; { PCI-1724 }
BD_AD4015T = AAC Or $9F; { ADAM 4015T Module }
BD_UNO2052 = AAC Or $A0; { UNO 2052 Module }
BD_PCI1680 = AAC Or $A1; { PCI-1680 }
{ --------------------------- V2.2 ----------------------------------- }
BD_PCL839P = AAC Or $A2; { PCL-839+ }
BD_PCI1758UDI = AAC Or $A3; { PCI-1758UDI }
BD_PCI1758UDO = AAC Or $A4; { PCI-1758UDO }
BD_PCI1747 = AAC Or $A5; { PCI-1747 }
BD_PCM3780 = AAC Or $A6; { PCM-3780 }
BD_MIC3747 = AAC Or $A7; { MIC-3747 }
BD_PCI1758UDIO = AAC Or $A8; { PCI-1758UDIO }
BD_PCI1712L = AAC Or $A9; { PCI-1712L }
BD_AD4056S = AAC Or $AA; { ADAM 4056S Module }
BD_AD4056SO = AAC Or $AB; { ADAM 4056SO Module }
BD_PCI1763UP = AAC Or $AC; { PCI-1763UP }
BD_PCI1736UP = AAC Or $AD; { PCI-1736UP }
BD_PCI1714UL = AAC Or $AE; { PCI-1714UL }
BD_MIC3714 = AAC Or $AF; { MIC-3714 }
BD_AD5069 = AAC Or $B0; { ADAM 5069 Module }
BD_PCM3718HO = AAC Or $B1; { PCM-3718HO }
BD_PCI1741U = AAC Or $B3; { PCI-1741U }
BD_MIC3723 = AAC Or $B4; { MIC-3723 }
BD_PCI1718HDU = AAC Or $B5; { PCI-1718HDU }
BD_MIC3758DIO = AAC Or $B6; { MIC-3758DIO }
BD_PCI1727U = AAC Or $B7; { PCI-1727U }
BD_PCI1718HGU = AAC Or $B8; { PCI-1718HGU }
{ --------------------------- V2.2 ----------------------------------- }
BD_PCI1715U = AAC Or $B9; { PCI-1715U }
BD_PCI1716L = AAC Or $BA; { PCI-1716L }
BD_PCI1735U = AAC Or $BB; { PCI-1735U }
BD_USB4711 = AAC Or $BC; { USB-4711 }
BD_PCI1737U = AAC Or $BD; { PCI-1737U }
BD_PCI1739U = AAC Or $BE; { PCI-1739U }
BD_AD4069 = AAC Or $BF; { ADAM 4069 Module }
BD_PCI1742U = AAC Or $C0; { PCI-1742U }
BD_AD4117 = AAC Or $C1; { ADAM 4117 }
BD_AD4118 = AAC Or $C2; { ADAM 4118 }
BD_AD4150 = AAC Or $C3; { ADAM 4150 }
BD_AD4168 = AAC Or $C4; { ADAM 4168 }
BD_AD4022T = AAC Or $C5; { ADAM 4022T }
BD_USB4718 = AAC Or $C6; { USB-4718 }
BD_MIC3755 = AAC Or $C7; { MIC-3755 }
BD_USB4761 = AAC Or $C8; { USB-4761 }
BD_AD4019P = AAC Or $C9; { ADAM 4019 Plus }
BD_AD5056S = AAC Or $CA; { ADAM 5056S }
BD_AD5056SO = AAC Or $CB; { ADAM 5056SO }
BD_PCI1784 = AAC Or $CC; { PCI- 1784 }
BD_USB4716 = AAC Or $CD; { USB-4716 }
BD_PCI1752U = AAC Or $CE; { PCI-1752U }
BD_PCI1752USO = AAC Or $CF; { PCI-1752USO }
BD_USB4751 = AAC Or $D0; { USB4751 }
BD_USB4751L = AAC Or $D1; { USB4751L }
BD_USB4750 = AAC Or $D2; { USB4750 }
BD_MIC3713 = AAC Or $D3; { MIC-3713 }
BD_USB4813 = AAC Or $D4; { USB4813 }
BD_USB4823 = AAC Or $D5; { USB4823 }
BD_USB4878 = AAC Or $D6; { USB4878 }
BD_USB4879 = AAC Or $D7; { USB4879 }
BD_USB4711A = AAC Or $D8; {USB4711A}
BD_MICRODAC = GRAYHILL Or $1; { Grayhill MicroDAC Board ID }
BD_GIA10 = KGS Or $01; { KGS GIA-10 module Board ID }
{ ************************************************************************ }
{ Define Expansion Board ID. }
{ ************************************************************************ }
AAC_EXP = AAC Or $00000100; { Advantech expansion bits }
{ define Advantech expansion board ID.
BD_PCLD780 = $00000000; { PCLD-780 }
BD_PCLD789 = AAC_EXP Or $0; { PCLD-789 }
BD_PCLD779 = AAC_EXP Or $1; { PCLD-779 }
BD_PCLD787 = AAC_EXP Or $2; { PCLD-787 }
BD_PCLD8115 = AAC_EXP Or $3; { PCLD-8115 }
BD_PCLD770 = AAC_EXP Or $4; { PCLD-770 }
BD_PCLD788 = AAC_EXP Or $5; { PCLD-788 }
BD_PCLD8710 = AAC_EXP Or $6; { PCLD-8710 }
{ ************************************************************************ }
{ Define subsection identifier }
{ ************************************************************************ }
DAS_AISECTION = $1; { A/D subsection }
DAS_AOSECTION = $2; { D/A sbusection }
DAS_DISECTION = $3; { Digital input subsection }
DAS_DOSECTION = $4; { Digital output sbusection }
DAS_TEMPSECTION = $5; { thermocouple section }
DAS_ECSECTION = $6; { Event count subsection }
DAS_FMSECTION = $7; { frequency measurement section }
DAS_POSECTION = $8; { pulse output section }
DAS_ALSECTION = $9; { alarm section }
MT_AISECTION = $0a; { monitoring A/D subsection }
MT_DISECTION = $0b; { monitoring D/I subsection }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -