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.rhkb.cn/news/353789.html

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

相关文章

聊一聊生成式AI

生成式AI&#xff08;Generative AI&#xff09;是指一类能够自主创造新内容的人工智能技术&#xff0c;这些内容可以是文本、图像、音频、视频等。与传统的分析性或分类性AI系统不同&#xff0c;生成式模型的主要任务不是对现有数据进行分类或预测&#xff0c;而是生成全新的、…

光电液位传感器在净水器领域的应用优势有哪些?

光电液位传感器作为一种先进的液位检测技术&#xff0c;在净水器领域有着显著的应用优势。具有高精度的特点&#xff0c;能够精确地检测水位变化&#xff0c;保证水处理过程的稳定性和效率。 传统的浮球式传感器可能存在精度偏差或者在长期使用中需要维护和更换的问题&#xf…

内网穿透方法有哪些?路由器端口映射外网和软件方案步骤

公网IP和私有IP不能互相通讯。我们通常在局域网内部署服务器和应用&#xff0c;当需要将本地服务提供到互联网外网连接访问时&#xff0c;由于本地服务器本身并无公网IP&#xff0c;就无法实现。这时候就需要内网穿透技术&#xff0c;即内网映射&#xff0c;内网IP端口映射到外…

从网络配置文件中提取PEAP凭据

我的一位同事最近遇到了这样一种情况&#xff1a;他可以物理访问使用802.1X连接到有线网络的Windows计算机&#xff0c;同时保存了用于身份验证的用户凭据&#xff0c;随后他想提取这些凭据&#xff0c;您可能认为这没什么特别的&#xff0c;但是事情却有点崎岖波折…… 如何开…

屏蔽房是做什么用的?为什么需要定期检测?

屏蔽房对于不了解的人来说&#xff0c;可能光看名字不知道是做什么的&#xff0c;但是对于一些企业或者机构&#xff0c;却是再熟悉不过的了。和名字一样&#xff0c;屏蔽房是对空间内的信号以及一些外界环境条件进行隔绝&#xff0c;在一些有特殊要求的企业机构中&#xff0c;…

人生的乐趣,在于对真知的追求

子曰&#xff1a;朝闻道&#xff0c;夕死可矣&#xff01; 孔子说&#xff1a;早上听到关于世界的真理&#xff0c;哪怕晚上就die了都可以。 这句话很有力量而经常被人引用&#xff0c;表达出我们如何看待沉重的肉身和精神世界。 我们的生活目的&#xff1a;道。 —— 要了解…

陶建辉入选 2023 年度“中国物联网行业卓越人物榜”

在这个技术飞速发展的时代&#xff0c;物联网行业作为推动社会进步的重要力量&#xff0c;正在不断地演化和革新。近日&#xff0c;中国智联网生态大会暨“2023 物联之星”年度榜单颁奖典礼在上海浦东举行。现场公布了拥有物联网行业奥斯卡奖之称的 ——“物联之星 2023 中国物…

鸿蒙 Text文本过长超出Row的范围问题

代码如下: 可以发现随着文本内容的增加, 第二个组件test2明显被挤出了屏幕外, 感觉像是Row自己对内容的约束没做好一样, 目前没看到官方的推荐解决方法, 机缘巧合下找到了个这种的办法, 给内容会增加的组件设置layoutWeight(), 借助layoutWeight的特性来解决该问题, 改动后代码…

探究 IP 地址被网站封禁的原因

在我们登录各种网站、APP浏览时&#xff0c;可能会遇到 IP 地址被某些网站封禁的情况。很多人奇怪这是为什么呢&#xff1f; 首先&#xff0c;违反网站的使用规则是比较常见的原因之一。比如&#xff0c;频繁发送垃圾邮件、恶意评论、进行网络攻击或试图破解网站的安全机制等不…

餐饮点餐系统小程序(ThinkPHP+FastAdmin+UniApp)

便捷美食新体验&#x1f354;&#x1f4f1; 基于ThinkPHPFastAdminUniApp开发的餐饮点餐系统&#xff0c;主要应用于餐饮&#xff0c;例如早餐、面馆、快餐、零食小吃等快捷扫码点餐需求&#xff0c;标准版本仅支持先付款后就餐模式&#xff0c;高级版本支持先付后就餐和先就餐…

【Docker系列】深入解析 Docker 容器部署脚本

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

git的分支管理

✨前言✨ &#x1f4d8; 博客主页&#xff1a;to Keep博客主页 &#x1f646;欢迎关注&#xff0c;&#x1f44d;点赞&#xff0c;&#x1f4dd;留言评论 ⏳首发时间&#xff1a;20246月19日 &#x1f4e8; 博主码云地址&#xff1a;博主码云地址 &#x1f4d5;参考书籍&#x…

003.Linux SSH协议工具

我 的 个 人 主 页&#xff1a;&#x1f449;&#x1f449; 失心疯的个人主页 &#x1f448;&#x1f448; 入 门 教 程 推 荐 &#xff1a;&#x1f449;&#x1f449; Python零基础入门教程合集 &#x1f448;&#x1f448; 虚 拟 环 境 搭 建 &#xff1a;&#x1f449;&…

【Linux 基础】目录结构

Linux 的目录结构&#xff08;也称为文件系统结构&#xff09;是组织文件和目录的一种逻辑方式。每个文件和目录在文件系统中都有一个唯一的位置或路径。 Linux文件系统是整个操作系统的基础架构&#xff0c;对于系统的稳定运行、数据安全以及用户操作便捷性至关重要&#xff0…

k8s快速上手实操

前言 Kubernetes&#xff08;简称K8s&#xff09;是由Google开源的一个用于自动化部署、扩展和管理容器化应用程序的系统。自2014年发布以来&#xff0c;Kubernetes已经迅速成长为容器编排领域的标准&#xff0c;并在全球范围内得到了广泛的采用和认可。 Kubernetes作为现代容…

全新量子计算技术!在硅中可以生成大规模量子比特

内容来源&#xff1a;量子前哨&#xff08;ID&#xff1a;Qforepost&#xff09; 文丨沛贤/浪味仙 排版丨沛贤 深度好文&#xff1a;1600字丨6分钟阅读 摘要&#xff1a;研究人员利用气体环境在硅中形成被称为“色心”的可编程缺陷&#xff0c;首次利用飞秒激光&#xff0c;…

有关排序的算法

目录 选择法排序 冒泡法排序 qsort排序&#xff08;快速排序&#xff09; qsort排序整型 qsort排序结构体类型 排序是我们日常生活中比较常见的问题&#xff0c;这里我们来说叨几个排序的算法。 比如有一个一维数组 arr[8] {2,5,3,1,7,6,4,8},我们想要把它排成升序&#…

力扣1901.寻找峰值II

力扣1901.寻找峰值II 二分每一行 并用函数找出每一行中最大值的下标若最大值比其下面相邻的元素大 则上方一定存在峰值若最大值比其下面相邻的元素小 则下方一定存在峰值 class Solution {int indexmax(vector<int> &a){return max_element(a.begin(),a.end()) - …

FPGA早鸟课程第二弹 | Vivado 设计静态时序分析和实际约束

在FPGA设计领域&#xff0c;时序约束和静态时序分析是提升系统性能和稳定性的关键。社区推出的「Vivado 设计静态时序分析和实际约束」课程&#xff0c;旨在帮助工程师们掌握先进的设计技术&#xff0c;优化设计流程&#xff0c;提高开发效率。 课程介绍 关于课程 权威认证&…

Spire.PDF for .NET【文档操作】演示:如何删除 PDF 中的图层

借助Spire.PDF&#xff0c;我们可以在新建或现有pdf文档的任意页面中添加线条、图像、字符串、椭圆、矩形、饼图等多种图层。同时&#xff0c;它还支持我们从pdf文档中删除特定图层。 Spire.PDF for .NET 是一款独立 PDF 控件&#xff0c;用于 .NET 程序中创建、编辑和操作 PD…