Difference between revisions of "RRM 3-14 Permissive"

From EPICSWIKI
 
m (→‎Client-server Parameters: remove unneeded "the")
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
[[RRM 3-13|EPICS Record Reference Manual]]
[[RRM 3-14|EPICS Record Reference Manual]]




Line 18: Line 18:
=== Scan Parameters ===
=== Scan Parameters ===


The permissive record has the standard fields for specifying under what circumstances the record will be processed. These fields are listed in [[RRM 3-13 dbCommon#Scan Fields|Scan Fields]]. In addition, [[RRM 3-13 Concepts#Scanning Specification|Scanning Specification]] explains how these fields are used. Since the permissive record supports no direct interfaces to hardware, its SCAN field cannot be <CODE>I/O Intr</CODE>.
The permissive record has the standard fields for specifying under what circumstances the record will be processed. These fields are listed in [[RRM 3-14 dbCommon#Scan Fields|Scan Fields]]. In addition, [[RRM 3-14 Concepts#Scanning Specification|Scanning Specification]] explains how these fields are used. Since the permissive record supports no direct interfaces to hardware, its SCAN field cannot be <CODE>I/O Intr</CODE>.




Line 27: Line 27:
When WFLG is off--when the server is busy--the client program may turn the VAL field from OFF to ON. After the server finishes its task, it will notice that VAL is ON and will turn both WFLG and VAL OFF and performs the requested service.
When WFLG is off--when the server is busy--the client program may turn the VAL field from OFF to ON. After the server finishes its task, it will notice that VAL is ON and will turn both WFLG and VAL OFF and performs the requested service.


Note that the when WFLG is ON, the client program ''must not'' turn VAL to on.
Note that when WFLG is ON, the client program ''must not'' turn VAL to on.




Line 35: Line 35:
<TD>WFLG <TD>Watchdog Flag<TD>USHORT<TD>No<TD>0<TD>Yes<TD>Yes<TD>Yes<TD>Yes
<TD>WFLG <TD>Watchdog Flag<TD>USHORT<TD>No<TD>0<TD>Yes<TD>Yes<TD>Yes<TD>Yes
</TABLE>
</TABLE>


=== Operator Display Parameters ===
=== Operator Display Parameters ===


The label field (LABL) contains a string given to it that should describe the record in further detail. In  addition to the DESC field. See [[RRM 3-13 dbCommon#Fields Common to All Record Types|Fields Common to All Record Types]] for more on the record name (NAME) and description (DESC) fields.
The label field (LABL) contains a string given to it that should describe the record in further detail. In  addition to the DESC field. See [[RRM 3-14 dbCommon#Fields Common to All Record Types|Fields Common to All Record Types]] for more on the record name (NAME) and description (DESC) fields.




Line 52: Line 51:
=== Alarm Parameters ===
=== Alarm Parameters ===


The Permissive record has the alarm parameters common to all record types.  [[RRM 3-13 dbCommon#Alarm Fields|Alarm Fields]] lists other fields related to a alarms that are common to all record types.
The Permissive record has the alarm parameters common to all record types.  [[RRM 3-14 dbCommon#Alarm Fields|Alarm Fields]] lists other fields related to a alarms that are common to all record types.





Latest revision as of 14:26, 12 October 2012

EPICS Record Reference Manual


Permissive

The permissive record is for communication between a server and a client. An example would be a sequence program server and an operator interface client. By using multiple permissive records a sequence program can communicate its current state to the client.

Parameter Fields

The fields in this record fall into the following categories:

  • scan parameters
  • client-server parameters
  • operator display parameters
  • monitor parameters

Scan Parameters

The permissive record has the standard fields for specifying under what circumstances the record will be processed. These fields are listed in Scan Fields. In addition, Scanning Specification explains how these fields are used. Since the permissive record supports no direct interfaces to hardware, its SCAN field cannot be I/O Intr.


Client-server Parameters

The client and server communicate through the VAL and watchdog flag (WFLG) fields. At initialization, both fields are set equal to 0, which means OFF. The server sets WFLG equal to ON when it is ready to accept a request. The client monitors WFLG and when WFLG equals 1, the client-server action is performed (a private matter between server and client).

When WFLG is off--when the server is busy--the client program may turn the VAL field from OFF to ON. After the server finishes its task, it will notice that VAL is ON and will turn both WFLG and VAL OFF and performs the requested service.

Note that when WFLG is ON, the client program must not turn VAL to on.


FieldSummaryTypeDCTInitialAccessModifyRec Proc MonitorPP
VAL Value FieldUSHORTNo0YesYesYesYes
WFLG Watchdog FlagUSHORTNo0YesYesYesYes

Operator Display Parameters

The label field (LABL) contains a string given to it that should describe the record in further detail. In addition to the DESC field. See Fields Common to All Record Types for more on the record name (NAME) and description (DESC) fields.


FieldSummaryTypeDCTInitialAccessModifyRec Proc MonitorPP
LABL LabelSTRING [20]YesNullYesYesNoYes
NAMERecord NameSTRING [29]Yes0YesNoNoNo
DESCDescriptionSTRING [29]YesNullYesYesNoNo


Alarm Parameters

The Permissive record has the alarm parameters common to all record types. Alarm Fields lists other fields related to a alarms that are common to all record types.


Run-time Parameters

These fields are used to trigger monitors for each field. Monitors for the VAL field are triggered when OVAL, the old value field, does not equal VAL. Likewise, OFLG causes monitors to be invoked for WFLG when WFLG does not equal OLFG.


FieldSummaryTypeDCTInitialAccessModifyRec Proc MonitorPP
OVAL Old Value USHORTNo0YesNoNoNo
OFLG Old Flag ValueUSHORTNo0YesNoNoNo


Record Support

Record Support Routines

Two record support routines are provided: process, and get_value.

process

process sets UDF to FALSE, triggers monitors on VAL and WFLG when they change, and scans the forward link if necessary.

get_value

get_value fills in struct valueDes so that it refers to VAL.




EPICS Record Reference Manual - 19 MAY 1998