网站标志
导航菜单
当前日期时间
当前时间:
购物车
购物车中有 0 件商品 去结算 我的订单
商品搜索
商品搜索:
文章正文
FX1N的通讯协议
作者: 来源:中国机电工程网    发布于:2019-06-07 20:09:39    文字:【】【】【
简介:通讯波特率 9600,7,e,1 rs232 电脑端SEND:02 30 30 45 30 32 30 32 03 36 43 发送完了以后 PLC端 ACK: 02 36 32 36 36 03 44 37 SEND:02 45 30 30 30 31 43 30 30 31 03 44 44 AC ...

通讯波特率 9600,7,e,1     rs232

电脑端SEND:02 30 30 45 30 32 30 32 03 36 43           
发送完了以后
PLC端 ACK: 02 36 32 36 36 03 44 37
      SEND:02 45 30 30 30 31 43 30 30 31 03 44 44 
      ACK: 02 30 41 03 37 34
      SEND:02 30 30 45 30 32 30 32 03 36 43
      ACK: 02 36 32 36 36 03 44 37
      SEND:02 45 30 31 38 30 30 30 32 45 03 45 38 
      ACK: 02 30 38 30 30 43 35 44 43 30 30 30 30 30 30 30 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 32 30 03 44 36
      SEND:02 45 30 31 38 30 32 45 32 45 03 46 46 
      ACK: 02 32 30 32 30 46 34 30 39 46 46 30 42 46 34 30 31 45 37 30 33 36 34 30 45 43 37 30 45 44 43 30 45 46 46 30 45 39 30 30 31 46 45 30 33 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 03 45 35
      SEND:02 45 30 30 30 45 30 36 30 32 03 45 35
      ACK: 02 31 30 30 30 03 43 34
这些对于FX1N PLC都是固定的开头通讯块。

接下来读取一段程序

SEND: 02 45 30 31 38 30 35 43 34   30  03  45 44
                  (单元一)        (步数*2)

ACK:  02 N个字节 03 两个检验码




同上

接着 
SEND:02 45 37 37 36 30 45 03 36 31 
ACK:06

接下来写程序到PLC

SEND: 02 45 31 31 38 30 35 43 34 30 + 32步指令+03+两个检验码(第一单元)
ACK:06
SEND: 02 45 31 31 38 30 39 43 34 30 + 32步指令+03+两个检验码(第二单元)
ACK:06



同上

接下来
SEND: 02 45 38 37 36 30 45 03 36 32 (写结束)
ACK:06

SEND:02 42 03 34 35 (检验开始)
ACK:06

接下来读取全部刚才所下载程序

SEND: 02 45 30 31 38 30 35 43 34   30  03  45 44
                  (单元一)        (步数*2)

ACK:  02 N个字节 03 两个检验码


SEND: 02 45 30 31 38 30 39 43 34   30  03  45 44
                  (单元二)        (步数*2)

ACK:  02 N个字节 03 两个检验码



同上

读取完则校验结束,下载过程也全部结束

指令编码

30 30 32 34 LD X0

30 31 32 34 LD X1

30 31 34 34 AND X1

30 30 45 35 SET Y0

30 31 45 35 SET Y1

30 30 32 35 LD Y0

30 31 34 35 AND Y1

30 31 35 35 ANI Y1

30 31 35 34 ANI X1

30 30 34 38 AND M0

30 30 44 38 SET M0

32 LD                  34 X

33 LDI                 35 Y

34 AND                 36 T

35 ANI                 45 C

36 OR                  38 M0-M255

37 ORI                 39 M256-M511

38 上升下降沿          41 M512-M767

43 OUT                 42 M768-M1023

44 SET                 43 M1024-M1279

45 RST                 44 M1280-M1535 

                       46 M8000-M8255


43 41 30 31 LDF          43 42 30 31 30 31 38 34 LDF X1

43 42 30 31 LDP          43 41 30 31 30 31 38 34 LDP X1

46 38 46 46 ANB

46 39 46 46 ORB

46 46 46 46 NOP

43 43 30 31 ANDP

43 44 30 31 ANDF

43 45 30 31 ORP

43 46 30 31 ORF

30 46 30 30 END

46 41 46 46 MPS

46 43 46 46 MPP


30 30 30 36  30 31  38 30  30 30  38 30   OUT T0 K1
(T0 )       (低8位)       (高8位)

30 30 30 45  30 32  38 30  30 30  38 30   OUT C0 K2
(T0 )       (低8位)       (高8位)

39 34 30 30 ALT

39 34 30 30   30 31  38 34  30 35 38 30  ALT Y1
(ALT       )  (1   )           (Y)

30 43 30 30  30 31 38 45   RST C1
(RST       ) (1  )    (C)

30 43 30 30  30 31 38 36   RST T1
(RST       ) (1  )    (T)
 

32 38 30 30 
36 34 38 30 
30 30 38 30 
30 30 38 36 
30 30 38 36   MOV K100 D0

32 38 30 30 
30 32 38 36 
30 30 38 34 
30 30 38 36 
30 30 38 36   MOV C1 D0

32 38 30 30 
30 34 38 36 
30 30 38 34 
30 30 38 36 
30 30 38 36  MOV C2 D0

32 38 30 30 
30 30 38 36 
30 32 38 34 
30 30 38 36 
30 30 38 36  MOV C200 D0

32 38 30 30 
30 34 38 36 
30 32 38 34 
30 30 38 36 
30 30 38 36  MOV C201 D0

32 38 30 30 
30 34 38 36 
30 32 38 34 
30 32 38 36 
30 30 38 36  MOV C201  D1 


32 38 30 30 
43 38 38 36 
30 30 38 34 
30 32 38 36 
30 30 38 36  MOV C100 D1

30 44 30 30 
30 30 38 36 
30 30 38 36  RST D0

36 30 30 30 
30 30 38 36 
30 30 38 36 
43 38 38 36 
30 30 38 36 ZRST D0 D100

36 30 30 30 
30 30 38 36 
30 30 38 34 
43 38 38 36 
30 30 38 34 ZRST C0 C100

34 30 30 30 
30 30 38 36 
30 30 38 34  INC C0

34 30 30 30 
30 30 38 36 
30 30 38 36  INC D0

34 32 30 30 
30 30 38 36 
30 30 38 36  DEC D0

34 38 30 31 
39 38 38 30 
33 41 38 30 
46 34 38 30 
30 31 38 30 
30 30 38 34 
30 34 38 30 
30 30 38 34 
30 35 38 30  ZRN K15000 K500 X0 Y0

34 41 30 31 
45 38 38 30 
30 33 38 30 
30 30 38 34 
30 35 38 30 
30 32 38 34 
30 35 38 30  PLSV K1000 Y0 Y2

34 43 30 31 
44 30 38 30 
30 37 38 30 
43 38 38 30 
33 32 38 30 
30 30 38 34 
30 35 38 30 
30 32 38 34 
30 35 38 30 DRVI K2000 K13000 Y0 Y2

38 32 30 30 
45 38 38 30 
30 33 38 30 
30 30 38 30 
30 30 38 30 
30 30 38 34 
30 35 38 30  PLSY K1000 K0 Y0

30 41 30 30 
30 30 38 30 
36 34 38 38  MC N0 M100

30 42 30 30 
30 30 38 30  MCR N0

31 30 30 30 
30 45 38 38 
30 30 38 30  CJ P7

31 30 30 30 
31 30 38 38 
30 30 38 30  CJ P8

31 30 30 30 
31 32 38 38 
30 30 38 30  CJ P9

30 38 42 30  P8

30 39 42 30  P9

31 32 30 30 
31 32 38 38 
30 30 38 30 CALL P9

31 34 30 30 SRET

31 43 30 30 FEND


三菱FX1S 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
传输格式: 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


浏览 (60) | 评论 (0) | 评分(0) | 支持(0) | 反对(0) | 发布人: 来源:中国机电工程网
将本文加入收藏夹
新闻详情
脚注栏目
|
脚注信息
机电工程网(C) 2015-2020 All Rights Reserved.    联系我们