当前位置:首页 >> 信息与通信 >>

台达PLC通讯协议


台达 PLC 通讯协议原文
1、通讯协议 ASCII 模式,9600,7,e,1 2、通讯资料格式: STX ADR1 ADR0 CMD1 CMD0 DATA(0) DATA(1) ??? DATA(n-1) LRC CHK1 LRC CHK0 END1 END0 校验码: 8-bit 校验码包含了 2 个 ASCII 码 尾码: END1=CR(0DH) ,END0=

LF(0AH) 头码‘:(3AH) ’ 通讯地址: 8-bit 位址包含了 2 个 ASCII 码 命令码: 8-bit 命令包含了 2 个 ASCII 码 资料内容: n 个 8-bit 资料包含了 2n 个 ASCII 码 n〈=74 个 ASCII 码

ADR(通讯地址) : PLC 通讯地址出厂设定为 0X01,因此(ADR1,ADR0)=‘0’‘1’→=30H,31H , 校验码: 校验码采用 LRC 方式,将 ADR1 至最后一个资料内容加总,将该值取 2 的补数,结果即为 LRC 校验码。 例: STX ADR1 ADR0 CMD1 CMD0 启始资料地址 ‘: ’ ‘0’ ‘1’ ‘0’ ‘3’ ‘0’ ‘4’ ‘0’ ‘1’ ‘0’ ‘0’ ‘0’ ‘1’ ‘F’ ‘6’ CR LF 0AH 的 2 的补数为 F6H

资料数

LRC CHK1 LRC CHK0 END1 END0 01H+03H+04H+01H+00+01H=0AH

注 1:
2 补数的求法: 补数再加 1) (1 0A(H)=00001010(B)先取 1 补数(将 b0-b7 反相)得 11110101(B) ,再加 1 为 11110110 (B)=F6(H)即为 0A(H)的 2 补数。

注 2:
在收到一串完整的通讯命令, 要检查这串通讯命令是否有误, 只要将 (ADR1, 至 0) (LRC1, 0)加总等于 0,则通讯无误,否则表示命令中资料有些是错误的。 通讯异常 PLC 的回应: PLC 收到完整的通讯命令时,会判断命令是否有效,造成无效的原因有:


LRC CHK ERROR DEIVCE ADDRESS INVALID 要求的资料超过范围 COMMAND CODE INVALID 通讯命令格式 INVALID



EXCEPTION CODE
07 02 03 01 07

例:使用命令码 01 读取 X000-X017 的状态

Field Name
Heading Slave Address Function Starting Address Hi Starting Address Lo Number of Points Hi Number of Points Lo Error Check (LRC) PLC 回应:

Example (Hex)
3A 01 01 04 00 00 10 EA

Field Name
Heading Slave Address Function Exception Code Error Check (LRC)

Example (Hex)
3A 01 81 02 7C

因为 Address 0400 对 Function 01 是不合法的,所以回应 Exception Code=0X02,且 Function 01 被设为 81(b7 被设为 1) ,亦即由回应的 Function code 的 MSB 被设为 1 表示 PLC 回应 ERROR MESSAGE,并且由 Function code 可得知是何种错误。 可用的命令码叙述如下: (每个 device 的 address,请参考最后一页)

Code
01 02 03 05

Name
Read Coil Status Read Input Status Read Holding Registers Force Single Coli

Description
S,Y,M,T,C S,X,Y,M,T,C T,C,D S,Y,M,T,C

06 15 16 17

Preset Single Register Force Multiple Coli Preset Multiple Register Report Slave ID

T,C,D S,Y,M,T,C T,C,D None

资料字元的格式依命令码而定,依可用的命令码的资料内容分别叙述如下:

Function Code :01,Read Coil Status Field Name
Heading Slave Address Function Starting Address Hi Starting Address Lo Number of Points Hi Number of Points Lo Error Check (LRC)

Example (Hex)
3A 01 01 06 14 00 25 BF

Number of Points(max)= 255 = 0x00FF
例:从从动装置 01 读取线圈 T20-T56 PC→PLC “:01 01 06 14 00 25 BF CR LF” PLC→PC “:01 01 05 CD 6B B2 0E 1B E6 CR LF”

Field Name
Slave Address Function Bytes Count Data (Coils T27?T20) Data (Coils T35?T38) Data (Coils T43?T36) Data (Coils T51?T44) Data (Coils T56?T52) Error Check (LRC)

Contents
01 01 05 CD 6B B2 0E 1B E6

Function Code :02,Read Input Status Field Name
Heading Slave Address Function Starting Address Hi Starting Address Lo Number of Points Hi Number of Points Lo Error Check (LRC)

Example (Hex)
3A 01 02 05 14 00 25 BF

例:从从动装置 01 读取接点 Y024-Y070 PC→PLC “:01 02 05 14 00 25 BF CR LF” PLC→PC “:01 02 05 CD 6B B2 0E 1B E5 CR LF”

Field Name
Slave Address Function Bytes Count Data (Coils Y033?Y024) Data (Coils Y043?Y034) Data (Coils Y053?Y044) Data (Coils Y063?Y054) Data (Coils Y070?Y064) Error Check (LRC)

Contents
01 02 05 CD 6B B2 0E 1B E5

Function Code :03,Read Holding Registet Field Name
Heading Slave Address Function Starting Address Hi Starting Address Lo Number of Points Hi Number of Points Lo Error Check (LRC)

Example (Hex)
3A 01 03 06 14 00 08 DA

Number of Points(max)= 18(for 16 bit register)= 9(for 32 bit register)
例:从从动装置 01 读取线圈 T20-T27 PC→PLC “:01 03 06 14 00 08 DA CR LF” PLC→PC “:01 03 10 00 01 00 02 00 03 00 04 00 05 00 06 00 07 00 08 B8 CR LF”

Field Name
Slave Address Function Bytes Count Data Hi(T20) Data Lo(T20) Data Hi(T21) Data Lo(T21) Data Hi(T22) Data Lo(T22) Data Hi(T23) Data Lo(T23) Data Hi(T24)

Contents
01 03 10 00 01 00 02 00 03 00 04 00

Data Lo(T24) Data Hi(T25) Data Lo(T25) Data Hi(T26) Data Lo(T26) Data Hi(T27) Data Lo(T27) Error Check (LRC)

05 00 06 00 07 00 08 B8

Function Code :05,Force Single Coil Field Name
Heading Slave Address Function Coil Address Hi Coil Address Lo Force Data Hi Force Data Lo Error Check (LRC)

Example (Hex)
3A 01 05 05 00 FF 00 F6

NMNN = 0xFF00?Coil ON NMNN = 0x0000?Coil OFF
例:强制设定线圈 Y000 ON PC→PLC “:01 05 05 00 FF 00 F6 CR LF” PLC→PC “:01 05 05 00 FF 00 F6 CR LF”

Field Name
Heading Slave Address Function Coil Address Hi Coil Address Lo Force Data Hi Force Data Lo Error Check (LRC)

Example (Hex)
3A 01 05 05 00 FF 00 F6

Function Code :06,Preset Single Register Field Name
Heading Slave Address Function Register Address Hi Register Address Lo

Example (Hex)
3A 01 06 06 00

Preset Data Hi Preset Data Lo Error Check (LRC) 例:设定暂存器 T0 to 00 03 PC→PLC “:01 06 06 00 12 34 AD CR LF” PLC→PC “:01 06 06 00 12 34 AD CR LF”

12 34 AD

Field Name
Heading Slave Address Function Register Address Hi Register Address Lo Preset Data Hi Preset Data Lo Error Check (LRC) Switch(c) Case 0 :T0 Q→ :01 06 06 00 12 34 AD CR LF Case 1 :C0 Q→ :01 06 0E 00 12 34 AF CR LF Case 2 :C232 Q→ :01 06 0E E8 12 34 56 78 EF CR LF Case 3 :D10 Q→ :01 06 10 0A 12 34 99 CR LF Case 4 :D1000 Q→ :01 06 13 E8 12 34 BA CR LF

Example (Hex)
3A 01 06 06 00 12 34 AD

Function Code :15,Force Multiple Coils Field Name
Heading Slave Address Function Coil Address Hi Coil Address Lo Quantity of Coils Hi Quantity of Coils Lo Byte Count Force Data Hi Force Data Lo Error Check (LRC)

Example (Hex)
3A 01 0F 05 00 00 0A 02 CD 01 11

Quantity of Coils(max)= 255

例:设定线圈 Y007?Y000 = 1100 1101,Y011?Y010 = 01。 PC→PLC “:01 0F 05 00 00 0A 02 CD 01 11 CR LF” PLC→PC “:01 0F 05 00 00 0A E1 CR LF”

Field Name
Heading Slave Address Function Register To Address Hi Register To Address Lo Preset Data Hi Preset Data Lo Error Check (LRC)

Example (Hex)
3A 01 0F 05 00 00 0A E1

Function Code :16,Preset Multiple Register Field Name
Heading Slave Address Function Starting Address Hi Starting Address Lo Number of Register Hi Number of Register Lo Byte Count Data Hi Data Lo Data Hi Data Lo Error Check (LRC)

Example (Hex)
3A 01 10 06 00 00 02 04 00 0A 01 02 C6

Number of Register(max)= 16(for 16 bit register)= 8(for 32 bit register)
例:设定暂存器 T0 为 00 0A, T1 为 01 02。 PC→PLC “:01 10 06 00 02 00 04 00 0A 01 02 D6 CR LF” PLC→PC “:01 10 06 00 00 02 E7 CR LF”

Field Name
Heading Slave Address Function Starting Address Hi Starting Address Lo Number of Register Hi Number of Register Lo Error Check (LRC)

Example (Hex)
3A 01 10 06 00 00 02 E7

Function Code :17,Report Slave ID
Returns a description of controller present at the slave address, the current status of the slave Run indicator, and other information specific to the slave device.

Field Name
Heading Slave Address Function Error Check (LRC)

Example (Hex)
3A 01 11 EE

Field Name
Heading Slave Address Function Byte Count Slave ID Run indicator Status 00 = OFF FF = ON Data 0 (D1001 HI) Data 1 (D1001 LOW) Error Check (LRC)

Example (Hex)
3A 01 11 04 01 FF

40 10 9A

台达 PLC 装置地址(device address)
Device S S S S X Y T M M M M M C D D D D D Range
000-255 246-511 512-767 768-1023 000-377(8 进制) 000-377(8 进制) 000-255 000-255 256-511 512-767 768-1023 1024-1279 000-255 000-255 256-511 512-767 768-1023 1024-1279 1000-1143 000-599 000-127 232-255 0000-1279 000-177(8 进制) 000-177(8 进制) 000-127 000-127

Effective Range

Address
0000-00FF 0100-01FF 0200-02FF 0300-03FF 0400-04FF 0500-05FF 0600-06FF 0800-08FF 0900-09FF 0A00-OAFF 0B00-0BFF 0C00-0CFF 0E00-0EFF 1000-10FF 1100-11FF 1200-12FF 1300-13FF 1400-14FF

台达 PLC 通讯协议修正译文
1、通讯协议 ASCII 模式,9600,7,e,1 2、通讯资料格式: STX ADR1 ADR0 CMD1 CMD0 DATA(0) DATA(1) ??? DATA(n-1) LRC CHK1 LRC CHK0 END1 END0 校验码: 8-bit 校验码包含了 2 个 ASCII 码 尾码: END1=CR(0DH) ,END0=LF(0AH) 头码‘:(3AH) ’ 通讯地址: 8-bit 位址包含了 2 个 ASCII 码 命令码: 8-bit 命令包含了 2 个 ASCII 码 资料内容: n 个 8-bit 资料包含了 2n 个 ASCII 码 n〈=74 个 ASCII 码

ADR(通讯地址) : PLC 通讯地址出厂设定为 0X01,因此(ADR1,ADR0)=‘0’‘1’→=30H,31H , 校验码: 校验码采用 LRC 方式,将 ADR1 至最后一个资料内容加总,将该值取 2 的补数,结果即为 LRC 校验码。 例: STX ADR1 ADR0 CMD1 CMD0 启始资料地址 ‘: ’ ‘0’ ‘1’ ‘0’ ‘3’ ‘0’ ‘4’ ‘0’ ‘1’ ‘0’ ‘0’ ‘0’ ‘1’ ‘F’ ‘6’ CR LF 0AH 的 2 的补数为 F6H

资料数

LRC CHK1 LRC CHK0 END1 END0 01H+03H+04H+01H+00+01H=0AH

注 1:

2 补数的求法: 补数再加 1) (1 0A(H)=00001010(B)先取 1 补数(将 b0-b7 反相)得 11110101(B) ,再加 1 为 11110110 (B)=F6(H)即为 0A(H)的 2 补数。

注 2:
在收到一串完整的通讯命令, 要检查这串通讯命令是否有误, 只要将 (ADR1, 至 0) (LRC1, 0)加总等于 0,则通讯无误,否则表示命令中资料有些是错误的。 通讯异常 PLC 的回应: PLC 收到完整的通讯命令时,会判断命令是否有效,造成无效的原因有:


校验码错误 错误的装置地址 要求的资料超过范围 命令码错误 通讯格式错误



例外码
07 02 03 01 07

例:使用命令码 01 读取 X000-X017 的状态

名称
头码 从站地址 命令码 启始地址高位 启始地址低位 资料高位 资料低位 校验码(LRC) PLC 回应:

例码 (Hex)
3A 01 01 04 00 00 10 EA

名称
头码 从站地址 命令码 例外码 校验码(LRC)

例码 (Hex)
3A 01 81 02 7C

因为地址 0400 对命令 01 是不合法的, 所以回应例外码 = 0X02, 且命令 01 被设为 81 (b7 被设为 1) ,亦即由回应的命令码的 MSB 被设为 1 表示 PLC 回应错误讯息,并且由命令码 可得知是何种错误。 可用的命令码叙述如下: (每个装置的地址,请参考最后一页)

命令码
01 02 03 05 06 读线圈状态 读输入状态 读寄存器值

功能

作用范围
S,Y,M,T,C S,X,Y,M,T,C T,C,D S,Y,M,T,C T,C,D

设定单一线圈 预设单一寄存器

15 16 17

设定多个线圈 预设多个寄存器 状态、机种报告

S,Y,M,T,C T,C,D None

资料字元的格式依命令码而定,依可用的命令码的资料内容分别叙述如下:

命令码 :01,读取线圈状态 名称
头码 从站地址 命令 启始地址高位 启始地址低位 资料高位 资料低位 校验(LRC)

例码 (Hex)
3A 01 01 06 14 00 25 BF

资料位(max)= 255 = 0x00FF
例:从从动装置 01 读取线圈 T20-T56 PC→PLC “:01 01 06 14 00 25 BF CR LF” PLC→PC “:01 01 05 CD 6B B2 0E 1B E6 CR LF”

名称
从站地址 命令 字节数 数据(线圈 T27?T20) 数据(线圈 T35?T38) 数据(线圈 T43?T36) 数据(线圈 T51?T44) 数据(线圈 T56?T52) 校验码

内容
01 01 05 CD 6B B2 0E 1B E6

命令码 :02,读取输入状态 名称
头码 从站地址 命令 启始地址高位 启始地址低位 资料高位 资料低位 校验(LRC) 例:从从动装置 01 读取接点 Y024-Y070

例码 (Hex)
3A 01 02 05 14 00 25 BF

PC→PLC “:01 02 05 14 00 25 BF CR LF” PLC→PC “:01 02 05 CD 6B B2 0E 1B E5 CR LF”

名称
从站地址 命令 字节数 数据(线圈 Y033?Y024) 数据(线圈 Y043?Y034) 数据(线圈 Y053?Y044) 数据(线圈 Y063?Y054) 数据(线圈 Y070?Y064) 校验(LRC)

内容
01 02 05 CD 6B B2 0E 1B E5

命令码:03,读取寄存器值 名称
头码 从站地址 命令 启始地址高位 启始地址低位 读取长度高位 读取长度低位 校验(LRC)

例码 (Hex)
3A 01 03 06 14 00 08 DA

读取长度(max)= 18(16 位寄存器)= 9(32 位寄存器)
例:从从动装置 01 读取线圈 T20-T27 PC→PLC “:01 03 06 14 00 08 DA CR LF” PLC→PC “:01 03 10 00 01 00 02 00 03 00 04 00 05 00 06 00 07 00 08 B8 CR LF”

名称
从站地址 命令 字节数 数据高位(T20) 数据低位(T20) 数据高位(T21) 数据低位(T21) 数据高位(T22) 数据低位(T22) 数据高位(T23) 数据低位(T23) 数据高位(T24) 数据低位(T24)

内容
01 03 10 00 01 00 02 00 03 00 04 00 05

数据高位(T25) 数据低位(T25) 数据高位(T26) 数据低位(T26) 数据高位(T27) 数据低位(T27) 校验(LRC)

00 06 00 07 00 08 B8

命令码:05,设定单一线圈 名称
头码 从站地址 命令 线圈地址高位 线圈地址低位 设定数据高位 设定数据低位 校验(LRC)

例码 (Hex)
3A 01 05 05 00 FF 00 F6

NMNN = 0xFF00?线圈 ON NMNN = 0x0000?线圈 OFF
例:强制设定线圈 Y000 ON PC→PLC “:01 05 05 00 FF 00 F6 CR LF” PLC→PC “:01 05 05 00 FF 00 F6 CR LF”

名称
头码 从站地址 命令 线圈地址高位 线圈地址低位 设定数据高位 设定数据低位 校验(LRC)

例码 (Hex)
3A 01 05 05 00 FF 00 F6

命令码:06,预设单一寄存器 名称
头码 从站地址 命令 预设地址高位 预设地址低位 预设数据高位

例码 (Hex)
3A 01 06 06 00 12

预设数据低位 校验(LRC) 例:设定暂存器 T0 to 00 03 PC→PLC “:01 06 06 00 12 34 AD CR LF” PLC→PC “:01 06 06 00 12 34 AD CR LF”

34 AD

名称
头码 从站地址 命令 预设地址高位 预设地址低位 预设数据高位 预设数据低位 校验(LRC) Switch(c) Case 0 :T0 Q→ :01 06 06 00 12 34 AD CR LF Case 1 :C0 Q→ :01 06 0E 00 12 34 AF CR LF Case 2 :C232 Q→ :01 06 0E E8 12 34 56 78 EF CR LF Case 3 :D10 Q→ :01 06 10 0A 12 34 99 CR LF Case 4 :D1000 Q→ :01 06 13 E8 12 34 BA CR LF

例码 (Hex)
3A 01 06 06 00 12 34 AD

命令码:15,设定多个线圈 名称
头码 从站地址 命令 线圈地址高位 线圈地址低位 线圈数量高位 线圈数量低位 位元数 设定数据高位 设定数据低位 校验(LRC) 线圈数量(max)= 255

例码 (Hex)
3A 01 0F 05 00 00 0A 02 CD 01 11

例:设定线圈 Y007?Y000 = 1100 1101,Y011?Y010 = 01。

PC→PLC “:01 0F 05 00 00 0A 02 CD 01 11 CR LF” PLC→PC “:01 0F 05 00 00 0A E1 CR LF”

名称
头码 从站地址 命令 寄存器地址高位 寄存器地址低位 预设数据高位 预设数据低位 校验(LRC)

例码 (Hex)
3A 01 0F 05 00 00 0A E1

命令码:16,预设多个寄存器 名称
头码 从站地址 命令 启始地址高位 启始地址低位 资料高位 资料低位 字节数 数据高位 数据低位 数据高位 数据低位 校验(LRC) 寄存器数目

例码 (Hex)
3A 01 10 06 00 00 02 04 00 0A 01 02 C6

字节数(max)= 16(16 位寄存器)= 8(32 位寄存器)
例:设定暂存器 T0 为 00 0A, T1 为 01 02。 PC→PLC “:01 10 06 00 00 02 04 00 0A 01 02 D6 CR LF” PLC→PC “:01 10 06 00 00 02 E7 CR LF”

名称
头码 从站地址 命令 启始地址高位 启始地址低位 资料高位 资料低位 校验(LRC)

例码 (Hex)
3A 01 10 06 00 00 02 E7

命令码:17,读取从站 ID

名称
头码 从站地址 命令 校验(LRC)

例码 (Hex)
3A 01 17 EE

名称
头码 从站地址 命令 位元数 从站 ID 运行状态指示 00 = OFF FF = ON

例码 (Hex)
3A 01 11 04 01 FF 40 10 9A

数据 0 (D1001 高) 数据 1 (D1001 低) 校验 (LRC)

台达 PLC 装置地址
装置 S S S S X Y T M M M M M C D D D D D 范围
000-255 246-511 512-767 768-1023 000-377(8 进制) 000-377(8 进制) 000-255 000-255 256-511 512-767 768-1023 1024-1279 000-255 000-255 256-511 512-767 768-1023 1024-1279 1000-1143 000-599 000-127 232-255 0000-1279 000-177(8 进制) 000-177(8 进制) 000-127 000-127

有效范围

地址
0000-00FF 0100-01FF 0200-02FF 0300-03FF 0400-04FF 0500-05FF 0600-06FF 0800-08FF 0900-09FF 0A00-OAFF 0B00-0BFF 0C00-0CFF 0E00-0EFF 1000-10FF 1100-11FF 1200-12FF 1300-13FF 1400-14FF


相关文章:
台达PLC通讯协议
台达PLC通讯协议_信息与通信_工程科技_专业资料。台达PLC通讯协议格式台达PLC 通讯协议原文 1、通讯协议 ASCII 模式,9600,7,e,1 2、通讯资料格式: STX ADR1 ADR...
台达PLC通讯协议
台达PLC通讯协议_信息与通信_工程科技_专业资料 暂无评价|0人阅读|0次下载|举报文档 台达PLC通讯协议_信息与通信_工程科技_专业资料。台达最新通讯协议...
台达PLC通信协议
台达PLC通信协议_信息与通信_工程科技_专业资料。比较系统的介绍了Dalta的PLC通信协议DELTA DVP Series PLC COMMUNICATION PROTOCOL VER 1.0 DELTA ELECTRONICS, INC....
台达PLC通讯协议
台达PLC通讯协议_机械/仪表_工程科技_专业资料。PLC 通讯协议 1、 计算机和 PLC 用 485 协议通讯,计算机直接读写 PLC 的数据寄存器 2、 PLC 数据寄存器 D000-D...
台达PLC的通讯协议
台达PLC通讯协议_信息与通信_工程科技_专业资料。台達 PLC 的通讯协议是公开的,只要对该协议有清楚理解,所有台 达产品的通讯问题迎刃而解,下面是协议全文: 1....
基于VB实现台达PLC与PC 机串行通讯
基于VB实现台达PLC与PC 机串行通讯_工学_高等教育_教育专区。好东西无需介绍!自己总结的,绝对一手!希望对你有用!串行通讯 基于 VB 实现台达 PLC 与 PC 串行...
台达PLC MODBUS
台达PLC MODBUS_计算机软件及应用_IT/计算机_专业资料。 两台达 PLC 通讯,从站...©2015 Baidu 使用百度前必读 | 文库协议 | 网站地图 关闭 ...
台达PLC与PC机串行通讯以及相应地址
台达PLC与PC机串行通讯以及相应地址_计算机硬件及网络_IT/计算机_专业资料。基于 VB 实现台达 PLC 与 PC 串行通讯随着工业自动化控制技术的不断发展,可编程逻辑控制...
台达触摸屏和多台PLC 485通讯教程
硬件组成:台达 PLC 2 台, 触摸屏 1 台 首先是确定通讯方式,采用 485 通讯,触摸屏同时读取两台 PLC 的数据. 1, PLC 设置通讯协议和通讯地址. PLC 站点 1 ...
力控与台达PLC通讯步骤
力控与台达PLC通讯步骤_信息与通信_工程科技_专业资料。力控与台达PLC通讯步骤一、协议概述 台达 PLC 支持标准 MODBUS 协议。 二、硬件配置与连接 台达 PLC 通讯...
更多相关标签:
台达 | 台达plc通信协议 | 三菱plc通讯协议 | 台达plc与pc通讯协议 | 台达plc modbus通讯 | 台达plc485通讯案例 | 台达plc与变频器通讯 | 台达plc与触摸屏通讯 |