当前位置:网站首页>EPICS記錄參考3 -- 所有記錄都有的字段
EPICS記錄參考3 -- 所有記錄都有的字段
2022-06-24 22:54:00 【yuyuyuliang00】
這部分包含了一段對所有記錄類型都有的字段的描述。這些字段在dbCommon.dbd中定義。
操作顯示參數
NAME字段包含了記錄名稱,它在一個EPICS通道訪問名稱空間中必須唯一。由程序開發者提供這個名稱並且是區分一個特定記錄的方式。名稱最長60個字符並且只使用這些有限字符:
a-z A-Z 0-9 _ - : [ ] < > ;
DESC字段可以被設成對這個記錄目的的有意義描述。最長是40個字符。
Field | Summary | Type | DCT | Default | Read | Write | CA PP |
---|---|---|---|---|---|---|---|
NAME | 記錄名稱 | STRING [61] | No | Yes | No | No | |
DESC | 描述 | STRING [41] | Yes | Yes | Yes | No |
掃描字段
這些字段包含與一個記錄何時以及如何運行相關的信息。一些記錄有也有影響它們如何運行的唯一字段。在這部分比特每個記錄列出這些字段並解釋。
SCAN字段為周期記錄指定掃描周期或者為非周期掃描記錄指定掃描類型。在menuScan.dbd中能够找到SCAN字段的默認集。
由這個菜單提供的選項是:
- passive對應被其它記錄或者通道訪問觸發的記錄
- Event對應事件驅動掃描
- I/O Intr對應中斷驅動掃描
- 一個周期掃描間隔集
通過本地複制menuScan.dbd並且根據需要添加更多選項,能够為各自的IOCs定義更多的周期掃描率。通常應該在其它掃描類型之後按順序定義周期掃描率。最長周期首先出現。能够用一個second/seconds, minute/minutes, hour/hours或Hertz/Hz的單比特字符串指定掃描周期。如果在選項字符串中包含單比特,使用秒。例如,這些速率都有效:
1 hour
0.5 hours
15 minutes
3 seconds
1 second
2 Hertz
PINI字段指定在初始化時記錄運行。如果在數據庫配置中設置它為YES,(在啟動正常的掃描任務前)在IOC初始化時運行這個記錄一次。
PHAS字段對在一個特定SCAN組中排序記錄。對於被動記錄著沒有意義。指定的phase的所有記錄在有更高phase數值的記錄前運行。使用鏈接的被動記錄實現運行順序而不是一個phase數值是更好的習慣。
EVNT字段指定一個事件號。如果SCAN字段設置為Event,使用事件號。當為EVNT進行一個post_event調用時,將運行掃描類型Event並且相同EVNT值得所有記錄。對post_event得調用:post_event(short event_number)。
PRIO字段為運行SCAN=I/O Event的集以及异步記錄完成任務指定調度優先級。
DISV字段指定一個"disable value"。當這個字段的值等於DISA字段的值。記錄運行不能開始,意味著這個記錄被禁用了。注意:通過數據庫或者通道訪問puts能够更改一個記錄那個字段值,即使這個記錄被禁用。
DISA字段包含與DISV比較的值,决定這個記錄是否被禁用。在IOC嘗試運行這個記錄前,從SDIS鏈接為DISA字段獲取一個值。如果SDIS未被設置,可能通過某些其它方法設置DISA來啟動或者禁用這個記錄。
DISS字段定義這個記錄的"disable severity"。如果這個字段不是NO_ALARM並且這個記錄被禁用,這個記錄將被置入狀態為DISABLE_ALARM和這個嚴重性的警報。
PROC字段:一個記錄的這個字段被寫入,運行這個記錄。
LSET字段包含這個記錄所屬的鎖集。用通過輸入,輸出或者轉發數據庫鏈接的任何方式鏈接一起的所有記錄屬於一個相同的鎖集。在IOC初始化時確定了鎖集,並且在添加、移除或者更改數據庫鏈接時被更新。
LCNT字段計算在連續掃描過程中dbProcess發現這個記錄活躍的次數,即使:PACT為TRUE。如果dbProcess發現這個記錄活躍MAX_LOCK次(當前設成10),它產生一個SCAN_ALARM。
PACT字段:當記錄活躍時(運行),這個字段為真。比特於异步記錄,從記錄運行啟動時到异步完成發生,PACT能够是真。只要PACT為真,dbProcess將不調用這個記錄運行例程。有關PACT的用法見程序開發指導。
FLNK字段是一個指向另一個記錄(“目標”記錄)的鏈接。只要提供的目標記錄的SCAN字段被設成Passive,運行一個設置了FLNK字段的記錄將在第一個記錄運行末尾(但在PACT被清除前)後觸發目標記錄運行。如果FLNK字段是一個通道訪問鏈接,它必須指向目標記錄的PROC字段。
SPVT字段為了被掃描系統內部使用。
Field | Summary | Type | DCT | Default | Read | Write | CA PP |
---|---|---|---|---|---|---|---|
SCAN | 掃描機制 | MENU | Yes | Yes | Yes | No | |
PINI | 在iocInit時運行 | MENU | Yes | Yes | Yes | No | |
PHAS | 掃描 Phase | SHORT | Yes | Yes | Yes | No | |
EVNT | 事件名 | STRING [40] | Yes | Yes | Yes | No | |
PRIO | 調度優先級 | MENU | Yes | Yes | Yes | No | |
DISV | Disable值 | SHORT | Yes | 1 | Yes | Yes | No |
DISA | Disable | SHORT | No | Yes | Yes | No | |
SDIS | Scanning Disable | INLINK | Yes | Yes | Yes | No | |
PROC | 强制運行 | UCHAR | No | Yes | Yes | Yes | |
DISS | Disable Alarm Sevrty | MENU | Yes | Yes | Yes | No | |
LCNT | 鎖計數 | UCHAR | No | Yes | No | No | |
PACT | 記錄活躍 | UCHAR | No | Yes | No | No | |
FLNK | 轉發運行鏈接 | FWDLINK | Yes | Yes | Yes | No | |
SPVT | 掃描私有 | NOACCESS | No | No | No | No |
警報字段
STAT字段包含當前警報狀態。
SEVR字段包含當前警報嚴重性。
AMSG字符串字段可能包含有關這個警報的更詳細信息。
STAT, SEVR和AMSG字段保存如數據庫之外所見的警報信息。NSTA,NSEV和NAMSG字段在記錄運行期間被數據庫訪問,記錄支持和設備支持例程用於設置警報狀態和嚴重性值和消息文本。當任何軟件組件發現一個警報狀况,它調用這些例程之一注册這個警報:
recGblSetSevr(precord, new_status, new_severity);
recGblSetSevrMsg(precord, new_status, new_severity, "Message", ...);
這些例程檢查當前警報嚴重性並且如果合適更新NSTA,NSEV和NAMSG,因此在記錄運行期間到目前,它們總是與最高嚴重性警報關聯。文件alarm.h定義了可用的警報狀態和嚴重性值。在記錄運行即將結束之際,這些字段被複制到了STAT,SEVR和AMSG字段並且警報監控被觸發。
ACKS字段包含最高未確認的警報嚴重性。
ACKT字段指定確認瞬態警報是否必要。
UDF字段錶明這個記錄的值是否是未定義的。這一般由設備支持中故障引起,實際:這個記錄從未被運行,或者VAL字段當前包含一個NaN(非數值)或者Inf(無限)值。UDF默認TRUE,但能够在數據庫文件中被設置。寫到VAL字段的記錄和設備支持例程一般負責設置和清除UDF。
Field | Summary | Type | DCT | Default | Read | Write | CA PP |
---|---|---|---|---|---|---|---|
STAT | 警報狀態 | MENU (menuAlarmStat) | No | UDF | Yes | No | No |
SEVR | 警報嚴重性 | MENU (menuAlarmSver) | No | Yes | No | No | |
AMSG | 警報消息 | STRING [40] | No | Yes | No | No | |
NSTA | 新警報狀態 | MENU (menuAlarmStat) | No | Yes | No | No | |
NSEV | 新警報嚴重性 | MENU (menuAlarmSver) | No | Yes | No | No | |
NAMSG | 新警報消息 | STRING [40] | No | Yes | No | No | |
ACKS | Alarm Ack Severity | MENU (menuAlarmSver) | No | Yes | No | No | |
ACKT | Alarm Ack Transient | MENU(menuYesNo) | Yes | YES | Yes | No | No |
UDF | 未定義 | UCHAR | Yes | 1 | Yes | Yes | Yes |
設備字段
RSET字段包含記錄支持入口錶的地址。
DSET字段設備支持入口錶的地址。這個字段的值是在IOC初始化時被確定。記錄支持例程使用這個字段來尋找它們的設備支持例程。
DPVT字段用於設備支持模塊私用。
Field | Summary | Type | DCT | Default | Read | Write | CA PP |
---|---|---|---|---|---|---|---|
RSET | RSET的地址 | NOACCESS | No | No | No | No | |
DSET | DSET地址 | NOACCESS | No | No | No | No | |
DPVT | Device私有 | NOACCESS | No | No | No | No |
調試字段
TPRO字段可以用於跟踪記錄運行。當這個字段是非零並且記錄被運行,將為這個記錄以及在相同鎖集中由來自這個記錄的數據庫鏈接觸發的任何其它記錄打印跟踪消息。跟踪消息包含進行運行的線程名,以及被運行的記錄名。
BKPT字段錶明在這個記錄中有一個斷點設置。這支持在記錄運行中設置一個調試斷點。使用這個能够支持STEP通過數據庫運行。
Field | Summary | Type | DCT | Default | Read | Write | CA PP |
---|---|---|---|---|---|---|---|
TPRO | T追踪運行 | UCHAR | No | Yes | Yes | No | |
BKPT | 斷點 | NOACCESS | No | No | No | No |
其它字段
ASG字符串字段設置用於這個記錄的訪問安全組的名稱。如果留空,這個記錄被放在組DEFAULT。
ASP字段為用於訪問安全系統私有。
DISP字段控制來自IOC外部的puts是否完全被允許修改這個記錄的字段。如果字段設置為TRUE,除了對字段DISP自身的puts外,忽略直接對這個記錄的所有puts。
DTYP字段為記錄指定設備類型。大多數記錄類型有它們自己的設備類型集合,再IOC的數據庫定義文件中指定它們。如果一個記錄類型不調用任何設備支持例程,不使用DTYP和DSET字段。
MLOK字段包含一個互斥鎖,當對應這個記錄的監控列錶被訪問時,它被在dbEvent.c中的監控例程上鎖。
MLIS字段保存一張連接到這個記錄的客戶監控的鏈錶。每個記錄支持模塊負責為由於記錄運行發生變化的任何字段觸發監控。
PPN字段包含一個putNotify callback的地址。
PPNR字段為PutNotify包含下一個記錄。
PUTF字段如果dbPutField引起當前記錄運行,其被設置成True。
RDES字段包含dbRecordType的地址。
RPRO字段指定當前運行結束時這個記錄再次運行。
TIME字段保存上次運行這個記錄的時間戳。
UTAG字段用於保存一個站點特定的64比特用戶標簽只,其與記錄的時間戳有關。
TSE字段指定用來獲取時間戳的機制。'0':像前面一樣調用get time。‘-1’:調用時間戳驅動斌並且使用最佳可用源。‘-2’:設備支持來自硬件的時間戳和可選的用戶標簽。再1-255之間的指請求generalTime事件的上次發生時間。
TSEL字段包含一個用於獲取時間戳的輸入鏈接。如果這個鏈接指向一個記錄的TIME字段,則那個記錄的時間戳和用戶標簽被直接複制到這個記錄(通道訪問鏈接只能複制這個時間戳)。如果鏈接指向任何其它字段,那個字段的值被讀取並且存儲到TSE字段,其接著用於獲取一個時間戳。
Field | Summary | Type | DCT | Default | Read | Write | CA PP |
---|---|---|---|---|---|---|---|
ASG | 訪安全組問 | STRING [29] | Yes | Yes | Yes | No | |
ASP | 訪問安全Pvt | NOACCESS | No | No | No | No | |
DISP | 禁用putField | UCHAR | No | Yes | Yes | No | |
DTYP | 設備類型 | DEVICE | Yes | Yes | Yes | No | |
MLOK | 監控鎖 | NOACCESS | No | No | No | No | |
MLIS | 監控列錶 | NOACCESS | No | No | No | No | |
PPN | pprocessNotify | NOACCESS | No | No | No | No | |
PPNR | pprocessNotifyRecord | NOACCESS | No | No | No | No | |
PUTF | dbPutField過程 | UCHAR | No | Yes | No | No | |
RDES | dbRecordType的地址 | NOACCESS | No | No | No | No | |
RPRO | Reprocess | UCHAR | No | Yes | No | No | |
TIME | 時間 | NOACCESS | No | No | No | No | |
UTAG | 事件標簽 | UINT64 | No | Yes | No | No | |
TSE | 時間戳事件 | SHORT | Yes | Yes | Yes | No | |
TSEL | 時間戳鏈接 | INLINK | Yes | Yes | Yes | No |
边栏推荐
- 重磅!法大大上榜“专精特新”企业
- CDN principle
- O (n) complexity hand tear sorting interview questions | an article will help you understand counting sorting
- 京东618会议平板排行榜公布,新锐黑马品牌会参谋角逐前三名,向国货老大华为学习
- 详细了解关于sentinel的实际应用
- [personal experiment report]
- China solar window market trend report, technical dynamic innovation and market forecast
- Idea close global search box
- 【軟件工程】期末重點
- Research Report on market supply and demand and strategy of China's solar charging controller industry
猜你喜欢
2022-06-16 work record --js- judge the number of digits in string type digits + judge the number of digits in numeric type digits + limit the text length (display n words at most, exceeding...)
Online filing process
Based on the codeless platform, users deeply participated in the construction, and digital data + Nanjing Fiberglass Institute jointly built a national smart laboratory solution
vulnhub Vegeta: 1
Analyze the implementation process of oauth2 distributed authentication and authorization based on the source code
High level application of SQL statements in MySQL database (II)
【武汉大学】考研初试复试资料分享
Chapter 10 project stakeholder management
Panorama of enterprise power in China SSD industry
win10或win11打印机无法打印
随机推荐
Solve the problem of non secure websites requesting localhost to report CORS after chrome94
shopee开店入驻流水如何提交?
【Laravel系列7.9】测试
MySQL + JSON = King fried!!
Learning bit segment (1)
Principle of IP routing
In the era of full programming, should I give up this road?
LeetCode Algorithm 剑指 Offer II 027. 回文链表
Virtual private network foundation
2022-06-10 work record --js- obtain the date n days after a certain date
Heavyweight! Fada is listed as a "specialized and new" enterprise
大厂面试必问:如何解决TCP可靠传输问题?8张图带你详细学习
New, Huawei cloud Kaitian apaas
JWT(Json Web Token)
The difference between get and post
详细了解Redis的八种数据类型及应用场景分析
Cat write multiline content to file
Learn more about redis' eight data types and application scenario analysis
Basic principles of spanning tree protocol
Row and column differences in matrix construction of DX HLSL and GL glsl