linuxEPICS l EPICSExperiment Physics and Industrial Control System

  • Slides: 18
Download presentation

基于linux下EPICS的监控软件设计 l EPICS(Experiment Physics and Industrial Control System)是分布式的控制软件 l 客户端/服务器模式 l 使用的是Channel Access协议 l

基于linux下EPICS的监控软件设计 l EPICS(Experiment Physics and Industrial Control System)是分布式的控制软件 l 客户端/服务器模式 l 使用的是Channel Access协议 l Linux版本为SL 6. 0,EPICS Base版本为 3. 14. 12 l 模块asyn-4 -20,Stream. Device-2 -6 l 客户端软件使用的CSS BOY开发

EPICS 程的创建和Stream. Device的编译 l EPICS 程的创建 TH>$EPICS_BASE/bin/$EPICS_HOST_ARCH/make. Base. App. pl –t app TH TH>$EPICS_BASE/bin/$EPICS_HOST_ARCH/make.

EPICS 程的创建和Stream. Device的编译 l EPICS 程的创建 TH>$EPICS_BASE/bin/$EPICS_HOST_ARCH/make. Base. App. pl –t app TH TH>$EPICS_BASE/bin/$EPICS_HOST_ARCH/make. Base. App. pl –i -t ioc TH l 将Stream. Device拷贝到新创建的EPICS 程的TH目录下 l 修改$(TOP)/TH/configure/RELEASE文件 ASYN=/home/epics/support/asyn-4 -20 STREAM=/home/epics/TH/Stream. Device l 修改THApp/src/Makefile文件并重新编译 TH_DBD += stream. dbd TH_LIBS += stream asyn

创建协议文件TH. proto l Protocol文件定义了EPICS记录与硬件设备间的通信协议 l 不同类型的设备应使用各自独立的protocol文件 Extra. Input = Ignore; Terminator = CR LF;

创建协议文件TH. proto l Protocol文件定义了EPICS记录与硬件设备间的通信协议 l 不同类型的设备应使用各自独立的protocol文件 Extra. Input = Ignore; Terminator = CR LF; Replytimeout = 30000; cmd. Read. Data { out “#AA 8”; in “>%(TH: header. RVAL)4 r%(TH: data 1. RVAL)#2 r%(TH: data 2. RVAL)2 r%”; } ……

编辑st. cmd和. db文件 l 编辑st. cmd文件 epics. Env. Set(“ STREAM_PROTOCOL_PATH”, “$(TOP)/协议文件的路径”) drv. Asyn. IPPort.

编辑st. cmd和. db文件 l 编辑st. cmd文件 epics. Env. Set(“ STREAM_PROTOCOL_PATH”, “$(TOP)/协议文件的路径”) drv. Asyn. IPPort. Configure(“TH_Port”, “IP地址:端口号”) l 创建. db文件 record(stringout, “TH: cmd. Read. Data”) { field(DTYP, “stream”) field(out, “@TH. proto cmd. Read. Data TH_Port”) field(SCAN, “ 5 seconds”) } reord(ai, “TH: data 1”) { Field(PREC, “ 2”) } reord(ai, “TH: data 2”) { Field(PREC, “ 2”) } ……