搜档网
当前位置:搜档网 › 台达PLC通讯协议

台达PLC通讯协议

台达PLC通讯协议V1.12 通讯接口RS-232C RS-485

2. 通讯协议ASCII 模式, 9600(传输速率), 偶同位, 1 个起始位, 1 个停止位

9600,7,e,1

3. 通讯资料格式

STX 起始字符‘:’(3AH)

ADR 1 通讯地址:

ADR 0 8-bit 地址包含了2 个ASCII 码

CMD 1 命令码:

CMD 0 8-bit 命令包含了2 个ASCII 码

DATA(0)资料内容:

DATA(1) n个8-bit 资料包含了2n 个ASCII 码

………. n <=74 个ASCII 码

DATA(n-1)

LRC CHK 1 侦误值:

LRC CHK 0 8-bit 侦误值包含了2 个ASCII 码

END 1 结束字符:

END 0 END 1 = CR(0DH),END 0 = LF(0AH)

ADR(通讯地址)

PLC 通讯地址出厂设定值为0x01,因此(ADR 1, ADR 0)=’0’,’1’ ’0’=30H, ‘1’= 31H

LRC CHK(侦误值)CMD(命令指令)及DATA(数据字符)

LRC CHK(侦误值)

侦错方式采用LRC(Longitudinal Redundancy Check)侦误值。LRC 侦误值乃是将ADR1 至最后

一个资料内容加总,将该值取2 补码(2’s Complement)得到之结果即为LRC 侦误值。附录-3

例:

STX ‘:’

ADR 1 ‘0’

ADR 0 ‘1’

CMD 1 ‘0’

CMD 0 ‘3’

起始资料地址‘0’

‘4’

‘0’

‘1’

资料数‘0’

‘0’

‘0’

‘1’

LRC CHK 1 ‘F’

LRC CHK 0 ‘6’

END 1 CR

END 0 LF

01H+03H+04H+01H+00+01H = 0AH

0AH 的2 补码为 F6H

注1

2 补码的求法:(1 补码再加1)

0A(H) = 0000 1010(B)先取1 补码(将b0~b7 反相)得1111 0101(B),再加1 为 1111 0110

(B) = F6(H)即为0A(H)的2 补码。

注2

因此在收到一串完整的通讯命令,要检查这串通讯命令是否有误,只要将(ADR1,0)至(LRC1,0)

加总等于0,则通讯无误,否则表示命令中资料有些是错误的。

通讯异常 PLC 的响应:

附录-4

PLC 收到完整的通讯命令时,会判断命令是否有效,造成无效的原因有:

原因EXCEPTION CODE

LRC CHK ERROR 07

DEIVCE ADDRESS INVALID 02

要求的资料超过范围 03

COMMAND CODE INVALID 01

通讯命令格式INVALID 07

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

Field Name Example (Hex)

Heading 3A

Slave Address 01

Function 01

Starting Address Hi 04

Starting Address Lo 00

Number of Points Hi 00

Number of Points Lo 10

Error Check ( LRC ) EA

附录-5

PLC 响应:

Field Name Example (Hex)

Heading 3A

Slave Address 01

Function 81

Exception Code 02

Error Check ( LRC ) 7C

因为Address 0400 对Function 01 是不合法的,所以响应Exception code = 0x02,且Function 01

被设为81(b7 被设为1),亦即由响应的Function code 的 MSB 被设为1 表示PLC 响应ERROR

MESSAGE,并且由Exception code 可得知是何种错误。

可用之命令码叙述如下:(每个device 的address, 请参考最后一页)Code Name Description

01 Read Coil Status S, Y, M, T, C

02 Read Input Status S, X, Y, M,T, C

03 Read Holding Registers T, C, D

05 Force Single Coil S, Y, M, T, C

06 Preset Single Register T, C, D

15 Force Multiple Coils S, Y, M, T, C

16 Preset Multiple Register T, C, D

17 Report Slave ID None

附录-6

资料字符之格式依命令码而定,依可用之命令码的资料内容分别叙述如下:Function Code:01, Read Coil Status

Field Name Example (Hex)

Heading 3A

Slave Address 01

Function 01

Starting Address Hi 06

Starting Address Lo 14

Number of Points Hi 00

Number of Points Lo 25

Error Check ( LRC ) BF

Number of Points(max) = 255 = 0x00FF

例:由从动装置(slave device)01 读取线圈 T20~T56

PC→PLC “:01 01 06 14 00 25 BF CR LF”

PLC→PC “:01 01 05 CD 6B B2 0E 1B D6 CR LF”

Field Name Contents

Slave Address 01

Function 01

Bytes Count 05

Data(Coils T27…T20) CD

Data(Coils T35…T38) 6B

Data(Coils T43…T36) B2

Data(Coils T51…T44) 0E

Data(Coils T56…T52) 1B

Error Check(LRC) E6

Function Code:02, Read Input Status

附录-7

Field Name Example (Hex)

Heading 3A

Slave Address 01

Function 02

Starting Address Hi 05

Starting Address Lo 14

Number of Points Hi 00

Number of Points Lo 25

Error Check ( LRC ) BF

例:由从动装置01 读取接点 Y024~Y070

PC→PLC “:01 02 05 14 00 25 BF CR LF”

PLC→PC “:01 01 05 CD 6B B2 0E 1B E5 CR LF”

Field Name Contents

Slave Address 01

Function 02

Bytes Count 05

Data(Coils Y033…Y024) CD

Data(Coils Y043…Y034) 6B

Data(Coils Y053…Y044) B2

Data(Coils Y063…Y054) 0E

Data(Coils Y070…Y064) 1B

Error Check(LRC) E5

附录-8

Function Code:03, Read Holding Register

Holding Register:T, C, D

Field Name Example (Hex)

Heading 3A

Slave Address 01

Function 03

Starting Address Hi 06

Starting Address Lo 14

Number of Points Hi 00

Number of Points Lo 08

Error Check ( LRC ) 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”3A 30 31 30 33 31 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 45 43 0D 0A

3A 30 B1 30 33 B1 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 C5 C3 8D 0A

3A 8A 30 A6 83 30 82 30 82 30 82 30 82 30 82 30 82 30 82 30 82 30 82 30 82 30 2A C3 63 E1

Field Name Contents

Slave Address 01

Function 03

Bytes Count 10

Data Hi(T20) 00

Data Lo(T20) 01

Data Hi(T21) 00

Data Lo(T21) 02

Data Hi(T22) 00

附录-9

Data Lo(T22) 03

Data Hi(T23) 00

Data Lo(T23) 04

Data Hi(T24) 00

Data Lo(T24) 05

Data Hi(T25) 00

Data Lo(T25) 06

Data Hi(T26) 00

Data Lo(T26) 07

Data Hi(T27) 00

Data Lo(T27) 08

Error Check(LRC) B8

Function Code:05, Force Single Coil Field Name Example (Hex)

Heading 3A

Slave Address 01

Function 05

Coil Address Hi 05

Coil Address Lo 00

Force Data Hi FF

Force Data Lo 00

Error Check ( LRC ) F6

MMNN = 0xFF00….Coil ON

MMNN = 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”

附录-10

Field Name Example (Hex)

Heading 3A

Slave Address 01

Function 05

Coil Address Hi 05

Coil Address Lo 00

Force Data Hi FF

Force Data Lo 00

Error Check ( LRC ) F6

Function Code:06, Preset Single Register

Field Name Example (Hex)

Heading 3A

Slave Address 01

Function 06

Register Address Hi 06

Register Address Lo 00

Preset Data Hi 12

Preset Data Lo 34

Error Check ( LRC ) AD

例:设定缓存器 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”Field Name Example (Hex)

Heading 3A

Slave Address 01

Function 06

附录-11

Register T0 Address Hi 06

Register T0 Address Lo 00

Preset Data Hi 12

Preset Data Lo 34

Error Check ( LRC ) AD

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

附录-12

Function Code:15, Force Multiple Coils Field Name Example (Hex)

Heading 3A

Slave Address 01

Function 0F

Coil Address Hi 05

Coil Address Lo 00

Quantity of Coils Hi 00

Quantity of Coils Lo 0A

Byte Count 02

Force Data Hi CD

Force Data Lo 01

Error Check (LRC) 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”

附录-13

Field Name Example (Hex)

Heading 3A

Slave Address 01

Function 0F

Register T0 Address Hi 05

Register T0 Address Lo 00

Preset Data Hi 00

Preset Data Lo 0A

Error Check ( LRC ) E1

Function Code:16, Preset Multiple Register

Field Name Example (Hex)

Heading 3A

Slave Address 01

Function 10

Starting Address Hi 06

Starting Address Lo 00

Number of Register Hi 00

Number of Register Lo 02

Byte Count 04

Data Hi 00

Data Lo 0A

Data Hi 01

Data Lo 02

Error Check (LRC) C6

附录-14

Number of Register(max)

= 16(for 16 bit register)

= 8(for 8 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 Example (Hex)

Heading 3A

Slave Address 01

Function 10

Starting Address Hi 06

Starting Address Lo 00

Number of Registers Hi 00

Number of Registers Lo 02

Error Check ( LRC ) 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 Example (Hex)

Heading 3A

Slave Address 01

Function 11

Error Check (LRC) EE

附录-15

Field Name Example (Hex)

Heading 3A

Slave Address 01

Function 11

Byte Count 04

Slave ID 01

Run Indicator Status

00 = OFF

FF = ON

FF

Data 0(D1001 HI) 40

Data 1(D1001 LOW) 10

Error Check (LRC) 9A

附录-16

台达 DVP 系列 PLC 装置地址(DEVICE ADDRESS)

Device Range Effective Range Address

S 000~255 000~127 0000~00FF

S 246~511 0100~01FF

S 512~767 0200~02FF

S 768~1023 0300~03FF

X 000~377(8 进制) 000~177(8 进制) 0400~04FF

Y 000~377(8 进制) 000~177(8 进制) 0500~05FF

T 000~255 000~127 0600~06FF

M 000~255 0000~1279 0800~08FF

M 256~511 0900~09FF

M 512~767 0A00~0AFF

M 768~1023 0B00~0BFF

M 1024~1279 0C00~0CFF

C 000~255 000~127

232~255

相关主题