epics examples

1# @Language: Markdown 2# @Software: VS Code/MacDown/Typora/Vim 3# @Author : Di Wang 4# @Email : [email protected] 缘由: 最近看到了Gabriel创建的项目 epics-examples database-examples 感觉是应用费曼学习法的良机. 于是决定创建此文, 记录相关内容. 正如Gabriel所写: This repository aims to collect examples of EPICS Databases to help newcomers (or not so new) get an idea on how to use different records. ...

May 7, 2024 · 18 min · 8912 words · DW

epics recsync

1# @Language: Markdown 2# @Software: VS Code/MacDown/Typora/Vim 3# @Author : Di Wang 4# @Email : [email protected] See epics examples 用于Channel Finder. 也就是把ioc中的record信息, epics environment以及info tag发送到一个数据库. ...

May 27, 2024 · 2 min · 582 words · DW

epics caputlog

1# @Language: Markdown 2# @Software: VS Code/MacDown/Typora/Vim 3# @Author : Di Wang 4# @Email : [email protected] See epics examples 用法 log可以有JSON格式, 需要epics 7.0.1以上. server可以使用iocLogServer. 1<IOC app name>_DBD += caPutLog.dbd # For standard format 2<IOC app name>_DBD += caPutJsonLog.dbd # For JSON format (Exists only if module is compiled with supported version of base) 3<IOC app name>_LIBS += caPutLog # Required for both output formats 需要首先配置Access security, 对于DEFAULTgroup, 添加RULE(1,WRITE,TRAPWRITE). 然后在iocsh中, 设置 ...

May 27, 2024 · 1 min · 494 words · DW

epics shell commands

1# @Language: Markdown 2# @Software: VS Code/MacDown/Typora/Vim 3# @Author : Di Wang 4# @Email : [email protected] provided shell commands in 7.0.8: 1epics> help 2# ClockTime_Report asDumpHash asInit 3asSetFilename asSetSubstitutions ascar asdbdump 4asphag aspmem asprules aspuag astac 5callbackParallelThreads callbackQueueShow 6callbackSetQueueSize casr cd coreRelease 7date dbCreateAlias dbDumpBreaktable dbDumpDevice 8dbDumpDriver dbDumpField dbDumpFunction dbDumpLink dbDumpMenu 9dbDumpPath dbDumpRecord dbDumpRecordType 10dbDumpRegistrar dbDumpVariable dbLoadDatabase dbLoadGroup dbLoadRecords 11dbLoadTemplate dbLockShowLocked dbNotifyDump dbPutAttribute 12dbPvdDump dbPvdTableSize dbReportDeviceConfig dbStateClear 13dbStateCreate dbStateSet dbStateShow dbStateShowAll dba 14dbap dbb dbc dbcar dbd 15dbel dbgf dbgl dbgrep dbhcr 16dbior dbjlr dbl dbla dbli 17dblsr dbnr dbp dbpf dbpr 18dbpvar dbs dbsr dbstat dbtgf 19dbtpf dbtpn dbtr dlload echo 20eltc epicsEnvSet epicsEnvShow epicsEnvUnset 21epicsMutexShowAll epicsParamShow epicsPrtEnvParams 22epicsThreadResume epicsThreadShow epicsThreadShowAll 23epicsThreadSleep errlog errlogInit errlogInit2 24exit generalTimeReport gft help 25installLastResortEventProvider iocBuild iocInit iocLogInit 26iocLogPrefix iocLogShow iocPause iocRun iocshCmd 27iocshLoad iocshRun on pft postEvent 28pval pvasr pwd refdiff refmon 29refsave refshow registerAllRecordDeviceDrivers 30registryDeviceSupportFind registryDriverSupportFind registryDump 31registryFunctionFind registryRecordTypeFind 32scanOnceQueueShow scanOnceSetQueueSize scanpel 33scanpiol scanppl setIocLogDisable 34softIocPVA_registerRecordDeviceDriver startPVAServer stopPVAServer 35system taskwdShow tpn var 36 37Type 'help <command>' to see the arguments of <command>. eg. 'help db*' # Note that, trailing comment does not work as you thought inside iocsh. if you run command like outputWhenHigherThan(12, 10) # output 10 when value > 12, do not be too surprised with the result. ...

May 25, 2024 · 5 min · 929 words · DW

epics busy

1# @Language: Markdown 2# @Software: VS Code/MacDown/Typora/Vim 3# @Author : Di Wang 4# @Email : [email protected] See epics examples 当设定一个motor时, 我们需要确定设置已经完成, 再进行下一步操作(比如开启快门). 采集数据, 完成后然后关闭快门. 这中间, motor移动的时间不确定, 采集数据的时间不确定. 而使用轮询的方式又显得不可靠. ...

May 10, 2024 · 2 min · 598 words · DW

epics sequencer

1# @Language: Markdown 2# @Software: VS Code/MacDown/Typora/Vim 3# @Author : Di Wang 4# @Email : [email protected] See epics examples 介绍 自从去年夏天bessy被网络攻击之后, sequencer的网站 (http://www-csr.bessy.de/control/SoftDist/sequencer/) 就打不开了. Ralph建立了一个镜像仓库, 可以从此处下载源码. (http://www-csr.bessy.de/control/SoftDist/sequencer/) ...

May 10, 2024 · 1 min · 382 words · DW

epics access security

1# @Language: Markdown 2# @Software: VS Code/MacDown/Typora/Vim 3# @Author : Di Wang 4# @Email : [email protected] See epics examples 关键词 ASL: Access Security Level. ASG: Access Security Group UAG: User Access Group HAG: Host Access Group 每个record field都有ASL, 在dbd文件中定义, 可以是ASL0或者ASL1. 通常VAL field为ASL0, 其它为ASL1. ASL1的优先级高于ASL0 ...

May 8, 2024 · 2 min · 853 words · DW

epics autosave

1# @Language: Markdown 2# @Software: VS Code/MacDown/Typora/Vim 3# @Author : Di Wang 4# @Email : [email protected] See epics examples 功能 save 把record的某个field值保存到某个文件中(.sav文件) 对于vxWorks, 涉及nfs的处理 要选择保存哪些field, 用.req文件来指定, 或者用record的info field. 例: info(autosaveFields, VAL) 处理.req文件的路径以及.sav文件的路径 对于.sav文件, 还要处理备份 restore 在iocInit过程中, 从文件中恢复值. 涉及到iocInit过程中的哪个阶段(pass 0 or pass 1)恢复. autosave使用术语position和setting来区分pass0和pass1, 但显然不如直接使用pass0和pass1方便记忆. 处理不同情况的restore, 如waveform, record link. 编译 在$(HOME)/epics/R7.0.8/modules目录下编译autosave之后, 在$(HOME)/epics/R7.0.8/ioc目录下创建autosave ioc, 然后创建RELEASE.local文件. ...

May 7, 2024 · 4 min · 1583 words · DW

epics aysn

1# @Language: Markdown 2# @Software: VS Code/MacDown 3# @Author : Di Wang 4# @Email : [email protected] asyn 阅读本文需要对epics中的概念比较熟悉. 建议阅读EPICS AppDevGuide. 也许是历史原因, asyn文档中的概念很混乱. 很大程度上是源于一词多义与函数命名上的随意. 比如非常多的相似Callback函数名称. 也比如driver, support, implement等词, 既可以表达asyn中的专用概念, 也会作寻常用法使用. 还比如对driver一词的使用. 有时候是epics driver support, 有时候又是port driver, 有时候又写成device driver. 而port driver, 一般来说指一系列hardware driver, 但又容易与为了减少代码编写量而引入的asynPortDriver这一个c++ class的名字混淆. 因此我决定撰写此文便于将来的自己理解. ...

April 1, 2024 · 12 min · 5594 words · DW

MVME5500-vxworks

1# @Time : 2020-11-28 2# @Language: Markdown 3# @Software: VS Code 4# @Author : Di Wang 5# @Email : [email protected] 最近折腾了一星期的VME和VxWorks,遇到了不少问题,怀疑了EPICS ioc,base版本,bootROM,kernel image文件权限,甚至开始怀疑VME机箱了,最后在东日研究所公司飯塚san的帮助下解决了,记录下踩的坑。最想吐槽的是因为VME5500使用RJ45作为串口,因此需要使用RJ45转Dsub9的线,但是我MacBook的拓展坞又不支持DB9,试了下中间加一层DB9转usb,失败,最后还是找了台8年前的HP老台式搞定,但运气不好的我又遇到了台式机电源挂掉,只能又从废弃机器里拆了一个还能用的电源给它换上,得出的教训就是以后再买Windows的办公笔记本,一定要买自带串口的。 ...

December 2, 2020 · 6 min · 2630 words · DW