三菱Fx系列PLC的编程口协议
本文介绍的 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的编程口协议相关推荐
- 三菱plc与计算机无协议通讯,三菱FX系列PLC与计算机无协议通讯.doc
三菱FX系列PLC与计算机无协议通讯 一.FX系列与计算机通信所用到的命令码: 命令命令码目标设备元件读取CMD??0X,Y,M,S,T,C,D元件写入CMD???1X,Y,M,S,T,C,D强迫ON ...
- 三菱plc与计算机无协议通讯,三菱FX系列PLC与计算机无协议通讯
资 源 简 介 本文主要通过介绍PLC通讯的意义和三菱FX系列PLC的四种通讯方式,并重点介绍FX系列PLC与计算机无协议通讯,主要从无协议通讯的硬件.配线.数据寄存器设置.PLC与计算机无协议通讯的 ...
- 三菱FX 系列PLC 编程通信协议总览
三菱FX 系列PLC 编程口通信协议总览 该协议实际上适用于PLC 编程端口以及 FX-232AW 模块的通信 通讯格式 命令 命令码 目标设备 DEVICE READ CMD "0&quo ...
- 三菱FX系列PLC编程口通信协议总览
该协议实际上适用于PLC编程端口以及FX-232AW模块的通信 通讯格式 命令(CMD) 命令码 目标设备 DEVICE READ CMD "0" ...
- plc和pc串口通讯接线_三菱FX系列PLC与电脑之间串口RS232通讯协议简易解析
本文介绍的 PC 与三菱 FX 系列 PLC 通信,是通过 PLC 的编程口与 PC 机的串口进行的,采用 SC-09 编程电缆作为计算机与 PLC 通信的连线.电缆的 9 芯 D 形插头连接在计算机 ...
- 三菱je-a系列伺服支持modbusrtu 协议吗_入门课程 | 三菱FX系列PLC的软元件介绍
点击箭头处"工业之家",选择"关注公众号"! 三菱FX系列PLC的软元件介绍 PLC的软元件很多,主要有输入继电器.输出继电器.定时器.计数器.数据寄存器和常 ...
- 三菱FX系列PLC模拟量输入AD模块的使用方法和相关编程设置详解
三菱FX系列PLC模拟量输入AD模块的使用方法和相关编程设置详解 本次以FX3U系列PLC的模拟量输入模块FX3U-4AD进行举例说明: 该模块的部分技术数据如下图所示, 该模块的接线端子排列 ...
- 三菱FX系列PLC串口通讯协议整理
三菱FX系列PLC串口通讯协议整理 记录原因 项目要求 工具与资料 通讯格式 读寄存器 写寄存器 PLC回复数据 最后附几张上位机截图 记录原因 因项目需求,要写上位机与PLC进行通讯,查了诸多资料与 ...
- 三菱FX系列PLC以太网通讯
三菱FX系列PLC以太网通讯 BCBet-FX用于三菱FX1N/1S/2N/3U/3G/3S等系列PLC,以及汇川.禾川.士林等品牌PLC. BCBet-FX 以太网模块采用三通设计,不占用PLC通讯 ...
- PC与三菱FX系列PLC通信实例
本文介绍的 PC 与三菱 FX 系列 PLC 通信,是通过 PLC 的编程口与 PC 机的串口进行的,采用 SC-09 编程电缆作为计算机与 PLC 通信的连线.电缆的 9 芯 D 形插头连接在计算机 ...
最新文章
- 查找算法常见的五大面试知识点与两类实战!
- mysql json匹配key为数值_干货篇:一篇文章让你——《深入解析MySQL索引原理》
- Ext JS学习第十六天 事件机制event(一)
- try catch finally 执行顺序问题
- CF1066F-Yet another 2D Walking【贪心】
- Android性能优化(31)---虚拟机调优
- 中国电信:张志勇辞任公司执行副总裁
- 进程管理 systemctl控制
- 大牛熬夜整理,京东网易滴滴,天津农行软开java面试题合集,大牛已于上个月入职华为!
- 详解音视频中的DRM数字版权技术
- sumif单列求和_求和、单条件求和、多条件求和、隔列求和等实用技巧解读
- 微信小程序:上传的图片显示旋转问题
- Linux iperf 用法介绍
- 14.Adaptive AUTOSAR 架构-身份及访问管理(IAM)
- 算法系列之九:计算几何与图形学有关的几种常用算法(二)
- python 移动文件位置
- 如何应对杂乱无章的代码
- 图像频率域分析之傅里叶变换
- 医院业务系统设计(二) --- 患者管理之MPI系统
- Google浏览器的安装
热门文章
- 10计算机网络需要密码是多少钱,Win10宽带连接不用每次都要输入密码的办法
- 模型编辑之BIM轻量化
- CodeWars刷题练习
- php容器概念,PHP容器——Pimple运行流程浅析
- mr.baidu.com百度官方缩短网址接口网站调用生成制作方法解析
- SCI Translate 11安装教程
- 计算机sci检索,计算机方向国内EI检索、SCI检索的期刊目录
- amazon alexa simple demo code for libcurl
- Internal Server Error, Malformed UTF-8 characters, possibly incorrectly encoded
- java clh_CLH锁学习