当前位置: 首页 > news >正文

关于上位机,C#

TCP与modbusTCP的区别

(10条消息) C#高级--常用数据结构_李宥小哥的博客-CSDN博客_c# 数据结构

C#中常用的数据结构

TCP/IP协议是网络通讯协议。MODBUS是应用与工业现场(电子控制)的通讯协议。两者的应用范围和应用环境有所不同。

Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台联网设备规定一个地址。

Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。Modbus 协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。

总结:两者关系不大,modbus是一种应用层的协议,tcp/ip是网络或传输层的协议,modbus可以架在TCP/IP上,也可不。

C#(Winform)的Show()和ShowDialog()方法

1. 显示窗口的两种方式:

    Winform中的Form,在显示窗口时,可以使用Show()ShowDialog()两种方式

2. 非模态窗口方式(可以跟其他界面自由切换,而且不阻塞代码)

   Show()方法启动的窗口是非模态窗口,可以跟其他界面自由切换,

   其后面的代码也会立刻执行,如:

    Form1 form1 = new Form1();

    form1.Show();

    MessageBos.Show("这里会马上显示");

3. 模态窗口(必须关闭了该窗口,后面的代码才会执行,并且不能跟其他界面自由切换)

       ShowDialog()打开的窗口为模态窗口(只是个名字而已),

       此类窗口不能和别的窗口自由切换,而且其后面的代码必须等关闭该窗口才会执行(就像被阻塞在那里了)

       如:

         Form1 form1 = new Form1();

         form1.ShowDialog();

         MessageBos.Show("必须关闭了form1, 这里才会显示");

来自 <C# showDialog()_图像处理进阶小白的博客-CSDN博客_c# showdialog>

C# 开发USB通信、串口通信、Socket通信

(10条消息) TCP三次握手详解-深入浅出(有图实例演示)_jun2016425的博客-CSDN博客_tcp三次握手

三次握手

Socket网络通信

来自 <C# Socket网络通信基础教程_空城幻雪的博客-CSDN博客_c#中socket教学>

Socket的定义

套接字(Socket),是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。从所处的地位来讲,套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议进行通信的接口,是应用程序与网络协议栈进行交互的接口,Socket所处的位置大概是下面这样的。

原文链接:https://blog.csdn.net/weixin_49959955/article/details/123798500

基于socket网络编程技术实现TCP和UDP的流程详解及实例

来自 <基于socket网络编程技术实现TCP和UDP的流程详解及实例_子木呀的博客-CSDN博客_udp通信过程>

关于串口通信

1、上位机与下位机

        上位机相当于一个软件系统,可以用于接收数据、控制数据。即可以对接收到的数据直接发送操控命令来操作数据。上位机可以接收下位机的信号。下位机是一个控制器,是直接控制设备获取设备状况的计算机。上位机发出的命令首先给下位机,下位机再根据此命令解释成相应时序信号直接控制相应设备。下位机不时读取设备状态数据(一般为模拟量),转换成数字信号反馈给上位机。上位机不可以单独使用,而下位机可以单独使用。

2、串口通信

        串口相当于硬件类型的接口。比如无线传感节点发送信号到汇聚节点,汇聚节点通过串口将数据传到计算机中的上位机中,上位机接收信息,并处理。

      串口是按位(bit)发送和接收字节。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通信的端口,这些参数必须匹配。

    a,波特率:这是一个衡量符号传输速率的参数。

    b,数据位:这是衡量通信中实际数据位的参数。

    c,停止位:用于表示单个包的最后一位。典型的值为1,1.5和2位。

    d,奇偶校验位:在串口通信中一种简单的检错方式。

来自 <C#做一个简单的进行串口通信的上位机_【TL】的博客-CSDN博客_c#上位机>

相关文章:

关于上位机,C#

TCP与modbusTCP的区别 (10条消息) C#高级--常用数据结构_李宥小哥的博客-CSDN博客_c# 数据结构 C#中常用的数据结构 TCP/IP协议是网络通讯协议。MODBUS是应用与工业现场&#xff08;电子控制&#xff09;的通讯协议。两者的应用范围和应用环境有…...

华为OD机试真题 用 C++ 实现 - 字符串加密 | 多看题,提高通过率

最近更新的博客 华为OD机试 - 入栈出栈(C++) | 附带编码思路 【2023】 华为OD机试 - 箱子之形摆放(C++) | 附带编码思路 【2023】 华为OD机试 - 简易内存池 2(C++) | 附带编码思路 【2023】 华为OD机试 - 第 N 个排列(C++) | 附带编码思路 【2023】 华为OD机试 - 考古…...

达梦8数据守护动态增加实时备库

实时主备环境 类型 业务IP 库名 实例名 PORT_NUM MAL_HOST MAL_INST_DW_PORT MAL_PORT MAL_DW_PORT 主库dm8p 192.168.1.223 DAMENG GRP1_RT_01 5236 10.0.0.223 45101 55101 65101 备库dm8s 192.168.1.224 DAMENG GRP1_RT_02 5236 10.0.0.224 45121…...

《代码整洁之道 - 程序员的职业素养》读书笔记

一 前言 《代码整洁之道 - 程序员的职业素养》的作者是Robert C. Martin&#xff0c;大家喜欢喊他Bob大叔。这本书主要是Bob大叔40年编程生涯的心得体会&#xff0c;主要讲述了一个专业的程序员需要具备什么样的态度&#xff0c;遵循什么样的原则&#xff0c;采取什么样的行动。…...

八、CSS新特性二

文章目录一、CSS3多背景和圆角二、怪异盒子模型三、多列属性四、H5多列布局瀑布流五、CSS3线性渐变5.1 线性渐变5.2 径向渐变六、CSS3过渡动画七、CSS3 2D八、CSS3动画一、CSS3多背景和圆角 css3多背景&#xff0c;表示CSS3中可以添加多个背景。 CSS3圆角 border-radius: 0px;…...

Ubuntu国内镜像源

查看系统版本命令&#xff1a; $ lsb_release -aDistributor ID: UbuntuDescription: Ubuntu 22.04 LTSRelease: 22.04Codename: jammy国内的更新源有多个&#xff0c;几个大互联网公司的源都比较稳定&#xff0c;没什么差别。 下面是比较主流的、常用的几个…...

3.Linux安装es单机版

1.下载 版本 JDK 11ES elasticsearch-7.10.0 jdk安装 下载&#xff1a; wget https://download.java.net/openjdk/jdk11/ri/openjdk-1128_linux-x64_bin.tar.gz配置环境变量&#xff1a;# 编辑配置文件 vim /etc/profile# Java11环境变量配置 export JAVA_HOME/devtools/ja…...

C语言实现通讯录

咱们手机上面还有教务系统上都可以存储信息&#xff0c;这些都是使用编程语言来实现的&#xff0c;那么今天&#xff0c;咱们今天就用C语言来实现通讯录。 一. 实验名称 通讯录 二. 实验目标 1.数据的储存 2.数据的增加 3.数据的删除 4.数据的修改 5.数据的展示 6.数据…...

Python-生成列表

1.生成列表使用列表前必须先生成列表。1.1使用运算符[ ]生成列表在运算符[ ]中以逗号隔开各个元素会生成包含这些元素的新列表。另外&#xff0c;如果[ ]中没有元素就会生成空列表示例>>> list01 [] >>> list01 [] >>> list02 [1, 2, 3] >>…...

如何写好controller层

前言本篇主要要介绍的就是controller层的处理&#xff0c;一个完整的后端请求由4部分组成&#xff1a;1. 接口地址(也就是URL地址)、2. 请求方式(一般就是get、set&#xff0c;当然还有put、delete)、3. 请求数据(request&#xff0c;有head跟body)、4. 响应数据(response)本篇…...

MySQL---视图的概念与操作

MySQL—视图的概念与操作 常见的数据库对象 对象描述表(TABLE)表是存储数据的逻辑单元&#xff0c;以行和列的形式存在&#xff0c;列就是字段&#xff0c;行就是记录数据字典就是系统表&#xff0c;存放数据库相关信息的表。系统表的数据通常由数据库系统维护&#xff0c; 程…...

ChatGPT,会是现实世界的MOSS吗?

最近&#xff0c;两个人工智能系统彻底火出了圈&#xff0c;成为许多网友热议的焦点。 一个是冷酷无情的“幕后主角”MOSS&#xff0c;一个是多才多艺的“全能网友”ChatGPT。 先来说说MOSS。今年春节档&#xff0c;科幻电影《流浪地球2》热映&#xff0c;电影中一个面试环节令…...

安卓大厂面试题_安卓开发面经_Android大厂面经(22/30)之JNI全解析

系列专栏: 《150道安卓常见面试题全解析》 安卓专栏目录见帖子 : 安卓面经_anroid面经_150道安卓常见基础面试题全解析 安卓系统Framework面经专栏:《Android系统Framework面试题解析大全》 安卓系统Framework面经目录详情:Android系统面经_Framework开发面经_150道面试题答…...

记一次docker虚拟机横向移动渗透测试

本次渗透在几个docker虚拟机间多次横向移动&#xff0c;最终找到了一个可以进行docker逃逸的出口&#xff0c;拿下服务器。渗透过程曲折但充满了乐趣&#xff0c;入口是172.17.0.6的docker虚拟机&#xff0c;然后一路横向移动&#xff0c;最终在172.17.0.2出实现了docker逃逸&a…...

计算机网络-物理层

计算机网络-物理层 计算机网络学习笔记 学习视频&#xff1a;https://www.bilibili.com/video/BV1c4411d7jb/?p14&spm_id_from333.1007.top_right_bar_window_history.content.click&vd_source75dce036dc8244310435eaf03de4e330 物理层的基本概念 物理层考虑的是怎样…...

Kubernetes Nginx 发布

kubernetes发布nginx 目录 Nginx Pod启动Service访问Nginx 2.1. NodePort访问Nginx 2.2. ClusterIP访问Nginx 2.3. LoadBalancer访问Nginx 2.4. ExternalName访问NginxDeployment方式部署Nginx 3.1 Nginx Replicas Nginx Pod 启动 nginx-v1.yaml apiVersion: v1 kind: Pod…...

华为OD机试真题Python实现【非严格递增连续数字序列】真题+解题思路+代码(20222023)

非严格递增连续数字序列 题目 输入一个字符串仅包含大小写字母和数字 求字符串中包含的最长的非严格递增连续数字序列长度 比如: 12234 属于非严格递增数字序列 🔥🔥🔥🔥🔥👉👉👉👉👉👉 华为OD机试(Python)真题目录汇总 ## 输入 输入一个字符串仅…...

12-render函数

render函数 一、render的作用 非单文件组件时&#xff0c;创建vm的写法&#xff1a; new Vue({el: #root,template: <App></App>,components: {App} })但是该写法在脚手架中会报错。因为脚手架默认引入的是个残缺版的vue。 如果要避免报错&#xff0c;有2种解决…...

磨金石教育摄影技能干货分享|杨元惺佳作欣赏——诗意人文

一般来说&#xff0c;人文摄影总会体现现实性多些。但杨老师是个摄影诗人&#xff0c;他的内心总能将刻板的现实融入美好的光芒。你在他的照片里&#xff0c;看着现实的摄影素材&#xff0c;所感受到的是诗意的绵绵未尽。春网&#xff08;中国&#xff09;正所谓春水碧于天&…...

在Pandas中通过时间频率来汇总数据的三种常用方法

当我们的数据涉及日期和时间时&#xff0c;分析随时间变化变得非常重要。Pandas提供了一种方便的方法&#xff0c;可以按不同的基于时间的间隔(如分钟、小时、天、周、月、季度或年)对时间序列数据进行分组。 在Pandas中&#xff0c;有几种基于日期对数据进行分组的方法。我们将…...

基于SPI的增强式插件框架设计

很久之前&#xff0c;为了诊断线上的问题&#xff0c;就想要是能有工具可以在线上出问题的时候&#xff0c;放个诊断包进去马上生效&#xff0c;就能看到线上问题的所在&#xff0c;那该是多么舒服的事情。后来慢慢的切换到 java 领域后&#xff0c;这种理想也变成了现实&#…...

176、【动态规划】leetcode ——1143. 最长公共子序列(C++版本)

题目描述 原题链接&#xff1a;1143. 最长公共子序列 题目描述 本题和 718. 最长重复子数组&#xff08;动态规划&#xff09; 的区别在于此时不要求令一个数组中元素连续。 动态规划五步曲&#xff1a; &#xff08;1&#xff09;dp[i][j]含义&#xff1a; 截止到text1[i …...

16行代码采集原神官网角色全图+全语音

嗨害大家好鸭&#xff01;我是小熊猫~ 本来是不玩原神的&#xff0c; 但是实在是经不住诱惑鸭~ 毕竟谁能拒绝可以爬树、炸鱼、壶里造房子、抓小动物、躲猫猫的对战游戏捏~ 准备工具 源码资料电子书:点击此处跳转文末名片获取 准备模块 import requests import re import ex…...

Unity(二)--通过简单例子了解UGUI几个常用对象操作(Text,Image,Button)

目录 文本框等UI对象的添加Canvas 画布给Canvas添加脚本,绑定要操作的对象文本框Text的使用图像Image的使用更换图片Type:显示图片相关按钮Button的使用过渡导航事件绑定文本框等UI对象的添加 Canvas 画布 所有的UI元素的父物体,。 当创建一个UI元素的时候,如果没有Canvas…...

手写一个文件上传demo

背景 最近闲来无事&#xff0c;同事闻了一下上传文件的基本操作&#xff0c;如何用文件流来实现一个文件的上传功能 基本概念 流&#xff08;Stream&#xff09;是指在计算机的输入输出操作中各部件之间的数据流动。可以按照数据传输的方向&#xff0c;将流可分为输入流和输出…...

通过 Apifox Echo 了解 Content-Length

Content-Length 用以指定 Body 的体积。响应头中的 Content-Length 指定 Response Body 的体积&#xff0c;请求头中的 Content-Length 指定 Request Body 的体积。 通过 Content-Length&#xff0c;HTTP 客户端/服务器端将会根据该头部计算出 Body 的大小。 请求头中的 Cont…...

ESP32设备驱动-CPU频率设置

CPU频率设置 文章目录 CPU频率设置1、ESP32的CPU频率介绍1.1 CPU时钟1.2 外设时钟2、CPU频率设置API3、软件准备4、硬件准备5、CPU频率设置实例5.1 CPU频率读取5.2 CPU频率设置在本文中,将介绍如何通过Arduino Core设置或更改ESP32 CPU时钟速度(频率)。 1、ESP32的CPU频率介…...

超声波风速风向传感器的技术参数

技术参数 风速 ◆ 启动风速&#xff1a;0.1m/s ◆ 测量范围&#xff1a;0&#xff5e;30m/s&#xff08;可定制&#xff09; ◆ 测量精度&#xff1a;(0.2m/s0.02*v)(v为真实风速) ◆ 分 辨 率&#xff1a;0.01m/s 风向 ◆ 测量范围&#xff1a;0&#xff5e;359 ◆ 测量精度&a…...

【vue2每日小知识】实现store中modules模块的封装与自动导入

&#x1f973;博 主&#xff1a;初映CY的前说(前端领域) &#x1f31e;个人信条&#xff1a;想要变成得到&#xff0c;中间还有做到&#xff01; &#x1f918;本文核心&#xff1a;省去我们store仓库中分模块时的需要每次导入index的问题 目录 【前言】在store中如何简…...

【Leetcode 剑指Offer】第3天 字符串(简单)

字符串剑指 Offer 05. 替换空格字符串构造函数和析构函数操作函数剑指 Offer 58 - II. 左旋转字符串剑指 Offer 05. 替换空格 题&#xff1a;实现一个函数&#xff0c;把字符串 s 中的每个空格替换成"%20"。 class Solution { public:string replaceSpace(string s…...