📄 paras.pas
字号:
{ *************************************************************************** }
{ Module Name: Paras.PAS }
{ Purpose: the declaration of functions, data structures, status codes, }
{ constants, and messages }
{ Version: 3.01 }
{ Date: 01/08/2003 }
{ Copyright (c) 1996-2003 Advantech Corp. Ltd. }
{ All rights reserved. }
{ *************************************************************************** }
{ Description: Set/Get parameter definition headfile. IDs with CFG prefix can }
{ be used by Drv_DeviceSetProperty and Drv_DeviceGetProperty }
{ functions. Others are constant variable for user. }
{ =========================================================================== }
{ CFG Prefix Group }
{ =========================================================================== }
{ Notes: }
{ 1. From 0x0000 to 0x0FFF : General definition
{ 2. From 0x1000 to 0x1FFF : AI related }
{ 3. From 0x2000 to 0x2FFF : AO related }
{ 4. From 0x3000 to 0x3FFF : DI related }
{ 5. From 0x4000 to 0x4FFF : DO related }
{ 6. From 0x5000 to 0x5FFF : Counter/Timer related }
unit PARAS;
interface
const
{ ************************************************************************ }
{ Constant Definition }
{ ************************************************************************ }
CFG_DeviceNumber = $0000;
CFG_BoardID = $0001;
CFG_SwitchID = $0002;
CFG_BaseAddress = $0003;
CFG_Interrupt = $0004;
CFG_BusNumber = $0005;
CFG_SlotNumber = $0006;
CFG_OnSystem = $0007;
{ ================================== }
{ 0x1000 ~ 0x1fff for AI Group }
{ ---------------------------------- }
CFG_AiChanConfig = $1000;
CFG_AiPacerRate = $1001;
CFG_AiFifoSize = $1002;
CFG_BURNTEST = $1003;
CFG_CURRENT_4TO20MA_EXCEPTIONSETTING = $1004;
{ ---------------------------------- }
{ 0x2000 ~ 0x2fff for AO Group }
{ ---------------------------------- }
{ sub group 0x2000 ~ 0x27ff for AO General ID }
AO_RANGE_SETTING = $2000;
CFG_AoPacerRate = $2001;
CFG_AoFifoSize = $2002;
CFG_AoRangeList = $2003; { Get all supporting AO range list for the specified card }
CFG_AoChanRange = $2004; { Get/Set AO range for the specified channel }
AO_RANGE_SETTINGL_NAME = 'AO_RANGE_SETTING';
{ sub group 0x2800 ~ 0x2fff for AO other ID }
{ ---------------------------------- }
{ 0x3000 ~ 0x3fff for DI Group }
{ ---------------------------------- }
{ sub group 0x3000 ~ 0x37ff for DI General ID }
CFG_DioDirection = $3000; { each bit for one Auxiliary DIO channel for PCI-1755.}
CFG_DioFdioDirection = $3001; { 32DI(0)/32DO(1)/ 16 DIO(2) / 8DIO(3) for PCI-1755}
CFG_DioTerminator = $3002; { Bit 0: DI terminator (DI_TERM),ON (0) or OFF(1) for PCI-1755 { Bit 1: DO terminator (DI_TERM) ON (0) or OFF(1) for PCI-1755}
CFG_DiOperationMode = $3003; { normal mode (0), 8255 handshaking(1), Burst handshaking(2) for PCI-1755}
CFG_DioPortDirection = $3004; {for Port direction setting 0: IN, 1: OUT, 2: 8255 Mode 0 (Low IN, High OUT),3:8255 Mode 0 (Low OUT, High IN) }
{ Get Port type. }
{ }
{ Data type: BYTE Array. }
{ Each byte indicates a port type, }
{ from port 0 to port n. }
{ Find the used value from Variable Group. }
CFG_DioPortType = $3005;
{ Get/Set DIO Channel Direction ( IN / OUT ). }
{ }
{ Data type: DWORD Array. }
{ Each element indicates a port setting. }
{ See the following for all available setting. }
{ Find the used value from Variable Group. }
CFG_DioChannelDirection = $3006;
{Get/Set DIO Channel Direction ( IN / OUT ). on Power-On}
CFG_DioPresetChanDir = $3007;
{ sub group 0x3800 ~ 0x3fff for DI General ID }
CFG_DiStartMethod = $3800; { Software(1), External trigger(2), Pattern match(3)}
CFG_DiStopMethod = $3801; { Software(1), External trigger(2), Pattern match(3)}
CFG_DiPacerSource = $3802; { 30MHz(1), 15Mhz(2), 10MHz(3), Counter 0 OUT (4), External (5).}
CFG_DiControlSignals = $3803; { Bit 0: External DI start signal control (STRRF), 0 rising edge, 1 falling edge. }
{ Bit 1: External DI stop signal control (STPRF), 0 rising edge, 1 falling edge.}
{ Bit 2: DI request signal control (REQRF), 0 rising edge, 1 falling edge.}
{ Bit 3: DI acknowledge signal control (ACKRF), 0 rising edge, 1 falling edge.}
{ Bit 4: DI sampling clock signal control (CLKRF), 0 rising edge, 1 falling edge}
CFG_DiPatternMatchValue = $3804;
{-----------------------2.2------------------------}
CFG_DiTriggerEnableRisingPort0 = $3805;
CFG_DiTriggerEnableRisingPort1 = $3806;
CFG_DiTriggerEnableRisingPort2 = $3807;
CFG_DiTriggerEnableRisingPort3 = $3808;
CFG_DiTriggerEnableRisingPort4 = $3809;
CFG_DiTriggerEnableRisingPort5 = $380a;
CFG_DiTriggerEnableRisingPort6 = $380b;
CFG_DiTriggerEnableRisingPort7 = $380c;
CFG_DiTriggerEnableRisingPort8 = $380d;
CFG_DiTriggerEnableRisingPort9 = $380e;
CFG_DiTriggerEnableRisingPort10 = $380f;
CFG_DiTriggerEnableRisingPort11 = $3810;
CFG_DiTriggerEnableRisingPort12 = $3811;
CFG_DiTriggerEnableRisingPort13 = $3812;
CFG_DiTriggerEnableRisingPort14 = $3813;
CFG_DiTriggerEnableRisingPort15 = $3814;
CFG_DiTriggerEnableRisingForAll = $3815;
CFG_DiTriggerEnableFallingPort0 = $3816;
CFG_DiTriggerEnableFallingPort1 = $3817;
CFG_DiTriggerEnableFallingPort2 = $3818;
CFG_DiTriggerEnableFallingPort3 = $3819;
CFG_DiTriggerEnableFallingPort4 = $381a;
CFG_DiTriggerEnableFallingPort5 = $381b;
CFG_DiTriggerEnableFallingPort6 = $381c;
CFG_DiTriggerEnableFallingPort7 = $381d;
CFG_DiTriggerEnableFallingPort8 = $381e;
CFG_DiTriggerEnableFallingPort9 = $381f;
CFG_DiTriggerEnableFallingPort10 = $3820;
CFG_DiTriggerEnableFallingPort11 = $3821;
CFG_DiTriggerEnableFallingPort12 = $3822;
CFG_DiTriggerEnableFallingPort13 = $3823;
CFG_DiTriggerEnableFallingPort14 = $3824;
CFG_DiTriggerEnableFallingPort15 = $3825;
CFG_DiTriggerEnableFallingForAll = $3826;
CFG_DiFilterEnablePort0 = $3827;
CFG_DiFilterEnablePort1 = $3828;
CFG_DiFilterEnablePort2 = $3829;
CFG_DiFilterEnablePort3 = $382a;
CFG_DiFilterEnablePort4 = $382b;
CFG_DiFilterEnablePort5 = $382c;
CFG_DiFilterEnablePort6 = $382d;
CFG_DiFilterEnablePort7 = $382e;
CFG_DiFilterEnablePort8 = $382f;
CFG_DiFilterEnablePort9 = $3830;
CFG_DiFilterEnablePort10 = $3831;
CFG_DiFilterEnablePort11 = $3832;
CFG_DiFilterEnablePort12 = $3833;
CFG_DiFilterEnablePort13 = $3834;
CFG_DiFilterEnablePort14 = $3835;
CFG_DiFilterEnablePort15 = $3836;
CFG_DiFilterEnableForAll = $3837;
CFG_DiFilterIntervalCounter = $3838; {DI filter counter}
CFG_IDiTriggerEnableRisingChannel0 = $3A00;
CFG_IDiTriggerEnableRisingChannel1 = $3A01;
CFG_IDiTriggerEnableFallingChannel0 = $3A80;
CFG_IDiTriggerEnableFallingChannel1 = $3A81;
CFG_DiTriggerEnableRisingChannel0 = $3C00;
CFG_DiTriggerEnableRisingChannel1 = $3C01;
CFG_DiTriggerEnableFallingChannel0 = $3C80;
CFG_DiTriggerEnableFallingChannel1 = $3C81;
{ Get DI data width. The optimized data width when Reading. }
{ }
{ Data type: LONG. }
{ Find the used value from Variable Group. }
CFG_DiDataWidth = $3C82;
{ Get DI Channel Count. Max available DI channel count on the card. }
{ }
{ Data type: LONG. }
CFG_DiChannelCount = $3C83;
{ Get DI Port Count. Max available DI Port count on the card. }
{ }
{ Data type: LONG. }
CFG_DiPortCount = $3C84;
{ Get DI Interrupt supported channel. }
{ }
{ Data type: BYTE Array. }
{ One bit for one channel. If a bit is 1, }
{ the channel can issue interrupt. }
CFG_DiInterruptSupportedChannel = $3C85;
{ Get / Set DI channels which issue interrupt on RISING Edge. }
{ Note: whether this property can be set or not depends on device feature.}
{ }
{ Data type: BYTE Array. }
{ One bit for one channel. If a bit is 1, }
{ the channel will issue interrupt on rising edge. }
CFG_DiInterruptTriggerOnRisingEdge = $3C86;
{ Get / Set DI channels which issue interrupt on FALLING Edge. }
{ Note: whether this property can be set or not depends on device feature.}
{ }
{ Data type: BYTE Array. }
{ One bit for one channel. If a bit is 1, }
{ the channel will issue interrupt on falling edge. }
CFG_DiInterruptTriggerOnFallingEdge = $3C87;
{ Get DI channels which support Status Change interrupt. }
{ }
{ Data type: BYTE Array. }
{ One bit for one channel. If a bit is 1, }
{ the channel can issue interrupt when status changed. }
CFG_DiStatusChangeSupportedChannel = $3C88;
{ Get/Set DI channels which "Status Changed interrupt" function is enabled.}
{ }
{ Data type: BYTE Array. }
{ One bit for one channel. If a bit is 1, }
{ the channel will issue interrupt when status changed. }
CFG_DiStatusChangeEnabledChannel = $3C89;
{ Get DI channels which support pattern match interrupt. }
{ }
{ Data type: BYTE Array. }
{ One bit for one channel. If a bit is 1, }
{ the channel can issue interrupt when pattern matched. }
CFG_DiPatternMatchSupportedChannel = $3C8A;
{ Get/Set DI channels which "pattern match interrupt" function is enabled.}
{ }
{ Data type: BYTE Array. }
{ One bit for one channel. If a bit is 1, }
{ the channel will issue interrupt when pattern matched. }
CFG_DiPatternMatchEnabledChannel = $3C8B;
{ Get DI Interrupt supported trigger mode. }
{ Data type: LONG. }
CFG_DiInterruptSupportedTriggerMode = $3C8C;
{ Get DI Pattern Match capability: }
{ Wether the mask of this port can be set individually. }
{ Data Type: }
{ BYTE Array. }
{ One byte for a port. If the byte is 1, then the mask }
{ of this port can be set individually, otherwise it }
{ can't be done. }
{ Note: if this property is not supported, it means that }
{ the mask can be set individually too. }
CFG_DiPatternMatchMaskSupportedPort = $3C8D;
{ Get DI Status Change capability: }
{ Wether the mask of this port can be set individually. }
{ Data Type: }
{ BYTE Array. }
{ One byte for a port. If the byte is 1, then the mask }
{ of this port can be set individually, otherwise it }
{ can't be done. }
{ Note: if this property is not supported, it means that }
{ the mask can be set individually too. }
CFG_DiStatusChangeMaskSupportedPort = $3C8E;
{ Get / set DI Transfer Request mode }
{ Data type: ULONG }
{ 0: slave mode, 1 master mode }
CFG_DiTransferRequestMode = $3C8F;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -