台达PLC通讯协议

  • 格式:doc
  • 大小:41.50 KB
  • 文档页数:9

下载文档原格式

  / 9
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

台达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

相关主题