|
|
(2 intermediate revisions by one other user not shown) |
Line 1: |
Line 1: |
| = dbCommon =
| | This is obsolete replaced by "V4 Design: IocRecord" |
| | |
| NOTE: dbCommon needs work. It should have more structure.
| |
| | |
| <tt>dbCommon.dbd</tt> defines the following:
| |
| | |
| # menu definitions for dbRecordCommon fields
| |
| menu(menuPriority) {
| |
| choice(menuPriorityLow, "Low")
| |
| choice(menuPriorityMedium, "Medium")
| |
| choice(menuPriorityHigh, "High")
| |
| }
| |
| | |
| ''This may change, moving periods to their own field:''
| |
| menu(menuScan) {
| |
| choice(menuScanPassive, "Passive")
| |
| choice(menuScanEvent, "Event")
| |
| choice(menuScanInterrupt, "Interrupt")
| |
| choice(menuScan10second, "10 second")
| |
| choice(menuScan5second, "5 second")
| |
| choice(menuScan2second, "2 second")
| |
| choice(menuScan1second, "1 second")
| |
| choice(menuScan_5second, ".5 second")
| |
| choice(menuScan_2second, ".2 second")
| |
| choice(menuScan_1second, ".1 second")
| |
| }
| |
| | |
| menu(menuAlarmSevr) {
| |
| choice(menuAlarmSevrNone, "None")
| |
| choice(menuAlarmSevrMinor, "Minor")
| |
| choice(menuAlarmSevrMajor, "Major")
| |
| choice(menuAlarmSevrInvalid, "Invalid")
| |
| }
| |
| | |
| menu(menuConvert) {
| |
| choice(menuConvertRaw, "Raw")
| |
| choice(menuConvertLinear, "Linear")
| |
| choice(menuConvertTable, "Table")
| |
| }
| |
| | |
| | |
| ''The following definitions may be wrong''
| |
| | |
| #definition for constant links
| |
| struct constantlink {
| |
| field(value,string)
| |
| }
| |
| #definitions for ca, da, pv links
| |
| #dblink must reference a pv in the same ioc.
| |
| struct(dblink) {
| |
| field(pvname,string) { link}
| |
| field(pp,bool)
| |
| field(ms,bool)
| |
| }
| |
| struct(dbfwdlink) {field(pvname,string){link}}
| |
| #calink forces a link to be a channel access link
| |
| struct(calink) {
| |
| field(pvname,string) { link}
| |
| field(pp,bool)
| |
| field(ms,bool)
| |
| }
| |
| struct(cafwdlink) {field(pvname,string){link}}
| |
| #pvlink becomes (dblink,calink) if pvname is (local,remote)
| |
| struct(pvlink) {
| |
| field(pvname,string) { link}
| |
| field(pp,bool)
| |
| field(ms,bool)
| |
| }
| |
| struct(pvfwdlink) {field(pvname,string){link}}
| |
| link(inout,"constant",constantlink)
| |
| link(inout,"dblink",dblink)
| |
| link(inout,"calink",calink)
| |
| link(inout,"pvlink",pvlink)
| |
| link(fwd,"dblink",dbfwdlink)
| |
| link(fwd,"calink",cafwdlink)
| |
| link(fwd,"pvlink",pvfwdlink)
| |
| | |
| #definitions for common properties
| |
| struct(timeStamp) {
| |
| field(secPastEpoch,uint64)
| |
| field(nsec,uint32)
| |
| }
| |
| | |
| | |
| = iocRecord =
| |
| | |
| <tt>iocRecord.dbd</tt> must be part of every record, and defines the following:
| |
| | |
| ''This will be restructured.''
| |
| | |
| record(iocRecord) {
| |
| field(description,string)
| |
| field(accessSecurityGroup,string) {
| |
| special(yes)
| |
| }
| |
| field(scan,menu(menuScan)) {
| |
| special(yes)
| |
| }
| |
| field(pini,bool)
| |
| field(phase,int16)
| |
| field(eventNumber,int16) {
| |
| special(yes)
| |
| }
| |
| field(timeStampEvent,int16)
| |
| field(timeStampLink,link(in))
| |
| field(disableValue,int16) {
| |
| default("1")
| |
| }
| |
| field(disableInput,int16)
| |
| field(disableLink,link(in))
| |
| field(disablePutField,bool)
| |
| field(process,bool) {
| |
| special(yes)
| |
| }
| |
| field(alarmStatus,string) {
| |
| readonly(yes)
| |
| dynamic(yes)
| |
| default("UDF")
| |
| }
| |
| field(alarmSeverity,menu(menuAlarmSevr)) {
| |
| readonly(yes)
| |
| dynamic(yes)
| |
| default("Invalid")
| |
| }
| |
| field(newAlarmStatus,string) {
| |
| design(no)
| |
| readonly(yes)
| |
| }
| |
| field(newAlarmSeverity,menu(menuAlarmSevr)) {
| |
| design(no)
| |
| readonly(yes)
| |
| }
| |
| field(alarmAckSeverity,menu(menuAlarmSevr)) {
| |
| design(no)
| |
| readonly(yes)
| |
| }
| |
| field(alarmAckTransient,bool) {
| |
| readonly(yes)
| |
| default("YES")
| |
| }
| |
| field(disableAlarmSeverity,menu(menuAlarmSevr))
| |
| field(lockCount,int16) {
| |
| design(no)
| |
| readonly(yes)
| |
| }
| |
| field(pact,bool) {
| |
| design(no)
| |
| readonly(yes)
| |
| }
| |
| field(putFieldProcess,bool) {
| |
| design(no)
| |
| readonly(yes)
| |
| }
| |
| field(reprocess,bool) {
| |
| design(no)
| |
| readonly(yes)
| |
| }
| |
| field(priority,menu(menuPriority)) {
| |
| special(yes)
| |
| }
| |
| field(udf,bool) {
| |
| default("1")
| |
| }
| |
| field(time,struct(timeStamp)) {
| |
| design(no)
| |
| dynamic(yes)
| |
| readonly(yes)
| |
| }
| |
| field(flnk,link(fwd))
| |
| field(monitorLock,private("epicsMutexId"))
| |
| field(monitorList,private("ELLLIST"))
| |
| field(asp,private("void *"))
| |
| field(ppn,private("struct putNotify *")
| |
| field(ppnr,private("struct putNotifyRecord *"))
| |
| field(spvt,private("struct scan_element *"))
| |
| field(rset,private("struct rset *"))
| |
| field(rdes,private(struct dbRecordType *"))
| |
| field(lset,private("struct lockRecord *"))
| |
| }
| |