海盗Sharp
码龄7年
关注
提问 私信
  • 博客:278,221
    社区:676
    学院:207
    279,104
    总访问量
  • 100
    原创
  • 15,047
    排名
  • 4,259
    粉丝
  • 492
    铁粉
  • 学习成就

个人简介:C#/Net开发

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
  • 加入CSDN时间: 2017-07-06
博客简介:

海盗Sharp的博客

博客描述:
.net开发
查看详细资料
  • 原力等级
    成就
    当前等级
    6
    当前总分
    2,023
    当月
    30
个人成就
  • 获得805次点赞
  • 内容获得72次评论
  • 获得1,643次收藏
  • 代码片获得5,675次分享
创作历程
  • 49篇
    2024年
  • 64篇
    2023年
  • 12篇
    2022年
成就勋章
TA的专栏
  • 前端开发
    1篇
  • C#实现数据采集系统
    18篇
  • C#
    9篇
  • Visual Studio
    9篇
  • vscode
    2篇
  • Unity工业数字孪生
    2篇
  • 工业通信协议
    2篇
  • WPF
    11篇
  • C#开发-集合使用和技巧
    8篇
  • WPF嵌入外部exe应用程序
    3篇
  • WPF-MVVM
    10篇
  • Avalonia UI
    5篇
  • IoC容器(C#)
    5篇
  • MVVM Stylet框架
    29篇
TA的推广
兴趣领域 设置
  • 编程语言
    c#
  • 开发工具
    visualstudio
  • 后端
    架构
  • 游戏
    unity
  • 微软技术
    c#.netwpfasp.net
TA的社区
  • 王强的课程社区_NO_1
    1 成员 20 内容
    创建者
创作活动更多

AI大模型如何赋能电商行业,引领变革?

如何使用AI技术实现购物推荐、会员分类、商品定价等方面的创新应用?如何运用AI技术提高电商平台的销售效率和用户体验呢?欢迎分享您的看法

175人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Web前端开发工具和依赖安装

Web前端开发工具和依赖安装 node.js+vue
原创
发布博客 2024.10.29 ·
605 阅读 ·
3 点赞 ·
0 评论 ·
3 收藏

120个微信小程序源码.zip

发布资源 2024.10.28 ·
zip

C#多线程数据同步的几种方式(不同的锁)

C#多线程数据同步的几种方式(不同的锁)多个关联数据无法完整获取修改
原创
发布博客 2024.09.29 ·
479 阅读 ·
3 点赞 ·
0 评论 ·
4 收藏

C#实现数据采集系统-数据反写(3)ModbusTcp写入数据模块开发

线圈基本都是单个写入,这里就使用05功能码寄存器写入可能多个同时写入,如int32,float等,需要四个字节,则需要2个寄存器,并且数据的两个寄存器是连续的,,其他的如Int64,double,则需要4个寄存器,我们可以一起写入调高效率。跟读报文一样,定义一个写入报文的头,前10个报文,再接收到写入数据是再在后面接上对应的数据字段然后再初始化的时候修改从站地址。
原创
发布博客 2024.08.23 ·
1277 阅读 ·
22 点赞 ·
0 评论 ·
3 收藏

C#实现数据采集系统-数据反写(2)消息内容处理和写入通信类队列

在ModbusTcp通信类中,添加一个写入队列和写入方法,写入点位先添加在队列中,然后再读数据间隙中,实现写入。处理消息,将消息转换成对应点位和值,然后调用modbustcp的写入方法。然后在启动的时候,订阅各个设备ID的写入主题,添加控制方法。用于存储每个设备的通信类,使用键值对。存储设备ID和通信类,用于快速查找。实现消息订阅方法-设备控制。
原创
发布博客 2024.08.22 ·
489 阅读 ·
9 点赞 ·
0 评论 ·
1 收藏

C#实现数据采集系统-数据反写(1)MQTT订阅接收消息

订阅方法实现:订阅主题,添加到_topicActions,如果已经连接,则直接订阅,没有连接,则等待连上的时候自动订阅,增加锁来确保订阅成功。然后需要一个键值对用于存储这个关系。在连接方法中,添加订阅。
原创
发布博客 2024.08.22 ·
852 阅读 ·
7 点赞 ·
0 评论 ·
4 收藏

C#实现数据采集系统-系列总览

基于C# +Net 6.0开发数据采集系统ModbusTcp实现plc数据采集Mqtt实现数据发送
原创
发布博客 2024.08.21 ·
525 阅读 ·
9 点赞 ·
0 评论 ·
5 收藏

C#实现数据采集系统-多设备采集

数据采集系统在网络环境下,性能足够,可以实现1对多采集,需要支持多个设备进行同时采集功能,现在就开发多设备采集功能。
原创
发布博客 2024.08.21 ·
773 阅读 ·
3 点赞 ·
0 评论 ·
8 收藏

C#实现数据采集系统-周期配置、功能配置

之前采集、推送周期都是写死的现在就是新增一个需求,需要能够配置采集时间,比如我想1s采集一次,5s采集一次或者1分钟采集一次,然后定时推送也是,如此,我想设置推送的时间;还有定时推送和变化推送功能我可以配置是否开启关闭,有时候我只需要一种推送功能即可这样我们就可以在配置中增加这几个个参数。
原创
发布博客 2024.08.20 ·
763 阅读 ·
6 点赞 ·
0 评论 ·
9 收藏

C#实现数据采集系统-实现变化推送

现在每采集一次都会推送数据,消息量就会比较大,而且点位状态不变化,也会一直推送,会占用消耗大量资源。
原创
发布博客 2024.08.20 ·
613 阅读 ·
2 点赞 ·
0 评论 ·
2 收藏

visual studio使用技巧:快速生成Json、XML对应类

在项目中经常用到json或者xml作为配置文件,进行序列化和反序列化就需要有对应的类,重新写一遍类就比较麻烦,这里就讲一下通过visual studio快速生成json或者xml对应类型的方法。
原创
发布博客 2024.08.19 ·
892 阅读 ·
13 点赞 ·
0 评论 ·
11 收藏

20条设备故障报警记录sql

发布资源 2024.08.02 ·
sql

C#实现数据采集系统-系统优化服务封装

现在我们调用modbustcp和mqtt都直接在Program,所有加载和功能都混合在一起,比较难以维护类似asp.net core项目的Program.cs代码如下,构建服务配置和启动要实现的效果,Main方法中就是一个服务启动,只需要几行代码。
原创
发布博客 2024.08.02 ·
267 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

C#实现数据采集系统-配置文件化

配置信息ip端口,还有点位信息,什么的都是直接在代码里直接写死,添加点位,修改配置,比较麻烦,每次修改都需要重新生成打包。所以将这些配置都改成配置文件,这样只需要修改配置文件,程序无须修改,即可更新。配置代码:如果我们有100个采集,一个个去添加就很累,或者ip地址改了,都要重新改了打包发布再部署所以将这些属性和信息都改成配置文件。
原创
发布博客 2024.08.02 ·
469 阅读 ·
3 点赞 ·
0 评论 ·
1 收藏

C#实现数据采集系统-Mqtt实现采集数据转发

在数据采集系统中,通过ModbusTcp采集到数据之后,再通过MQTT转发到其他应用。
原创
发布博客 2024.07.28 ·
622 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

C#实现数据采集系统-modbustcp数据通知

在ModbusTcp模块中已经能够获取到正确的plc值,接下来做的就是如何让外部调用的程序获取到相关的数据,主要就是两种方法:通过对象属性进行共享;通过事件进行推送。
原创
发布博客 2024.07.26 ·
423 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

C#实现数据采集系统-Tcp粘包处理

Tcp通信中会出现粘包的情况,Tcp数据不是完全一收一发,而是会将接收到数据存在一个接收缓冲区,等到调用接收的把数据从缓冲区取出来大部分时候,我们收发消息频率不高,看上去就是发一条,收一条,完整数据;理论上,接收一次,是会出现各种情况,粘包的几种情况示例:比如 modbustcp响应报文,我们查询三次,正常是收到三条下面这样报文123。
原创
发布博客 2024.07.26 ·
278 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

C# WPF MVVM的Stylet框架使用示例

发布资源 2024.07.21 ·
zip

C#实现数据采集系统-字节序处理和代码优化

C# 小端模式modbustcp中,寄存器都是两个字节,寄存器内部两个字节都是大端存储,如果需要存储int32,float,double等数据,则需要2个或者更多寄存器,目前大部分plc在处理时,寄存器之间都是采用小端存储,寄存器里是大端,形成了小大端模式,就是CD AB,GHEFCDAB大端 ABCD小端DCBA小大端模式CD ABC#中,都是小端模式存储,所以处理就是CDAB→DCBA,GHEFCDAB→HGFEDCBA。
原创
发布博客 2024.07.17 ·
274 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

C#实现数据采集系统-查询报文处理和响应报文分析处理

线圈:一个字节可以表示8个地址,1-8个线圈只需要1个字节,9-16个两个字节,以此类推。循环所有点位信息,然后修改发送报文的功能码,起始地址,读寄存器数量发送报文。从格式看,前9位格式和长度是一样的,从第十位数据位开始长度不一样。数据总长可以根据查询报文中,查询数量来计算出。FF-1111 1111 一个字节表示八位。可以看到读寄存器跟线圈报文长度是不一样的。寄存器:需要2个字节来表示一个寄存器。计算公式:查询数量/8的整数+1;计算公式:查询数量x2。
原创
发布博客 2024.07.17 ·
322 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多