发表于:2013/12/1 14:50:36

#0楼

网上收到1篇文章介绍三菱PLC编程口协议,而下面又讲了专用协议。难道编程口有两种格式的协议?大家来讨论下。我试了编程口协议,文章开头介绍的格式能正确读出PLC数据。然而实在不明白怎么又跑出个专用协议,该以哪个为准,以及专用协议的作用。然后按专用协议一览表搞出来的字符串输入串口调试助手,竟然回复全是错误代码15,这是为什么?难道这协议是某人随便编出来骗人的?大家讨论一下。

该协议实际上适用于PLC编程端口以及 FX-232AW 模块的通信。

通讯格式:

命令 命令码 目标设备

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

传输格式: RS232C

波特率: 9600bps

奇偶: even

校验: 累加方式(和校验)

字符: ASCII

16进制代码:

ENQ 05H 请求

ACK 06H PLC正确响应

NAK 15H PLC错误响应

STX 02H 报文开始

ETX 03H 报文结束

帧格式:

STX CMD DATA ...... DATA ETX SUM(upper) SUM(lower)

例子:

STX ,CMD ,ADDRESS, BYTES, ETX, SUM

02H, 30H, 31H,30H,46H,36H, 30H,34H, 03H, 37H,34H

SUM=CMD+......+ETX;

30h+31h+30h+46h+36h+30h+34h+03h=74h;

累加和超过两位取低两位

1、DEVICE READ(读出软设备状态值)

计算机向PLC发送:

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

STX CMD GROUP ADDRESS BYTES ETX SUM

例子:从D123开始读取4个字节数据

02h 30h 31h,30h,46h,36h 30h,34h 03h 37h,34h

地址算法:address=address*2+1000h

再转换成ASCII

31h,30h,46h,36h

PLC返回

STX 1ST DATA 2ND DATA ..... LAST DATA ETX SUM

注:最多可以读取64个字节的数据

例子:从指定的存储器单元读到3584这个数据

02h 33h 35h 38h 34h 03h 44h,36h

2、DEVICE WRITE(向PLC软设备写入值)

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

STX CMD GROUP ADDRESS BYTES 1ST DATA 2ND DATA ...... LAST DATA ETX SUM

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

02h 31h 31h,30h,46h,36h 30h,34h 33h,34h,31h,32h,43h,44h,41h,42h 03h 34h,39h

PLC返回

ACK (06H) 接受正确

NAK (15H) 接受错误

3、位设备强制置位/复位

FORCE ON置位

始 命令 地址 终 和校验

STX CMD ADDRESS ETX SUM

02h 37h address 03h sum

FORCE OFF复位

始 命令 地址 终 和校验

STX CMD ADDRESS ETX SUM

02h 38h address 03h sum

PLC返回

ACK(06H) 接受正确

NAK(15H) 接受错误

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

说明:

1.帧中的BYTES表示需要读取或者写入的字节数。

2.地址算法上有说明。

3.累加和是从STX后面一个字节开始累加到ETX的和。

三菱FX系列PLC编程口通信源代码

fx_comm.h

FX系列PLC四种通信模式的特性

首先讲讲FX系列PLC的通信方式。

FX系列PLC根据使用的通信模块与协议不同,分为以下四种通信模式:

1、PLC的N:N通信方式

2、PLC双机并联通信方式

3、PLC与计算机专有协议通信方式(无须梯形图,电脑直接读写操纵PLC)

4、PLC与计算机无协议通信方式(梯形图RS指令方式,可自定义通信协议)

以下将详细列出各通信模式的特性:

N:N网络 PLC并联 专用协议计算机连接 无协议通信

传输标准 RS485 RS485/RS422 RS485/RS422或RS232

传输距离 500m RS485/RS422:500mRS232:15m

连接数量 8站 1:1 1:N(N<=16) 1:1

通信方式 半双工 FX,FX2c,FXon:半双工FX2n: 全双工

数据长度 固定 7bit/8bit

校验  无/奇/偶

停止位  1bit/2bit

波特率 38400bps 19200bps 300/600/1200/2400/4800/9600/19200

头字符 固定 无/有效

尾字符

控制线 ------

协议 --- 格式1/格式4 无

和校验 固定 无/有效

适用机型 FX2n,FXon FX2n,FX,FX2c FX2n,FXon,FX,FX2c

FX系列PLC专用协议通信指令一览

以下将详细列出PLC专用协议通信的指令:

指令 注释

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

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

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

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

BT 以1点为单位,SET/RESET 位元件

WT 以16点为单位,SET/RESET 位元件,或写入值到字元件

RR 控制PLC运行RUN

RS 控制PLC停止STOP

PC 读出PLC设备类型

TT 连接测试

注:位元件包括X,Y,M,S以及T,C的线圈等;

字元件包括D,T,C,KnX,KnY,KnM等。

FX系列PLC专用协议通信指令格式详解

约定说明:

ENQ为请求标志,ASCII值5,VB中以chr(5)表示;

ACK为正确标志,ASCII值6,VB中以chr(6)表示;

STX为请求标志,ASCII值2,VB中以chr(2)表示;

EXT为请求标志,ASCII值3,VB中以chr(3)表示;

表格中红色字为需要求和效验的部分;

和效验为每一项的ASCII值的总和转换成十六进制后区低两位;

站号、PLC号、元件数量、和效验都是以十六进制表示;

等待延时为0-150毫秒,以十六进制0H-FH表示,如100ms为AH。

1、批量读出位元件--BR指令

格式:

1 2 3 4 5 6 7 8             15 16 17

PC侧: ENQ 站号 PLC号 BR 延时 首地址 数量 和效验       ACK 站号 PLC号

PLC侧:         STX 站号 PLC号 数据 EXT 和效验

9 10 11 12 13 14

[注] 上述中:1、"PLC号"系统默认为"FF";2、"首地址 "应以十进制表示,如首地址"X0018"表示从X寄存器的第18地址单元开始读取I/O量;3、"数量"表示读取的I/O量个数;4、"和效验"是指从"站号"到"数量"之间的各代码的ASCII码的累加和;5、PLC侧的响应码中"和效验"是指从"站号"到"EXT"之间的各代码的ASCII码的累加和。6、可以读出"X"、"Y"和"M"寄存器的内容。

例如:要读出站号为0的Fx2n系列PLC的X00到X08共9点的状态值,延时100ms,假设采用Communication Format(D8120)的Format 1 方式::

注  释: 请求 站号 PLC号 命令 延时 元件首地址 元件数量 和效验

代  码: ENQ 0 0 F F B R A X 0 0 0 0 0 9 4 2

ASCII码: 05H 30H 30H 46H 46H 42H 52H 41H 58H 30H 30H 30H 30H 30H 35H 34H 32H

您只要将以上兰色部分的代码以字符串形式(VB中可以表示为CHR(5)&" 00FFBRAX00000942")发送到PLC,就会有正确的回应信息,如下:

注 释: 头 站号 PLC号 元件首地址 尾 和效验

代 码: STX 0 0 F F 0 0 1 1 0 1 1 0 1 EXT 0 5

ASCII码: 02H 30H 30H 46H 46H 30H 30H 31H 31H 30H 31H 31H 30H 31H 03H 30H 35H

若发送码有误,则有以下回应:

注 释: 头 站号 PLC号 和效验

代 码: NAK 0 0 F F 0 6

ASCII码: 15H 30H 30H 46H 46H 30H 36H

2、批量读出字元件--WR指令

格式:

1 2 3 4 5 6 7 8             15 16 17

PC侧: ENQ 站号 PLC号 WR 延时 首地址 数量 和效验       ACK 站号 PLC号

PLC侧:         STX 站号 PLC号 数据 EXT 和效验

9 10 11 12 13 14

该命令使用方法与1(BR)命令相同,不再赘述。

3、批量写入位元件--BW指令

格式:

1 2 3 4 5 6 7 8 9

PC侧: ENQ 站号 PLC号 BW 延时 首地址 数量 写入值 和效验

PLC侧:           ACK 站号 PLC号

10 11 12

4、批量写入字元件--WW指令(M寄存器100单元置"1")

格式:01FFWWAM01000100010C

1 2 3 4 5 6 7 8 9

PC侧: ENQ 站号 PLC号 WW 延时 首地址 数量 写入值 和效验

PLC侧: 05H 01 FF  A M0100 01 0001  0C ACK 站号 PLC号

10 11 12

请自行分析以上代码。

请继续关注如何控制PLC的运行/停止。

[此贴子已经被作者于2013/12/1 15:41:15编辑过]

三菱plc与计算机无协议通讯,三菱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. 三菱PLC与扫码器通讯控制PLC工作

    实现目标: 1.通过扫码器,扫码到的二维码或者一维码 ,控制PLC的输出(对PLC的输出进行控制),本案例中通过扫描二维码控制Y0-Y3的点亮 2.熟悉232串口通讯RS通讯控制模式 硬件配置: 1. ...

  4. 三菱fx2n做从站的modbus通讯_实例讲解三菱PLC编程及通讯设定方法

    三菱FX系列PLC作为三菱基本的PLC,它们之间的通讯有几种常用的方式,分别如下:CC-LINK,N:N网络连接,并联连接.1.CC-LINK连接 CC-LINK连接图如下: 对应的PLC可为FX1N ...

  5. 安川伺服总线通讯方式_plc通讯方式有哪三种?plc常见的三种通讯方式

    原标题:plc通讯方式有哪三种?plc常见的三种通讯方式 PLC = Programmable Logic Controller,可编程逻辑控制器,一种数字运算操作的电子系统,专为在工业环境应用而设计 ...

  6. adprw指令通讯案例_实例 | 三菱FX3U485无协议通讯程序详解(含程序)

    三菱FX2N PLC串行通讯指令(FNC 80 RS) 串行通讯指令(FNC 80 RS) 1.指令格式:[RS D0 K8 D10 K8] 发送数据帧起始地址和数目 ↓ 接收数据帧起始地址和数目 2 ...

  7. C#与三菱PLC以太网通讯程序上位机源码 通过3E帧SLMP /MC协议与三菱FX5U/Q系列PLC通讯

    C#与三菱PLC以太网通讯程序上位机源码 通过3E帧SLMP /MC协议与三菱FX5U/Q系列PLC通讯 1.该程序可以与FX5U/Q系列PLC以太网通讯,根据3E帧报文写了一个类库,可以读写各种类型 ...

  8. C#与三菱PLC以太网通讯程序上位机源码 通过3E帧SLMP MC协议与三菱FX5U Q系列PLC通讯

    C#与三菱PLC以太网通讯程序上位机源码 通过3E帧SLMP MC协议与三菱FX5U Q系列PLC通讯 1.该程序可以与FX5U Q系列PLC以太网通讯,根据3E帧报文写了一个类库,可以读写各种类型和 ...

  9. Labview2019,通讯三菱plc,用opc和mc通讯协议,sqlite数据库,labview标准框架jki状态机,加上数组队列,实现多线程交互。

    Labview2019,通讯三菱plc,用opc和mc通讯协议,sqlite数据库,labview标准框架jki状态机,加上数组队列,实现多线程交互. _:4550670508310561加菲猫眼

  10. 三菱PLC与第三方设备TCP通讯_三菱、西门子TCP/RS485通讯等问题解答

    三菱PLC常见问题 问:三菱R系列PLC怎么修改时区? 答:导航窗口--[参数]--[R00CPU]--[CPU参数]--"运行关联设置"--"时钟关联设置"- ...

最新文章

  1. C++的STL 堆 实现获取数组堆第K大的数
  2. PointASNL: 点云的Adaptive Sampling(CVPR2020)
  3. 2021-04-03生产中实体关系抽取一般采用什么方法?
  4. python的优缺点有哪些-python的优缺点有哪些
  5. 写在Silverlight 5发布前 - 盘点2010年Silverlight开发书籍
  6. wifi一键配网smartconfig原理及应用
  7. 通过分析 JDK 源代码研究 TreeMap 红黑树算法实现--转
  8. 数据库基础之一--DDL(数据库定义语言),DCL(数据库控制语言)
  9. oracle+挂载dbf,dbf导入oracle工具下载|OracleToDbf(dbf导入oracle工具) v1.2官方版 附教程_星星软件园...
  10. 阿里开源分布式事务解决方案 Fescar
  11. PHP+Mysql高仿百度知道签到源码演示与下载
  12. codeforces C. Sonya and Problem Wihtout a Legend(dp or 思维)
  13. 再见 Python!Yann LeCun 警告:深度学习需要新编程语言
  14. java+log日志实例_java.util.log,使用3个不同的记录器实例/日志文件,获得.1.2等
  15. 数据库系统教程第三版施伯乐
  16. 判断移动终端是安卓还是iOS
  17. HTTPS 证书认证流程
  18. Python学习之【Django】
  19. java中怎么创建表格_Java中的表格怎么利用表格模型进行创建
  20. python量化期权_如何20小时搞定Python量化期权实战?

热门文章

  1. H3C OSPF基本配置命令
  2. Java练手项目-王者荣耀项目源码分享!
  3. Word VBA-图片操作汇总
  4. HDMI之DDC通道
  5. LCD1602中文资料
  6. 【015】基于51单片机的LCD1602流动字符串proteus仿真设计
  7. 数字图像处理--噪声
  8. win10未检测到任何音频设备解决办法
  9. 电脑c语言数字时钟代码大全,数字时钟c语言代码.doc
  10. Spring官方文档(中文版!!!)