- 博客(110)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Unity3d数字化看板-多关节机器人运动控制
机械手运动控制主要是关节的旋转,通过控制多个关节的角度,实现对机械手的同步控制机械手运动控制,可以分解为多个关节的运动,下一关节是跟随在上一关节运动,在处理模型的时候将下一关节作为子物体挂在上一关节下,通过控制多个关节的角度,达到机械手的运动同步。模型示例如下(模型是从网上下载)
2023-04-24 22:51:28
5126
15
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 ModbusTCP协议报文解析
报文格式交互(通信)标识:2个字节 为此次通信事务处理标识符,一般每次通信之后将被要求加1以区别不同的通信数据报文。协议标识:2个字节 表示该条指令遵循ModbusTCP协议,一般都为00 00报文长度:2个字节 表示后面数据的长度,有几个字节,高字节在前(前六位Modbus/TCP协议不同功能码通用)设备标识 :1个字节 设备地址,这个可以用于局域网里面的具体的地址,如果目标机器有固定ip,这个就不起作用,直接上写成 00功能码:1个字节 功能码在modbus协议用于表示信息帧的功能....
2022-11-23 20:46:12
27451
5
原创 C#实现数据采集系统-字节序处理和代码优化
C# 小端模式modbustcp中,寄存器都是两个字节,寄存器内部两个字节都是大端存储,如果需要存储int32,float,double等数据,则需要2个或者更多寄存器,目前大部分plc在处理时,寄存器之间都是采用小端存储,寄存器里是大端,形成了小大端模式,就是CD AB,GHEFCDAB大端 ABCD小端DCBA小大端模式CD ABC#中,都是小端模式存储,所以处理就是CDAB→DCBA,GHEFCDAB→HGFEDCBA。
2024-07-17 18:40:35
122
原创 C#实现数据采集系统-查询报文处理和响应报文分析处理
线圈:一个字节可以表示8个地址,1-8个线圈只需要1个字节,9-16个两个字节,以此类推。循环所有点位信息,然后修改发送报文的功能码,起始地址,读寄存器数量发送报文。从格式看,前9位格式和长度是一样的,从第十位数据位开始长度不一样。数据总长可以根据查询报文中,查询数量来计算出。FF-1111 1111 一个字节表示八位。可以看到读寄存器跟线圈报文长度是不一样的。寄存器:需要2个字节来表示一个寄存器。计算公式:查询数量/8的整数+1;计算公式:查询数量x2。
2024-07-17 18:37:41
157
原创 C#实现数据采集系统-ModbusTCP查询报文分析和实现、通信实现、测试项目
Modbus是工业通信协议中广泛使用的协议,大部分设备都支持。Modbus TCP是一种基于TCP/IP网络的工业通信协议,它是Modbus协议的一种变种,专门设计用于在网络上传输数据。先定义一个设备链路类DeviceLink,用于配置设备的信息,ip、端口然后根据上面读的发送报文,可以得出,设备配置还需要一个从站地址set;set;/// 从站地址set;} = 1;然后定义一个寄存器点位类RegisterPoint,用于定义数据对象,对应PLC中的寄存器
2024-07-17 18:36:24
247
原创 C#实现数据采集系统-实现功能介绍
我们这里主要使用C#( .Net 6)来实现一个数据采集系统,从0到1搭建数据采集系统,从系统分析,功能拆解,到一一实现,然后还有C#进阶的技术讲解。
2024-07-17 18:34:56
194
原创 VS code设置默认终端为cmd
将default profile设置为cmd(Command Prompt)终端+号右侧下拉菜单,“配置终端设置。终端默认添加的就是cmd。
2024-07-15 22:16:47
195
原创 在C#/Net中使用Mqtt
Nuget包安装-MQTTnet添加命名空间创建一个MqttClient创建连接发送消息先创建一个mqtt消息,填入主题(Topic),消息内容(PayloadSegment),然后使用方法发送在mqttx中订阅对应主题,就能收到订阅主题中,表示通配符,说明该分类下testtpoic/的主题都会订阅。订阅一个主题。
2024-07-01 16:52:30
674
原创 mqtt介绍和环境安装
MQTT是机器对机器(M2M)/物联网(IoT)连接协议。它被设计为一个极其轻量级的发布/订阅消息传输协议。对于需要较小代码占用空间和/或网络带宽非常宝贵的远程连接非常有用,是专为受限设备和低带宽、高延迟或不可靠的网络而设计。下载一个开源的emqx服务器和mqttx客户端工具。
2024-07-01 16:40:38
281
原创 ModbusRTU协议报文解析
ModbusRTU协议报文解析:1个字节 指定目标设备地址(从站地址):1个字节 功能码在modbus协议用于表示信息帧的功能,例如读取线圈状态、读取寄存器等。N个字节 后面数据根据不同功能码不同。:循环冗余校验码,用于检测报文完整性和数据错误
2024-06-24 23:39:16
1369
原创 工业数字孪生:智能制造的新引擎
数字孪生技术作为智能制造的重要支撑技术,正在全球范围内快速发展并得到广泛应用。随着技术的不断成熟和创新,数字孪生将在推动制造业数字化转型、提升生产效率、降低运营成本等方面发挥越来越重要的作用。未来,数字孪生技术有望成为制造业不可或缺的一部分,引领制造业进入一个全新的智能化时代。
2024-06-23 12:12:42
902
原创 WPF文本绑定显示格式StringFormat设置-特殊格式时间日期和多数据绑定
在Textblock等文本控件中,我们经常要显示一些日期和时间,默认显示的日期,不是我们想要的,所以需要自定义格式,还有多个数据可能需要绑定到一个文本中,都可以通过设置`StringFormat`来实现
2024-06-21 16:32:40
663
原创 WPF文本绑定显示格式StringFormat设置-数值类型处理
在Textblock等文本控件中,我们经常要绑定一些数据类型,但是我们希望显示的时候能够按照我们想要的格式去显示,比如增加文本前缀,后面加单位,显示百分号等等,这种就需要对绑定格式进行处理本文主要介绍一些数值类型的格式处理。
2024-06-21 15:52:05
1296
原创 Net开源项目推荐-WPF控件样式篇
WPF控件库,比较常用的WPF开源控件库,对WPF原有控件样式都进行了重写和扩展,也增加了许多特别的控件,非常好用。wpf-uidesign使用WPF创建的一些UI设计案例,包含了8套设计UI可供选择,直接可用。VS编辑器风格的WPF 文档和工具窗口布局容器,标签页可自由拖动,停靠的布局容器,非常好用。WPFDevelopers控件库,包括各类特殊的控件,并且持续更新中。WPF中的曲线库,有各种曲线的控件。
2024-06-20 10:03:39
542
1
原创 IIS代理配置-反向代理
前后端分离项目,前端在开发中使用proxy代理解决跨域问题,打包之后无效。未配置前无法访问部署环境为windows +IIS,要在iis设置反向代理。
2024-06-20 08:29:56
1481
原创 C#开发-集合使用和技巧(八)集合中的排序Sort、OrderBy、OrderByDescending
在C#中,List类提供了多种方法来进行排序,最常用的是Sort方法和中提供的扩展方法OrderBy/OrderByDescending`方法。这些方法可以按照特定的顺序重新排列列表中的元素。
2024-06-19 23:53:24
663
原创 C#开发-集合使用和技巧(七)分组方法GroupBy的使用
GroupBy是 C# 中的一个 LINQ 扩展方法,用于根据指定的键将序列中的元素分组。它可以根据提供的键函数将数据分割成多个组,每组包含具有相同键的元素。`GroupBy`也是一个在集合用比较常用的方法,也是比较好用的,适用于对序列中的元素进行分组,他有多种重载,可以实现不同的功能
2024-06-19 23:26:41
1417
1
原创 C#开发-集合使用和技巧(六)特殊转换方法SelectMany的介绍和用法
SelectMany方法在C#中用于将集合中的元素转换为其他类型的集合,并将这些集合扁平化为一个单一的序列。它是LINQ的一部分,允许你在一个序列上进行投影和过滤操作,然后将结果合并成一个序列。
2024-06-18 15:02:14
683
原创 C#唯一进程的处理Winform/WPF
在C#客户端(Winform/WPF)开发过程中,有的情况需要确保程序的唯一性,如果启动同时启动同一个程序多次,可能导致数据,通信等异常。下面有两种方法来实现唯一进程。1.使用进程(Process)判断;2.使用互斥体(Metux)实现
2024-06-18 14:23:46
388
原创 C#开发-集合使用和技巧(五)集合中的转换方法
在C#中,`Select`, `ToList`, 和 `ToArray` 都是用于集合转换的方法,它们各自有不同的用途和适用场景。Select用于转换集合里面对象的类型,从一个类型转变到另一个类型ToList和ToArray主要用于集合类型转换,一般查询方法返回类型,需要这两个方法转换到对应可操作的集合,这两个方法一般是配合其他方法使用,当然也可以用于List与数组互相转换。
2024-06-17 17:58:46
809
原创 C#特性-CallerMemberName、CallerFilePath和CallerLineNumber的介绍和应用
在csharp中,`CallerMemberName`, `CallerFilePath`, 和 `CallerLineNumber` 是编译时常量,它们是csharp 5.0引入的特性,用于提供有关调用堆栈的信息,通常用于日志记录和调试。这些特性可以自动填充方法的参数,无需显式传递信息。
2024-06-17 15:50:55
599
原创 C#开发-集合使用和技巧(四)集合中常用的查询方法
本篇介绍集合的各种查询方法和使用主要介绍条件查询Where,单个对象查询First/FirstOrDefault、功能查询All、Any、Count等,结合代码说明和应用场景详细介绍
2024-06-15 23:35:38
215
原创 C#开发-集合使用和技巧(三)集合扩展方法介绍
这些方法允许我们以声明式的方式处理集合数据。下面是Enumerable方法描述类别All测试序列中的所有元素是否满足指定的条件。查询方法Any检查序列是否包含任何元素,或者满足指定条件的元素。查询方法Average计算序列中所有元素的平均值。数值聚合Concat连接两个序列。操作方法Contains检查序列中是否包含某个元素。查询方法Count返回序列中元素的数量。查询方法Distinct返回序列中不同的元素。操作方法ElementAt返回序列中指定位置的元素。查询方法Except。
2024-06-15 22:58:29
143
原创 C#开发-集合使用和技巧(二)Lambda 表达式介绍和应用
Lambda 表达式在 csharp 中是一种简洁的方式来表示匿名方法(也称为匿名函数)。Lambda 表达式的语法使用=>操作符,左侧是输入参数,右侧主体是表达式或代码块。Lambda 表达式主要用于简化 LINQ 查询和事件处理代码,在开发过程中,可以很好的简化代码。Lambda 表达式是 C# 中强大的功能特性,用于简化代码、提高可读性,特别是在 LINQ 查询和事件处理方面。它们的语法简单而灵活,能很好地提高代码的简洁性和可维护性。
2024-06-14 23:14:04
631
原创 C#开发-集合使用和技巧(一)常用集合和方法介绍
集合是C#中用于存储和管理一组对象的数据结构。它们提供了比基本数据类型更灵活和强大的功能。集合可以动态调整大小,这意味着您不需要预先知道集合中将要存储多少元素。在C#中,集合通常指的是命名空间下的类,这些类允许您存储强类型的元素集合。基本的集合都在命名空间中,该命名空间下面有几个命名空间,对集合进行分类通用集合,包含用于定义泛型集合的接口和类,可允许用户创建强类型集合。List等线程安全的集合类,提供几个线程安全的集合类,主要用于多个线程访问一个集合的情况,例如等。
2024-06-14 16:02:45
704
原创 Net快速开发-创建和使用项目模板(多个项目(解决方案)打包)
Net快速开发-创建和使用项目模板(多个项目(解决方案)打包),将多个项目或者一个解决方案所有项目都同时打包到一个模板中去,用于快速生成框架性代码
2024-05-28 09:51:53
711
原创 WPF中快速使用iconfont中的icon图标资源
在WPF开发中经常需要用到Icon图标,我们这用用的是Iconfont网站查找icon的资源,本文讲如何把iconfont图标资源当成字体文件导入到WPF程序中使用。
2024-05-24 16:33:33
607
原创 C#开发常用的库使用-Ioc库Autofac的使用
Autofac 是一个适用于 .NET 的强大的 IoC(控制反转)容器。它管理类之间的依赖关系,使得随着应用程序规模和复杂性的增长,应用程序仍然易于修改。它允许您管理 .NET 应用程序中的组件依赖关系,并自动将依赖项解析到它们所需的对象中。Autofac 提供了一个灵活的、功能丰富的 API,使您可以轻松地配置和使用依赖注入。
2024-04-05 22:26:43
625
1
原创 C-开发 visual Studio扩展插件介绍-格式化插件Xaml Styler、CSharpier介绍(扩展插件安装方法)
提高C#开发效率常用的插件。格式化工具Xaml Styler、CSharpier介绍,扩展插件安装方法介绍
2024-04-05 15:10:21
1142
4
原创 C#使用MiniExcel读取excel表格文件
MiniExecl提供了几种读取方法。方法一:以行列号来读取;方法二:使用第一行的名称进行读取;方法三:反序列化
2024-03-14 19:15:00
1522
原创 WPF的DataGrid自动生成中文列头
直接将一个对象集合绑定到DataGrid上面,设置自动生成列,DataGrid会自动根据对象类的属性生成对应的列。如果要生成中文表头,常规的做法就是在Xaml写完整每个表头,Header等于中文表头名,然后一一绑定属性,这样表头就是固定的,并且比较麻烦。现在想要的就是在自动生成的时候把属性表头自动转换成中文的表头,通过添加特性标签来实现。
2024-02-26 23:14:32
660
原创 WPF控件-ItemsControl介绍和用法
ItemsControl是用于展示一组项的控件。我们常见的列表(ListBox)、数据表格(DataGrid)等都是继承自ItemsControl。可用于自定义样式展示各种批量的数据集合。设置ItemsPanel布局控件为StackPanel,如果需要横向布局,则设置StackPanel的.设置里面为自己想展示的内容样式,并绑定对应的数据。通过绑定坐标来实现自定义控件按照一定的布局进行摆放,可以用于开发一些组态软件,设备布局图等。
2024-02-05 16:52:53
3618
1
原创 WPF图表库LiveChart异常问题处理-System.ArgumentOutOfRangeException:指定的参数超出了有效值的范围
在使用liveChart处理一个以时间为X轴的曲线时,遇到一个报错:指定的参数超出了有效值的范围:“Specified argument was out of the range of valid values. Arg_ParamName_Name” 指定的参数超出了有效值的范围报错位置发生在框架内的代码PageSegmentCollection中,非自己写的代码,无法定位。
2024-01-31 19:45:00
1066
原创 windows使用redis-安装和配置
显示successfully installed 说明安装成功,显示successfully started 说明启动成功,可以在服务看到redis服务。Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程,设置为no。安装完成后,直接在服务中查看,Redis服务已经安装完成,并且自动运行,则说明安装完成。下载MSI安装包进行安装,正常就一路默认配置安装,需要改的自己修改一下。部署了redis,局域网,其他电脑上的程序不能访问,需要配置远程访问。重启之后就能正常访问。
2024-01-15 18:48:14
690
原创 Mysql8.1.0 安装问题-缺少visual studio 2019x64组件
在windows下安装Mysql高版本8.1,存在缺少组件 vs 2019 x64的问题。在Visual Studio 2015、2017、2019 和 2022下面找到对应版本,进行下载。提示缺少visual studio 2019 x64可再发行组件。其实就是vc++2015-2022(x64)组件。安装完成之后,就可以正常安装mysql8.1。在微软官网下载vc++可再发行程序包。使用Mysql8以上的安装包。
2023-11-28 19:45:00
4224
原创 Net相关的各类开源项目
Util是一个.net core平台下的应用框架,旨在提升小型团队的开发输出能力,由常用公共操作类(工具类)、分层架构基类、Ui组件,第三方组件封装,第三方业务接口封装,配套代码生成模板,权限等组成。Destiny.Core.Flow是基于.Net Core,VUE前后分离,开发的一个开源Admin管理框架目前有以下模块:菜单管理、用户管理、角色管理、用户角色、角色权限等功能。个人的Unity框架,包含资源加载,配置加载,数据加载,UI管理,日志管理,动画系统,特效系统。
2023-10-05 21:38:25
656
原创 Net跨平台UI框架Avalonia入门-样式详解
Selector="ControlType(控件类型)"表示在style应用范围里的这类控件都默认使用这个样式,控件不需要写Classes来使用样式"Red"
2023-09-09 15:23:00
1482
C# WPF MVVM的Stylet框架使用示例
2024-07-21
c#操作excel NPOI使用手册
2024-07-09
stylet中文文档翻译
2024-07-09
Everything-1.4.1.1024的32位
2024-07-09
FSCapture抓屏工具-免安装版
2024-07-09
chrome插件 OneTabV1.33
2024-07-09
C# 集合一系列扩展方法使用示例
2024-06-17
WPF的MVVM模式下的命令绑定示例
2023-02-23
WPF的MVVM模式各种基础的绑定的示例
2023-02-22
WPF的MVVM简单使用-绑定和命令示例
2023-02-21
Modbustcp通信接口文档模板
2023-02-15
net framework从4.6到4.8.1不同版本的开发者工具包和简体中文语言包
2023-01-24
net framework4.0和4.5开发包(用于visual studio 2022 安装net旧版本)
2023-01-10
自己搭建IOC容器(C#)
2022-12-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人