Webmin在EPICS IOC启动中的应用

本文使用webmin启动远程工控机中的EPICS IOC,受控设备使用PI公司的六轴台以及相应的控制器C-887:

1)控制器C-887

2) 六轴台:

3)在工控机上安装用于与C-887控制器进行通信的EPICS IOC程序,安装结束后,进入启动目录(EPICS IOC代码位于Github上GitHub - epics-motor/motorPIGCS2: EPICS asyn motor drivers for PI GCS2 controllers):

[root@localhost iocC887]# ls
envPaths  Makefile  PI_GCS2.substitutions  start.sh  st.cmd

编辑st.cmd,设置C-887控制器的IP地址,用于连接控制器:

#!../../bin/linux-x86_64/C887#- You may have to change C887 to something else
#- everywhere it appears in this file< envPathscd "${TOP}"## Register all support components
dbLoadDatabase "dbd/C887.dbd"
C887_registerRecordDeviceDriver pdbbasedrvAsynIPPortConfigure("C867_ETH","192.168.3.220:23",0,0,0)
# Turn on asyn trace
asynSetTraceMask("C867_ETH",0,3)
asynSetTraceIOMask("C867_ETH",0,1)# PI_GCS2_CreateController(portName, asynPort, numAxes, priority, stackSize, movingPollingRate, idlePollingRate)
PI_GCS2_CreateController("C867", "C867_ETH",6, 0,0, 100, 1000)cd "${TOP}/iocBoot/${IOC}"
dbLoadTemplate("PI_GCS2.substitutions")iocInit

编辑一个start.sh的shell脚本,内容如下:

#!/bin/bashcd /usr/local/EPICS/program/motorHexpod-C887/iocBoot/iocC887
../../bin/linux-x86_64/C887 st.cmd

在/root目录下,创建三个文件其内容如下所示:

  C887-Check-EPICS-Server.sh:用于查看IOC是否已经启动

[root@localhost ~]# cat C887-Check-EPICS-Server.sh
#!/bin/bashscreen -ls | grep "\.C887\b"if [ $? -eq 0 ];thenecho "C887 Server is already running now!"
elseecho "C887 Server is not running!"
fi

 C887-Start-EPICS-Server.sh:用于启动EPICS IOC

[root@localhost ~]# cat C887-Start-EPICS-Server.sh
#!/bin/bashsource /etc/profile.d/epics.sh
echo "Start C887 EPICS server, waiting ..."screen -ls | grep "\.C887\b"if [ $? -eq 0 ];thenecho "C887 server is already running now!"
elsecd /usr/local/EPICS/program/motorHexpod-C887/iocBoot/iocC887/screen -dmS C887 ./start.shret=$?sleep 5if [ $ret -eq 0 ];thenecho "Start C887 Server successfully"exit 0elseecho "Failed to Start C887 Server"exit 1fifiecho "Start finished!"

 C887-Stop-EPICS-Server.sh:用于结束EPICS IOC

[root@localhost ~]# cat C887-Stop-EPICS-Server.sh
#!/bin/bashscreen -ls | grep "\.C887\b"if [ $? -ne 0 ];thenecho "C887 Server is not running now!"exit 1
fiecho "Stop C887 EPICS Server ..."
kill $(screen -ls | grep "C887" | cut -d "." -f1)
sleep 5
echo "C887 EPICS Server already stopped"

安装Webmin,并且启动,用局域网中其它计算机的浏览器进行初始登录,登录名为root,密码为安装系统时为root设置的密码:

 登录后进入Tools->Custom Commonds创建三个用户自定义命令:

 

 创建结束后,用户界面如下:

通过点击以上三个按钮,进行测试:

1、点击View C-887 EPICS Server:

2、点击Start C-887 EPICS Server:

 客户端也正常显示了:

3、点击View C-887 EPICS Server: 

4、点击Stop C-887 EPICS Server: 

客户端连接也都断开了:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/30145.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【DBA早下班系列】—— 并行SQL/慢SQL 问题该如何高效收集诊断信息

1. 前言 OceanBase论坛问答区或者提交工单支持的时候大部分时间都浪费在了诊断信息的获取交互上&#xff0c;今天我就其中大家比较头疼的SQL问题&#xff0c;给大家讲解一下如何一键收集并行SQL/慢SQL所需要的诊断信息&#xff0c;减少沟通成本&#xff0c;让大家早下班。 2. …

【杂记-浅谈OSPF协议中的RouterDeadInterval】

一、RouterDeadInterval概述 RouterDeadInterval&#xff0c;即路由器死区间隔&#xff0c;它涉及到路由器如何在广播网络上发现和维护邻居关系。RouterDeadInterval指的是在广播网络中&#xff0c;路由器在多长时间内没有收到邻居路由器的Hello报文后&#xff0c;会将邻居路由…

Python网络爬虫4-实战爬取pdf

1.需求背景 爬取松产品中心网站下的家电说明书。这里以冰箱为例&#xff1a;松下电器-冰箱网址 网站分析&#xff1a; 第一步&#xff1a; 点击一个具体的冰箱型号&#xff0c;点击了解更多&#xff0c;会打开此型号电器的详情页面。 第二步&#xff1a;在新打开的详情页面中…

小抄 20240612

1 很多问题都有人经历过&#xff0c;都交出过自己的答卷&#xff0c;遇到自己无法解决的问题的时候&#xff0c;可以找找别人给出过的参考答案。 2 和人发生矛盾&#xff0c;尽量就事论事&#xff0c;把道理和逻辑说透&#xff0c;关系还在。 千万不要靠情绪解决问题&#x…

docker安装使用

文章目录 docker产生的原因传统虚拟机容器化技术 docker组成安装docker镜像加速docker安装过程中遇到的问题以及解决办法Errors during downloading metadata for repository root_:Failed to set locale, defaulting to C.UTF-8 docker产生的原因 传统虚拟机 在不使用docker…

图纸管理的方法、图纸管理软件

图纸管理是一个复杂且关键的过程&#xff0c;它涉及到图纸的创建、存储、共享、修改、审核、存档和检索等多个环节。以下是根据参考文章总结的图纸管理的具体内容和方法&#xff1a; 一、图纸管理的目的 1、确保图纸的准确性&#xff1a;通过规范的管理流程和质量控制措施&…

bms中BAT+ BAT- PACK+ pack-分别代表什么意思

在电子设备和电池管理系统&#xff08;BMS&#xff09;中&#xff0c;BAT、BAT-、PACK 和 PACK- 是常见的术语&#xff0c;它们代表与电池连接相关的不同电气节点或引脚。下面是这些术语的具体含义&#xff1a; BAT (Battery Positive): BAT 代表电池的正极连接点。在电池组或单…

星戈瑞FITC-Cytochrome C:荧光标记细胞色素C的研究与应用

细胞色素C&#xff08;Cytochrome C&#xff09;是一种位于线粒体内膜上的蛋白质。为了深入地研究细胞色素C在细胞生物学和病理学中的功能&#xff0c;科学家们常常采用荧光标记技术对其进行追踪和观察。其中&#xff0c;异硫氰酸荧光素&#xff08;FITC&#xff09;作为一种常…

FreeRTOS学习笔记-基于stm32(11)任务通知及相关API函数简介

一、什么是任务通知 任务通知与队列&#xff0c;信号量&#xff0c;事件标志组类似&#xff0c;也是一种用于任务通信和同步的机制。 任务通知的优点&#xff1a; 不用创建中间变量来传递数据&#xff0c;任务控制块中的成员变量 ulNotifiedValue 就是这个通知值&#xff1b; …

大量worker process is shutting down导致nginx服务器请求异常

现象&#xff1a;生产环境网站接口监控报大量超时告警 排查&#xff1a; 查看是否属于异常攻击 1、查看公网slb带宽使用情况 2、查看nginx日志&#xff0c;看是否有异常流量 查看服务器及服务状态 1、查看nginx服务器资源cpu使用情况 2、查看nginx服务状态(ps -ef|grep ng…

抖音短剧看剧系统是怎么做的?怎么样搭建上线运营?

前言&#xff1a; 当前热门短剧已深入大家的日常&#xff0c;针对一些好的短剧更是吸金无数。今天给大家介绍一下短剧这个项目整个运作模式。 一、一部短剧是怎么样呈现到观众眼前的&#xff1f; 首先影视作品公司拍摄剪辑好短剧 &#xff0c;弄好一切审核后&#xff0c;放到…

Chatgpt教我打游戏攻略

宝可梦朱 我在玩宝可梦朱的时候&#xff0c;我的同行队伍里有黏美儿&#xff0c;等级为65&#xff0c;遇到了下雨天但是没有进化&#xff0c;为什么呢&#xff1f; 黏美儿&#xff08;Goomy&#xff09;要进化为黏美龙&#xff08;Goodra&#xff09;&#xff0c;需要满足以下…

vue-cli 根据文字生成pdf格式文件 jsPDF

1.安装jspdf npm install jspdf --save 2.下载ttf格式文件 也可以用C:\Windows\Fonts下的字体文件&#xff0c;反正调一个需要的ttf字体文件就行&#xff0c;但有的字体存在部分字体乱码现象 微软雅黑ttf下载地址&#xff1a; FontsMarket.com - Download Microsoft YaHei …

访问0xdddddddd内存地址引发软件崩溃的实战问题排查

目录 1、问题描述 2、访问空指针或者野指针 3、C程序中常见的异常内存值 4、0xdddddddd内存访问违例问题分析与排查 4.1、初步分析 4.2、CConfMeidaConfigDlg窗口类对象是何时被销毁的&#xff1f; 4.3、为啥会访问到已经释放内存的CConfMeidaConfigDlg类对象&#xff1…

(2)图像识别yolov5—识别图片视频等文件

目录 一、识别示例图片 二、识别视频 三、修改 detect.py 代码以输出物体坐标,更改识别方式 四、更改后的演示代码: 一、识别示例图片 在yolov5文件夹中,有两个示例图片,这里我们对示例图片进行识别。 打开命令行,进入到当前yolov5目录,通过运行下面的指令,然后对…

5.3. 平稳序列-次可加遍历定理

次可加遍历定理 1. 次可加遍历定理1.1. 次可加遍历定理1.2. 示例2. 应用2.1. 随机矩阵乘积2.2. 随机排序后递增序列的最大长度2.3. 首次到达路径1. 次可加遍历定理 1.1. 次可加遍历定理 定理6.4.1.次可加遍历定理 假设 X m , n , 0 ≤ m < n X_{m, n}, 0 \leq m<n X

QTimer、QElapsedTimer、timeout()事件、singleShot事件

实现 QTimer 定时器 、timeout()事件、singleShot事件的使用 QElapsedTimer 计数器的使用 布局 设置第一个和第二个groupBox高度为固定 timerexample.cpp #include "timerexample.h" #include "ui_timerexample.h" #include "QTime" #include …

分享一个dnslog在线平台

DNSLog Platform 页面只有两个按钮&#xff0c;点击Get Subdomain可以随机生成一个dnslog 点击Refresh Record&#xff0c;刷新这个dnslog的记录。可以查看到这条dnslog的IP地址和创建时间。

QT6不自动生成pro文件

安装了QT的新版本结果他不自动生成pro文件了导致下次打开很复杂 记得在创建时选择qmake&#xff0c;因为新版默认cmake

大模型“诸神之战”,落地才是赛点

ChatGPT 诞生已经快一年&#xff0c;你还在与它对话吗&#xff1f; 有的人用来写报告、改代码&#xff0c;让它成为得力帮手&#xff1b;有的人却只是“调戏”个两三回&#xff0c;让它创作诗歌或故事&#xff0c;便不再“宠幸”。 根据网站分析工具 SimilarWeb 的数据&#…