Datasheet

io_init, function to initiate the framework
pwr_tStatus io_init(
io_mProcess process,
pwr_tObjid thread,
io_tCtx *ctx,
int relativ_vector,
float scan_time
);
io_sCtx, the context of the framework
struct io_sCtx {
io_sAgent *agentlist; /* List of agent structures */
io_mProcess Process; /* Callers process number */
pwr_tObjid Thread; /* Callers thread objid */
int RelativVector; /* Used by plc */
pwr_sNode *Node; /* Pointer to node object */
pwr_sClass_IOHandler *IOHandler; /* Pointer to IO Handler object */
float ScanTime; /* Scantime supplied by caller */
io_tSupCtx SupCtx; /* Context for supervise object lists */
};
Data structure for an agent
typedef struct s_Agent {
pwr_tClassId Class; /* Class of agent object */
pwr_tObjid Objid; /* Objid of agent object */
pwr_tOName Name; /* Full name of agent object */
io_mAction Action; /* Type of method defined (Read/Write)*/
io_mProcess Process; /* Process number */
pwr_tStatus (* Init) (); /* Init method */
pwr_tStatus (* Close) (); /* Close method */
pwr_tStatus (* Read) (); /* Read method */
pwr_tStatus (* Write) (); /* Write method */
pwr_tStatus (* Swap) (); /* Write method */
void *op; /* Pointer to agent object */
pwr_tDlid Dlid; /* Dlid for agent object pointer */
int scan_interval; /* Interval between scans */
int scan_interval_cnt;/* Counter to detect next time to scan */
io_sRack *racklist; /* List of rack structures */
void *Local; /* Pointer to method defined data structure*/
struct s_Agent *next; /* Next agent */
} io_sAgent;
Datastructure for a rack
typedef struct s_Rack {
pwr_tClassId Class; /* Class of rack object */
pwr_tObjid Objid; /* Objid of rack object */
pwr_tOName Name; /* Full name of rack object */
io_mAction Action; /* Type of method defined (Read/Write)*/
io_mProcess Process; /* Process number */
pwr_tStatus (* Init) (); /* Init method */
pwr_tStatus (* Close) (); /* Close method */
pwr_tStatus (* Read) (); /* Read method */
pwr_tStatus (* Write) (); /* Write method */
pwr_tStatus (* Swap) (); /* Swap method */
void *op; /* Pointer to rack object */
pwr_tDlid Dlid; /* Dlid fรถr rack object pointer */