19 #define EIO_T2500_MAX_AI_POINTS_PER_MODULE 8
20 #define EIO_T2500_MAX_AO_POINTS_PER_MODULE 2
21 #define EIO_T2500_MAX_DI_POINTS_PER_MODULE 16
22 #define EIO_T2500_MAX_DO_POINTS_PER_MODULE 16
23 #define EIO_T2500_MAX_FI_POINTS_PER_MODULE 2
26 #if (EIO_SCALABLE_REC == 1)
30 #define EIO_T2500_MAX_NUMBER_OF_MODULES 16
32 #define EIO_T2500_FAST_CYCLE_TIME_US 31250
33 #define EIO_T2500_SLOW_CYCLE_TIME_US 125000
35 #define EIO_T2500_FAST_TPO_MULTIPLE 2
37 #define EIO_T2500_FAST_MODULE_TICK_INTERLIEVE 16
42 #define EIO_T2500_PRECISE_FAST_CYCLE_TIME_US 31250
43 #define EIO_T2500_PRECISE_SLOW_CYCLE_TIME_US 125000
48 #define EIO_T2500_FAST_CYCLE_TIME_US 10000
49 #define EIO_T2500_SLOW_CYCLE_TIME_US 110000
50 #define EIO_T2500_FAST_TPO_MULTIPLE 2
52 #define EIO_T2500_FAST_MODULE_TICK_INTERLIEVE 6
60 #define EIO_T2500_PRECISE_FAST_CYCLE_TIME_US 9993
61 #define EIO_T2500_PRECISE_SLOW_CYCLE_TIME_US 109929
66 #define EIO_T2500_DEFAULT_IDENT_START_DELAY 70
68 #define EIO_DO_FAST_RETRIES 1
69 #define EIO_DO8_FAST_RETRIES 1
70 #define EIO_DI8_FAST_RETRIES 1
71 #define EIO_DI16_FAST_RETRIES 1
72 #define EIO_DI16_SLOW_RETRIES 1
73 #define EIO_DO16_FAST_RETRIES 1
90 EIO_T2500_10_WAY_BASE,
91 EIO_T2500_12_WAY_BASE,
92 EIO_T2500_14_WAY_BASE,
93 EIO_T2500_16_WAY_BASE,
94 EIO_T2500_3_WAY_5100V_PROTOTYPE
95 }EioT2500SystemVariant;
99 EIO_T2500_SYSTEM_VERSION_T2550=1,
100 EIO_T2500_SYSTEM_VERSION_T2750
101 }EioT2500SystemVersion;
105 #if (EIO_SCALABLE_REC == 1)
108 enum EioT2500CycleEnum
110 EIO_T2500_CYCLE_FAST,
113 EIO_T2500_CYCLE_125mS,
114 EIO_T2500_NUMBER_OF_CYCLES
119 enum EioT2500CycleEnum
121 EIO_T2500_CYCLE_FAST,
122 EIO_T2500_CYCLE_110mS,
123 EIO_T2500_NUMBER_OF_CYCLES
150 #if (EIO_NUMBER_OF_SYSTEMS==1)
151 #define eioReadyToRun(a) eioT2500ReadyToRun(a)
152 #define eioGetSystemFailed(a) eioT2500GetSystemFailed(a)
153 #define eioSetCycleRateDivisor(a,b,c) eioT2500SetCycleRateDivisor(a,b,c)
154 #define eioGetMaximumNumberOfModules(a) eioT2500GetMaximumNumberOfModules(a)
155 #define eioGetMaximumNumberOfPointsPerModule(a,b) eioT2500GetMaximumNumberOfPointsPerModule(a,b)
156 #define eioGetModuleNumberForPointIndex(a,b,c) eioT2500GetModuleNumberForPointIndex(a,b,c)
157 #define eioGetPointNumberForPointIndex(a,b,c) eioT2500GetPointNumberForPointIndex(a,b,c)
158 #define eioGetNumberOfIOCycleRates(a) eioT2500GetNumberOfIOCycleRates(a)
159 #define eioGetCycleRateuS(a,b) eioT2500GetCycleRateuS(a,b)
160 #define eioSetUpdateCycleCompleteHookAdd(a,b,c) eioT2500SetUpdateCycleCompleteHookAdd(a,b,c)
161 #define eioSetApplicationCycleCompleteCheckHookAdd(a,b,c) eioT2500SetApplicationCycleCompleteCheckHookAdd(a,b,c)
162 #define eioSetOperatingMode(a,b) eioT2500SetOperatingMode(a,b)
163 #define eioGetOperatingMode(a) eioT2500GetOperatingMode(a)
164 #define eioIsOperatingModeSupported(a,b) eioT2500IsOperatingModeSupported(a,b)
165 #define eioSetSecondaryMaximumNumberOfModules(a,b) eioT2500SetSecondaryMaximumNumberOfModules(a,b)
166 #define eioModuleGetType(a,b) eioT2500ModuleGetType(a,b)
167 #define eioModuleGetVersion(a,b) eioT2500ModuleGetVersion(a,b)
168 #define eioModuleGetMajorVersion(a,b) eioT2500ModuleGetMajorVersion(a,b)
169 #define eioModuleGetMinorVersion(a,b) eioT2500ModuleGetMinorVersion(a,b)
170 #define eioModuleSecondarySetFittedModule(a,b,c) eioT2500ModuleSecondarySetFittedModule(a,b,c)
171 #define eioModuleIsRedundantCapable(a,b) eioT2500ModuleIsRedundantCapable(a,b)
172 #define eioModuleSetExpectedType(a,b,c,d) eioT2500ModuleSetExpectedType(a,b,c,d)
173 #define eioModuleGetExpectedType(a,b) eioT2500ModuleGetExpectedType(a,b)
174 #define eioModuleGetNumberOfPoints(a,b,c) eioT2500ModuleGetNumberOfPoints(a,b,c)
175 #define eioModuleIsModuleTypeSupported(a,b,c) eioT2500ModuleIsModuleTypeSupported(a,b,c)
176 #define eioModuleIsModuleCompatible(a,b,c,d) eioT2500ModuleIsModuleCompatible(a,b,c,d)
177 #define eioModuleIsCycleRateSupported(a,b,c) eioT2500ModuleIsCycleRateSupported(a,b,c)
178 #define eioAIGetMeasuredValueDataPtr(a,b,c) eioT2500AIGetMeasuredValueDataPtr(a,b,c)
179 #define eioAIGetMeasuredValueData(a,b,c,d) eioT2500AIGetMeasuredValueData(a,b,c,d)
180 #define eioAISetConfiguration(a,b,c,d,e,f,g,h,i,j,k) eioT2500AISetConfiguration(a,b,c,d,e,f,g,h,i,j,k)
181 #define eioAISecondarySetMeasuredValueData(a,b,c,d) eioT2500AISecondarySetMeasuredValueData(a,b,c,d)
182 #define eioAICalIsPointRangeCalibrated(a,b,c,d,e) eioT2500AICalIsPointRangeCalibrated(a,b,c,d,e)
183 #define eioAICalIsCalibrationTypeSupported(a,b,c,d) eioT2500AICalIsCalibrationTypeSupported(a,b,c,d)
184 #define eioAICalSetDefaultCalibration(a,b,c,d) eioT2500AICalSetDefaultCalibration(a,b,c,d)
185 #define eioAICalPointCalibrationStart(a,b,c,d) eioT2500AICalPointCalibrationStart(a,b,c,d)
186 #define eioAICalGetCalState(a,b,c) eioT2500AICalGetCalState(a,b,c)
187 #define eioAICalPointCalibrationComplete(a,b,c,d) eioT2500AICalPointCalibrationComplete(a,b,c,d)
188 #define eioAICalPointCalibrationAbort(a,b,c) eioT2500AICalPointCalibrationAbort(a,b,c)
189 #define eioAICalSetCalibrationRange(a,b,c,d,e) eioT2500AICalSetCalibrationRange(a,b,c,d,e)
190 #define eioAICalIsVREFCalRequired(a,b,c,d) eioT2500AICalIsVREFCalRequired(a,b,c,d)
191 #define eioAICalGetNumberOfCalibrationRanges(a,b,c,d) eioT2500AICalGetNumberOfCalibrationRanges(a,b,c,d)
192 #define eioAICalGetRangeType(a,b,c,d,e) eioT2500AICalGetRangeType(a,b,c,d,e)
193 #define eioAICalGetRangeLowLimit(a,b,c,d,e) eioT2500AICalGetRangeLowLimit(a,b,c,d,e)
194 #define eioAICalGetRangeHighLimit(a,b,c,d,e) eioT2500AICalGetRangeHighLimit(a,b,c,d,e)
195 #define eioAICalGetNumberOfCalibrationPoints(a,b,c,d,e) eioT2500AICalGetNumberOfCalibrationPoints(a,b,c,d,e)
196 #define eioAICalGetNominalCalibrationPoint(a,b,c,d,e,f) eioT2500AICalGetNominalCalibrationPoint(a,b,c,d,e,f)
197 #define eioAICalSetActualCalibrationPoint(a,b,c,d,e,f,g) eioT2500AICalSetActualCalibrationPoint(a,b,c,d,e,f,g)
198 #define eioAICalIsCustomCalibrationPointSupported(a,b,c,d,e) eioT2500AICalIsCustomCalibrationPointSupported(a,b,c,d,e)
199 #define eioAICalRestartMeasurement(a,b,c) eioT2500AICalRestartMeasurement(a,b,c)
200 #define eioAICalSetVREFValue(a,b,c,d) eioT2500AICalSetVREFValue(a,b,c,d)
201 #define eioAICalSetProcessWord( a,b,c) eioT2500AICalSetProcessWord( a,b,c)
202 #define eioAICalGetProcessWord( a,b) eioT2500AICalGetProcessWord( a,b)
203 #define eioAIGetHighestMeasureableValue(a,b,c,d) eioT2500AIGetHighestMeasureableValue(a,b,c,d)
204 #define eioAIGetLowestMeasureableValue(a,b,c,d) eioT2500AIGetLowestMeasureableValue(a,b,c,d)
205 #define eioAIIsTypeSupported(a,b,c,d) eioT2500AIIsTypeSupported(a,b,c,d)
206 #define eioAIIsCJSupported(a,b,c) eioT2500AIIsCJSupported(a,b,c)
207 #define eioAIIsBreakResponseSupported(a,b,c,d,e,f,g) eioT2500AIIsBreakResponseSupported(a,b,c,d,e,f,g)
208 #define eioAIGetMaxFilterTimeuS(a,b,c) eioT2500AIGetMaxFilterTimeuS(a,b,c)
209 #define eioAIIsAdaptiveFilterSupported(a,b,c) eioT2500AIIsAdaptiveFilterSupported(a,b,c)
210 #define eioAIGetInputImpedence(a,b,c,d,e,f) eioT2500AIGetInputImpedence(a,b,c,d,e,f)
211 #define eioAIUserShuntResistorSupported(a,b,c) eioT2500AIUserShuntResistorSupported(a,b,c)
212 #define eioAOGetDataPtr(a,b,c) eioT2500AOGetDataPtr(a,b,c)
213 #define eioAOGetStatus(a,b,c) eioT2500AOGetStatus(a,b,c)
214 #define eioAOSetDemand(a,b,c,d) eioT2500AOSetDemand(a,b,c,d)
215 #define eioAOSetConfiguration(a,b,c,d,e,f) eioT2500AOSetConfiguration(a,b,c,d,e,f)
216 #define eioAOSecondarySetStatus(a,b,c,d) eioT2500AOSecondarySetStatus(a,b,c,d)
217 #define eioAOCalIsCalibrationTypeSupported(a,b,c,d,e) eioT2500AOCalIsCalibrationTypeSupported(a,b,c,d,e)
218 #define eioAOCalDefaultCalibration(a,b,c,d) eioT2500AOCalDefaultCalibration(a,b,c,d)
219 #define eioAOCalPointCalibrationStart(a,b,c,d) eioT2500AOCalPointCalibrationStart(a,b,c,d)
220 #define eioAOCalPointCalibrationComplete(a,b,c,d) eioT2500AOCalPointCalibrationComplete(a,b,c,d)
221 #define eioAOCalPointCalibrationAbort(a,b,c) eioT2500AOCalPointCalibrationAbort(a,b,c)
222 #define eioAOCalSetCalibrationRange(a,b,c,d,e) eioT2500AOCalSetCalibrationRange(a,b,c,d,e)
223 #define eioAOCalGetNumberOfCalibrationRanges(a,b,c,d) eioT2500AOCalGetNumberOfCalibrationRanges(a,b,c,d)
224 #define eioAOCalGetRangeType(a,b,c,d,e) eioT2500AOCalGetRangeType(a,b,c,d,e)
225 #define eioAOCalGetRangeLowLimit(a,b,c,d,e) eioT2500AOCalGetRangeLowLimit(a,b,c,d,e)
226 #define eioAOCalGetRangeHighLimit(a,b,c,d,e) eioT2500AOCalGetRangeHighLimit(a,b,c,d,e)
227 #define eioAOCalGetNumberOfCalibrationPoints(a,b,c,d,e) eioT2500AOCalGetNumberOfCalibrationPoints(a,b,c,d,e)
228 #define eioAOCalGetNominalCalibrationPoint(a,b,c,d,e,f) eioT2500AOCalGetNominalCalibrationPoint(a,b,c,d,e,f)
229 #define eioAOCalSetActualCalibrationPoint(a,b,c,d,e,f,g) eioT2500AOCalSetActualCalibrationPoint(a,b,c,d,e,f,g)
230 #define eioAOCalIsCustomCalibrationPointSupported(a,b,c,d,e) eioT2500AOCalIsCustomCalibrationPointSupported(a,b,c,d,e)
231 #define eioAOCalSetCurrentOutputMeasurement(a,b,c,d) eioT2500AOCalSetCurrentOutputMeasurement(a,b,c,d)
232 #define eioAOCalSetOutput(a,b,c,d) eioT2500AOCalSetOutput(a,b,c,d)
233 #define eioAOIsTypeSupported(a,b,c,d) eioT2500AOIsTypeSupported(a,b,c,d)
234 #define eioAOGetMinimumOutput(a,b,c,d) eioT2500AOGetMinimumOutput(a,b,c,d)
235 #define eioAOGetMaximumOutput(a,b,c,d) eioT2500AOGetMaximumOutput(a,b,c,d)
236 #define eioDIGetDataPtr(a,b,c) eioT2500DIGetDataPtr(a,b,c)
237 #define eioDIGetData(a,b,c,d) eioT2500DIGetData(a,b,c,d)
238 #define eioDISetDebounceTimeuS(a,b,c,d) eioT2500DISetDebounceTimeuS(a,b,c,d)
239 #define eioDISecondarySetData(a,b,c,d) eioT2500DISecondarySetData(a,b,c,d)
240 #define eioDIIsPulseCountingSupported(a,b,c) eioT2500DIIsPulseCountingSupported(a,b,c)
241 #define eioDIIsDebounceSupported(a,b,c) eioT2500DIIsDebounceSupported(a,b,c)
242 #define eioDIGetActualDebounceTimeuS(a,b,c,d,e) eioT2500DIGetActualDebounceTimeuS(a,b,c,d,e)
243 #define eioDOSetMode(a,b,c,d) eioT2500DOSetMode(a,b,c,d)
244 #define eioDOIsModeSupported(a,b,c,d) eioT2500DOIsModeSupported(a,b,c,d)
245 #define eioDOGetStatus(a,b,c) eioT2500DOGetStatus(a,b,c)
246 #define eioDOSecondarySetStatus(a,b,c,d) eioT2500DOSecondarySetStatus(a,b,c,d)
247 #define eioDOOOSetState(a,b,c,d) eioT2500DOOOSetState(a,b,c,d)
248 #define eioDOOSOutputPulse(a,b,c,d) eioT2500DOOSOutputPulse(a,b,c,d)
249 #define eioDOOSReset(a,b,c) eioT2500DOOSReset(a,b,c)
250 #define eioDOOSSetInvert(a,b,c,d) eioT2500DOOSSetInvert(a,b,c,d)
251 #define eioDOPTSendPulses(a,b,c,d) eioT2500DOPTSendPulses(a,b,c,d)
252 #define eioDOPTSetPerioduS(a,b,c,d) eioT2500DOPTSetPerioduS(a,b,c,d)
253 #define eioDOPTReset(a,b,c) eioT2500DOPTReset(a,b,c)
254 #define eioDOPTSetInvert(a,b,c,d) eioT2500DOPTSetInvert(a,b,c,d)
255 #define eioDOPTGetActualPerioduS(a,b,c,d,e) eioT2500DOPTGetActualPerioduS(a,b,c,d,e)
256 #define eioDOTPOSetDemand(a,b,c,d) eioT2500DOTPOSetDemand(a,b,c,d)
257 #define eioDOTPOSetMinimumPulseTimeuS(a,b,c,d) eioT2500DOTPOSetMinimumPulseTimeuS(a,b,c,d)
258 #define eioDOTPOGetActualMinimumPulseTimeuS(a,b,c,d,e) eioT2500DOTPOGetActualMinimumPulseTimeuS(a,b,c,d,e)
259 #define eioDOTPOSetCycleTimeuS(a,b,c,d) eioT2500DOTPOSetCycleTimeuS(a,b,c,d)
260 #define eioDOTPOGetActualCycleTimeuS(a,b,c,d,e) eioT2500DOTPOGetActualCycleTimeuS(a,b,c,d,e)
261 #define eioDOTPOIsCycleTimeConfigurable(a,b,c) eioT2500DOTPOIsCycleTimeConfigurable(a,b,c)
262 #define eioDOVPSetDemand(a,b,c,d) eioT2500DOVPSetDemand(a,b,c,d)
263 #define eioDOVPGetActualMinimumPulseTimeuS(a,b,c,d,e) eioT2500DOVPGetActualMinimumPulseTimeuS(a,b,c,d,e)
264 #define eioDOVPSetBacklashuS(a,b,c,d) eioT2500DOVPSetBacklashuS(a,b,c,d)
265 #define eioDOVPSetInertiauS(a,b,c,d) eioT2500DOVPSetInertiauS(a,b,c,d)
266 #define eioDOVPSetStaticTimeuS(a,b,c,d) eioT2500DOVPSetStaticTimeuS(a,b,c,d)
267 #define eioDOVPIsPropertySupported(a,b,c,d) eioT2500DOVPIsPropertySupported(a,b,c,d)
268 #define eioDOVPGetAssociatedPointOnModule(a,b,c) eioT2500DOVPGetAssociatedPointOnModule(a,b,c)
269 #define eioFIGetDataPtr( a, b, c) eioT2500FIGetDataPtr( a, b, c)
270 #define eioFIGetData( a, b, c, d) eioT2500FIGetData( a, b, c, d)
271 #define eioFISetConfiguration( a, b, c, d, e, f, g, h, i, j,k)eioT2500FISetConfiguration( a, b, c, d, e, f, g, h, i, j,k)
272 #define eioFISecondarySetData( a, b, c, d) eioT2500FISecondarySetData( a, b, c, d)
273 #define eioFIIsTypeSupported( a, b, c, d) eioT2500FIIsTypeSupported( a, b, c, d)
274 #define eioFIIsDebounceSupported( a, b, c, d) eioT2500FIIsDebounceSupported( a, b, c, d)
275 #define eioFIIsThresholdSupported( a, b, c, d) eioT2500FIIsThresholdSupported( a, b, c, d)
276 #define eioFIIsShortCircuitDetectSupported( a, b, c, d) eioT2500FIIsShortCircuitDetectSupported( a, b, c, d)
277 #define eioFIIsSensorBreakDetectSupported( a, b, c, d) eioT2500FIIsSensorBreakDetectSupported( a, b, c, d)
278 #define eioFIIsPowerSupplySupported( a, b, c) eioT2500FIIsPowerSupplySupported( a, b, c)
279 #define eioFIGetMaximumSupportedFrequency( a, b, c, d) eioT2500FIGetMaximumSupportedFrequency( a, b, c, d)
280 #define eioFIGetMinimumSupportedFrequency( a, b, c, d) eioT2500FIGetMinimumSupportedFrequency( a, b, c, d)
281 #define eioFIGetActualThreshold( a, b, c, d, e, f) eioT2500FIGetActualThreshold( a, b, c, d, e, f)
282 #define eioFIGetActualSupplyMillivolts( a, b, c, d) eioT2500FIGetActualSupplyMillivolts( a, b, c, d)
283 #define eioFIGetMaxFilterTimeuS( a, b, c) eioT2500FIGetMaxFilterTimeuS( a, b, c)
284 #define eioFIIsBurdenConfigurable( a, b, c) eioT2500FIIsBurdenConfigurable( a, b, c)
285 #define eioFIGetBurdenResistance( a, b, c) eioT2500FIGetBurdenResistance( a, b, c)
286 #define eioFIGetSlowestUpdateuS( a, b) eioT2500FIGetSlowestUpdateuS( a, b)
287 #define eioFIGetActualDebounceTimeuS( a, b, c, d, e) eioT2500FIGetActualDebounceTimeuS( a, b, c, d, e)
291 #include "eio_sysf.h"
296 void eioT2500SetUpdateCycleCompleteHookAdd(
EioSystem *ioSystem, EioUint8 cycleNumber,
void(*hook)(EioUint8 cycleNumber, EioUint32 count));
297 void eioT2500SetApplicationCycleCompleteCheckHookAdd(
EioSystem *ioSystem, EioUint8 cycleNumber, EioBoolean(*hook)(EioUint8 cycleNumber));
298 EioBoolean eioT2500ReadyToRun(
EioSystem *ioSystem);
299 EioBoolean eioT2500GetSystemFailed(
EioSystem *ioSystem);
300 void eioT2500SetCycleRateDivisor(
EioSystem *ioSystem, EioUint8 cycleNumber, EioUint32 divisor);
303 void eioT2500SetOperatingMode(
EioSystem *ioSystem, EioOperatingMode mode);
304 EioOperatingMode eioT2500GetOperatingMode(
EioSystem *ioSystem);
305 EioBoolean eioT2500IsOperatingModeSupported(
EioSystem *ioSystem, EioOperatingMode mode);
306 void eioT2500SetSecondaryMaximumNumberOfModules(
EioSystem *ioSystem, EioUint8 numberOfModules);
309 EioUint8 eioT2500GetMaximumNumberOfModules(
EioSystem *ioSystem );
310 EioUint8 eioT2500GetMaximumNumberOfPointsPerModule(
EioSystem *ioSystem, EioPointType pointType);
311 EioUint8 eioT2500GetModuleNumberForPointIndex(
EioSystem *ioSystem, EioPointType pointType, EioUint16 pointIndex);
312 EioUint8 eioT2500GetPointNumberForPointIndex(
EioSystem *ioSystem, EioPointType pointType, EioUint16 pointIndex);
313 EioUint8 eioT2500GetNumberOfIOCycleRates(
EioSystem *ioSystem );
314 EioUint32 eioT2500GetCycleRateuS(
EioSystem *ioSystem, EioUint8 cycleNumber);
317 EioModuleType eioT2500ModuleGetType(
EioSystem *ioSystem, EioUint8 moduleNumber);
318 EioModuleType eioT2500ModuleGetRawType(
EioSystem *ioSystem, EioUint8 moduleNumber);
319 char * eioT2500ModuleGetVersion(
EioSystem *ioSystem, EioUint8 moduleNumber);
320 EioUint8 eioT2500ModuleGetMajorVersion(
EioSystem *ioSystem, EioUint8 moduleNumber);
321 EioUint8 eioT2500ModuleGetMinorVersion(
EioSystem *ioSystem, EioUint8 moduleNumber);
322 void eioT2500ModuleSecondarySetFittedModule(
EioSystem *ioSystem, EioUint8 moduleNumber, EioModuleType fitted);
323 EioBoolean eioT2500ModuleIsRedundantCapable(
EioSystem *ioSystem, EioModuleType moduleType);
324 EioBoolean eioT2500ModuleSetExpectedType(
EioSystem *ioSystem, EioUint8 moduleNumber, EioModuleType moduleType, EioUint8 cycleNumber);
325 EioModuleType eioT2500ModuleGetExpectedType(
EioSystem *ioSystem, EioUint8 moduleNumber);
328 EioUint8 eioT2500ModuleGetNumberOfPoints(
EioSystem *ioSystem, EioModuleType moduleType, EioPointType pointType);
329 EioBoolean eioT2500ModuleIsModuleTypeSupported(
EioSystem *ioSystem, EioUint8 moduleNumber, EioModuleType moduleType);
330 EioBoolean eioT2500ModuleIsModuleCompatible(
EioSystem *ioSystem, EioModuleType expected, EioModuleType fitted, EioUint8 cycleNumber);
331 EioBoolean eioT2500ModuleIsCycleRateSupported(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 cycleNumber);
336 void eioT2500AISetConfiguration(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAIType inputType, EioAIBreakResponse breakResponse, EioUint32 filterTimeuS,
float rangeLow,
float rangeHigh,
float resistance, EioBoolean useAdaptiveFilter, EioBoolean cjRequired);
340 EioBoolean eioT2500AICalIsPointRangeCalibrated(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAICalType calType, EioUint8 rangeNumber);
341 EioBoolean eioT2500AICalIsCalibrationTypeSupported(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAICalType calType);
342 void eioT2500AICalSetDefaultCalibration(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAICalType calType);
343 void eioT2500AICalPointCalibrationStart(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAICalType calType);
344 EioAICalStatus eioT2500AICalGetCalState(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
345 void eioT2500AICalPointCalibrationComplete(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAICalType calType);
346 void eioT2500AICalPointCalibrationAbort(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
347 void eioT2500AICalSetCalibrationRange(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAICalType calType, EioUint8 rangeNumber);
348 EioBoolean eioT2500AICalIsVREFCalRequired(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAICalType calType);
349 EioUint8 eioT2500AICalGetNumberOfCalibrationRanges(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAICalType calType);
350 EioAICalRangeType eioT2500AICalGetRangeType(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAICalType calType, EioUint8 rangeNumber);
351 float eioT2500AICalGetRangeLowLimit(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAICalType calType, EioUint8 rangeNumber);
352 float eioT2500AICalGetRangeHighLimit(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAICalType calType, EioUint8 rangeNumber);
353 EioUint8 eioT2500AICalGetNumberOfCalibrationPoints(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAICalType calType, EioUint8 rangeNumber);
354 float eioT2500AICalGetNominalCalibrationPoint(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAICalType calType, EioUint8 rangeNumber, EioUint8 calibrationPointIndex);
355 void eioT2500AICalSetActualCalibrationPoint(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAICalType calType, EioUint8 rangeNumber,
float value, EioUint8 calibrationPointIndex);
356 EioBoolean eioT2500AICalIsCustomCalibrationPointSupported(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAICalType calType, EioUint8 rangeNumber);
357 void eioT2500AICalRestartMeasurement(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
358 void eioT2500AICalSetVREFValue(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber,
float Vref);
359 void eioT2500AICalSetProcessWord(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint16 processWord);
360 EioUint16 eioT2500AICalGetProcessWord(
EioSystem *ioSystem, EioUint8 moduleNumber);
363 float eioT2500AIGetHighestMeasureableValue(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAIType inputType);
364 float eioT2500AIGetLowestMeasureableValue(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAIType inputType);
365 EioBoolean eioT2500AIIsTypeSupported(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAIType inputType);
366 EioBoolean eioT2500AIIsCJSupported(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
367 EioBoolean eioT2500AIIsBreakResponseSupported(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAIType inputType,
float rangeLow,
float rangeHigh, EioAIBreakResponse breakResponse);
368 EioUint32 eioT2500AIGetMaxFilterTimeuS(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
369 EioBoolean eioT2500AIIsAdaptiveFilterSupported(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
370 float eioT2500AIGetInputImpedence(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAIType inputType,
float rangeLow,
float rangeHigh);
371 EioBoolean eioT2500AIUserShuntResistorSupported(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
374 EioAOData* eioT2500AOGetDataPtr(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
375 EioAOStatus eioT2500AOGetStatus(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
376 void eioT2500AOSetDemand(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber,
float demand);
377 void eioT2500AOSetConfiguration(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAOType outputType,
float rangeLow,
float rangeHigh);
378 void eioT2500AOSecondarySetStatus(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAOStatus status);
381 EioBoolean eioT2500AOCalIsCalibrationTypeSupported(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOCalType calType, EioUint8 cycleNumber);
382 void eioT2500AOCalDefaultCalibration(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAOCalType calType);
383 void eioT2500AOCalPointCalibrationStart(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAOCalType calType);
384 void eioT2500AOCalPointCalibrationComplete(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAOCalType calType);
385 void eioT2500AOCalPointCalibrationAbort(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
386 void eioT2500AOCalSetCalibrationRange(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAOCalType calType, EioUint8 rangeNumber);
387 EioUint8 eioT2500AOCalGetNumberOfCalibrationRanges(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOCalType calType);
388 EioAOCalRangeType eioT2500AOCalGetRangeType(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOCalType calType, EioUint8 rangeNumber);
389 float eioT2500AOCalGetRangeLowLimit(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOCalType calType, EioUint8 rangeNumber);
390 float eioT2500AOCalGetRangeHighLimit(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOCalType calType, EioUint8 rangeNumber);
391 EioUint8 eioT2500AOCalGetNumberOfCalibrationPoints(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOCalType calType, EioUint8 rangeNumber);
392 float eioT2500AOCalGetNominalCalibrationPoint(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOCalType calType, EioUint8 rangeNumber, EioUint8 calibrationPointIndex);
393 void eioT2500AOCalSetActualCalibrationPoint(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAOCalType calType, EioUint8 rangeNumber, EioUint8 calibrationPointIndex,
float value);
394 EioBoolean eioT2500AOCalIsCustomCalibrationPointSupported(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOCalType calType, EioUint8 rangeNumber);
395 void eioT2500AOCalSetCurrentOutputMeasurement(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber,
float value);
396 void eioT2500AOCalSetOutput(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber,
float value);
399 EioBoolean eioT2500AOIsTypeSupported(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOType outputType);
400 float eioT2500AOGetMinimumOutput(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOType outputType);
401 float eioT2500AOGetMaximumOutput(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOType outputType);
404 EioDIData* eioT2500DIGetDataPtr(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
405 void eioT2500DIGetData(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber,
EioDIData *dataPtr);
406 void eioT2500DISetDebounceTimeuS(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioUint32 debounceTimeuS);
407 void eioT2500DISecondarySetData(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber,
EioDIData *dataPtr);
410 EioBoolean eioT2500DIIsPulseCountingSupported(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
411 EioBoolean eioT2500DIIsDebounceSupported(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
412 EioUint32 eioT2500DIGetActualDebounceTimeuS(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioUint32 requestedDebounceTimeuS, EioUint8 cycleNumber);
415 void eioT2500DOSetMode(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioDOMode mode);
416 EioBoolean eioT2500DOIsModeSupported(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioDOMode outputMode);
417 EioDOStatus eioT2500DOGetStatus(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
418 void eioT2500DOSecondarySetStatus(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioDOStatus status);
421 void eioT2500DOOOSetState(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioDOState state);
424 void eioT2500DOOSOutputPulse(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioUint32 pulseTimeuS);
425 void eioT2500DOOSReset(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
426 void eioT2500DOOSSetInvert(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioBoolean invert);
429 void eioT2500DOPTSendPulses(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioUint32 numberOfPulses);
430 void eioT2500DOPTSetPerioduS(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioUint32 perioduS);
431 void eioT2500DOPTReset(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
432 void eioT2500DOPTSetInvert(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioBoolean invert);
433 EioUint32 eioT2500DOPTGetActualPerioduS(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioUint8 cycleNumber, EioUint32 perioduS);
436 void eioT2500DOTPOSetDemand(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber,
float demand);
437 void eioT2500DOTPOSetMinimumPulseTimeuS(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioUint32 pulseTimeuS);
438 EioUint32 eioT2500DOTPOGetActualMinimumPulseTimeuS(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioUint8 cycleNumber, EioUint32 requestedMinimumPulseTimeuS);
439 void eioT2500DOTPOSetCycleTimeuS(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioUint32 cycleTimeuS);
440 EioUint32 eioT2500DOTPOGetActualCycleTimeuS(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioUint8 cycleNumber, EioUint32 requestedCycleTimeuS);
441 EioBoolean eioT2500DOTPOIsCycleTimeConfigurable(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
443 void eioT2500DOVPSetDemand(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber,
float demand);
444 EioUint32 eioT2500DOVPGetActualMinimumPulseTimeuS(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioUint8 cycleNumber, EioUint32 requestedMinimumPulseTimeuS);
445 void eioT2500DOVPSetBacklashuS(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioUint32 backlashuS);
446 void eioT2500DOVPSetInertiauS(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioUint32 inertiauS);
447 void eioT2500DOVPSetStaticTimeuS(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioUint32 staticTimeuS);
448 EioBoolean eioT2500DOVPIsPropertySupported(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioDOVPProperty property);
449 EioUint8 eioT2500DOVPGetAssociatedPointOnModule(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
453 EioFIData* eioT2500FIGetDataPtr(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
454 void eioT2500FIGetData(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber,
EioFIData *dataPtr);
455 void eioT2500FISetConfiguration(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioFIType type,
float threshold,
float supplyMillivolts, EioUint32 debounce, EioUint32 filterTimeuS,
float burdenOhms, EioBoolean enableSensorBreak, EioBoolean enableShortCircuitDetect);
456 void eioT2500FISecondarySetData(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber,
EioFIData *dataPtr);
457 EioBoolean eioT2500FIIsTypeSupported(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioFIType inputType);
458 EioBoolean eioT2500FIIsDebounceSupported(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioFIType inputType);
459 EioBoolean eioT2500FIIsThresholdSupported(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioFIType inputType);
460 EioBoolean eioT2500FIIsShortCircuitDetectSupported(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioFIType inputType);
461 EioBoolean eioT2500FIIsSensorBreakDetectSupported(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioFIType inputType);
462 EioBoolean eioT2500FIIsPowerSupplySupported(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
463 float eioT2500FIGetMaximumSupportedFrequency(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioFIType inputType);
464 float eioT2500FIGetMinimumSupportedFrequency(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioFIType inputType);
465 float eioT2500FIGetActualThreshold(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioFIType inputType,
float burdenOhms,
float requested);
466 float eioT2500FIGetActualSupplyMillivolts(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber,
float requestedMillivolts);
467 EioUint32 eioT2500FIGetMaxFilterTimeuS(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
468 EioBoolean eioT2500FIIsBurdenConfigurable(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
469 float eioT2500FIGetBurdenResistance(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
470 EioUint32 eioT2500FIGetSlowestUpdateuS(
EioSystem *ioSystem, EioModuleType moduleType);
471 EioUint32 eioT2500FIGetActualDebounceTimeuS(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioFIType type, EioUint32 debounce);
Definition: eio_syst.h:52
Definition: eio_sysf.h:14