【C语言项目】多臂井径电子测井成像项目(一)

2024-01-28 06:10

本文主要是介绍【C语言项目】多臂井径电子测井成像项目(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 1、目的和意义
  • 2、本章概述
  • 3、串口R232
  • 4、OpenGL
  • 5、开发环境
  • 6、环境配置
    • 6.1、VS安装OpenGL
    • 6.2、虚拟串口生成工具
  • 7、成品速览
  • 参考文献

1、目的和意义

本项目为获取矿藏地层的油气当量和及时精确地测量含油、含气层的压力及温度值的需求,辅助生产管理人员完成对油井的温度、压强、流量监控功能。通过油井井压力器对地层进行探测,通过串口通信将数据从井温压力器发至解析中心端,解析中心解包完成后利用 Lagrange 插值算法对数据进行处理,让数据看着更加流畅。通过 OpenGl 图形技术将地层的数据模拟成折线图和柱形图呈现。
在这里插入图片描述

2、本章概述

本章主要介绍了多臂井径电子测井成像项目中的项目来源,应用场景。所需相关的技术栈及环境配置。

3、串口R232

1、 串口通讯协议简介
串口:串口是一个泛称,UART,TTL,RS232,RS485都遵循类似的通信时序协议,因此都被通称为串口。
串行接口 (Serial Interface)是指数据一位一位地顺序传送。其特点是通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。
在这里插入图片描述
2、RS-232标准接口
RS232:是电子工业协会(Electronic Industries Association,EIA) 制定的异步传输标准接口,同时对应着电平标准和通信协议(时序),其电平标准:+3V~+15V对应0,-3V~-15V对应1。rs232 的逻辑电平和TTL 不一样但是协议一样。
RS-232标准接口(又称EIA RS-232)是常用的串行通信接口标准之一,全名是“数据终端设备( DTE)和数据通信设备(DCE)之间串行二进制数据交换接口技术标准。

3、Rs-232 特点
信号线少使用3条~9条信号线就可以实现全双工通信,采用三条信号线(接收线、发送线和信号地)能实现简单的全双工通信过程
波特率是指从一设备发到另一设备的波特率,即每秒钟多少比特bits per second (bit/s)。典型的波特率是110, 300, 600, 1200, 2400, 4800,9600, 14400, 19200,等bit/s。一般通信两端设备都要设为相同的波特率,但有些设备也可以设置为自动检测波特率。
奇偶效验Parity是用来验证数据的正确性。奇偶校验一般不使用,如果使用,那么既可以做奇校验(Odd Parity)也可以做偶校验(Even Parity)。
停止位是在每个字节传输之后发送的,它用来帮助接受信号方硬件重同步。
字节大小

4、OpenGL

OpenGL(英语:Open Graphics Library,译名:开放图形库或者“开放式图形库”)是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。这个接口由近350个不同的函数调用组成,用来绘制从简单的图形到比较复杂的三维景象。而另一种程序接口系统是仅用于Microsoft Windows上的Direct3D。OpenGL常用于CAD、虚拟现实、科学可视化程序和电子游戏开发。
OpenGL的高效实现(利用了图形加速硬件)存在于Windows,部分UNIX平台和Mac OS。这些实现一般由显示设备厂商提供,而且非常依赖于该厂商提供的硬件。开放源代码库Mesa是一个纯基于软件的图形API,它的代码兼容于OpenGL。但是,由于许可证的原因,它只声称是一个“非常相似”的API。
当今,OpenGL是视频行业领域中用于处理2D/3D图形的最为广泛接纳的API,在此基础上,为了用于计算机视觉技术的研究,从而催生了各种计算机平台上的应用功能以及设备上的许多应用程序。其是独立于视窗操作系统以及操作系统平台,可以进行多种不同领域的开发和内容创作,简而言之,其帮助研发人员能够实现PC、工作站、超级计算机以及各种工控机等硬件设备上实现高性能、对于视觉要求极高的高视觉图形处理软件的开发。

5、开发环境

1、Windows10或更高
2、VS2019或更高
3、Virtual Serial Port Driver Pro
4、OpengGL

6、环境配置

6.1、VS安装OpenGL

1、创建任意一个项目,然后点击【项目】->【管理NuGet程序包…】。
在这里插入图片描述
2、在搜索框内搜索nupengl,然后点击右侧的安装,随便安装那一个另一个都会一起安装。
在这里插入图片描述
3、创建一个*.c文件,包含一下代码,编译看能够通过。则表示环境配置成功。

#include <GL/glut.h>
int main()
{glLoadIdentity();return 0;
}

6.2、虚拟串口生成工具

下载Virtual Serial Port Driver Pro,官网直达

打开是下面这个界面,有14天的试用期。
在这里插入图片描述

1、点击创建Pair创建串口
在这里插入图片描述
2、使用默认生成的串口名称即可,然后点击Create即可完成。
在这里插入图片描述
3、如果有数据交互和程序占用将会在这里显示
在这里插入图片描述

下面这张图就是程序绑定串口后的效果。
在这里插入图片描述

7、成品速览

主要分为三个软件,一个软件为数据采集这里担当数据发送占用一个串口。第二个软件是数据解析担当数据接收占用另一个串口,第三个软件是通过和第二个软件实现共享内存来进行绘制井壁情况。
在这里插入图片描述

参考文献

1、浅谈井下电子压力计的现状和应用:yjbys.com/bylw/lunwenfanwen/48405.html
2、中油测井国产三维感应成像仪推广应用: http://news.cnpc.com.cn/system/2022/09/13/030079670.shtml
3、百度百科 OpenGL:https://baike.baidu.com/item/OpenGL/238984
4、sl4209三臂井径测井仪https://www.docin.com/p-2583333820.html

这篇关于【C语言项目】多臂井径电子测井成像项目(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/652701

相关文章

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

在cscode中通过maven创建java项目

在cscode中创建java项目 可以通过博客完成maven的导入 建立maven项目 使用快捷键 Ctrl + Shift + P 建立一个 Maven 项目 1 Ctrl + Shift + P 打开输入框2 输入 "> java create"3 选择 maven4 选择 No Archetype5 输入 域名6 输入项目名称7 建立一个文件目录存放项目,文件名一般为项目名8 确定

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧

SpringBoot项目是如何启动

启动步骤 概念 运行main方法,初始化SpringApplication 从spring.factories读取listener ApplicationContentInitializer运行run方法读取环境变量,配置信息创建SpringApplication上下文预初始化上下文,将启动类作为配置类进行读取调用 refresh 加载 IOC容器,加载所有的自动配置类,创建容器在这个过程

Maven创建项目中的groupId, artifactId, 和 version的意思

文章目录 groupIdartifactIdversionname groupId 定义:groupId 是 Maven 项目坐标的第一个部分,它通常表示项目的组织或公司的域名反转写法。例如,如果你为公司 example.com 开发软件,groupId 可能是 com.example。作用:groupId 被用来组织和分组相关的 Maven artifacts,这样可以避免

2. 下载rknn-toolkit2项目

官网链接: https://github.com/airockchip/rknn-toolkit2 安装好git:[[1. Git的安装]] 下载项目: git clone https://github.com/airockchip/rknn-toolkit2.git 或者直接去github下载压缩文件,解压即可。

C语言 | Leetcode C语言题解之第393题UTF-8编码验证

题目: 题解: static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num & MASK1) == 0) {return