
C#上位机与三菱PLC通信
文章平均质量分 85
打能电气PLC工程师与应用软件工程师的桥梁,实现工业软件的自动化控制
hqwest
信息系统高级项目经理,系统集成项目经理,美国PMP认证项目经理,软件设计师,软件评测师,电子商务设计师,系统架构师,C#.NET和JAVA领域全栈开发,IT教培砖家,对标IT高薪岗位,面向在校生、IT爱好者,提供免费在线指导、串讲、答疑、视频、合作等服务
展开
-
C#上位机与三菱PLC的通信01--搭建仿真环境
三菱PLC是三菱电机生产的主力产品。它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算、顺序控制、定时、计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程。三菱PLC在中国市场常见的有以下型号: FR-FX1N FR-FX1S FR-FX2N FR-FX3U FR-FX5U FR-FX2NC FR-A FR-Q)。三菱FX系列PLC:特点是小型化、一体式结构,可控制IO点数相对少,三菱FX系列PLC适合简单小型的应用环境,经济又实惠,一块fx就能组建控制回路。原创 2024-01-03 16:28:47 · 4487 阅读 · 0 评论 -
C#上位机与三菱PLC的通信02--MC协议介绍
PLC是在继电器控制路线基础上发展起来的,继电器控制线路有时间继电器、中间继电器等,而PLC内部也有类似的器件,由于这些器件以软件形似存在,故称为软元件。PLC程序由指令和软元件组成,指令的功能是发出命令,软元件是指令的执行对象,比如,SET为1指令,Y000是PLC的一种软元件(输出继电器),“SET Y000”就是命令PLC的输出继电器Y000的转台变为1。由此可见,编写PLC程序必须了解PLC的指令级软元件。软元件就是存储区软元件就是存储区软元件就是存储区。原创 2024-02-07 17:17:49 · 12979 阅读 · 1 评论 -
C#上位机与三菱PLC的通信05--MC协议之QnA-3E报文解析
注意2个问题:1、bit和word,bit就是一个位,二进制中的位bit,0或1算一个位,word叫字,一个字就16位,就是2个字节,一个字节是8位,2个字节就是16位,也就是16个bit,简单讲就是word占2个字节,另外0X是16进制的表示,而float占4个字节。2、小端处理进行数据转换的时候需要注意, 西门子PLC的S7是大端处理,MC协议是小端处理,比如X区的代码是0x58 0x20,发送报文时需要变成0x20 0x58。原创 2024-02-09 12:01:21 · 5567 阅读 · 27 评论 -
C#上位机与三菱PLC的通信03--MC协议之A-1E报文解析
可以看到读取数据发送12个字节,响应4个字节,各个字节的意义如下(0x表示16进制),注意响应并不一定是4个字节,如果读取长度不是一个,则响应肯定大于4个字节,具体看后面的实例操作,总之结构就是如下表示:这里我们介绍两个模拟器,所讲的模拟器就是一个三菱的MC服务器,也就是说是一台虚拟的PLC,如果没有模拟器,那就需要一台真实的PLC硬件,但是FX5U之类的PLC价格要好几K以上,屌丝者成本较大,承担不起,对于很多学习者,培训者,爱好者花大洋有些心疼,所以提供2个模拟器,这个模拟器就是一台真实的PLC设备。原创 2024-02-08 11:15:45 · 7238 阅读 · 49 评论 -
C#上位机与三菱PLC的通信10---开发自己的通讯工具软件(Winform版)
上节2篇文章已经完成了通讯库的开发,可以看到封装的通讯库还是蛮厉害的,通讯库封装好后就是一个dll文件,那么可以在项目中就可以直接拿来应用,这节要做的就是做一个工具软件,形成自己专业的通讯工具,也是对通讯库的直接利用,本节要写的工具软件是一个winform程序,因为控制台程序是单调的,不方便操作,不直观。原创 2024-02-23 10:55:17 · 3152 阅读 · 4 评论 -
C#上位机与三菱PLC的通信07--使用第3方通讯库读写数据
mcprotocol 是一个基于 Node.js 的三菱 PLC MC 协议通信库,具有以下特点:支持多种三菱 PLC MC 协议的设备,如 FX3U、Q03UDECPU、QJ71E71 等。支持多种功能码和数据类型,如读取线圈(M)、读取寄存器(D)、写入寄存器(D)、读取扩展寄存器(D*)、读取位寄存器(X/Y)、读取字寄存器(W)等。支持多种通信方式,如 TCP、UDP、串口等。代码结构清晰,易于扩展和二次开发。支持 Promise、async/await 等语法糖,提高开发效率。原创 2024-02-18 23:50:18 · 8190 阅读 · 39 评论 -
C#上位机与三菱PLC的通信08---开发自己的通讯库(A-1E版)
前面使用了第3方的通讯库实现了与三菱PLC的通讯,实现了数据的读写,对于通讯库,我们只要引用并调用相关的方法即可实现目的,为什么别人可以封装通讯库dll文件,自己能不能做到?当然可以,但写一个通讯库需要非凡的技术,需要考虑的东西很多,比如扩展性,通用性,等等之类的。通过封装通讯库达到更高的层次,想想,别人使用自己的东西,说明自己牛XXXX啊,大师就是这样锻造出来的,接下来马上安排,鸿鹄之志从小事做起,振兴工业自动化,匹夫有责。AreaCode.cs代码。Result.cs代码。原创 2024-02-21 17:04:23 · 2300 阅读 · 1 评论 -
C#上位机与三菱PLC的通信04--MC协议之A-1E报文测试
到目前为止,还没有网上有哪个文章有我如此的报文分析,操作实例,一大批都是抄来抄去,没有截图,没有说明,没有实例,有卵用呀,仅以此文章献给最爱的粉丝,希望对各位大师有些启示。原创 2024-02-08 16:40:18 · 3009 阅读 · 0 评论 -
C#上位机与三菱PLC的通信06--MC协议之QnA-3E报文测试
三菱 PLC MC 协议是一种用于三菱 PLC 与上位机之间进行数据通信的协议,也称为 Mitsubishi Communication Protocol。该协议支持串口、以太网等多种通讯方式,可实现实时数据的采集和交换。三菱PLC的MC协议是一种数据通信协议,它用于在计算机和三菱PLC之间传输数据。MC协议是三菱公司独有的一种协议,主要用于控制三菱PLC。三菱MC协议目的是让外部设备实现与PLC的通信,也就数据的读取和写入。原创 2024-02-18 14:19:07 · 2872 阅读 · 0 评论 -
C#上位机与三菱PLC的通信09---开发自己的通讯库(A-3E版)
我们只要引用并调用相关的方法即可实现目的, 但写一个通讯库需要非凡的技术,需要考虑的东西很多,比如扩展性,通用性,等等之类的。通过封装通讯库达到更高的层次, 大师就是这样锻造出来的,接下来马上安排A-3E协议的封装,代码是基于上节的基础上添加。前面开发了自己的A-1E协议的通讯库,实现了数据的读写,对于封装的通讯库,其实是一个dll文件,请看上节的dll文件,有了这个文件,就可以在项目中直接引用。A3E.cs完整代码。原创 2024-02-21 21:31:59 · 1670 阅读 · 0 评论 -
C#上位机与三菱PLC的通信11---开发自己的通讯工具软件(WPF版)
viewmodel是视图模型,wpf采用的是mvvm的渲染模式,即控件绑定对象的属性,属性发生更改时,驱动控件的数据显示,而控件动作是由命令command执行。CommonResource.xaml完整代码。PLCMemoryModel.cs代码。MainWindow.xaml完整代码。ViewModelBase.cs代码。MainViewModel.cs代码。RelayCommand.cs代码。原创 2024-02-23 12:16:06 · 2015 阅读 · 4 评论