项目中会经常用到上位机与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)串口通讯的更多相关文章

  1. 嵌入式Linux学习笔记(六) 上位机QT界面实现和串口通讯实现

    目录 (1).参考资料 (2).QT界面布局实现 (3).数据和操作逻辑 在上一章我们实现了下位机的协议制定,并通过串口通讯工具完成了对设备内外设(LED)的状态修改,下面就要进行上位机软件的实现了( ...

  2. 上位机与三菱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 ...

  3. 上位机用USB做虚拟串口,总算抓到一个纯代码的总结了,没有坑的完美解决。

    用libUSB来实现自己的驱动+下位机理论速度.=1M字节每秒. 达到极限速度   WINDOWS已经自带虚拟串口驱动,只不过还需要一个Inf文件 方法1:直接下载一个串口inf,来修改文件.   方 ...

  4. s7nodave用于上位机连接西门子PLC,开源项目epics

    s7nodave 可以看作是Prodave的开源替代者,在PLC侧,不需要编程 This device support does not require any special programming ...

  5. C#上位机之—WinForm实现Socket异步通讯示例

    工作中常用到的一些知识点,总是用完就忘,第一次尝试用博客记录下来,以备后用: Socket通讯,Socket(套接字)是基于TCP/IP通讯方式的封装好的类,调用时需要添加下面的服务引用: using ...

  6. 上位机开发之三菱FX3U以太网通信实践

    上次跟大家介绍了一下上位机与三菱Q系列PLC通信的案例,大家可以通过点击这篇文章:上位机开发之三菱Q系列PLC通信实践(←戳这里) 今天以三菱FX3U PLC为例,跟大家介绍一下,如何实现上位机与其之 ...

  7. C#做一个简单的进行串口通信的上位机

    C#做一个简单的进行串口通信的上位机   1.上位机与下位机 上位机相当于一个软件系统,可以用于接收数据.控制数据.即可以对接收到的数据直接发送操控命令来操作数据.上位机可以接收下位机的信号.下位机是 ...

  8. stm32与三菱PLC通信

    一.三菱PLC通讯概要   三菱PLC FX系列通信结构如下图所示: 三菱PLC FX系列的通信规格如下图所示: 三菱PLC FX系列一般有以下几种通信模块,以FX2N为例: FX2N-232-BD ...

  9. 三菱plc编程电缆通讯端口设置方法(转载)

    三菱plc编程电缆通讯端口如何设置?三菱plc编程电缆通讯端口设置方法 时间:2015-10-21 05:09:20编辑:电工栏目:三菱plc 导读:三菱plc编程电缆通讯端口的设置方法,三菱plc上 ...

随机推荐

  1. Charles 如何破解与连接手机进行抓包

    破解charles: 由于本人工作原因,现使用的为mac笔记本,但是基本的使用原理都是一样的,以下为如何破解charles与连接手机进行抓包详解.工具如有需要着请留言. 当前下载使用的版本为:char ...

  2. Java语言编程 - Java第一个程序HelloWorld

    3.1 新建Java文件 首先新建一个文件夹,用于存放写的Java程序,例如我存放Java程序的位置为” D:\Files\code\java”. 在该文件夹中,右键新建一个文本文档 将文件名重命名为 ...

  3. Java语言编程 - Java历史简介

    1.1 Sun公司 介绍Java的历史之前,先介绍一下Java语言的缔造公司,Sun公司,Sun公司的全称是:Stanford University Network.值得一提的是,Sun公司从1982 ...

  4. 你真的理解 Spring Boot 项目中的 parent 吗?

    前面和大伙聊了 Spring Boot 项目的三种创建方式,这三种创建方式,无论是哪一种,创建成功后,pom.xml 坐标文件中都有如下一段引用: <parent> <groupId ...

  5. 学习python的第二天

    4.26自我总结 一.程序语言 1.机械语言 由于0和1组成 优点:执行效率快 缺点:操作麻烦繁琐 2.汇编语言 比机械语言好点 优点:比机械语言操作方便 缺点,执行慢 3.高级语言 主要两个,jav ...

  6. UiPath实践经验总结(二)

    1.       UI操作容易受到各种意外的干扰,因此应该缩短UI操作阶段的总体时间.而为了缩短UI操作阶段的总体时间,应该将UI操作尽量放在一起,将后台的各种操作尽量放在UI操作的前后.例如,现在有 ...

  7. PostgreSql 使用dblink跨库

    此篇介绍下psql下dblink的使用方式,帮助自己记录以备后需.dblink是psql下的扩展功能,可以实现在一个数据库中远程操作另外一个数据库,是实现跨库的一种方法.下面步入正文. 安装dblin ...

  8. 常见的磁盘I/O和网络I/O优化技巧

    磁盘I/O 优化 性能检测 应用程序通过访问磁盘来读取数据,而磁盘I/O 通常都是很耗时间的,所以一般我们来判断I/O是否有瓶颈的时候,就需要一些参数指标来参考. WAIT 指标 :压测应用程序,查看 ...

  9. nginx在Centos7.5下源码安装和配置

    安装nginx 安装nginx依赖包 yum install -y pcre-devel zlib-devel openssl-devel wget gcc tree vim 进入目录/root/se ...

  10. C# 4.0 的 Visual Studio 2010 示例

    C# 4.0 的 Visual Studio 2010 示例 我们将 C# 示例分为两种不同的类别: 语言示例 LINQ 示例 语言示例 语言示例帮助您熟悉各种 C# 语言功能.这些示例包含在 Lan ...