16 EioBoolean (*readyToRun)(
EioSystem *ioSystem);
17 EioBoolean (*getSystemFailed)(
EioSystem *ioSystem);
18 void (*setCycleRateDivisor)(
EioSystem *ioSystem, EioUint8 cycleNumber, EioUint32 divisor);
19 EioUint8 (*getMaximumNumberOfModules)(
EioSystem *ioSystem );
20 EioUint8 (*getMaximumNumberOfPointsPerModule)(
EioSystem *ioSystem, EioPointType pointType);
21 EioUint8 (*getModuleNumberForPointIndex)(
EioSystem *ioSystem, EioPointType pointType, EioUint16 pointIndex);
22 EioUint8 (*getPointNumberForPointIndex)(
EioSystem *ioSystem, EioPointType pointType, EioUint16 pointIndex);
23 EioUint8 (*getNumberOfIOCycleRates)(
EioSystem *ioSystem );
24 EioUint32 (*getCycleRateuS)(
EioSystem *ioSystem, EioUint8 cycleNumber);
25 void (*setUpdateCycleCompleteHookAdd)(
EioSystem *ioSystem, EioUint8 cycleNumber, void(*hook)(EioUint8 cycleNumber, EioUint32 count));
26 void (*setApplicationCycleCompleteCheckHookAdd)(
EioSystem *ioSystem, EioUint8 cycleNumber, EioBoolean(*hook)(EioUint8 cycleNumber));
27 void (*setOperatingMode)(
EioSystem *ioSystem, EioOperatingMode mode);
28 EioOperatingMode (*getOperatingMode)(
EioSystem *ioSystem);
29 EioBoolean (*isOperatingModeSupported)(
EioSystem *ioSystem, EioOperatingMode mode);
30 void (*setSecondaryMaximumNumberOfModules)(
EioSystem *ioSystem, EioUint8 numberOfModules);
31 EioModuleType (*moduleGetType)(
EioSystem *ioSystem, EioUint8 moduleNumber);
32 char * (*moduleGetVersion)(
EioSystem *ioSystem, EioUint8 moduleNumber);
33 EioUint8 (*moduleGetMajorVersion)(
EioSystem *ioSystem, EioUint8 moduleNumber);
34 EioUint8 (*moduleGetMinorVersion)(
EioSystem *ioSystem, EioUint8 moduleNumber);
35 void (*moduleSecondarySetFittedModule)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioModuleType fitted);
36 EioBoolean (*moduleIsRedundantCapable)(
EioSystem *ioSystem, EioModuleType moduleType);
37 EioBoolean (*moduleSetExpectedType)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioModuleType moduleType, EioUint8 cycleNumber);
38 EioModuleType (*moduleGetExpectedType)(
EioSystem *ioSystem, EioUint8 moduleNumber);
39 EioUint8 (*moduleGetNumberOfPoints)(
EioSystem *ioSystem, EioModuleType moduleType, EioPointType pointType);
40 EioBoolean (*moduleIsModuleTypeSupported)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioModuleType moduleType);
41 EioBoolean (*moduleIsModuleCompatible)(
EioSystem *ioSystem, EioModuleType expected, EioModuleType fitted, EioUint8 cycleNumber);
42 EioBoolean (*moduleIsCycleRateSupported)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 cycleNumber);
45 void (*aISetConfiguration)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAIType inputType, EioAIBreakResponse breakResponse, EioUint32 filterTimeuS,
float rangeLow,
float rangeHigh,
float resistance, EioBoolean useAdaptiveFilter, EioBoolean cjRequired);
47 EioBoolean (*aICalIsPointRangeCalibrated)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAICalType calType, EioUint8 rangeNumber);
48 EioBoolean (*aICalIsCalibrationTypeSupported)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAICalType calType);
49 void (*aICalSetDefaultCalibration)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAICalType calType);
50 void (*aICalPointCalibrationStart)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAICalType calType);
51 EioAICalStatus (*aICalGetCalState)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
52 void (*aICalPointCalibrationComplete)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAICalType calType);
53 void (*aICalPointCalibrationAbort)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
54 void (*aICalSetCalibrationRange)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAICalType calType, EioUint8 rangeNumber);
55 EioBoolean (*aICalIsVREFCalRequired)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAICalType calType);
56 EioUint8 (*aICalGetNumberOfCalibrationRanges)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAICalType calType);
57 EioAICalRangeType (*aICalGetRangeType)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAICalType calType, EioUint8 rangeNumber);
58 float (*aICalGetRangeLowLimit)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAICalType calType, EioUint8 rangeNumber);
59 float (*aICalGetRangeHighLimit)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAICalType calType, EioUint8 rangeNumber);
60 EioUint8 (*aICalGetNumberOfCalibrationPoints)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAICalType calType, EioUint8 rangeNumber);
61 float (*aICalGetNominalCalibrationPoint)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAICalType calType, EioUint8 rangeNumber, EioUint8 calibrationPointIndex);
62 void (*aICalSetActualCalibrationPoint)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAICalType calType, EioUint8 rangeNumber,
float value, EioUint8 calibrationPointIndex);
63 EioBoolean (*aICalIsCustomCalibrationPointSupported)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAICalType calType, EioUint8 rangeNumber);
64 void (*aICalRestartMeasurement)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
65 void (*aICalSetVREFValue)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber,
float Vref);
66 float (*aIGetHighestMeasureableValue)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAIType inputType);
67 float (*aIGetLowestMeasureableValue)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAIType inputType);
68 EioBoolean (*aIIsTypeSupported)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAIType inputType);
69 EioBoolean (*aIIsCJSupported)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
70 EioBoolean (*aIIsBreakResponseSupported)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAIType inputType,
float rangeLow,
float rangeHigh, EioAIBreakResponse breakResponse);
71 EioUint32 (*aIGetMaxFilterTimeuS)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
72 EioBoolean (*aIIsAdaptiveFilterSupported)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
73 float (*aIGetInputImpedence)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAIType inputType,
float rangeLow,
float rangeHigh);
74 EioBoolean (*aIUserShuntResistorSupported)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
75 EioAOData* (*aOGetDataPtr)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
76 EioAOStatus (*aOGetData)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
77 void (*aOSetDemand)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber,
float demand);
78 void (*aOSetConfiguration)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAOType outputType,
float rangeLow,
float rangeHigh);
79 void (*aOSecondarySetStatus)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAOStatus status);
80 EioBoolean (*aOCalIsCalibrationTypeSupported)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOCalType calType, EioUint8 cycleNumber);
81 void (*aOCalDefaultCalibration)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAOCalType calType);
82 void (*aOCalPointCalibrationStart)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAOCalType calType);
83 void (*aOCalPointCalibrationComplete)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAOCalType calType);
84 void (*aOCalPointCalibrationAbort)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
85 void (*aOCalSetCalibrationRange)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAOCalType calType, EioUint8 rangeNumber);
86 EioUint8 (*aOCalGetNumberOfCalibrationRanges)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOCalType calType);
87 EioAOCalRangeType (*aOCalGetRangeType)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOCalType calType, EioUint8 rangeNumber);
88 float (*aOCalGetRangeLowLimit)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOCalType calType, EioUint8 rangeNumber);
89 float (*aOCalGetRangeHighLimit)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOCalType calType, EioUint8 rangeNumber);
90 EioUint8 (*aOCalGetNumberOfCalibrationPoints)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOCalType calType, EioUint8 rangeNumber);
91 float (*aOCalGetNominalCalibrationPoint)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOCalType calType, EioUint8 rangeNumber, EioUint8 calibrationPointIndex);
92 void (*aOCalSetActualCalibrationPoint)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioAOCalType calType, EioUint8 rangeNumber, EioUint8 calibrationPointIndex,
float value);
93 EioBoolean (*aOCalIsCustomCalibrationPointSupported)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOCalType calType, EioUint8 rangeNumber);
94 void (*aOCalSetCurrentOutputMeasurement)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber,
float value);
95 void (*aOCalSetOutput)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber,
float value);
96 EioBoolean (*aOIsTypeSupported)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOType outputType);
97 float (*aOGetMinimumOutput)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOType outputType);
98 float (*aOGetMaximumOutput)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioAOType outputType);
99 EioDIData* (*dIGetDataPtr)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
100 void (*dIGetData)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber,
EioDIData *dataPtr);
101 void (*dISetDebounceTimeuS)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioUint32 debounceTimeuS);
102 void (*dISecondarySetData)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber,
EioDIData *dataPtr);
103 EioBoolean (*dIIsPulseCountingSupported)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
104 EioBoolean (*dIIsDebounceSupported)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
105 EioUint32 (*dIGetActualDebounceTimeuS)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioUint32 requestedDebounceTimeuS, EioUint8 cycleNumber);
106 void (*dOSetMode)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioDOMode mode);
107 EioBoolean (*dOIsModeSupported)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioDOMode outputMode);
108 EioDOStatus (*dOGetStatus)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
109 void (*dOSecondarySetStatus)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioDOStatus status);
110 void (*dOOOSetState)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioDOState state);
111 void (*dOOSOutputPulse)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioUint32 pulseTimeuS);
112 void (*dOOSReset)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
113 void (*dOOSSetInvert)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioBoolean invert);
114 void (*dOPTSendPulses)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioUint32 numberOfPulses);
115 void (*dOPTSetPerioduS)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioUint32 perioduS);
116 void (*dOPTReset)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
117 void (*dOPTSetInvert)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioBoolean invert);
118 EioUint32 (*dOPTGetActualPerioduS)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioUint8 cycleNumber, EioUint32 perioduS);
119 void (*dOTPOSetDemand)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber,
float demand);
120 void (*dOTPOSetMinimumPulseTimeuS)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioUint32 pulseTimeuS);
121 EioUint32 (*dOTPOGetActualMinimumPulseTimeuS)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioUint8 cycleNumber, EioUint32 requestedMinimumPulseTimeuS);
122 void (*dOTPOSetCycleTimeuS)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioUint32 cycleTimeuS);
123 EioUint32 (*dOTPOGetActualCycleTimeuS)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioUint8 cycleNumber, EioUint32 requestedCycleTimeuS);
124 EioBoolean (*dOTPOIsCycleTimeConfigurable)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
125 void (*dOVPSetDemand)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber,
float demand);
126 EioUint32 (*dOVPGetActualMinimumPulseTimeuS)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioUint8 cycleNumber, EioUint32 requestedMinimumPulseTimeuS);
127 void (*dOVPSetBacklashuS)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioUint32 backlashuS);
128 void (*dOVPSetInertiauS)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioUint32 inertiauS);
129 void (*dOVPSetStaticTimeuS)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioUint32 staticTimeuS);
130 EioBoolean (*dOVPIsPropertySupported)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioDOVPProperty property);
131 EioUint8 (*dOVPGetAssociatedPointOnModule)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
132 EioFIData* (*fIGetDataPtr)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber);
133 void (*fIGetData)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber,
EioFIData *dataPtr);
134 void (*fISetConfiguration)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber, EioFIType type,
float threshold,
float supplyMillivolts, EioUint32 debounce, EioUint32 filterTimeus,
float burdenOhms, EioBoolean enableSensorBreak, EioBoolean enableShortCircuitDetect);
135 void (*fISecondarySetData)(
EioSystem *ioSystem, EioUint8 moduleNumber, EioUint8 pointNumber,
EioFIData *dataPtr);
136 EioBoolean (*fIIsTypeSupported)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioFIType inputType);
137 EioBoolean (*fIIsDebounceSupported)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioFIType inputType);
138 EioBoolean (*fIIsThresholdSupported)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioFIType inputType);
139 EioBoolean (*fIIsShortCircuitDetectSupported)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioFIType inputType);
140 EioBoolean (*fIIsSensorBreakDetectSupported)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioFIType inputType);
141 EioBoolean (*fIIsPowerSupplySupported)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
142 float (*fIGetMaximumSupportedFrequency)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioFIType inputType);
143 float (*fIGetMinimumSupportedFrequency)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioFIType inputType);
144 float (*fIGetActualThreshold)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioFIType inputType,
float burdenOhms,
float requested);
145 float (*fIGetActualSupplyMillivolts)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber,
float requested);
146 EioUint32 (*fIGetMaxFilterTimeuS)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
147 EioBoolean (*fIIsBurdenConfigurable)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
148 float (*fIGetBurdenResistance)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber);
149 EioUint32 (*fIGetSlowestUpdateuS)(
EioSystem *ioSystem, EioModuleType moduleType);
150 EioUint32 (*fIGetActualDebounceTimeuS)(
EioSystem *ioSystem, EioModuleType moduleType, EioUint8 pointNumber, EioFIType type, EioUint32 debounce);
Definition: eio_syst.h:52
Definition: eio_sysf.h:14