微软MVP Eleven
这个作者很懒,什么都没留下…
展开
-
2022-03-07 WPF上位机 128-MQTT协议
文章目录MQTT协议基本内容MQTT协议-固定报头MQTT协议-可变报头MQTT协议-通信载荷MQTT协议-连接服务器MQTT协议-订阅MQTT协议-发布QoS及信息交互过程MQTT主题名与过滤器MQTT协议5.0中文文档MQTT协议基本内容1、应用层协议报文结构HTTP,AMQP,XMPP(xml)、MQTT报文组装 Socket(TCP)2、固定报头3、可变报头4、载荷内容MQTT协议-固定报头1、两个字节(8个位)byte[] bytes=new byte[2] Quality原创 2022-03-07 09:25:55 · 32109 阅读 · 0 评论 -
2022-03-03 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.microsoft.com/expression/ble原创 2022-03-03 10:09:17 · 26815 阅读 · 0 评论 -
2022-02-28 WPF上位机 126-了解MQTT
物联网与MQTT1、什么是MQTT?MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。基于发布/订阅模式、轻量级(5G速度、数据包的大小)协议(数据字节的格式,使用时需要进一步实现这个过程、协议比较广泛(现有的通信库))实现的完整度更高,了解协议的结构MQTT 3.1 5.0(有些变化)2、为什么是MQTT?极少的数据完成远程通信(原创 2022-02-28 08:37:35 · 26758 阅读 · 0 评论 -
2022-02-25 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.151.132:49320"; //string url =原创 2022-02-25 08:45:46 · 27142 阅读 · 0 评论 -
2022-02-22 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 到 一个原创 2022-02-22 08:56:02 · 26666 阅读 · 0 评论 -
2022-02-22 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原创 2022-02-22 08:55:13 · 26589 阅读 · 0 评论 -
2022-02-21 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原创 2022-02-21 08:42:56 · 26958 阅读 · 0 评论 -
2022-02-21 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原创 2022-02-21 08:41:47 · 26779 阅读 · 0 评论 -
2022-02-17 WPF上位机 120-三菱PLC协议之读写方法流程解析
文章目录前言一、三菱PLC协议之读写方法流程解析二、使用步骤前言随着人工智能的不断发展,物联网这门技术也越来越重要,很多人都开启了物联网学习,本文就介绍了物联网的三菱PLC协议。提示:以下是本篇文章正文内容,下面案例可供参考一、三菱PLC协议之读写方法流程解析三菱PLC协议之读写方法流程解析二、使用步骤static void MCTest(){ // 连接 Socket socket = new Socket(AddressFamily.InterNetwork, Soc原创 2022-02-17 23:35:45 · 26794 阅读 · 0 评论 -
2022-02-17 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、小原创 2022-02-17 23:34:53 · 29441 阅读 · 0 评论 -
2022-02-11 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原创 2022-02-11 16:21:26 · 27302 阅读 · 0 评论 -
2021-12-22 WPF上位机 117-三菱通讯协议服务模拟封装
一、Basepublic enum ProtocolType{ QnA_3E = 0, A_1E = 1}二、Client public class MelsecAddress{ /// <summary> /// 开始地址 /// </summary> public int BeginAddress { get; set; } /// <summary> /// 类型的代号 ///原创 2021-12-22 09:22:23 · 26663 阅读 · 0 评论 -
2021-12-22 WPF上位机 116-三菱PLC协议
三菱PLC及存储区(软元件)1、存储区分类以及访问规则TCP通信仿真环境搭建与测试1、Zhaoxi.MCProtocol.Server2、TCP通信调试助手原创 2021-12-22 09:21:07 · 27085 阅读 · 0 评论 -
2021-12-20 WPF上位机 115-了解三菱PLC
一、了解三菱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模块,而FX1S没有扩展模块功能,故FX1S不能用于此通讯方式。2)FX1N/FX2N/FX3U即可以作为主原创 2021-12-20 08:40:30 · 27014 阅读 · 0 评论 -
2021-12-20 WPF上位机 114-欧姆龙协议读写代码的封装
一、欧姆龙协议读写代码的封装1.base基类封装public enum AreaType{ CIOBIT = 0x30, WBIT = 0x31, DMBIT = 0x02, ABIT = 0x33, HBIT = 0x32, CIOWORD = 0xB0, WWORD = 0xB1, DMWORD = 0x82, AWORD = 0xB3, HWORD = 0xB2}public class DataAddres原创 2021-12-20 08:39:55 · 26866 阅读 · 0 评论 -
2021-12-20 WPF上位机 113-欧姆龙协议之读写方法流程解析
前言随着人工智能的不断发展,物联网这门技术也越来越重要,很多人都开启了物联网学习,本文就介绍了物联网的欧姆龙协议协议。提示:以下是本篇文章正文内容,下面案例可供参考一、欧姆龙协议之读写方法流程解析示例:欧姆龙协议之读写方法流程解析二、使用步骤1.读,写,停止class Program{ static void Main(string[] args) { Console.WriteLine("Hello World!"); //LibTest();原创 2021-12-20 08:38:56 · 26825 阅读 · 0 评论 -
2021-12-11 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-11 17:37:57 · 28116 阅读 · 0 评论 -
2021-12-11 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-11 17:37:05 · 28360 阅读 · 0 评论 -
2021-12-11 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-11 17:35:58 · 27734 阅读 · 0 评论 -
2021-12-03 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-03 15:43:21 · 27847 阅读 · 0 评论 -
2021-12-03 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-03 15:42:49 · 28080 阅读 · 0 评论 -
2021-12-03 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-03 15:42:16 · 27853 阅读 · 0 评论 -
2021-12-03 WPF上位机 106-西门子S7协议之读写PLC时间方法流程解析
文章目录前言一、西门子S7协议之读写PLC时间方法流程解析二、使用步骤1.启动,停止总结前言随着人工智能的不断发展,物联网这门技术也越来越重要,很多人都开启了物联网学习,本文就介绍了物联网的S7报文协议。提示:以下是本篇文章正文内容,下面案例可供参考一、西门子S7协议之读写PLC时间方法流程解析示例:西门子S7协议之读写PLC时间方法流程解析二、使用步骤1.启动,停止static Socket socket = new Socket(AddressFamily.InterNetwork原创 2021-12-03 15:41:31 · 27993 阅读 · 0 评论 -
2021-12-03 WPF上位机 105-西门子S7协议之启动,停止方法流程解析
文章目录前言一、西门子S7协议之启动,停止方法流程解析二、使用步骤1.启动,停止总结前言随着人工智能的不断发展,物联网这门技术也越来越重要,很多人都开启了物联网学习,本文就介绍了物联网的S7报文协议。提示:以下是本篇文章正文内容,下面案例可供参考一、西门子S7协议之启动,停止方法流程解析示例:西门子S7协议之启动,停止方法流程解析二、使用步骤1.启动,停止static Socket socket = new Socket(AddressFamily.InterNetwork, Sock原创 2021-12-03 15:40:11 · 28007 阅读 · 0 评论 -
2021-12-03 WPF上位机 104-西门子S7协议之写数据方法流程解析
文章目录前言一、西门子S7协议之写数据方法流程解析二、使用步骤1.写数据总结前言随着人工智能的不断发展,物联网这门技术也越来越重要,很多人都开启了物联网学习,本文就介绍了物联网的S7报文协议。提示:以下是本篇文章正文内容,下面案例可供参考一、西门子S7协议之写数据方法流程解析示例:西门子S7协议之写数据方法流程解析二、使用步骤1.写数据static Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Str原创 2021-12-03 15:39:40 · 31337 阅读 · 0 评论 -
2021-12-03 WPF上位机 103-西门子S7协议之V区,DB区读数据方法流程解析
文章目录前言一、西门子S7协议之V区,DB区读数据方法流程解析二、使用步骤1.读取数据总结前言随着人工智能的不断发展,物联网这门技术也越来越重要,很多人都开启了物联网学习,本文就介绍了物联网的S7报文协议。提示:以下是本篇文章正文内容,下面案例可供参考一、西门子S7协议之V区,DB区读数据方法流程解析示例:西门子S7协议之V区,DB区读数据方法流程解析二、使用步骤1.读取数据static Socket socket = new Socket(AddressFamily.InterNet原创 2021-12-03 15:39:09 · 28823 阅读 · 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 = ne.原创 2021-11-29 10:15:35 · 27733 阅读 · 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 S7NetTe.原创 2021-11-29 10:15:03 · 28762 阅读 · 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-29 10:14:27 · 28606 阅读 · 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:13:38 · 32351 阅读 · 0 评论 -
2021-11-26 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-26 10:12:42 · 32626 阅读 · 0 评论 -
2021-11-26 WPF上位机 97-了解西门子PLC
了解西门子PLC1、PLCModbus并不确定什么设备。特定的设备可编程逻辑控制器(计算单元、存储单元、通信单元)分品牌,关注:通信协议、有现成的库、2、西门子PLC:LOGO、S7-200、S7-200Smart、S7-300、S7-400、 S7-1200、S7-1500S7协议通信...原创 2021-11-26 10:08:52 · 32516 阅读 · 0 评论 -
2021-11-26 WPF上位机 96-Modbus通信代码的封装
一:封装架构图EndianTypepublic enum EndianType { AB, BA, ABCD, CDAB, BADC, DCBA, ABCDEFGH, GHEFCDAB, BADCFEHG, HGFEDCBA }ModbusAsciipublic class ModbusAscii : SerialPortBase{ public ModbusAscii(string portName, int baud.原创 2021-11-26 10:08:02 · 32370 阅读 · 0 评论 -
2021-11-21 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 += SerialPo.原创 2021-11-22 21:17:27 · 32412 阅读 · 0 评论 -
2021-11-22 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-22 21:16:38 · 32514 阅读 · 0 评论 -
2021-11-22 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-22 21:16:01 · 33399 阅读 · 0 评论 -
2021-11-22 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-22 21:15:21 · 32275 阅读 · 0 评论 -
2021-11-22 WPF上位机 91-ModbusRTU消息帧
ModbusRTU消息帧1、03功能码消息帧格式单精度操作 :123SerialPort serialPort = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One);serialPort.Open();List<byte> bytes = new List<byte>();bytes.Add(0x01);// 从站地址bytes.Add(0x03);bytes.Add(0x00);bytes.A.原创 2021-11-22 21:08:09 · 32190 阅读 · 0 评论 -
2021-11-22 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-22 21:07:14 · 32740 阅读 · 0 评论 -
2021-11-22 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-22 21:06:26 · 35296 阅读 · 0 评论