摘要:大家好!我是付工。 2012年开始接触Modbus协议,至今已经有10多年了,从开始的懵懂,到后来的顿悟,再到现在的开悟,它始终岿然不动,变化的是我对它的认知和理解。 今天跟大家聊聊关于Modbus协议的那些事。 发展历史 Modbus于1979年诞生,已经历经了40多年。 Modbus诞生在一个特
阅读全文
摘要:前言 大家好!我是付工。 每次听到别人说RS485通信协议,就很想去纠正他。 今天跟大家聊聊关于RS485的那些事。 接口标准 首先明确一点,RS485不是通信协议,而是一种接口标准,它还有2个兄弟:RS232和RS422。 RS是Recommend Standard的缩写,对于串口通信,目前工业领
阅读全文
摘要:-Begin- 大家好!我是付工。众所周知,在工业自动化控制系统中,上位机与下位机之间的通信是实现自动化生产的关键环节之一。为了确保通信的稳定性和可靠性,我们通用会采用一种被称为【心跳机制】的方法,它在通信过程中起到了监测和维护连接状态的重要作用。 心跳原理 心跳的原理很简单,心跳的关键点在于变化,
阅读全文
摘要:前言 大家好!我是付工。前面给大家介绍了Modbus协议的应用层面。终于有人把Modbus说明白了那么,今天跟大家聊聊关于Modbus协议报文的那些事。 一、真实案例 前段时间有个粉丝朋友,让我帮他解决一个问题。 这个粉丝朋友是负责Modbus主站调试的。 项目背景:这是一个船舶的项目,主站是一个贝
阅读全文
摘要:前言 大家好!我是付工。前面给大家介绍了一系列关于RS485与Modbus的知识。 终于有人把RS485说清楚了 终于有人把Modbus说明白了 通透!终于把ModbusRTU弄明白了 今天跟大家聊聊关于ModbusTCP协议的那些事。 一、发展历史 ModbusTCP是一种基于以太网的通信协议.M
阅读全文
摘要:1、前言 大家好!我是付工。前面给大家介绍了一系列关于RS485与Modbus的知识。 终于有人把RS485说清楚了终于有人把Modbus说明白了通透!终于把ModbusRTU弄明白了这样看来,ModbusTCP协议太简单了今天跟大家聊聊关于C#如何实现Modbus通信。 2、开源通信库 通信库是对
阅读全文
摘要:1、前言 大家好!我是付工。 EtherCAT是运动控制领域使用最广泛的总线通信协议之一。 如果我们只有一台电脑,能不能直接控制EtherCAT总线伺服呢? 这个是完全可以的。 我们可以在电脑上安装实时运行环境,从而实现对伺服电机的总线控制。如果大家手上也有一台EtherCAT总线伺服,就可以直接通
阅读全文
摘要:一、前言 大家好!我是付工。 西门子PLC是工控领域使用非常多的一种PLC品牌,对于上位机开发人员来说,对于西门子PLC的通信,我们一般可以采取哪些通信方式呢? 今天跟大家分享一下上位机实现与西门子PLC的通信方案。 二、串口通信 西门子PLC早期主要以S7-200、S7-300/400为主,后面逐
阅读全文
摘要:一、前言 大家好!我是付工。 十年前,刚开始学C#编程的时候,被委托困扰了很久。 今天跟大家分享一下关于委托的那些事儿。 二、委托原理 什么是委托? 抛开编程,委托是一个汉语词语,指的是把事情托付给别人或别的机构办理。 为什么会有委托?什么时候使用委托? 有些事情我们直接干不了,需要找人来帮忙。 比
阅读全文
摘要:一、前言 随着工业自动化水平的不断提高,我们在做上位机开发的时候,会经常涉及到与MES进行数据交互。 上位机与MES(Manufacturing Execution System,制造执行系统)之间的数据交互,大多数情况下都是MES提供数据接口,上位机按照MES的要求进行实施。 今天跟大家分享一下上
阅读全文
摘要:一、前言 大家好!我是付工。 之前有个学员问了这样的一个问题: 学会了上位机,是不是就可以不用PLC了呢? 今天跟大家分享一下上位机能不能代替PLC? 二、网络架构 首先我们看下这张网络架构图。 从图中可以看到: 上位机属于过程监控层,PLC属于现场控制层。 PLC作为下位机,上位机与下位机进行通信
阅读全文
摘要:一、前言 大家好!我是付工。 我们在进行上位机开发时,从设备端获取到的数据之后,需要进行一定的数据处理及转换,才能生成我们需要用的数据。 这其中就涉及到了各种数据类型之间的相关转换,很多非科班出身的电气工程师,经常会因为弄不清楚各种数据类型之间的转换关系,导致无法获取到自己想要的数据。 因此,我开源
阅读全文
摘要:一、前言 大家好!我是付工。 今天给大家分享一下,如何基于C#来生成并识别条形码或者二维码。 二、http://ZXing.Net 实现二维码生成的库有很多,我们这里采用的是http://ZXing.Net。 ZXing是一个开放源码的,用Java实现的多种格式的一维二维条码图像处理库,而http:
阅读全文
摘要:大家好!我是付工。 通透!终于把ModbusRTU弄明白了 这样看来,ModbusTCP协议太简单了 太简单了!C#轻松实现Modbus通信 前面给大家介绍了一系列关于Modbus和ModbusTCP的知识。 今天给大家来实测一下,对于不同品牌的PLC或板卡实现ModbusTCP通信时,通信速度有多
阅读全文
摘要:大家好!我是付工。 通透!终于把ModbusRTU弄明白了 这样看来,ModbusTCP协议太简单了 太简单了!C#轻松实现Modbus通信 前面给大家介绍了一系列关于Modbus和ModbusTCP的知识,主要针对的是ModbusTCP客户端。 在实际开发过程中,有可能会需要开放数据接口给PLC或
阅读全文
摘要:大家好!我是付工。 大部分初学者在学习C#上位机编程时,多线程是一个很难逾越的鸿沟,不合理地使用多线程,会导致经常出现各种奇怪的问题,这也是很多初学者不敢使用多线程的原因。但是在实际开发中,多线程是一个不可避免的技术栈,基本上每个项目都会使用到,因此学好多线程技术,很重要。 一、多线程原理 首先,我
阅读全文