
朝夕教育-WPF+上位机+工业互联
文章平均质量分 72
无论你是从事工业自动化、物联网、智能制造等领域的工作者,还是对上位机技术和工业互联应用感兴趣的爱好者,本专栏都能为你提供丰富的学习资源和实用的解决方案。快来加入我们,一起探索上位机工业互联的奥秘吧!
愚公搬代码
《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。
《近期荣誉》:2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主,2024年华为云十佳博主等。
《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。
展开
-
2021-12-31 WPF上位机 128-MQTT协议
文章目录MQTT协议基本内容MQTT协议-固定报头MQTT协议-可变报头MQTT协议-通信载荷QoS及信息交互过程MQTT协议5.0中文文档MQTT协议基本内容1、应用层协议报文结构HTTP,AMQP,XMPP(xml)、MQTT报文组装 Socket(TCP)2、固定报头3、可变报头4、载荷内容MQTT协议-固定报头1、两个字节(8个位)byte[] bytes=new byte[2] Quality of Service2、消息类型(14种 ) 3.1标准 5.01:请求连接原创 2021-12-31 00:56:48 · 36464 阅读 · 3 评论 -
2021-12-31 WPF上位机 127-MQTT协议客户端和服务端代码封装
文章目录一、客户端代码二、服务端代码一、客户端代码<Window x:Class="Zhaoxi.MQTT.Client.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsof原创 2021-12-31 00:35:46 · 34169 阅读 · 0 评论 -
2021-12-30 WPF上位机 126-了解MQTT
文章目录物联网与MQTT1、什么是MQTT?2、为什么是MQTT?3、如何通信?MQTT通信的参与者与消息4、如何通信?二、环境工具物联网与MQTT1、什么是MQTT?MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。基于发布/订阅模式、轻量级(5G速度、数据包的大小)协议(数据字节的格式,使用时需要进一步实现这个过程、协议比较广泛(现原创 2021-12-31 00:17:11 · 35509 阅读 · 0 评论 -
2021-12-30 WPF上位机 125-OPC协议UA通信之UA-.NETStandard
文章目录一、UA-.NETStandard(开源,Github)二、使用步骤一、UA-.NETStandard(开源,Github)nneget安装:UA-.NETStandard二、使用步骤#region OPCUAprivate static async void OPCUA(){ // 1、建立通信 // 创建一个Session对象 string url = "opc.tcp://192.168.0.100:49320"; // 应用配置(包含认证、)原创 2021-12-23 00:10:17 · 35674 阅读 · 0 评论 -
2021-12-23 WPF上位机 124-OPC协议DA通信之McProtocol
文章目录一、OPCDAAuto.dll 官方提供二、使用步骤Quality通信质量一、OPCDAAuto.dll 官方提供安装方法请看上篇文章:https://codeboy.blog.csdn.net/article/details/122075660二、使用步骤#region OPCDAprivate static void OPCDA(){ //Server、Groups、Group、Items、Item、Browser // Server:Connect 到 一个原创 2021-12-23 00:06:52 · 34689 阅读 · 0 评论 -
2021-12-21 WPF上位机 123-OPC协议
文章目录一、OPC DA1、DA规范2、DA组件 OPCAuto.dll3、通信基本对象:Server、Groups、Group、Items、Item、Browser二、OPC UA测试环境1、OPC Server2、OPC Client一、OPC DA1、DA规范2、DA组件 OPCAuto.dll注册:1、命令窗口必须是管理员2、进入对应的目录3、执行Regsrv323、通信基本对象:Server、Groups、Group、Items、Item、Browser二、OPC UA20原创 2021-12-21 23:24:25 · 34944 阅读 · 0 评论 -
2021-12-20 WPF上位机 122-了解OPC
了解OPC1、工业通信环境的统一Modbus、S7、Fins、MC;工业环境只有,很多不同的协议统一的访问平台2、OPC标准(OPC Client、OPC Server(中间件))基本的通信(两个月)ServerClient(升级) :OPC DA 、OPC UADA规范:Data AccessAE 、HDA、XML (OPC classic)实现:前:基于Windows COM/DCOM 通信组件 OPCAuto.dll 注册后:UA TCP UA-.NETStandard(Cli原创 2021-12-20 22:40:49 · 34806 阅读 · 0 评论 -
2021-12-20 WPF上位机 121-三菱PLC协议读写代码的封装
文章目录一、三菱PLC协议读写代码的封装1.base基类封装2.Result返回结果3.A1E封装4.QNA3E的封装5.使用一、三菱PLC协议读写代码的封装1.base基类封装public enum AreaCode{ D = 0xA8, X = 0x9C, Y = 0x9D, M = 0x90, R = 0xAF, S = 0x98, TS = 0xC1}public class MelsecBase{ string _i原创 2021-12-20 22:36:50 · 34948 阅读 · 0 评论 -
2021-12-20 WPF上位机 120-三菱PLC协议之读写方法流程解析
文章目录前言一、三菱PLC协议之读写方法流程解析二、使用步骤前言随着人工智能的不断发展,物联网这门技术也越来越重要,很多人都开启了物联网学习,本文就介绍了物联网的三菱PLC协议。提示:以下是本篇文章正文内容,下面案例可供参考一、三菱PLC协议之读写方法流程解析三菱PLC协议之读写方法流程解析二、使用步骤static void MCTest(){ // 连接 Socket socket = new Socket(AddressFamily.InterNetwork, Soc原创 2021-12-20 01:22:26 · 37196 阅读 · 0 评论 -
2021-12-20 WPF上位机 119-三菱PLC协议之MC协议
文章目录MC协议MC协议QnA-3E协议结构-成批操作MC协议QnA-3E协议结构-随机读MC协议QnA-3E协议结构-随机写MC协议附录一MC协议附录二MC协议A-1E协议结构MC协议-附录三MC协议-附录四MC协议1、MC是公开协议 ,所有报文 格式都是有标准2、MC协议体系串口:1C、2C、3C、4C网口:4E、3E、1EModbus、MX Component3、协议层次结构与请求流程协议类型的头 + 操作指令部分创建了TCP三次握手后,不需要进行通信请求存储区的读取4、小原创 2021-12-20 01:01:49 · 37741 阅读 · 0 评论 -
2021-12-19 WPF上位机 118-三菱PLC协议之McProtocol
文章目录一、McProtocol二、McProtocol使用步骤一、McProtocolnuget安装:McProtocol二、McProtocol使用步骤MCProtocol.Mitsubishi.McProtocolTcp mcProtocolTcp = new MCProtocol.Mitsubishi.McProtocolTcp( "127.0.0.1", 6000, MCProtocol.Mitsubishi.McFrame.MC1E);await mcProtocolTcp.O原创 2021-12-19 21:05:04 · 35404 阅读 · 0 评论 -
2021-12-19 WPF上位机 117-三菱通讯协议服务模拟封装
文章目录一、Base二、ClientServer窗口服务启动一、Basepublic enum ProtocolType{ QnA_3E = 0, A_1E = 1}二、Client public class MelsecAddress{ /// <summary> /// 开始地址 /// </summary> public int BeginAddress { get; set; } /// <su原创 2021-12-19 20:42:23 · 34399 阅读 · 0 评论 -
2021-12-14 WPF上位机 116-三菱PLC协议
三菱PLC及存储区(软元件)1、存储区分类以及访问规则TCP通信仿真环境搭建与测试1、Zhaoxi.MCProtocol.Server2、TCP通信调试助手原创 2021-12-14 23:00:39 · 34797 阅读 · 0 评论 -
2021-12-14 WPF上位机 115-了解三菱PLC
文章目录一、了解三菱PLC1、三菱PLC2.CC-LINK连接3.N:N网络连接4.并联连接一、了解三菱PLC1、三菱PLCFX、A->Q、 RFX5U() 、Q(模块:)FX系列PLC作为三菱基本的PLC,它们之间的通讯有几种常用的方式,分别如下:CC-LINK,N:N网络连接,并联连接。2.CC-LINK连接CC-LINK连接图如下:对应的PLC可为FX1N、FX1NC、FX2N、FX2NC、FX3U、FX3UC,因为在使用CC-LINK通讯时要扩展CC-LINK模块,而FX1原创 2021-12-14 22:57:42 · 34818 阅读 · 0 评论 -
2021-12-14 WPF上位机 114-欧姆龙协议读写代码的封装
文章目录一、欧姆龙协议读写代码的封装1.base基类封装2.Result返回结果3.FinsTcp封装4.使用一、欧姆龙协议读写代码的封装1.base基类封装public enum AreaType{ CIOBIT = 0x30, WBIT = 0x31, DMBIT = 0x02, ABIT = 0x33, HBIT = 0x32, CIOWORD = 0xB0, WWORD = 0xB1, DMWORD = 0x82,原创 2021-12-14 08:52:23 · 34579 阅读 · 0 评论 -
2021-12-14 WPF上位机 113-欧姆龙协议之读写方法流程解析
文章目录前言一、欧姆龙协议之读写方法流程解析二、使用步骤1.读,写,停止前言随着人工智能的不断发展,物联网这门技术也越来越重要,很多人都开启了物联网学习,本文就介绍了物联网的欧姆龙协议协议。提示:以下是本篇文章正文内容,下面案例可供参考一、欧姆龙协议之读写方法流程解析示例:欧姆龙协议之读写方法流程解析二、使用步骤1.读,写,停止class Program{ static void Main(string[] args) { Console.WriteLine(原创 2021-12-14 00:46:46 · 36894 阅读 · 0 评论 -
2021-12-05 WPF上位机 112-欧姆龙协议之FinsTCP协议
FinsTCP协议1、Fins是一个公开的协议 网口(Fins-》UDP FinsTCP)FinsTCP 在Fins的基础上添加一个FinsTCP的HeadFins官方文档:https://www.fa.omron.com.cn/data_pdf/mnu/w342-e1-17_cs1_cj1_cp1_com_cmd.pdf?id=16382、欧姆龙常用协议关系Hostlink(C-Mode(串口)、Fins(网口)、FinsTCP(网口)) Toolbus(独立的非公开的协议)FinsTCP(F原创 2021-12-05 16:42:22 · 36598 阅读 · 0 评论 -
2021-12-05 WPF上位机 111-欧姆龙协议之OmronFinsTCP.Net
OmronFinsTCP.Net的使用OmronFinsTCP.Net.EtherNetPLC etherNetPLC = new OmronFinsTCP.Net.EtherNetPLC();// 建立连接// 1、TCP三次握手// 2、FincTCP建立通信etherNetPLC.Link("192.168.151.132", 9600, (short)5000);short value = 0;//var result = etherNetPLC.ReadWord(OmronFins原创 2021-12-05 15:58:44 · 35196 阅读 · 0 评论 -
2021-12-05 WPF上位机 110-欧姆龙串口转网口的封装
class Program{ static SerialPort serialPort = null; static Socket socketServer = null; static List<Socket> clients = new List<Socket>(); static bool isExit = false; static List<Task> tasks = new List<Task>();原创 2021-12-05 15:56:06 · 34822 阅读 · 0 评论 -
2021-12-02 WPF上位机 109-欧姆龙协议
欧姆龙PLC存储区A:是模拟通道D:数据区 D10-》两个字节(Modbus-》两个字节(一个字) 需要是的什么类型的数据 short->一个寄存器,float->两个寄存器)H:保持继电器IO:输入输出点W:内部继电器C:计数器T:定时器CF:系统标记Modbus通信 01 02(CIO) 03(DM) 04(CIO)仿真环境搭建与测试1、CX-Simulator(PLCSIM Advanced3.0)CX-Programmar(内存监控)序列号(学习的话可百度,原创 2021-12-02 00:59:36 · 37572 阅读 · 0 评论 -
2021-12-02 WPF上位机 108-了解欧姆龙PLC
了解欧姆龙PLC1、欧姆龙PLC:CS系列、CJ系列、CP系列、NX系列(1)微型:CPM1A、CPM2A、CP1H、CP1L(2)小型:CPM2C、CQM1H、CJ1M(3)中型:C200H、CJ1、CS1(4)大型:CV、CS1D(5)运动控制器:NJ、NX等...原创 2021-12-02 00:55:52 · 37764 阅读 · 0 评论 -
2021-12-01 WPF上位机 107-西门子S7协议通信代码的封装
文章目录一、pandas是什么?二、使用步骤1.base基类封装2.Result返回结果3.S7Net封装4.使用总结一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.base基类封装public enum AreaType{ INPUT = 0x81, OUTPUT = 0x82, MERKER = 0x83, DATABLOCK = 0x84,}public class Da原创 2021-12-01 22:09:37 · 36592 阅读 · 0 评论 -
2021-12-01 WPF上位机 106-西门子S7协议之读写PLC时间方法流程解析
文章目录前言一、西门子S7协议之读写PLC时间方法流程解析二、使用步骤1.启动,停止总结前言随着人工智能的不断发展,物联网这门技术也越来越重要,很多人都开启了物联网学习,本文就介绍了物联网的S7报文协议。提示:以下是本篇文章正文内容,下面案例可供参考一、西门子S7协议之读写PLC时间方法流程解析示例:西门子S7协议之读写PLC时间方法流程解析二、使用步骤1.启动,停止static Socket socket = new Socket(AddressFamily.InterNetwork原创 2021-12-01 22:00:44 · 36772 阅读 · 0 评论 -
2021-12-01 WPF上位机 105-西门子S7协议之启动,停止方法流程解析
文章目录前言一、西门子S7协议之启动,停止方法流程解析二、使用步骤1.启动,停止总结前言随着人工智能的不断发展,物联网这门技术也越来越重要,很多人都开启了物联网学习,本文就介绍了物联网的S7报文协议。提示:以下是本篇文章正文内容,下面案例可供参考一、西门子S7协议之启动,停止方法流程解析示例:西门子S7协议之启动,停止方法流程解析二、使用步骤1.启动,停止static Socket socket = new Socket(AddressFamily.InterNetwork, Sock原创 2021-12-01 16:50:02 · 36644 阅读 · 0 评论 -
2021-12-01 WPF上位机 104-西门子S7协议之写数据方法流程解析
文章目录前言一、西门子S7协议之写数据方法封装二、使用步骤1.写数据总结前言随着人工智能的不断发展,物联网这门技术也越来越重要,很多人都开启了物联网学习,本文就介绍了物联网的S7报文协议。提示:以下是本篇文章正文内容,下面案例可供参考一、西门子S7协议之写数据方法封装示例:西门子S7协议之写数据方法封装二、使用步骤1.写数据static Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, P原创 2021-12-01 16:45:10 · 35748 阅读 · 0 评论 -
2021-12-01 WPF上位机 103-西门子S7协议之V区,DB区读数据方法流程解析
文章目录前言一、西门子S7协议之V区,DB区读写封装二、使用步骤1.读取数据总结前言随着人工智能的不断发展,物联网这门技术也越来越重要,很多人都开启了物联网学习,本文就介绍了物联网的S7报文协议。提示:以下是本篇文章正文内容,下面案例可供参考一、西门子S7协议之V区,DB区读写封装示例:西门子S7协议的V区,DB区数据读取二、使用步骤1.读取数据static Socket socket = new Socket(AddressFamily.InterNetwork, SocketTyp原创 2021-12-01 10:12:39 · 38502 阅读 · 0 评论 -
2021-11-27 WPF上位机 102-西门子S7协议之I区读数据方法流程解析
文章目录前言一、西门子S7协议之I区读写封装二、使用步骤1.modbus读取数据代码2.读取数据总结前言随着人工智能的不断发展,物联网这门技术也越来越重要,很多人都开启了物联网学习,本文就介绍了物联网的S7报文协议。提示:以下是本篇文章正文内容,下面案例可供参考一、西门子S7协议之I区读写封装示例:西门子S7协议的I区数据读取二、使用步骤1.modbus读取数据代码前提:知道I区的数据结构,可以看前面文章讲到的报文分析2.读取数据static Socket socket = new原创 2021-11-27 23:23:49 · 38345 阅读 · 0 评论 -
2021-11-27 WPF上位机 101-西门子S7协议之S7.NET
文章目录前言一、西门子S7协议之S7.NET读取数据二、使用步骤1.S7.NET2.读取数据总结前言随着人工智能的不断发展,物联网这门技术也越来越重要,很多人都开启了物联网学习,本文就介绍了物联网的S7报文协议。提示:以下是本篇文章正文内容,下面案例可供参考一、西门子S7协议之S7.NET读取数据示例:S7.NET包读取西门子S7协议数据二、使用步骤1.S7.NET前提:S7.NET是相关包可以通过nuget直接安装2.读取数据private static void S7NetTes原创 2021-11-27 23:00:54 · 38347 阅读 · 0 评论 -
2021-11-27 WPF上位机 100-西门子S7协议之modbus读取数据
文章目录前言一、西门子S7协议之modbus读取数据二、使用步骤1.modbus读取数据代码2.读取数据总结前言随着人工智能的不断发展,物联网这门技术也越来越重要,很多人都开启了物联网学习,本文就介绍了物联网的S7报文协议。提示:以下是本篇文章正文内容,下面案例可供参考一、西门子S7协议之modbus读取数据示例:modbus读取西门子S7协议数据二、使用步骤1.modbus读取数据代码前提:前面文章有modbus协议的代码封装,这里直接调用2.读取数据private static原创 2021-11-27 22:57:36 · 37513 阅读 · 0 评论 -
2021-11-26 WPF上位机 99-西门子S7协议报文分析
文章目录前言一、西门子S7协议报文分析二、使用步骤1.S7协议2.S7协议-COTP3.S7协议-S7COMM4.S7协议-S7COMM-读5.S7协议-S7COMM-写6.S7协议-S7COMM-SZL7.S7协议-S7COMM-Run8.S7协议-S7COMM-Stop9.S7协议-S7COMM-时间10.S7协议-S7COMM-Userdata-获取系统块11.S7协议-S7COMM-StartUpload12.S7协议-S7COMM-Upload13.S7协议-S7COMM-EndUpload14.原创 2021-11-26 10:02:41 · 39197 阅读 · 0 评论 -
2021-11-24 WPF上位机 98-西门子协议
西门子PLC存储区1、存储区分类,需要用S7协议I:数字量输入(DI)Q:数字量输出AI:模拟量输入AQ:模拟量输出V:变量存储区M:位存储区T:定时器存储区C:计数器存储区HC:高速计数器AC:累加器SM:特殊存储器L:局部存储区S:顺序控制继电器2、访问规则:bit、B、W、DB:byte W:word ->2byte D:double->4byteBit: I0.0仿真环境与Modbus通信测试1、200Smart / STEP 7仿真工具,只针原创 2021-11-24 00:31:31 · 37613 阅读 · 0 评论 -
2021-11-23 WPF上位机 97-了解西门子PLC
了解西门子PLC1、PLCModbus并不确定什么设备。特定的设备可编程逻辑控制器(计算单元、存储单元、通信单元)分品牌,关注:通信协议、有现成的库、2、西门子PLC:LOGO、S7-200、S7-200Smart、S7-300、S7-400、 S7-1200、S7-1500S7协议通信...原创 2021-11-23 22:21:35 · 37825 阅读 · 0 评论 -
2021-11-23 WPF上位机 96-Modbus通信代码的封装
public class ModbusBase{ public List<byte> GetReadCommand(byte deviceAddr, byte funcCode, ushort startAddr, ushort length) { List<byte> buffer = new List<byte>(); buffer.Add(deviceAddr); buffer.Add(funcC原创 2021-11-21 23:39:43 · 38046 阅读 · 0 评论 -
2021-11-22 WPF上位机 95-Modbus从站功能代码的实现
private void ButtonSlave_Click(object sender, RoutedEventArgs e){ serialPortSlave = new SerialPort("COM2", 9600, Parity.None, 8, StopBits.One); // 被动接收数据 serialPortSlave.ReceivedBytesThreshold = 1; serialPortSlave.DataReceived += SerialPor原创 2021-11-21 23:16:04 · 39550 阅读 · 0 评论 -
2021-11-21 WPF上位机 94-Modbus通信数据交换问题
通信数据交换问题1、RTU:3.5个字符时间,报文的发送间隔2、RTU请求频率(两帧报文之间有5ms以上的时间)3、大小端问题(字节序),不固定 ABCD CDAB DCBA BADCfloat 占用空间 36.5-》365 (一个寄存器)4、从机编号1-247 正常编号,248-255:扩展编号 ;0编号:广播查询从站编号:利用广播 0无法拿到 从站地址如果发送0从站编号-》所有的从站都会响应,不会有回复报文10#17 功能码 查询从站状态 - 10个设备(轮询)-》掉线(如果不设置超时原创 2021-11-21 22:31:51 · 39588 阅读 · 0 评论 -
2021-11-21 WPF上位机 93-ModbusTCP/IP消息帧
ModbusTCP/IP消息帧1、消息帧格式2、报文格式说明:传输标识:0,每次通信自动+1、随机生成协议标识:0x00, Modbus长度:PDU数据长度MBAP|功能码|数据PDU :Protocol Data Unit相关代码private List<byte> BaseCommands(){ List<byte> bytes = new List<byte>(); bytes.Add(0x01);// 从站地址 /原创 2021-11-21 17:34:25 · 40333 阅读 · 0 评论 -
2021-11-21 WPF上位机 92-ModbusASCII消息帧
ModbusASCII消息帧1、消息帧格式 – 0x03private List<byte> BaseCommands(){ List<byte> bytes = new List<byte>(); bytes.Add(0x01);// 从站地址 //byte funcCode = 0x01;// byte funcCode = 0x03; // 读保持型寄存器 //byte funcCode = 0x05; // 保持型原创 2021-11-21 08:38:04 · 39174 阅读 · 0 评论 -
2021-11-21 WPF上位机 91-ModbusRTU消息帧
ModbusRTU消息帧1、消息帧格式字操作 :123浮点数计算公式:D2+1/C3*B3位操作:SerialPort serialPort = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One);serialPort.Open();List<byte> bytes = new List<byte>();bytes.Add(0x01);// 从站地址bytes.Add(0x01);bytes原创 2021-11-21 07:56:07 · 39053 阅读 · 0 评论 -
2021-11-20 WPF上位机 90-Modbus协议的分类
Modbus协议的分类1、支持串口ModbusRTU、ModbusASCII 报文内容有区别2、支持网口ModbusTCP/IP、ModbusUDP/IP (RTU over TCP)3、未开放ModbusPlus HDLC1.协议基本概念1、位、字节、字符2、设备地址:从站地址 、从站编号3、功能码:01、03、05、06.。。。4、寄存器:4个存储区 0,1,3,45、高低位:数据存储方面的问题2.常用功能码...原创 2021-11-20 18:16:43 · 39635 阅读 · 0 评论 -
2021-11-18 WPF上位机 89-Modbus协议
Modbus协议1、通信方式:多种通信接口/介质支持串口和网口2、通信环境:单主机多从机(从站)需要进行轮询-》地址3、数据存储:功能不同的功能请求返回特定的值(大家了解,设备来处理)数据的类型(Bool、Int、Short、Float、Double)Bool 两个状态:位1字节:8个位1字:两个字节 16个位1双字:两个字 4个字节 32位双精度:2个双字 8个字节 64位byte C#字节对象01010010 10101010 10101010 10101010 PLC存储(仅原创 2021-11-18 22:41:28 · 40665 阅读 · 0 评论