INPUTS | ALGORITHMS | OUTPUTS |
---|---|---|
Analog Input | Calculation | Analog Output | Binary Input | PID | Binary Output | Muli-bit Binary Input | Signal Select | Multi-bit Binary Output | Digitized Analog Input | Data Compression | Stepper Motor | State | Subroutine | Timing Signal | String Input | Fanout | Permissive | Long Input | Histogram | String Output | Pulse Counter | Long Output | Pulse Train | Pulse Delay |
struct aiRecord {
/* start of record common fields*/ char name[28]; /* Record Name */ char desc[28]; /* Descriptor */ unsigned short scan; /* Scan Mechanism */ unsigned short pini; /* Process at iocInit */ short phas; /* Scan Phase */ short evnt; /* Event Number */ struct link sdis; /* Scanning Disable */ unsigned short dtyp; /* Device Type */ short disv; /* Disable Value */ short disa; /* Disable */ unsigned char disp; /* Disable putField */ unsigned char proc; /* Force Processing */ FAST_LOCK mlok; /* Monitor fastlock */ LIST mlis; /* Monitor List */ unsigned short stat; /* Alarm Status */ unsigned short sevr; /* Alarm Severity */ unsigned short nsta; /* New Alarm Status */ unsigned short nsev; /* New Alarm Severity */ char p001[4]; /* Created Pad */ TS_STAMP time; /* Time */ short lset; /* Lock Set */ unsigned char lcnt; /* Lock Count */ unsigned char pact; /* Record active */ caddr_t spvt; /* Scan Private */ caddr_t rset; /* Address of RSET */ struct dset *dset; /* DSET address */ caddr_t dpvt; /* Device Private */ unsigned char tpro; /* Trace Processing */ unsigned char udf; /* Undefined */ unsigned short prio; /* Scheduling Priority */ struct link flnk; /* Forward Process Link */ /* start of ai specific fields */ double val; /* Current EGU Value */ struct link inp; /* Input Specification */ short prec; /* Display Precision */ unsigned short linr; /* Linearization */ float eguf; /* Engineer Units Full */ float egul; /* Engineer Units Low */ char egu[16]; /* Engineering Units */ float hopr; /* High Operating Range */ float lopr; /* Low Operating Range */ float aoff; /* Adjustment Offset */ float aslo; /* Adjustment Slope */ float smoo; /* Smoothing */ float hihi; /* Hihi Alarm Limit */ float lolo; /* Lolo Alarm Limit */ float high; /* High Alarm Limit */ float low; /* Low Alarm Limit */ unsigned short hhsv; /* Hihi Severity */ unsigned short llsv; /* Lolo Severity */ unsigned short hsv; /* High Severity */ unsigned short lsv; /* Low Severity */ double hyst; /* Alarm Deadband */ double adel; /* Archive Deadband */ double mdel; /* Monitor Deadband */ double lalm; /* Last Value Alarmed */ double alst; /* Last Value Archived */ double mlst; /* Last Val Monitored */ double eslo; /* Rawto EGU Slope */ long roff; /* Raw Offset */ caddr_t pbrk; /* Ptrto brkTable */ short init; /* Initialized? */ short lbrk; /* LastBreak Point */ long rval; /* Current Raw Value */ long oraw; /* Previous Raw Value */ };
Links between records may represent ...