(8)python使用pyepics 实现对ioc的查询与存入mysql

准备工作

安装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 应用场景中的最基础的功能.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章