EPICS与温度流量检测设备TCP通信

 该实验需保证EPICS系统与实际采集设备在同一局域网下,参考

Vmware centos桥接模式网络设置_艾黄泽的博客-CSDN博客

1 STM32通信协议更改

STM32端的通信协议需与EPICS的proto文件中定义的协议保持一致,原STM32程序与Labview的通信模式为一帧数据包括所有的温度与流量,如何在此基础上采用proto文件进行解析暂时不了解。

所以在STM32中添加与EPICS协议通信的格式,并设置开关按钮对两种通信模式进行切换。

温度流量检测装置测试用IP:192.168.1.11

在STM32中增加与EPICS通信的程序:

 

STM32与EPICS通信数据解析

流程为:在EPICS通信模式下,STM32接收到一帧EPICS发送过来的数据,通过解析帧头帧尾,若符合通信协议,则判断Tcp_Recv_EPICS[1]的数字,来判断EPICS需要读取的流量或温度序号。

表1 EPICS查询模式下查询码对应变量

Tcp_Recv_EPICS[1]

0x00

0x01

0x02

0x03

0x04

0x05

0x06

0x07

发送4字节浮点数

Flow1

Flow2

Flow3

Flow4

Flow5

Flow6

Flow7

Flow8

Tcp_Recv_EPICS[1]

0x08

0x09

0x0A

0x0B

0x0C

0x0D

0x0E

0x0F

发送4字节浮点数

Tem1

Tem2

Tem3

Tem4

Tem5

Tem6

Tem7

Tem8

2 EPICS端程序编写与界面设计

EPICS中修改对应的flow_tem.db、flow_tem.proto、st.cmd程序:

1.	record(ai, "FT_Flow1") {    
2.	  field(DESC, "get Flow1")    
3.	  field(DTYP, "stream")    
4.	  field(INP, "@flow_tem.proto GetFlow1 flow_tem")    
5.	  field(EGU, "L/min")    
6.	  field(LOPR, "5")    
7.	  field(HOPR, "40")    
8.	  field(SCAN, ".1 second")    
9.	}    
10.	    
11.	record(ai, "FT_Flow2") {    
12.	  field(DESC, "get Flow2")    
13.	  field(DTYP, "stream")    
14.	  field(INP, "@flow_tem.proto GetFlow2 flow_tem")    
15.	  field(EGU, "L/min")    
16.	  field(LOPR, "5")    
17.	  field(HOPR, "40")    
18.	  field(SCAN, ".1 second")    
19.	}   

flow_tem.db文件部分代码

1.	GetFlow1 {  
2.	    out 0xAA 0x00 0xFF;  
3.	    in  0xAA 0x00 "%R" 0xFF;  
4.	}  
5.	GetFlow2 {  
6.	    out 0xAA 0x01 0xFF;  
7.	    in  0xAA 0x01 "%R" 0xFF;  
8.	}  
9.	GetFlow3 {  
10.	    out 0xAA 0x02 0xFF;  
11.	    in  0xAA 0x02 "%R" 0xFF;  
12.	}  
13.	GetFlow4 {  
14.	    out 0xAA 0x03 0xFF;  
15.	    in  0xAA 0x03 "%R" 0xFF;  

flow_tem.proto文件部分代码

st.cmd文件中添加对应的db路径与flow_tem协议IP地址与端口号

       在CSS中创建新的OPI,采用曲线控件与文本控件,将控件对应的PV节点设置为flow_tem.db文件中对应的文件命名,数据接收正常:

CSS界面

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ZenHub - GitHub内部的项目管理 ZenHub是唯一的本地集成在GitHub用户界面中的项目管理工具。没有冗长的入场。没有配置头痛。没有单独的登录。开发人员呆在他们喜欢的环境中,项目经理可以全面了解开发过程。 美国宇航局,微软,Adobe,Comcast,Docker,VMware和Leap Motion等公司的开发团队都信任ZenHub强大的浏览器扩展,以帮助他们发布更好的软件。 可视化问题和跟踪依赖关系 - Multi-Repo任务板允许您使用现有的GitHub数据跟踪并提供开发过程的透明度。拖放管道之间的问题,按标签过滤,分配问题,查看与请求链接的问题,使用问题依赖关系可视化阻滞剂等等。 计划Sprint和Epics - Epics让您可以将多个GitHub问题分组在一起,以便更好地进行计划和跟踪,并协调处理产品积压。使用GitHub里程碑创建冲刺,然后添加故事点来跟踪进度。 可执行的报告 - 发布报告,速度跟踪和Burndowns都可以实现更准确的预测和持续改进的见解。确定团队的步伐和效率,检测改进流程的趋势,衡量交付给最终用户的价值。 不使用Chrome或Firefox?详细了解如何通过https://zenhub.com/web访问所有浏览器和移动设备上的ZenHub 有什么问题吗?不要犹豫发微博(@ZenHubHQ)或给我们发电子邮件([email protected])。 隐私政策 - https://www.zenhub.com/privacy-policy 支持语言:English (United States)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值