- 博客(56)
- 收藏
- 关注
原创 C# 通信NModbus4读写(Modbus Poll模拟工具)
在启动时创建自身ip: 参数1“127.0.0.1”是自身ip 参数2:"502"是端口号,后用Modbus创建自身ip。把Connection下拉框设置成“Modbus TCP/IP”,点击OK。参数2是0x30是位置,30是16进制(写入的话会转成十进制位置就在48)参数3是ushort数组写入的数据会排序写入到NModbus里面。参数2:0x04从第四个数据开始读,参数3:3是读取三个。右键项目引用,点击管理NuGet程序包;写入多个寄存器:参数1从站地址,参数的话跟多个写入一样。
2025-03-28 16:44:04
457
原创 VisionPro(CogCreateGraphicLabelTool)读取(CogCaliperTool)Width数据
④双击打开CogCreateGraphicLabelTool,点击选择器的下拉框选择Formatted。选LastRun.Input Image可以直接查看倒数数据位置。注:D是InputDouble的缩写,F1是后面保留几位小数。①首先你的CogCaliperTool拥有‘测量宽度’③把宽度导入label的InputDouble里面。⑤文本输入 [D:F1]即可显示导入的数据。注:悬停时会显示宽度数据。
2024-10-17 16:10:13
707
1
原创 C# 7.表格 dataGridView
"男" : "女";"男" : "女",Name = "女朋友" + i + "号",s1.Name = "女朋友" + i + "号";s1.Job = "开挖掘机";添加 页眉文本更改名称;类型可以设置表格类型。Job = "开挖掘机",工具箱使用dataGridView(表格)作业表格展示学生三门成绩 最后展示总成绩。右键属性 找到Columns(集合)
2024-07-30 20:54:35
658
原创 C# 西门子Seven读取,写入数据
1.plc存储区 2 数据存储在哪个地址上 M区:00 03 20 3 读取数据的长度。if (socket.Connected) // 链接成功。0x10 代表双边通信 0x00机架号和插槽号。1字节从该字节往后字节个数 十进制是17。④0x82 Q 输出存储空间。1字节版本号 默认是03。①0x83 M存储区间。③0x81 I存储空间。1字节 保留值 默认0。2字节 报文的总长度。
2024-07-29 21:24:49
740
原创 C# 6.定时器 timer
label1.Text = now.ToString("F") 显示。开启定时器:timer1.Start();Interva等于1000是每一秒刷新一次。关闭定时器:timer1.Stop();定时间时间间隔:Interval。定时器默认时间间隔是100ms。
2024-07-29 21:24:39
898
1
原创 C# 5.下拉框comboBox
练习 用两个输入框(textbox) 一个comboBox 后面两个label。DisplayMember 展示成员list集合对象哪个属性。切换下拉框更改的方法, 把下拉框赋值给label。全局列表类 List<Stu> lsit。s1.Name =i + "号";目的:更改textBox 文本会跟着更变。下拉框comboBox,文本label。DataSource 数据源。comboBox添加数据。
2024-07-25 20:04:13
588
原创 C# Nmodbus,EasyModbusTCP读写操作
RTU报文: 01 03 00 00 00 01 084 0A。全局变量:ModbusClient client;读取保存寄存器数据,返回类型ushort[] 列表。参数 1.设备地址 2.起始地址 3.写入数据。参数1.设备地址 2.起始地址 3.数量。参数1.地址 2.写入位置 3.写入数据。采用的nmdbus4实现ascii协议。参数1.寄存器起始地址2.寄存器个数。参数1.起始地址 2.写入数据。给寄存器指定位置添加数据。给寄存器指定位置添加数据。写入后观看寄存器是否变化。
2024-07-25 17:51:12
1763
原创 C# 邮件发送
MyEmail.SendEmail(email, "大爱仙尊", "早岁已知世事艰,仍取飞鸿荡云间\r\n一路寒风深如絮,命海沉浮克独行\r\n千磨万击心铸铁,殚精竭虑铸一剑\r\n今朝剑指叠云处,炼蛊炼人还炼天");
2024-07-18 21:19:15
331
原创 C# 4.List
/3 下拉框的DataSource属性。向集合List添加10个学生对象 自己添加属性;// 删除指定索引值的元素。list.Remove("吃饭");// 删除指定的元素。list1.Add("老" + i);//1 向集合list添加10个学生对象 自己添加一些。6遍历所有的 item 就是数组的元素。list.Add("打豆豆");list.Add("吃饭");list.Add("睡觉");list[0] = "打铁";5 查询 通过索引值查询。
2024-07-18 21:15:03
506
原创 C# 3.数组遍历和储存对象
练习:练习:for循环存放 10 20 30 ……100 遍历数组 计算每一个和元素相加的和10+20+……public string GirlName { get;总结: 1 数组for循环存放对象2 数组for循环遍历元素。创建数组对象,存放10个学生对象;控件:按钮button,label文本。项目目的添加10个学生并展示。
2024-07-17 21:12:24
464
原创 C# 2.数组
/ sum就是三个元素相加。数组的索引值从0开始,3个元素索引值为0,1,2……i1[0] = 3;// 给索引值位0位置添加一个3。//Text属性设置内容的属性。
2024-07-16 21:13:44
586
原创 C# CRC16算法
< 左移运算 把第一个数进行左移指定第二个数位数,并且左移相当于乘以2的多少次方>> 右移运算 把第一个数进行右移指定第二个数位数,并且右移相当于除以2的多少次方通俗的说,位移的实现是将数据转换成二进制后,进行左右移动的。如果左移,则右边补零.如果是右移,则是左边补零,后边溢出的则去掉。因此,左移可以理解为整数的乘法,而右移则是理解为整数的取整除法。int a = 1;
2024-07-15 21:26:19
591
原创 C# 1.方法
逻辑:先判断彩礼不够18万,返回一个字符串彩礼不够;判断年龄在不在18-25之间,如果不在这个范围,返回字符串年龄不合法 判断名字如果不是喜欢的人 返回字符串不结婚。2.方法返回值:void 无返回值;非void,可以写成其他类型例如int,float,string,string[]等。作业:1 定义一个方法 返回值是字符串类型,参数有三个int 彩礼,int 年龄,string 名称;3.方法名:Add 大驼峰命名法,每一个首字符大写。4.参数列表:两个参数直接使用逗号隔开 int a。
2024-07-15 21:11:17
812
2
原创 C# 串口数据转网口实现空气风速风向检测
创建对象连接ip端口号,讲textbox1.text改成关闭,textBox1.Enabled=false;让输入框无法输,catch异常处理判断try里的代码是否报错,若报错运行catch里代码。断开方法:判断soc是否为空或者soc是否连接如果连接关闭soc.Close();,将button1.text=“连接”,让textbox1和2能Enabled=true;判断button1.text是否为“连接”若是连接则进行ConnectSocke();运行服务器的方法,否则CloseSocket();
2024-07-11 21:05:37
371
原创 C# modbus验证
CRC即循环冗余校验码(Cyclic Redundancy Check):是数据通信领域中最常用的一种查错校验码,CRC计算后高低位进行交换的结果,高位放在返回的crc16[0],低位在crc16[1],如果最低位为1,将寄存器与生成多项式0x8005异或,否则只进行右移操作。对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,对寄存器进行8次迭代,每次迭代将寄存器右移一位。初始化一个16位的寄存器为0xFFFF,用作初始值。最终的寄存器值就是CRC-16校验码。
2024-07-08 21:01:41
451
原创 C# Modbus
Modbus-RTU协议一般我们用的最多功能码就是`03`和`06`,大部分都是用modbus来查询传感器上的信息用`03`查询功能码(读寄存器),校验:为了保证数据不错误,增加这个,然后再把前面的数据进行计算看数据是否一致,如果一致,就说明这帧数据是正确的,我再回复;帧就是系统 Master和Slave 设备之间发送的信息,master发送的叫做命令帧,Slave返回的叫做应答帧。功能码:占用一个字节,功能码的意义就是,知道这个指令是干啥的,比如你可以查询从机的数据,也可以修改数据,
2024-07-08 20:18:23
802
原创 SerialportToTcp①
效果:串口和网口旁边的是panel当客户端或者服务器发送消息的时候会闪烁,下面的的textbox当接收到接受或者发送的数据会增加数量,心跳机制单选框可以开关,可设置心跳间隔和内容,重置按钮重置串口数据,保存按钮是保存串口数据(groupBox:提示框,panel,面板,comboBox下拉框,radioButton,单选框,checkBox,多选框)在路径Debug创建File,file里创建Setting.ini。
2024-07-03 20:14:00
466
原创 操作配置文件保存方式(上位机)
2 使用串口通信SerialPort类、以太网通信(通常的使用TCP或者UD P协议 或者在TCP或udp基础之上封装的协议。上位机:(Supervisor Control) 指的是用于监视和控制其他设备或者系统的计算机,在工业自动化和过程控制领域。c#没有对应的方法存取,通过c语言的kernel.dll方法进行读取,使用c语言的方法一定注意 和c#有点不一样。上位机典型就是一台PC或者服务器,用于语各种下位机进行通信的,收集数据,并且根据收集的数据发送一些数据。一般用于接受和反馈上位机的指令。
2024-07-01 21:22:52
945
原创 C#串口通信Seriaport和页面传值
c# 通过SerialPort类获取串口相关的数据 并且提供发送和接收数据的方法,需要引入using System.IO.Ports;串口COM:是一种用于连接计算机和外设设备的接口,也叫串行接口,简称com,常见的串口有一半电脑应用的RS-232(使用25针或9针的。串口通讯:是指外设和计算机 通过数据信号线、地线等按照一定协议进行双向通信的方式。连接器)通俗来讲串口就是usb接口、鼠标串口。桌面只用放一个textbox。
2024-06-27 21:21:00
606
1
原创 C# SocketUDP服务器,组播
224.0.1.0 ~ 224.0.1.255: 为用户可用的组播地址(临时组地址),可以用于 Internet 上的。224.0.2.0 ~ 238.255.255.255: 用户可用的组播地址(临时组地址),全网范围内有效。224.0.0.0 ~ 224.0.0.255: 局部链接多播地址:是为路由协议和其它用途保留的地址,只能用于局域网中,路由器是不会转发的地址 224.0.0.0 不能用,是保留地址。并被划分为局部链接多播地址、预留多播地址和管理权限多播地址三类。
2024-06-25 20:06:47
991
原创 C# UDP网络通信
TCP:(Transmission Control Protocol)是一种面向连接、可靠的、基于字节流的传输层通信协议。并且提供了全双工通信,允许俩个应用直接建立一个可靠的连接以进行数据交换/UDP:(User Datagram Protocol):是一种无连接、不可靠、基于数据报文传输层协议,它不提供数据包的分组。排序和组装功能也不提供可靠性的保证。
2024-06-25 19:44:45
719
原创 九五至尊道
早在五百年前,炼天魔尊在天庭顷刻炼化宿命蛊时,李克兢已经在暗处观察天下之事。还记得想当年李克兢成就十转之时,海面如镜,海中如泥。但是元始仙尊一生艰难,殚精竭虑,也未曾成就十转,甚至连门槛都未曾触碰到。早在若干年前,元始仙尊就曾经想到过,月亦有圆满之时,万物皆有终结之日。他是天外之魔,来到这个世界,便拥有道痕,那便是圆满道痕。天下众生如今得知,原来天下无敌并不是九转,而是,十转!大道之内,万物争执,各物矛盾,从而延展大道。仅仅十年,他成就十转,执掌天下,纵意棋局.至尊道,乃是天下人,天下物,的至尊!
2024-06-20 20:22:34
224
7
原创 C#心跳机制客户端
3创建网络基础流发消息 .write发消息。4 创建网络基础流接消息 .read接消息。tcpclient客户端步骤。2连接服务器connect。5 断开连接close()窗体(richTextBox右显示聊天)
2024-06-18 21:14:32
373
原创 C#心跳机制的服务器(完整)
心跳机制:心跳机制出现在tcp长连接中,客户端和服务器之间定时发送一种特殊的数据包,通知对方还在线,以确保tcp连接的可靠性。有可能tcp连接由于某些原因(例如网线被拔了,突然断电)导致客户端断了,但是服务器不知道客户端断了,服务器还保持与客户端连接的状态,所以不浪费资源,需要知道客户端非正常中断,服务器把断开客户端断开连接。需要加入心跳包机制tcp心跳:需要心跳机制,tcp本身内置了keepalive心跳机制,但是这种内置心跳机制不足以满足所有网络的情况,所以有必要自己写心跳机制。
2024-06-18 21:04:51
1260
1
原创 C#聊天室客户端完整③
进入聊天室界面(panel里面,label,textbox,button):聊天界面(flowLayoutPanel(聊天面板)):文档大纲(panel设置顶层(登录界面),聊天界面在底层)
2024-06-17 19:55:35
692
原创 C#学生管理系统查询显示和数据库打开③
在学生管理系统窗体添加 flowlayotPanel。输入“npm start” 显示打开数据库就是成功了。学生数据库的位置搜索cmd回车。
2024-06-06 21:26:49
251
1
原创 C#学生管理系统添加,删除,编辑,刷新②
遮罩的用于当打开添加窗体或查看窗体的时候,给学生管理系统上添加遮罩层(让窗体不可点击);dataGridView的事件。添加窗体 FormEditor。
2024-06-06 21:15:43
417
原创 C# tcp可用段创建
1 创建基于流的套接字对象2 连接到指定的tcp远程服务器3 发送数据(发送的是一个字节数组)4 接受数据//字节数组,string s = Encoding.UTF8.GetString(bs, 0, count) 把数据转成字符串。
2024-05-30 20:49:56
275
4
原创 C# 使用httpClient实现页面爬虫
string url = (要爬的网址);int start = int.Parse(开始页数);int end = int.Parse(结束页数);
2024-05-29 21:07:50
555
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人