文章目录
准备工作
安装mysql
随机参考网上安装的文章即可
安装mysqlworkbench
https://blog.csdn.net/weixin_42066185/article/details/106522156
安装pyepics
或者直接pip
安装pymysql
与上面安装pyqpics 一样
新建一个mysql数据库表
直接采用mysql workbench 进行建立
选择要建立在的数据库,右键新建table,然后输入要建立的table 的名称,然后然后输入两行,一个是id,作为主键,并且自增.另个选择voltage,表示要监控的电压的名称,选择double类型.
点击apply实现数据库表建立
再次点击apply 执行建立的sql语句
出现下面的结果表示建立完成
编写与epics 相关的脚本
脚本如下:
import time
import epics
import pymysql
pv = epics.PV('scottar:voltage:ai')
conn = pymysql.connect(host='192.168.127.200', port=3306, user='root', passwd='wangsai', db='nis_hsdd', charset='utf8')
cur = conn.cursor()
# 遍历pv,获取pv中的值
for i in range(1000):
a=pv.value
print('PV_Value 第',i,'次 is:',a)
sql = "insert into test_table(voltage) values(%f)" %(a)
# 执行SQL, new_list是执行参数, 用于替换上面SQL中的占位符%s,%s,%s
cur.execute(sql)
conn.commit()
time.sleep(1)
功能介绍
实现对epics 运行的变量的监控,并且实时的将读取得到的数据放到mysql 数据库当中去
实现的结果
命令行打印的结果
通过mysql workbench 查询的结果
结论
该篇blog 描述的内容是能够通过python脚本对所建立的ioc 进行通过ca 协议进行访问,并且实现-将得到的数据放到数据库中.整套流程实现一个epics 应用场景中的最基础的功能.