⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 paras.pas

📁 温度恒温控制,与PLC,工控板通讯,实现炉字过程控制.
💻 PAS
📖 第 1 页 / 共 2 页
字号:
	{ Get Or Set DI Interrupt Mode:                                         }
	{ Data Type:                                                            }
	{     BYTE Array.                                                       }
	{     One byte for a port. The Interrupt mode's explanation varies      }
	{     with different card                                               }
	CFG_DiInterruptMode                   = $3C90;
{-----------------------2.2------------------------}
{ ----------------------------------                                       }
{ 0x4000 ~ 0x4fff for DO Group                                             }
{ ----------------------------------                                       }
{ sub group 0x4000 ~ 0x47ff for DO General ID                              }

{ sub group 0x4800 ~ 0x4fff for DO others ID                               }
  CFG_DoOperationMode   = $4800;     { Normal (0), Handahaking (1), Burst handshaking(2)}
  CFG_DoStartMethod     = $4801;     { Software(1), External signal(2)}
  CFG_DoStopMethod      = $4802;     { Software(1), External signal(2)}
  CFG_DoPacerSource     = $4803;     { 30, 15, 10 Mhz, Counter1, External signal (value range 1-5)}
  CFG_DoControlSignals  = $4804;     { Control signals }
                                         {   Bit 0: External DO start signal control (STRRF), 0 rising edge, 1 falling edge. }
                                         {   Bit 1: External DO stop signal control (STPRF), 0 rising edge, 1 falling edge.}
                                         {   Bit 2: DO request signal control (REQRF), 0 rising edge, 1 falling edge.}
                                         {   Bit 3: DO acknowledge signal control (ACKRF), 0 rising edge, 1 falling edge.}
                                         {   Bit 4: DO sampling clock signal control (CLKRF), 0 rising edge, 1 falling edge}
  CFG_DoPresetValue     = $4805;     { DO status before transfering.}
  
  { Get DO data width. The optimized data width when writing.           }
  {                                                                     }
  { Data type: LONG.                                                    }
  { Find the used value from Variable Group.                            }
  CFG_DoDataWidth	   =  $4806;	

  {  Get DO Channel Count. Max available DO channel count on the card.   }
  {                                                                      }
  {  Data type: LONG.                                                    }
  CFG_DoChannelCount        =  $4807;	   

  { Get Do Port Count. Max available DO Port count on the card.         }
  {                                                                     }
  { Data type: LONG.                                                    }
  CFG_DoPortCount           =  $4808;
  
  { Get / set DO Transfer Request mode                                    }
  { Data type: ULONG                                                      }
  {     0: slave mode, 1 master mode                                      }
  CFG_DoTransferRequestMode = $4809;


{ ---------------------------------------                                  }
{ 0x5000 ~ 0x5fff for Counter/Timer                                        }
{ ---------------------------------------                                  }
{ sub group 0x5000 ~ 0x57ff for Counter/Timer general ID                   }

  CFG_CounterCountValue = $5000;   { 82C54 Counter 0-2 value}

  
{Get Counter channels' capability.                              }
{                                                               }
{Data type: Long Array.                                         }
{    One 'Long' for one channel, each bit of the long indicates }
{a specified function whether is available or not and the       }
{following function has been defined.                           }
CFG_CntrChannelCapability = $5001;

{ Get supported gate of the counter.              }
{                                                 }
{ Data type: Long.                                }
{     Each bit for a specified gate mode and the  }
{ following mode has been defined.                }
 CFG_CntrSupportedGateMode = $5002;

{ Get supported counting edge of the counter.         }
{                                                     }
{ Data type: Long.                                    }
{     Each bit for a specified counting edge and the  }
{ following bit has been defined.                     }
 CFG_CntrSupportedCountEdge = $5003;

{ Get supported output mode of the counter when terminal count reached. }
{                                                                       }
{ Data type: Long.                                                      }
{     Each bit for a specified output mode and the                      }
{ following mode has been defined.                                      }
 CFG_CntrSupportedOutMode = $5004;

{ Get available special api of the counter     }
{                                              }
{ Data type: Long.                             }
{     Each bit for a specified api and the     }
{ following has been defined.                  }
 CFG_CntrAvailableAPI = $5005;

{ Get event id of the channel which can issue event. }
{                                                    }
{ Data type: USHORT Array.                           }
{     One 'USHORT' for one channel, 0 indicates the channel can't }
{ issue event.                                                    }
 CFG_CntrChannelEventID = $5006;

{ Get the internal clock frequence device used for pulse out,     }
{ PWModulation or timer interrupt, etc...                         }
{                                                                 }
{ Data type: float array.                                         }
{     Each element of array is a clock frequence value the device }
{ supported and the frequence should be sorted from lower to higher.}
 CFG_CntrInternalClockFreq = $5007;

{ Get the validate range of period and HiPeriod of PWModulation function. }
{ data type: float array                                                  }
{      the data order in array:                                           }
{      [min_period][max_period][min_hiperiod][max_hiperiod]               }
 CFG_CntrPWModulateValidRange = $5008;

{ sub group 0x5800 ~ 0x5fff for counter/Timer general ID                   }

{Get the counter channel count}
{data type: LONG}
CFG_CntrChannelCount = $5009;

{Get the counter resolution}
{data type: LONG array}
CFG_CntrResolution = $5010;

{Get or set the counter reset value}
{data type: ULONG array}
CFG_CntrResetValue = $5011;

{Get the counter supported event type}
{data type: LONG array}
{           One 'LONG' for one event type}
CFG_Cntr0SupportedEventType = $5012;
CFG_Cntr1SupportedEventType = $5013;
CFG_Cntr2SupportedEventType = $5014;
CFG_Cntr3SupportedEventType = $5015;
CFG_Cntr4SupportedEventType = $5016;

{Get the counter supported lock type}
{data type: LONG array }
CFG_CntrSupportedCounterLock = $5017;

{Get or set the counter lock}
{data type: LONG array}
CFG_CntrCounterLockControl   = $5018;

{Get the counter supported indicator type}
{data type: LONG array}
CFG_CntrSupportedIndicator   = $5019;

{Get or set the counter indicator status}
{data type: LONG array}
CFG_CntrIndicatorControl     = $5020;

{Get the counter supported clock frequency}
{data type: LONG array}
CFG_Cntr0SupportedClockFrequency = $5021;
CFG_Cntr1SupportedClockFrequency = $5022;
CFG_Cntr2SupportedClockFrequency = $5023;
CFG_Cntr3SupportedClockFrequency = $5024;
CFG_Cntr4SupportedClockFrequency = $5025;

{Get or set the current counter clock frequency}
{data type: LONG array}
CFG_CntrClockFrequency           = $5026;

{Get the counter supported input mode}
{data type: LONG array}
CFG_Cntr0SupportedInputMode      = $5027;
CFG_Cntr1SupportedInputMode      = $5028;
CFG_Cntr2SupportedInputMode      = $5029;
CFG_Cntr3SupportedInputMode      = $5030;

{Get or set the current counter input mode}
{data type: LONG array}
CFG_CntrInputModeControl         = $5031;

{Get or set counter compare data}
{data type: ULONG array}
CFG_CntrCompareData              = $5032;

{Enable or Disable counter digital filter}
{data type: LONG array}
CFG_CntrDigitalFilter            = $5033;

{Enable or Disable Index Reset}
{data type: LONG}
{Each bit represent one counter channel}
CFG_CntrIndexReset               = $5034;

{ Other ID }
  CFG_IrqDiChangeStatusChannel  = $6000;       { Change status channel number.           }
  CFG_IrqDiTriggerSignals       = $6001;       { Each bit for each Auxiliary DIO channel }
  CFG_LoopBackTest              = $6002;       { Loop back test for MIC-3755             }
 {-----------------------2.2------------------------}
  CFG_WatchdogCounter = $7000;       { Watchdog counter. }
  CFG_DoWatchdogValue = $7001;       {Do status when watchdog overflow}
  
  CFG_EEPROM_RWBYTE = $8000;       {Read/Write a word to the EEPROM}
  CFG_PrivateHWRegionSize = $8001; {Customer private region size 32 bytes}
 {-----------------------2.2------------------------} 
 
{ ============================================================================ }
{ Constant Variable Group                                                      }
{ ============================================================================ }
 { Used by CFG_DioPortType ID }
 DIO_PortType_DI           =  $0;   { input port }
 DIO_PortType_DO           =  $1;   { output port }
 DIO_PortType_SeperateDIO  =  $2;   { bi-direction port }
 DIO_PortType_8255_PortA   =  $3;   { 8255 mode 0 port A type }
 DIO_PortType_8255_PortC   =  $4;   { 8255 mode 0 port C type }
 DIO_PortType_Individual   =  $5;   { each channel can be set individually }
 
 { Used by CFG_DioChannelDirection ID }
 DIO_ChannelDir_DI          = $0;
 DIO_ChannelDir_DO          = $000000ff;
 DIO_ChannelDir_LowHalf_DO  = $0000000f;
 DIO_ChannelDir_HighHalf_DO = $000000f0;
 DIO_ChannelDir_Invalid     = $ffffffff;
 DIO_ChannelDir_SeperateDIO = $0000ff00;     
 
 { Used by CFG_DiDataWidth ID }
 DI_DataWidth_Byte           = $0;
 DI_DataWidth_Word           = $1;
 DI_DataWidth_DWORD          = $2;
 
 { Used by CFG_DoDataWidth ID }
 DO_DataWidth_Byte         =  $0;
 DO_DataWidth_Word         =  $1;
 DO_DataWidth_Dword        =  $2;
 
 { Used by CFG_DiInterruptSupportedTriggerMode ID                                   }
  DI_Int_SingleEdgeTrigger           =  $0;      { trigger on rising or falling edge.}
  DI_Int_DualEdgeTrigger             =  $1;      { trigger on rising or falling or both edge.}
 
 { used by CFG_CntrChannelCapability }
 CNTR_ChlCap_EventCounting = $1;
 CNTR_ChlCap_FreqMeasurement = $2;
 CNTR_ChlCap_PulseWidthMeasurement = $4;
 CNTR_ChlCap_TimerInterrupt = $8;
 CNTR_ChlCap_CounterInterrupt = $10;
 CNTR_ChlCap_PulseWidthModulation = $20;
 CNTR_ChlCap_PulseOut = $40;
 CNTR_ChlCap_FreqOut = $80;
 CNTR_ChlCap_WatchDogTimer = $100;
 CNTR_ChlCap_CascadeWithNext = $200;
 CNTR_ChlCap_CascadeWithPrev = $400;

 { used by CFG_CntrSupportedGateMode }
 CNTR_GateMode_NoGate = $1;            { no gate signal( the gate will be set by software internally).}
 CNTR_GateMode_HighLevel = $2;         { High level active     }
 CNTR_GateMode_LowLevel = $4;          { Low  level active     }
 CNTR_GateMode_RisingEdge = $8;        { Rising edge active    }
 CNTR_GateMode_FallingEdge = $10;      { Falling edge active   }

 { used by CFG_CntrSupportedCountEdge}
 CNTR_CountEdge_RisingEdge = $1;       { Rising edge counting  }
 CNTR_CountEdge_FallingEdge = $2;      { Falling edge counting  }

 { used by CFG_CntrSupportedOutMode  }
 CNTR_OutMode_HighPulse = $1;          { Pin OUT_N outputs high pulse when the terminal count reached. }
 CNTR_OutMode_LowPulse = $2;           { Pin OUT_N outputs low pulse when the terminal count reached.  }
 CNTR_OutMode_LowToHigh = $4;          { Pin OUT_N toggles from low to high when the terminal count reached.}
 CNTR_OutMode_HighToLow = $8;          { Pin OUT_N toggles from high to low when the terminal count reached.}

 { used by CFG_CntrAvailableAPI }
 CNTR_API_CounterConfig = $1;
 CNTR_API_DICounterReset = $2;
 CNTR_API_QCounterAPI = $4;

implementation

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -