c#上位机与三菱PLC(FX3U)串口通讯
项目中会经常用到上位机与PLC之间的串口通信,本文介绍一下C#如何编写上位机代码
与三菱FX3U进行通讯
1. 第一种方法是自己写代码实现,主要代码如下:
//对PLC的Y7进行置1
byte[] Y007_ON = { 0x02, 0x37, 0x30, 0x37, 0x30, 0x35, 0x03, 0x30, 0x36 };
//选择串口参数
SerialPort sp = new SerialPort("COM5", , Parity.Even, );
//打开串口
sp.Open();
//写入数据
sp.Write(Y007_ON, , Y007_ON.Length);
//关闭串口
sp.Close();
该方法的缺点在于我们首先要熟悉三菱PLC的通讯协议,然后根据通信规程来编写通信代码
举例说就是要对三菱PLC的Y007口进行操作,我们需要知道要对三菱PLC发送什么参数,这
里可以参考百度文库的一篇文章:
https://wenku.baidu.com/view/157632dad05abe23482fb4daa58da0116c171fa8.html
2.使用MX COMPONENT软件
2.1 MX Component 是一个工具,通过使用该工具,可以在无需具备通信协议及模块知
识的状况下实现从计算机至三菱PLC的通信。
MX Component的安装使用教程网上有很多,顺便找一下就可以找到合适的,这样
要说明的是MX Component工具,使用手册和编程手册都可以在三菱的网站上下载。
工具下载:
https://cn.mitsubishielectric.com/fa/zh/download/dwn_idx_softwareDetail.asp?sid=45
手册下载:
https://cn.mitsubishielectric.com/fa/zh/download/dwn_idx_manual.asp
下载安装之后sample路径(win10,默认安装):C:\MELSEC\Act\Samples
2.2 介绍安装配置好MX Component之后C#使用ActUtlType控件进行串口通信
首先要引用,这两个DLL在例程中可以找到
//Logical Station Number的值和在MX Component中设置一样
int logicalStationNumber = ; //添加axActUtlType对象
AxActUtlTypeLib.AxActUtlType axActUtlType = new AxActUtlTypeLib.AxActUtlType();
//不加这三句会报
//引发类型为“System.Windows.Forms.AxHost+InvalidActiveXStateException”的异常
((System.ComponentModel.ISupportInitialize)(axActUtlType)).BeginInit();
this.Controls.Add(axActUtlType);
((System.ComponentModel.ISupportInitialize)(axActUtlType)).EndInit(); //open
axActUtlType.ActLogicalStationNumber = logicalStationNumber;
axActUtlType.ActPassword = "";
axActUtlType.Open(); //Y7写入1
int wirteData = ;
axActUtlType.WriteDeviceRandom("Y7", , ref wirteData);
//D0写入100
int wirteData1 = ;
axActUtlType.WriteDeviceRandom("D0", , ref wirteData1);
//读D0数据
int readData;
axActUtlType.ReadDeviceRandom("D0", , ref readData); //close
axActUtlType.Close();
这里只是简单介绍,更深入的内容还是去看编程手册和例程。
c#上位机与三菱PLC(FX3U)串口通讯的更多相关文章
- 嵌入式Linux学习笔记(六) 上位机QT界面实现和串口通讯实现
目录 (1).参考资料 (2).QT界面布局实现 (3).数据和操作逻辑 在上一章我们实现了下位机的协议制定,并通过串口通讯工具完成了对设备内外设(LED)的状态修改,下面就要进行上位机软件的实现了( ...
- 上位机与三菱FX3U通过FX-232-BD通信
PLC侧设置: 和校验+协议4 读D200单字: 05 30 30 46 46 57 52 30 44 30 32 30 30 30 31 返回“201”:02 30 30 46 46 30 ...
- 上位机用USB做虚拟串口,总算抓到一个纯代码的总结了,没有坑的完美解决。
用libUSB来实现自己的驱动+下位机理论速度.=1M字节每秒. 达到极限速度 WINDOWS已经自带虚拟串口驱动,只不过还需要一个Inf文件 方法1:直接下载一个串口inf,来修改文件. 方 ...
- s7nodave用于上位机连接西门子PLC,开源项目epics
s7nodave 可以看作是Prodave的开源替代者,在PLC侧,不需要编程 This device support does not require any special programming ...
- C#上位机之—WinForm实现Socket异步通讯示例
工作中常用到的一些知识点,总是用完就忘,第一次尝试用博客记录下来,以备后用: Socket通讯,Socket(套接字)是基于TCP/IP通讯方式的封装好的类,调用时需要添加下面的服务引用: using ...
- 上位机开发之三菱FX3U以太网通信实践
上次跟大家介绍了一下上位机与三菱Q系列PLC通信的案例,大家可以通过点击这篇文章:上位机开发之三菱Q系列PLC通信实践(←戳这里) 今天以三菱FX3U PLC为例,跟大家介绍一下,如何实现上位机与其之 ...
- C#做一个简单的进行串口通信的上位机
C#做一个简单的进行串口通信的上位机 1.上位机与下位机 上位机相当于一个软件系统,可以用于接收数据.控制数据.即可以对接收到的数据直接发送操控命令来操作数据.上位机可以接收下位机的信号.下位机是 ...
- stm32与三菱PLC通信
一.三菱PLC通讯概要 三菱PLC FX系列通信结构如下图所示: 三菱PLC FX系列的通信规格如下图所示: 三菱PLC FX系列一般有以下几种通信模块,以FX2N为例: FX2N-232-BD ...
- 三菱plc编程电缆通讯端口设置方法(转载)
三菱plc编程电缆通讯端口如何设置?三菱plc编程电缆通讯端口设置方法 时间:2015-10-21 05:09:20编辑:电工栏目:三菱plc 导读:三菱plc编程电缆通讯端口的设置方法,三菱plc上 ...
随机推荐
- linux学习笔记基础篇(一)
一.IP操作 1.临时修改IP ,执行命令 ifconfig 网卡名称 新ip :例如 ifconfg nescc 192.168.1.110 ,重启失效 2.重启网络 ,执行命令 syste ...
- appium+python 清空文本框EditText的值
清空EditText的自动化脚本编写流程: 前提条件:进入到要删除文本框的页面 1.查找到要删除的文本框,可通过id.name等属性进行查找 2.点击 3.通过get_attribute(" ...
- 从零开始学 Web 之 CSS(三)链接伪类、背景、行高、盒子模型、浮动
大家好,这里是「 Daotin的梦呓 」从零开始学 Web 系列教程.此文首发于「 Daotin的梦呓 」公众号,欢迎大家订阅关注.在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识 ...
- 干货,一文带你超详细了解 Filter 的原理及应用
提出问题 1.我们在访问后台很多页面时都需要登录,只有登录的用户才能查看这些页面,我们需要 在每次请求的时候都检查用户是否登陆,这样做很麻烦,有没有一种方法可以在我们请求之 前就帮我们做这些事 ...
- Spark学习之RDD编程总结
Spark 对数据的核心抽象——弹性分布式数据集(Resilient Distributed Dataset,简称 RDD).RDD 其实就是分布式的元素集合.在 Spark 中,对数据的所有操作不外 ...
- SSRS报表服务随笔(rdl报表服务)-创建一个简单的报表
这段时间一直在敲rdl报表,在国内的不这么留在,在国外的话,还是挺流行的,国内的话,这方面的资料很少很少,也踏过不少坑 先从SSRS了解起,SSRS全称 SQL Server Reporting Se ...
- sqlmap Bool型&延时型 检测策略分析
目录 sqlmap Bool型&延时型 检测策略分析 0x00 预备-queryPage() 0x01 bool型检测策略 判断依据 quick_ratio() 案例 0x02 延时型 判断依 ...
- 使用JDBC操作MySQL数据库
一.JDBC简介 JDBC(Java DataBase Connectivity)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一的访问,它由一组用Java语言编写的类和接口组 ...
- shiro的DelegatingFilterProxy怎么找到ShiroFilterFactoryBean
首先看到web.xml中的配置 <context-param> <param-name>contextConfigLocation</param-name> < ...
- 【php性能优化】关于写入文件操作的取舍方案
对于使用php对文件进行写入操作有两种方案一种使用 file_put_contents() 和 fopen()/fwrite()/fclose() 两种方案至于应该怎么选,我觉得应该分情况选择,下面是 ...