zoukankan      html  css  js  c++  java
  • C#工控上位机系列--- 如何和三菱PLC FX3U通信

    工作中用的比较多的是三菱的PLC的 Fx5U和Fx3U,它们有多种通信协议,我们学习时先从1种入手,再扩展到其他的。三菱的说明书几百页,我们要把说明书读薄,只选其中通信协议部分看就好了。而上位机一开始只需要了解读写一个字元/位元就可以了。

    三菱FX-3U 计算机专用协议通信方式,其通讯命令字和通讯格式介绍如下:

    命令字 注释

    BR 以1点为单位,读出位元件的状态

    WR 以16点为单位,读出位元件的状态,或以1字为单位,读出字元件的值

    BW 以1点为单位,写入位元件的状态

    WW 以16点为单位,写入位元件的状态,或以1字为单位,写入值到字元件

    PC发送给PLC的通信命令格式
    
    约定说明:ENQ为请求标志,ASCII值5
    
         ACK为正确标志,ASCII值6
    
         STX为请求标志,ASCII值2
    
         EXT为请求标志,ASCII值3
    
         表格中粗体字为需要求和效验的部分;
         和效验为每一项的ASCII值的总和转换成十六进制后,取其低两位;
    
         站号、PLC号、元件数量、和效验都是以十六进制表示;
                      等待延时为0-150毫秒,以十六进制0H-FH表示,如100ms为AH
    
    

    1) 批量读出位元件—BR指令格式

    例如:要读出站号为5的PLC的X40到X44共5点的状态值,延时100毫秒,

    假设PLC中X40与X43为OFF,其余为ON,则指令数据如下:

    只要将以上代码以字符串形式串口发送到PLC,就会有正确的回应信息,如下:

    2) 批量读出字元件—WR指令格式

    例如 读站号0的PLC的D10的字元值

    3) 批量写入位元件—BW指令格式

    ...

    4) 批量写入字元件—WW指令格式

    例如 写入站号0的PLC的D10的字元值=11

    5U则是用MELSEC通讯协议(简称MC协议)通信,

    但MC协议的通讯格式有很多种:3E、3C、4E,4C帧格式, 个人感觉3C比4C好用,3C是ASCII文本格式,3E是二进制格式

  • 相关阅读:
    4.运算符&if条件控制
    欢迎进入软件构建的世界
    Linux是什么
    计算机概论
    Java基础11集合(2)
    基础06-存储过程和函数,流程控制结构,变量
    基础05-常见约束,tcl事物控制语言,视图,标识列
    基础04-联合查询,dml语言,ddl语言
    基础03-子查询,分页查询
    基础00-随笔里的数据来源(库,表数据)
  • 原文地址:https://www.cnblogs.com/zitjubiz/p/14127461.html
Copyright © 2011-2022 走看看