自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 收藏
  • 关注

原创 第四阶段C#通讯开发-10:海康摄像头,串口服务器联调示例

(3)使用华允物联自带的程序(HuayunIOT Ethernet Setup Tool )调试设备,将设备的ip与网关设置为同一网段下(将设备的改为电脑网段下,或将电脑网段设置为设备网段下都可),具体步骤下载的说明书中有介绍。打开开发文档中的SDK使用手册,手册中有各种方法的解释说明,根据手册与示例代码编写自己的代码,基本大多数需求就是调用SDK中方法。(4)打开海康的设备网络搜索app,查询相关设备并激活,激活:选择设备前面的红框并登录app。(5)更改电脑的以太网IP与摄像头的IP在同一网段下。

2025-11-07 11:42:10 904

原创 第四阶段C#通讯开发-9:网络协议Modbus下的TCP与UDP

之前的串口使用Modbus创建主机实例的时候,需要传入SerialPort示例作为参数,现在需要使用TCP或者UDP创建,并使用ModbusIpMaster.CreateIP创建主机,与从机进行通讯。: 速度快(以太网速度)、传输距离远(可跨局域网甚至互联网)、布线简单(使用标准网线和水晶头)、支持大量设备连接(理论上可达IP地址上限)。,用于连接车间的控制器与上位的监控系统(SCADA)、制造执行系统(MES)或云平台。有自己新的帧结构(增加了MBAP头,去掉了CRC校验,改用TCP本身的校验)。

2025-11-07 11:37:10 843

原创 第四阶段C#通讯开发-8:UDPClient

TCP:Transmission Control Protocol传输控制协议,是一种面向连接的、可靠的、有序的,基于字节流的传输层通信协议。UDP:User Datagram Protocol用户数据报协议,是一种无需连接、不可靠、无序的,面向数据报的传输层通信协议。Socket:套接字,是【应用层与TCP/IP协议簇通信的中间软件抽象层】。将传输层封装后便与应用层更方便的调用。

2025-11-07 11:34:16 722

原创 第四阶段通讯开发-7:TCPListener和TCPClient

它们封装了Socket类的一部分功能,隐藏了底层的网络通讯细节,使得开发人员可以更专注于业务逻辑的实现,而不必过多关注网络编程的复杂性。而TcpListener类则是用于创建TCP服务器监听的,它封装了Socket类的一部分功能,并提供了更高层次的方法来处理客户端连接请求和接收数据。而TcpClient类则是专门用于创建TCP客户端连接的,它封装了Socket类的一部分功能,并提供了更高层次的方法来处理连接、发送和接收数据。(3)等待连接,接收数据,数据量,拿Socket(IP和Port)

2025-11-05 21:51:33 710

原创 第四阶段C#通讯开发-6:UDP代码和之前代码总结

(1)串口通讯中,无论使用拼接闻讯帧还是使用Modbus,都需要实例化serserialPort,Rs485通过serialPort.Write(buffer, 0, count);NModbus4通过在发送问闻讯真的时候会返回应答的数据,不需要解析。Nmodbus4通过创建master主机对象,再通过对象发送问询帧。RS485通过serialPort对象获取应答帧,并将应答真解析。(4)RS485与Nmodbus4使用区别。(3)使用Nmodbus4发送接收数据。(2)使用拼接闻讯帧发送获取数据。

2025-11-05 21:49:41 486

原创 第四阶段C#通讯开发-6:Socket之UDP

1.网络协议理论:(七层网络框架,TCP协议,UDP协议,工业行业协议等) 2.网络协议重要理论:(TCP建立连接时三次握手,TCP释放连接时的四次挥手,TCP与UDP基本区别等) 3.各种网络通讯技术点:(Socket通讯、TCP通讯、UDP通讯)TCP和UDP是协议,而Socket是一种技术框架。

2025-11-05 21:46:17 852

原创 第四阶段C#通讯开发-5:TCP

TCP(Transmission Control Protocol)传输控制协议。它是七层框架中的【传输层】中的协议。是TCP/IP协议簇中的一个重要协议。TCP是一种【面向连接的】、【可靠的】、基于【字节流】的【传输层通信协议】TCP/IP协议簇:组,此组上包含传输层和网络层上的协议。TCP/IP协议簇是Internet的基础,也是当今最流行的组网形式。TCP/IP是一组协议的代名词,包括许多别的协议,组成了TCP/IP协议簇。

2025-11-05 21:43:58 1214

原创 第四阶段C#通讯开发-5:Socket与RS485 / Modbus联调

(5)服务器的serialPort接收到真机传回的数据,并将数据传递给客户端。(1)串口通讯时,客户端通过RS485或Modbus进行通讯。(2)网口通讯的时候,客户端通过服务器获取真机的数。(4)服务器接收数据,并转发给真机。(6)客户端接收数据,并显示在页面。(2)实例化客户端,并连接服务端。(3)客户端发送问询帧到服务器。

2025-11-05 21:41:58 547

原创 第四阶段C#通讯开发-4:网络通讯_网络协议

(1)必须要掌握的协议有:IP(指网际互连协议,Internet Protocol的缩写)、TCP、UDP了解的:Telnet:telnet协议提供了一种通过终端远程登录到服务器的方式简单邮件传输协议,是一种用于发送电子邮件的网络协议ARP:地址解析协议,是一种用于将网络层的地址转换为数据链路层地址的重要网络协议RARP:逆地址解析协议,是一种网络协议,它允许局域网中的设备通过已知的物理地址(MAC地址)来请求分配IP地址。

2025-09-15 21:21:20 1114 2

原创 第四阶段C#通讯开发-3:串口通讯之Modbus协议

(1)Modbus是一个请求Request/应答(响应)Response协议,包括AScll、RTU、TCP三种主流传输模式,是1979年开发出的一种工业通信协议,并没有规定物理层。也支持网络通讯,其实Modbus协议是七层网络协议【应用层】协议。(2)此协议定义了控制器能够认识和使用的【消息结构,即数据帧格式】,而不管它们是通过何种硬件方式进行通信的。所以硬件接口可以是RS-232、RS-422、RS-485和以太网等设备。(3)TCP和RTU比ASCII常见,其中TCP的使用频率更高一些。

2025-09-15 21:17:17 1238

原创 第四阶段C#通讯开发-2:串口问讯帧,应答帧,RS485代码示例

本文摘要: 进制转换:介绍十六进制标识符0x/0X及高低8位分割方法,提供在线转换工具链接。 Modbus通信:解析ModbusPoll(主站)和ModbusSlave(从站)模拟器的使用,说明Rx(请求帧)和Tx(响应帧)结构。 数据帧解析:以土壤传感器为例,详细说明Modbus-RTU协议的请求帧(地址码、功能码、寄存器地址等)和响应帧结构,包含13字节的完整应答帧格式。 代码实现:提供C#串口通信示例,包括连接配置、请求帧拼接、CRC校验生成及数据接收处理,展示如何解析传感器返回的水分、温度等参数。

2025-09-12 20:20:07 1102

原创 第四阶段C#通讯开发-1:通讯基础理论,串口,通讯模式,单位转换,代码示例

本文摘要: 《通讯基础理论与串口通讯技术》主要介绍了通讯系统的基本概念和技术要点。文章分为通讯基础理论和串口技术两大部分:1)通讯基础包括通讯两端模型(发送/接收)、串口与网络通讯特点比较,以及通讯协议的定义与常见类型(RS232、RS485、TCP/IP等);2)串口技术详解了串口概念(点对点连接、波特率)、传输原理(串行/并行)、数据格式(起始位+8位数据+校验+停止位)以及全双工模式特点。文中还提供了C#实现串口通讯的代码示例,包括SerialPort对象配置、数据读写方法和事件处理机制。

2025-09-12 20:17:21 2134

原创 第二阶段WinForm-15:LINQ

(2)在C#中,LINQ主要由以下几个组成部分 数据源(Data source):可以是集合、数组、数据库、XML文档等等。查询表达式(Query expression):类似于SQL语句的查询表达式,用于描述查询的逻辑和条件。(1)LINQ(Language Integrated Query)是一种C#语言中的查询技术,它允许我们在代码中使用类似SQL的查询语句来操作各种数据源。这些数据源可以是集合、数组、数据库、XML文档等等。其中数据源,查询变量,查询结果是必选项,查询表达式,查询操作符是可选项。

2025-09-06 20:01:46 898

原创 第二阶段WinForm-14:EF框架

(3)ORM:对象关系映射(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。ORM关系映射框架有很多,C#中比较流行的有:N层架构、微软官方(EF框架)、国外的(Dapper、NHibernate等)、国内的(SqlSugar、Dos.ORM等)(2)LINQ To Entity(L2E): L2E是一种的查询实体对象的语言, 它返回在概念模型中定义的实体。

2025-09-06 19:59:12 1051

原创 第二阶段WinForm-13:图表控件,N层架构,Dapper

本文摘要: 本文系统介绍了.NET平台下三种重要技术: Chart图表控件:详细解析了Chart控件的组成结构(标题、图例、坐标轴等)、数据绑定方式(DataBind/DataBindXY)和外观定制方法(颜色、字体、网格线等),并提供了数据库连接和样式设置的完整代码示例。 LiveCharts2图表库:作为跨平台数据可视化工具,支持多种图表类型和动态数据更新,适用于多框架开发环境,简要说明了其安装和使用流程。 Dapper轻量级ORM:重点介绍了Dapper的环境配置、核心方法(Execute/Query

2025-09-04 21:49:21 2021

原创 第二阶段WinForm-12:UI控件库

文章摘要: 本文系统介绍了条码与二维码技术及WinForm UI控件库。第一部分详细解析了条码基础知识,包括Code128、UPC/EAN等11种一维码类型和二维码特点,重点说明二维码的定位标记、容错机制等特性。第二部分介绍了两个C# WinForm开源控件库:SunnyUI(提供70+控件、多主题支持)和HZHControls(200+控件,含工业风格组件),对比了它们的功能特性、使用方法和资源获取途径。全篇内容专业翔实,对条码技术应用和WinForm界面开发具有实用参考价值。(149字)

2025-09-04 21:41:38 939

原创 第二阶段WinForm-11:自定义控件

本文主要介绍了C#中控件的继承关系和自定义控件的实现方法。内容分为三部分:1)控件的继承链,如Form1继承自Form类,Button继承自ButtonBase类;2)自定义控件的分类,包括完全自定义控件、扩展控件和复合控件(用户控件),并详细说明了三种实现方法;3)通过两个具体示例演示了如何创建自定义控件:MyLable控件继承自Control类,重写了OnPaint方法实现自定义绘制,并添加了鼠标交互功能;MyTextBox控件则通过继承TextBox类实现扩展功能。文中还强调了控件与组件的区别,以及开

2025-08-29 15:51:44 548

原创 第二阶段WinForm-10:多线程

进程是操作系统资源分配的基本单位,作为线程的容器运行程序。线程是运算调度的最小单位,一个进程可包含多个线程并行执行任务。多线程能提高CPU利用率但会增加资源消耗和管理复杂度。通过Thread类可创建和管理线程,支持委托、Lambda表达式等多种创建方式,并能传递参数。线程优先级、状态和后台属性可调节执行行为。线程间资源访问需使用锁机制防止冲突。分线程不能直接操作UI,需通过Invoke方法跨线程调用。线程池(ThreadPool)自动管理线程生命周期,提高性能。同步机制如ManualResetEvent可协

2025-08-29 15:49:42 782

原创 第二阶段WinForm-9:委托复习

本文系统介绍了C#中委托的概念与应用。主要内容包括:1)委托作为引用类型,本质是方法代理,通过相同签名和返回类型指向方法地址;2)委托定义与实例化的多种方式(new、语法糖、Lambda等);3)调用方式(直接调用、Invoke等);4)常用内置委托类型(Action、Func等);5)多播委托通过运算符重载实现多个方法代理;6)事件作为委托实例,具有滞后性特点;7)委托在UI事件处理中的实际应用;8)委托嵌套执行时的调用栈机制。文章通过代码示例详细演示了委托的各种使用场景,包括方法代理、事件绑定、嵌套调用

2025-08-29 15:17:46 1049

原创 第二阶段WinForm-8:特性和反射,加密和解密,单例模式

(1)源代码指定了程序的定义,预处理指令(preprocessor directive)指示编译器如何处理源代码。例如,在某些情况下,我们希望编译器能够忽略一部分代码,而在其他情况下,我们希望代码被编译,这时我们就可以使用预处理指令了。(2)基本规则预处理指令必须和C#代码在不同的行  与C#语句不同,预处理指令不需要以分号结尾包含预处理指令的每一行必须与 ‘’#‘’ 字符开始(在#字符前可以有空格,在#字符和指令之间也可以有空格)允许行尾注释在预处理指令所在的行不允许有分隔符注释(3)C# 预处理器指令列

2025-08-27 21:50:47 2105

原创 第二阶段WinForm-7:文件操作补充,泛型复习,协变和逆变

(1)概念:泛型是C#2.0推出的新语法,它是专门为处理多段代码在不同的数据类型上执行相同的指令的情况而设计的。泛型让不同的数据支持相同的业务逻辑;泛型是一个符复合数据类, 把多个类型混合在一起使用,比如方法和泛型混到一起就是泛型方法, 类和泛型混合一起就是泛型类,接口和泛型混合到一起就是泛型接口List<T>, 如:List<int> ints = new List<int>(){10,11,12}(2)泛型定义语法格式<T>或<T,K,......> 其中T,K指未知类型。

2025-08-27 21:47:00 660

原创 第三阶段数据库-10:存储过程,事务,异常,视图,自定义函数,触发器,N关键字

(1)示例-- 自定义函数go​returns int--返回值类型asbeginendgo​--调用自定义函数-- database owner 数据库拥有者print @r;(2)一些内置的函数--截取,查索引,合并(串联),转换大写,转换小写,去空白,格式化,替换。

2025-08-27 21:37:48 785

原创 第三阶段数据库-9:循环,编号,游标,分页

(1)游标,是一种数据访问机制,用于逐行处理查询的结果,允许开发者或应用程序在结果集上定义 检索 和修改数据。(1)row_number over 方式 sql 2012 以下版本推荐使用。(2)offset fetch next 方式 sql 2012版本以上推荐;row_number对查到的数据进行重新编号,赋予他来连续的编号。(1)临时表,临时存储的表,不是真实的表,类似于C#中的匿名函数。(1)sql 中没有for循环,只有while循环,(2)创建临时表,命名必须以#开头。(2)创建游标并使用,

2025-08-23 16:16:01 434

原创 第三阶段数据库-8:索引,约束

索引类型数量限制特点适用场景聚集索引1个/表数据即索引,物理有序主键、范围查询、排序非聚集索引999个/表索引与数据分离,逻辑有序常用查询条件、连接条件唯一索引强制唯一性主键、唯一约束、业务唯一字段包含列索引叶子节点包含额外列,避免回表覆盖查询,SELECT列表中的列筛选索引只对数据子集建索引,体积小稀疏数据、查询特定范围数据列存储索引1个聚集或多个非聚集/表列式存储,压缩率高,批量处理数据仓库、大数据聚合分析先有聚集索引:通常为自增ID主键或最常用的有序查询字段。

2025-08-23 16:12:22 726

原创 第三阶段数据库-2:数据库中的sql语句

不带where条件子句:它将会返回被连接的两个表的笛卡尔积,返回结果的行数等于两个表行数的乘积(例如:T_student和T_class,返回4*4=16条记录),如果带where,返回或显示的是匹配的行数。右连接,right,右表为主,返回右表中的所有行,如果右表中行在左表中没有匹配行,则结果中左表中的列返回空值。左连接:Left,左表为主,返回左表中的所有行,如果左表中行在右表中没有匹配行,则结果中右表中的列返回空值。(3)条件查询,多个并列条件使用 and 连接,多个或条件使用 or 连接。

2025-08-23 15:44:49 1111

原创 第二阶段WinForm-6:文件对话框,对象的本地保存,序列化与反序列化,CSV文件操作,INI文件读写

如果希望第二次运行程序时能“重现”第一次运行时对象的“状态”, 则应用程序就必须采用某种方式将对象的各个属性的值保存到磁盘文件中, 这样在需要时可以从磁盘文件中重新设置对象的各个属性值,典型的方法就是使用文本文件保存对象的各个属性值。:与序列化相对的是反序列化,它将流转换为对象,也就是将在序列化过程中所生成的二进制串、xml、json等转换成数据结构或者对象的过程。(3)针对上面的存储和读取,顺序是比较重要的,一旦下面的读取顺序错乱(就是存储的顺序和读取的顺序不一致),就会导致数据错乱。

2025-08-22 21:41:28 999

原创 第二阶段WinForm-5:文件操作

必须掌握的I/O类:文件,目录,路径,驱动相关类File类和FileInfo类都是提供用于创建、复制、删除、移动和打开单一文件的方法,并协助创建 FileStream 对象。File类是静态类。FileInfo类是密封类。FileInfo类和File类的API相似度高,使用比File类灵活。Directory类和DirectoryInfo类都是提供对目录(文件夹)进行创建、移动和枚举(循环、遍历、迭代)。Directory类是静态类。DirectoryInfo类是密封类。

2025-08-22 21:20:15 1170

原创 第二阶段WinForm-4:MDI窗口,布局控件,分页

是指将多控件窗体在同一窗体中打开,可以设置重叠打开,平捕打开等,MDI窗体(Multiple-Document Interface,多文档界面)用于同时显示多个文档。在项目中使用MDI窗体时,通常将一个MDI窗口窗体作为父窗体,父窗体可以将多个子窗体包容在它的工作区之中。(1)流式布局(FlowLayoutPanel):这种布局管理器允许控件按照指定的方向(水平或垂直)自动排列。为了使控件能够根据窗体大小自动调整,你可以使用 Dock 属性来让控件填满整个容器(如窗体或面板),或者只占据容器的一侧。

2025-08-22 21:16:17 1008

原创 第三阶段数据库-7:sql中函数,运算符,常用关键字

本文介绍了SQL中常用的函数和多表查询方法。常用函数包括。多表查询主要分为外连接(左/右/全连接)和内连接(等值/不等连接),以及交叉连接(产生笛卡尔积)。文还介绍了SQL运算符、索引分类(聚集/非聚集/唯一/包含列等索引)和约束类型(主键、外键、唯一、检查等约束)。

2025-08-21 21:36:47 1153

原创 第三阶段数据库-6:数据库的主键,索引,约束,表间关系的图形化操作

使用图文详细介绍了sql server数据库创建索引,约束,表间关系的操作步骤

2025-08-21 21:27:15 345

原创 第二阶段WinForm-3:常用控件介绍2

本文总结了Windows窗体开发中常用控件的关键知识点:1) Timer控件, DateTimePicker,MonthCalendar控件, ProgressBar,DataGridView, TreeView,ListView,MenuStrip、ToolStrip,StatusStrip,NotifyIcon常用的属性与事件

2025-08-21 20:17:03 905

原创 第二阶段WinForm-2:WinFrom常用控件介绍1

Winform中MessBox控件,RadiouButton控件,CheckBox控件,ListBox控件,ComboBox控件,NumericUpDown控件,PictureBox控件,ImageList组件的常用属性与时间的介绍

2025-08-21 15:29:27 979

原创 第二阶段WinForm-1:窗体,Label控件,TextBox控件,Button控件

介绍BS与CS架构,Form窗体常用控件与属性,控件与组件的区别,Label控件、TextBox控件、Button控件的常用属性与时间,

2025-08-20 20:40:31 728

原创 第三阶段sql server数据-5:SqlHelper类,数据库删除,DataTable创建

详细介绍了数据库种SqlHelper类,以及两种数据库删除的方法,DataTable表的创建

2025-08-20 20:33:15 996

原创 第三阶段sql server数据-4:数据库脚本生成,备份与还原,分离与附加操作的图文步骤

详细介绍了sql server数据库的脚本生成,备份于还原,分离与操作图文详细操作步骤

2025-08-20 20:29:13 838

原创 第三阶段sql server数据库-3:数据库连接

当在一单批次的对数据库的读写操作的持续的改变返回至数据库的时候,DataAdapter 填充(fill)DataSet对象。(7)NuGet 是网络上程序集的市场,此市场可以上传 下载第三方的程序集,需要依赖网络,微软把Sql Server的驱动程序内嵌到了C#语言中,操作Sql Server数据库可以直接使用,操作其他的数据库需要先从NuGet上下载到本地,然后再引用。sql参数的命名约定 :@开头,SqlDbType 是sql参数在数据库的数据类型,Size是sql参数在数据库中的数据类型的长度。

2025-08-19 21:41:33 1155

原创 第三阶段sql server数据库-1:数据库基础

varchar:可变长度的非 Unicode 数据,最大长度为8000个字符,例如定义姓名 Name varchar(20),因为姓名的长度不固定,可能2个汉字也可能4个汉字甚至更多,所以我们定义为可变长度。DBA:数据库管理员(Database Administrator,简称DBA),是从事管理和维护数据库管理系统(DBMS)的相关工作人员的统称,属于运维工程师的一个分支,主要负责业务数据库从设计、测试到部署交付的全生命周期管理。索引通过对表中的一列或多列的值进行排序,能够大大提高数据查询的速度。

2025-08-19 21:15:41 1193

原创 第一阶段C#基础-15:面向对象梳理

特点\类型普通类静态类抽象类密封类是否可以实例化是否否是是否可以被继承是否是否是否可以继承其他类是否是是是否有普通成员是否是是是否可以有静态成员是是是是是否可以有抽象成员否否是否是否可以有虚成员是否是否。

2025-08-18 20:52:58 1100

原创 第一阶段C#-14:委托,事件

有返回值的时候使用Func<参数1的类型,参数2的类型,......,返回值类型> (2)Action是一种数据类型,表示没有返回值没有参数的函数的数据类型;(3)C#是一个强类型的编程语言,强类型的编程语言的特性就是所有的东西都有特定的类型,变量,字段,属性...在定义的时候都需要显示的指定他们的类型,方法(函数)之前没有数据类型,委托就是一个数据类型,委托类型的变量可以存放函数。(2)事件:C#中,事件就是委托的实例(个例)委托的实例不一定是事件,但是,事件一定是委托的实例;

2025-08-18 20:50:21 1110

原创 第一阶段C#基础-13:索引器,接口,泛型

(1)接口:没有实现的合同,契约,规则,是定义一组成员,而不对成员进行实现的引用类型,只能被类和结构体所继承,类和结构体实现接口的时候,必须实现接口中定义的所有成员。(1)泛型类:Cal3c<T> : ICalc<T>泛型接口中的泛型的类型,使用的是泛型类中定义的类型(即泛型是什么类型,接口就是什么类型)(2)接口是一种规范,不具备存储数据和定义方法的能力,类和结构体继承这个接口就要以这个接口为准,进行一一实现,具体怎么实现由类和结构体决定。(3)泛型方法在调用的时候指定类型;泛型类实例化的时候指定类型。

2025-08-18 20:46:39 1021

INI操作文件的API文件

INI操作文件的API文件

2025-08-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除