-Begin-

前言

SLMP是三菱PLC用于CPU模块或外部设备(个人计算机或显示器等)使用以太网对PLC设备进行数据访问的一种协议,SLMP协议是基于TCP/IP,因此会存在服务器和客户端的功能区分。

服务器功能是指CPU模块基于来自外部设备的要求报文(命令),执行数据处理的收发。而客户端功能是指可以使用专用命令向外部设备发送要求报文(命令),并从外部设备接收响应报文。服务器和客户端之间的通信过程如图所示。

三菱的SLMP协议有两种不同的报文帧,分别为3E帧和1E帧,1E帧只支持FX5U/FX5UC CPU模块。这里说明一下,SLMP的报文格式与三菱的MC协议的帧是相同的。SLMP的3E帧兼容MC协议的Qna系列3E帧,SLMP的1E帧兼容MC协议的A系列1E帧,因此也可以通过MC协议将使用的外部设备连接到SLMP对应设备上。(获取资料加VX:xiketang777)

SLMP通信流程

在正式开始SLMP通信之前,需要做一些准备工作,具体通信流程如下:(1) 电缆与外部设备的连接:进行用于SLMP通信的连接。(2) 参数设置:通过工程工具设置模块参数。(3) 写入至CPU模块:将已设置的参数写入至CPU模块。通过电源OFF→ON或复位,将参数设为有效。(4) 初始处理状态的确认:模块参数设置后,确认CPU模块的初始处理正常结束。(5) SLMP通信:服务器将从外部设备接收SLMP报文,客户端将向外部设备发送SLMP报文。

SLMP报文格式

通信协议报文一般分为请求报文和响应报文,请求报文是指上位机主动发动给SLMP设备的报文,响应报文是指SLMP设备响应请求而返回的报文。无论是请求报文还是响应报文,一般都是由“帧头”和“应用数据”构成。SLMP请求报文格式如下所示:

SLMP响应报文格式如下所示:

对于帧头,一般是指TCP与UDP帧头,对于上位机侧,需要在对象设备侧附加CPU模块侧(指令报文)的帧头后进行发送,一般会自动附加,上位机开发不需要考虑。对于CPU模块侧,会自动附加对象设备侧(响应报文)的帧头,因此无需用户设定。对于应用数据,主要是由副帧头和文本两部分组成,副帧头用于显示该报文为指令报文还是响应报文,文本则是各种不同功能的请求数据或响应数据。SLMP报文按照编码格式区分,可以分为ASCII编码和二进制,这两种方式报文发送的内容有所不同,具体如图1和图2所示:(获取资料加VX:xiketang777)

图1 ASCII编码格式通信

图2 二进制编码格式通信

二进制编码格式相对于ASCII编码格式来说,报文更短更紧凑,因此通信速度也更快,因此,一般我们选择二进制编码格式通信居多,后面的内容均以二进制编码为例进行阐述。

SLMP报文组成

SLMP报文格式根据报文类型为请求报文和响应报文,数据格式也会有所不同,当该帧报文为请求报文时,具体格式如下图所示:

当该帧报文为响应报文时,具体格式如下图所示:

下面针对各个部分进行说明:

  • 副帧头:副帧头部分占用4个字节,主要用来显示该帧报文是指令报文还是响应报文,如果该帧报文是指令报文,那么副帧头内容为50H 00H,反之,如果该帧报文为响应报文,那么副帧头内容为D0H 00H,具体如图所示:(获取资料加VX:xiketang777)

  • 网络编号及目标站号:网络编号及目标站号各占一个字节,它们的值与网络架构是息息相关的,下图展示了三种不同的网络架构:

一般情况第一种网络架构使用居多,后面都以这种架构为例进行阐述,网络编号为00H,目标站号为FFH。(获取资料加vx:xiketang777)

  • 请求目标模块I/0编号占两个字节,默认为FFH 03H。

  • 请求目标多点站号占一个字节,默认为00H。

  • 请求数据长是指从保留到请求数据,总共的字节长度之和,响应数据长是指结束代码和响应数据的长度和。

  • 保留占两个字节,默认值为00H 00H。

  • 结束代码占两个字节,正常结束时值为00H 00H,异常结束时值为00H 04H。

  • 请求数据是指作为执行的指令及子指令的参数数据,根据指令及子指令的情况,有时无需指定“请求数据”,后续会做详细讲解。

  • 响应数据是指作为请求数据的执行结果,根据指令来定,有时不会返回响应报文,后续会做详细讲解。

  • 指令与子指令是报文的命令码,根据读取和写入不同的存储区会呈现不同的值。对于批量读取,指令为0401H,子指令根据位或字分别为0001H和0000H,对于批量写入,指令为1401H,子指令根据位或字分别为0001H和0000H。

  • 对于批量读取,请求数据由起始软元件编号、软元件代号及软元件点数三部分组成,其中起始软元件编号占3个字节,软元件代号占1个字节,软元件点数占2个字节。

  • 对于批量写入,请求数据由起始软元件编号、软元件代号及写入数据三部分组成,其中起始软元件编号占3个字节,软元件代号占1个字节,写入数据占N个字节。

  • 对于批量读取,响应数据将实际读取的数据按照指定的格式进行返回。

  • 对于批量写入,响应数据部分为空

-END-

三菱PLC之SLMP协议报文说明相关推荐

  1. 三菱PLC的通讯协议

    三菱PLC的通讯协议 测试FX3UPLC通讯报文 FX3U 扩展网口ENT-ADP MC协议 1E帧 #可以直接读取寄存器的地址,间接控制PLC执行 读取寄存器D100的地址 01 FF 0A 00 ...

  2. 三菱PLC的MC协议配置说明

    三菱PLC的MC协议配置说明 先说一下弱智的踩坑记录 详细配置过程 1.三菱Q02H CPU+QJ71E71-100以太网模块设置MC协议 1.1 PLC编程线连接与编程线驱动安装 1.2 PLC通讯 ...

  3. C#上位机与PLC通讯源码 C#与三菱PLC通讯MC协议

    C#上位机与PLC通讯源码 C#与三菱PLC通讯MC协议 ID:696642996063203

  4. 三菱MELSEC 1帧协议报文格式。

    关于三菱 MC 1E协议报文说明: 是不是1E协议可以发送:D100 .报文: 01ff0A00 64 00 00 00 20 44   0200 试试,返回报文:810000000000 报文格式: ...

  5. 西门子PLC的S7协议报文解析说明

    我们以S7的1500系列来查看握手和读取.写入[字Word或者位Bit]命令报文 以下报文不做说明时都是十六进制字节. 西门子PLC需要连接成功后发送两次握手命令方可进行读写通信. 西门子PLC的S7 ...

  6. 欧姆龙PLC的CIP协议报文

    一.关于CIP协议 CIP通信是Common Industrial Protocl(CIP)的简称,它是一个点到点的面向对象协议, 能够实现工业器件(传感器,执行器)之间的连接,和高等级的控制器之间的 ...

  7. C#与三菱PLC MC协议通信,Java与三菱PLC MC协议通信

    三菱PLC的MC协议是一种常用的通信协议,用于实现三菱PLC与其他设备之间的通信.以下是一些关于MC协议的基本信息: 协议格式 MC协议的通信数据格式如下: 数据头 网络编号 PC编号 目标模块IO编 ...

  8. 三菱PLC若想实现以太网无线通讯,需要具备哪些条件?

    PLC模块在以太网通信最大特点在于PLC模块支持的网络协议较为广泛.可支持主要用于传输结构化数据的标准通信.PLC模块是一个符合ISO/IES9506-4的工业以太网通信标准,其提供了开放统一的通信标 ...

  9. 上位机与fx3u通讯串口_c#上位机与三菱PLC(FX3U)串口通讯

    项目中会经常用到上位机与PLC之间的串口通信,本文介绍一下C#如何编写上位机代码 与三菱FX3U进行通讯 1. 第一种方法是自己写代码实现,主要代码如下: //对PLC的Y7进行置1 byte[] Y ...

最新文章

  1. Velocity魔法堂系列二:VTL语法详解
  2. IOS-开发中手势的处理
  3. 研究人员利用脑机接口可以直接预测我们的偏好
  4. linux uuid/uuid.h
  5. 随想录(简单的链接文件)
  6. mysql备份优化_MySQL备份流程及优化
  7. 【luogu1816】忠(RMQ问题、线段树)
  8. TypeScript学习笔记(七):模块
  9. flex blazeds java spring_flex+blazeds+java+spring后台消息推送
  10. c语言中余数恒等于1,恒等于符号怎么打就是“≡”符号在windows里怎么打出来具体到搜狗里怎么打,麻烦说细点儿...
  11. NTL密码算法开源库-大整数ZZ类(一)
  12. Office Excel2010保存新文件时出现未响应或者卡死的解决办法
  13. CF1129C Morse Code
  14. python做测试小工具_自制快速冒烟测试小工具--基于python多线程(2)
  15. appinventor HTML5,用APP Inventor纯图形化编程自制APP,通过WIFI物联网控制掌控板
  16. java刷铁机最新版本_我的世界:刷铁机其实很容易制作,但是有一个特殊的限制条件!...
  17. 如何看待马云又唱歌又拍电影
  18. 通配符证书配置Exchange2016 POP、IMAP加密模式
  19. LG有意进军自动驾驶领域, 或开发基于3D摄像头的安全驾驶辅助系统
  20. 关于android分享(sharedsdk的简单使用)

热门文章

  1. VC操作Excel之sercies、Trendline
  2. 这才是最好的程序语言,不服来辩-1
  3. java如何获取手机号码_java中如何提取一个字符串中的电话号码?
  4. Mac彻底删除Paragon NTFS for Mac和karabiner-Elements
  5. CatiaV5-6R20安装教程-软仓
  6. 学习路线图必不可少,使用指南
  7. win10设置定时关机
  8. 网络营销与html,H5网络营销的优势与劣势
  9. mysql英文怎么发音_如何给孩子读英文书?
  10. 计算机课演示文稿模板,计算机网络拓扑结构公开课PPT模板课件