本文介绍的 PC 与三菱 FX 系列 PLC 通信,是通过 PLC 的编程口与 PC 机的串口进行的,采用 SC-09 编程电缆作为计算机与 PLC 通信的连线。电缆的 9 芯 D 形插头连接在计算机串口上,另一端连接 PLC 的 RS-422 编程口。

编写 PC 的通信程序可采用汇编语言、各种高级语言,也可以采用工控组态软件或直接采用 PLC 厂家的通信软件。本文采用 VB6 . 0 软件,它必须依据所连接 PLC 的通信规程来编写通信协议,所以先简单介绍 FX 系列 PLC 的通信协议。

数据传输格式

FX 系列 PLC 采用异步格式,由 1 位起始位、 7 位数据位、 1 位偶校验位及1位停止位组成,波特率为 9600bps ,字符为 ASCII码。

PLC的存储单元分别为: X 为输入继电器; Y 为输出继电器; M 为辅助继电器; S 为状态元件; T 为定时器; C 为计数器; D 为数据寄存器。

三菱PLC编程口的通讯只有四个命令,即:

命令                    命令码             目标设备
DEVICE READ CMD             "0"                       X,Y,M,S,T,C,D
DEVICE WRITE CMD            "1"                       X,Y,M,S,T,C,D
FORCE ON CMD                  " 7"                         X,Y,M,S,T,C
FORCE OFF CMD                  "8"                        X,Y,M,S,T,C

五个标示:

ENQ            05H             请求

ACK            06H             PLC正确响应

NAK           15H             PLC错误响应
STX             02H             报文开始
ETX             03H             报文结束

使用累加方式的和校验,帧格式如下:
STX CMD DATA ...... DATA ETX SUM(upper) SUM(lower)
和校验:
SUM= CMD+……+ETX。 如SUM=73H,SUM=“73”。

设备状态读取与写入

地址算法为:address=address×2+1000h

1、DEVICE READ(读出软设备状态值)
计算机向PLC发送:
始          命令             首地址                        位数             终                 和校验
STX       CMD             GROUP ADDRESS       BYTES         ETX              SUM
PLC 返回
STX 1ST DATA 2ND DATA ..... LAST DATA ETX SUM

举例:PC 从 PLC 中读取数据

假设 PC 要从 PLC 中读入从 D123 开始的 4 个字节的数据 ( 占用两个数据寄存器: D123 、 D124) ,其报文如表 5 所示。

根据三菱 FX 系列 PLC 编程口通信协议,地址算法为

address=address×2+1000h

将地址 123 转换成十六进制为 7Bh ,因此首地址为:

address=addressx2+1000h=7Bhx2+1000h=10F 6h .

再转换成 ASCII 码为 31h,30h,46h,36h

校验和 SUM=30H+31H+30H+46H+36H+30H+34H+03H=174H ,溢出部分不计,故 SUMH 为 "7" , SUML 为 "4" ,相应的 ASC Ⅱ码为“ 37H ”和“ 34H ”。

计算机向PLC发送:

始       命令    首地址      位数       终       和校验   
    STX

02h

    CMD

30h

   GROUP ADDRESS

31h,30h,46h,36h

    BYTES

30h,34h

   ETX

03h

    SUM
37h,34h

PLC返回,从指定的存储器单元读到3584这个数据

STX

1ST DATA

   ND DATA    ....       LAST DATA       ETX    SUM  
   02h    33h       35h    38h    34h    03h       44h,36h  

2、DEVICE WRITE(向PLC 软设备写入值)
计算机向PLC发送:
始          命令      首地址          位数             数据             终                  和校验
PLC 返回
ACK (06H) 接受正确
NAK (15H) 接受错误

举例:向D123开始的两个存储器中写入1234,ABCD

   始       命令     首地址    位数      数据      终       和校验  
   STX    CMD       GROUP ADDRESS      BYTES       1ST DATA      2ND DATA      ......      LAST DATA     ETX       SUM   
   02h       31h      31h,30h,46h,36h      30h,34h       33h,34h,31h,32h,43h,44h,41h,42h       03h      34h,39h  

PLC返回:ACK (06H) 接受正确 ;或者是NAK (15H) 接受错误

位设备强制置位/复位

设备强制中的地址公式:Address=Address/8+100h

FORCE ON 置位
始                 命令             地址                    终                 和校验
STX              CMD             ADDRESS            ETX              SUM

02h               37h               address                 03h             sum

   始       命令    地址    终    和校验
STX    CMD    ADDRESS    ETX    SUM   
 02h    37h    address    03h    sum

FORCE OFF 复位
始                 命令             地址                    终                 和校验
STX              CMD             ADDRESS            ETX              SUM

02h               38h               address                 03h               sum

  始    命令    地址    终    和校验
   STX    CMD    ADDRESS    ETX       SUM 
02h       38h       address    03h    sum

PLC 返回
ACK(06H) 接受正确
NAK(15H) 接受错误

以上可以看出,协议非常简单,但是由于没有寄存器类型信息,所以地址的计算十分关键,如D100和M100分别对应哪个地址呢?下面就是三菱Fx系列PLC地址对应表:

Public Const PLC_D_Base_AddRess = 4096

Public Const PLC_D_Special_Base_AddRess = 3584

Public Const PLC_Y_Group_Base_AddRess = 160

Public Const PLC_PY_Group_Base_AddRess = 672

Public Const PLC_T_Group_Base_AddRess = 192

Public Const PLC_OT_Group_Base_AddRess = 704

Public Const PLC_RT_Group_Base_AddRess = 1216

Public Const PLC_M_SINGLE_Base_AddRess = 2048(命令为7或8时)

Public Const PLC_M_Group_Base_AddRess = 256

Public Const PLC_PM_Group_Base_AddRess = 768

Public Const PLC_S_Group_Base_AddRess = 0

Public Const PLC_X_Group_Base_AddRess = 128

Public Const PLC_C_Group_Base_AddRess = 448

Public Const PLC_OC_Group_Base_AddRess = 960

Public Const PLC_RC_Group_Base_AddRess = 1472

Public Const PLC_TV_Group_Base_AddRess = 2048

Public Const PLC_CV16_Group_Base_AddRess = 2560

Public Const PLC_CV32_Group_Base_AddRess = 3072

三菱Fx系列PLC的编程口协议相关推荐

  1. 三菱plc与计算机无协议通讯,三菱FX系列PLC与计算机无协议通讯.doc

    三菱FX系列PLC与计算机无协议通讯 一.FX系列与计算机通信所用到的命令码: 命令命令码目标设备元件读取CMD??0X,Y,M,S,T,C,D元件写入CMD???1X,Y,M,S,T,C,D强迫ON ...

  2. 三菱plc与计算机无协议通讯,三菱FX系列PLC与计算机无协议通讯

    资 源 简 介 本文主要通过介绍PLC通讯的意义和三菱FX系列PLC的四种通讯方式,并重点介绍FX系列PLC与计算机无协议通讯,主要从无协议通讯的硬件.配线.数据寄存器设置.PLC与计算机无协议通讯的 ...

  3. 三菱FX 系列PLC 编程通信协议总览

    三菱FX 系列PLC 编程口通信协议总览 该协议实际上适用于PLC 编程端口以及 FX-232AW 模块的通信 通讯格式 命令 命令码 目标设备 DEVICE READ CMD "0&quo ...

  4. 三菱FX系列PLC编程口通信协议总览

    该协议实际上适用于PLC编程端口以及FX-232AW模块的通信 通讯格式       命令(CMD)   命令码    目标设备  DEVICE READ  CMD    "0"  ...

  5. plc和pc串口通讯接线_三菱FX系列PLC与电脑之间串口RS232通讯协议简易解析

    本文介绍的 PC 与三菱 FX 系列 PLC 通信,是通过 PLC 的编程口与 PC 机的串口进行的,采用 SC-09 编程电缆作为计算机与 PLC 通信的连线.电缆的 9 芯 D 形插头连接在计算机 ...

  6. 三菱je-a系列伺服支持modbusrtu 协议吗_入门课程 | 三菱FX系列PLC的软元件介绍

    点击箭头处"工业之家",选择"关注公众号"!  三菱FX系列PLC的软元件介绍 PLC的软元件很多,主要有输入继电器.输出继电器.定时器.计数器.数据寄存器和常 ...

  7. 三菱FX系列PLC模拟量输入AD模块的使用方法和相关编程设置详解

    三菱FX系列PLC模拟量输入AD模块的使用方法和相关编程设置详解 本次以FX3U系列PLC的模拟量输入模块FX3U-4AD进行举例说明:  该模块的部分技术数据如下图所示,  该模块的接线端子排列 ...

  8. 三菱FX系列PLC串口通讯协议整理

    三菱FX系列PLC串口通讯协议整理 记录原因 项目要求 工具与资料 通讯格式 读寄存器 写寄存器 PLC回复数据 最后附几张上位机截图 记录原因 因项目需求,要写上位机与PLC进行通讯,查了诸多资料与 ...

  9. 三菱FX系列PLC以太网通讯

    三菱FX系列PLC以太网通讯 BCBet-FX用于三菱FX1N/1S/2N/3U/3G/3S等系列PLC,以及汇川.禾川.士林等品牌PLC. BCBet-FX 以太网模块采用三通设计,不占用PLC通讯 ...

  10. PC与三菱FX系列PLC通信实例

    本文介绍的 PC 与三菱 FX 系列 PLC 通信,是通过 PLC 的编程口与 PC 机的串口进行的,采用 SC-09 编程电缆作为计算机与 PLC 通信的连线.电缆的 9 芯 D 形插头连接在计算机 ...

最新文章

  1. 查找算法常见的五大面试知识点与两类实战!
  2. mysql json匹配key为数值_干货篇:一篇文章让你——《深入解析MySQL索引原理》
  3. Ext JS学习第十六天 事件机制event(一)
  4. try catch finally 执行顺序问题
  5. CF1066F-Yet another 2D Walking【贪心】
  6. Android性能优化(31)---虚拟机调优
  7. 中国电信:张志勇辞任公司执行副总裁
  8. 进程管理 systemctl控制
  9. 大牛熬夜整理,京东网易滴滴,天津农行软开java面试题合集,大牛已于上个月入职华为!
  10. 详解音视频中的DRM数字版权技术
  11. sumif单列求和_求和、单条件求和、多条件求和、隔列求和等实用技巧解读
  12. 微信小程序:上传的图片显示旋转问题
  13. Linux iperf 用法介绍
  14. 14.Adaptive AUTOSAR 架构-身份及访问管理(IAM)
  15. 算法系列之九:计算几何与图形学有关的几种常用算法(二)
  16. python 移动文件位置
  17. 如何应对杂乱无章的代码
  18. 图像频率域分析之傅里叶变换
  19. 医院业务系统设计(二) --- 患者管理之MPI系统
  20. Google浏览器的安装

热门文章

  1. 10计算机网络需要密码是多少钱,Win10宽带连接不用每次都要输入密码的办法
  2. 模型编辑之BIM轻量化
  3. CodeWars刷题练习
  4. php容器概念,PHP容器——Pimple运行流程浅析
  5. mr.baidu.com百度官方缩短网址接口网站调用生成制作方法解析
  6. SCI Translate 11安装教程
  7. 计算机sci检索,计算机方向国内EI检索、SCI检索的期刊目录
  8. amazon alexa simple demo code for libcurl
  9. Internal Server Error, Malformed UTF-8 characters, possibly incorrectly encoded
  10. java clh_CLH锁学习