台达PLC通讯协议.docx

上传人:b****5 文档编号:27965655 上传时间:2023-07-06 格式:DOCX 页数:15 大小:17.20KB
下载 相关 举报
台达PLC通讯协议.docx_第1页
第1页 / 共15页
台达PLC通讯协议.docx_第2页
第2页 / 共15页
台达PLC通讯协议.docx_第3页
第3页 / 共15页
台达PLC通讯协议.docx_第4页
第4页 / 共15页
台达PLC通讯协议.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

台达PLC通讯协议.docx

《台达PLC通讯协议.docx》由会员分享,可在线阅读,更多相关《台达PLC通讯协议.docx(15页珍藏版)》请在冰豆网上搜索。

台达PLC通讯协议.docx

台达PLC通讯协议

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

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

9600,7,e,1

3.通讯资料格式

STX起始字符‘:

’(3AH)

ADR1通讯地址:

ADR08-bit地址包含了2个ASCII码

CMD1命令码:

CMD08-bit命令包含了2个ASCII码

DATA(0)资料内容:

DATA

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

……….n<=74个ASCII码

DATA(n-1)

LRCCHK1侦误值:

LRCCHK08-bit侦误值包含了2个ASCII码

END1结束字符:

END0END1=CR(0DH),END0=LF(0AH)

􀂄􀀃ADR(通讯地址)

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

􀂄􀀃LRCCHK(侦误值)CMD(命令指令)及DATA(数据字符)

􀂄􀀃LRCCHK(侦误值)

侦错方式采用LRC(LongitudinalRedundancyCheck)侦误值。

LRC侦误值乃是将ADR1至最后

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

附录-3

例:

STX‘:

ADR1‘0’

ADR0‘1’

CMD1‘0’

CMD0‘3’

起始资料地址‘0’

‘4’

‘0’

‘1’

资料数‘0’

‘0’

‘0’

‘1’

LRCCHK1‘F’

LRCCHK0‘6’

END1CR

END0LF

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

0AH的2补码为F6H

注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的响应:

附录-4

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

原因EXCEPTIONCODE

LRCCHKERROR07

DEIVCEADDRESSINVALID02

要求的资料超过范围03

COMMANDCODEINVALID01

通讯命令格式INVALID07

例:

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

FieldNameExample(Hex)

Heading3A

SlaveAddress01

Function01

StartingAddressHi04

StartingAddressLo00

NumberofPointsHi00

NumberofPointsLo10

ErrorCheck(LRC)EA

附录-5

PLC响应:

FieldNameExample(Hex)

Heading3A

SlaveAddress01

Function81

ExceptionCode02

ErrorCheck(LRC)7C

因为Address0400对Function01是不合法的,所以响应Exceptioncode=0x02,且Function01

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

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

􀂋􀀃可用之命令码叙述如下:

(每个device的address,请参考最后一页)

CodeNameDescription

01ReadCoilStatusS,Y,M,T,C

02ReadInputStatusS,X,Y,M,T,C

03ReadHoldingRegistersT,C,D

05ForceSingleCoilS,Y,M,T,C

06PresetSingleRegisterT,C,D

15ForceMultipleCoilsS,Y,M,T,C

16PresetMultipleRegisterT,C,D

17ReportSlaveIDNone

附录-6

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

FunctionCode:

01,ReadCoilStatus

FieldNameExample(Hex)

Heading3A

SlaveAddress01

Function01

StartingAddressHi06

StartingAddressLo14

NumberofPointsHi00

NumberofPointsLo25

ErrorCheck(LRC)BF

NumberofPoints(max)=255=0x00FF

例:

由从动装置(slavedevice)01读取线圈T20~T56

PC→PLC“:

010106140025BFCRLF”

PLC→PC“:

010105CD6BB20E1BD6CRLF”

FieldNameContents

SlaveAddress01

Function01

BytesCount05

Data(CoilsT27…T20)CD

Data(CoilsT35…T38)6B

Data(CoilsT43…T36)B2

Data(CoilsT51…T44)0E

Data(CoilsT56…T52)1B

ErrorCheck(LRC)E6

􀂄􀀃FunctionCode:

02,ReadInputStatus

附录-7

FieldNameExample(Hex)

Heading3A

SlaveAddress01

Function02

StartingAddressHi05

StartingAddressLo14

NumberofPointsHi00

NumberofPointsLo25

ErrorCheck(LRC)BF

例:

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

PC→PLC“:

010205140025BFCRLF”

PLC→PC“:

010105CD6BB20E1BE5CRLF”

FieldNameContents

SlaveAddress01

Function02

BytesCount05

Data(CoilsY033…Y024)CD

Data(CoilsY043…Y034)6B

Data(CoilsY053…Y044)B2

Data(CoilsY063…Y054)0E

Data(CoilsY070…Y064)1B

ErrorCheck(LRC)E5

附录-8

􀂄􀀃FunctionCode:

03,ReadHoldingRegister

HoldingRegister:

T,C,D

FieldNameExample(Hex)

Heading3A

SlaveAddress01

Function03

StartingAddressHi06

StartingAddressLo14

NumberofPointsHi00

NumberofPointsLo08

ErrorCheck(LRC)DA

NumberofPoints(max)

=18(for16bitregister)

=9(for32bitregister)

例:

由从动装置01读取线圈T20~T27

PC→PLC“:

010306140008DACRLF”

PLC→PC“:

01031000010002000300040005000600070008B8CRLF”

3A303130333130303030303030303030303030303030303030303030303030303030303030303045430D0A

3A30B13033B1303030303030303030303030303030303030303030303030303030303030303030C5C38D0A

3A8A30A6833082308230823082308230823082308230823082302AC363E1

FieldNameContents

SlaveAddress01

Function03

BytesCount10

DataHi(T20)00

DataLo(T20)01

DataHi(T21)00

DataLo(T21)02

DataHi(T22)00

附录-9

DataLo(T22)03

DataHi(T23)00

DataLo(T23)04

DataHi(T24)00

DataLo(T24)05

DataHi(T25)00

DataLo(T25)06

DataHi(T26)00

DataLo(T26)07

DataHi(T27)00

DataLo(T27)08

ErrorCheck(LRC)B8

􀂄􀀃FunctionCode:

05,ForceSingleCoil

FieldNameExample(Hex)

Heading3A

SlaveAddress01

Function05

CoilAddressHi05

CoilAddressLo00

ForceDataHiFF

ForceDataLo00

ErrorCheck(LRC)F6

MMNN=0xFF00….CoilON

MMNN=0x0000….CoilOFF

例:

强制设定线圈Y000ON

PC→PLC“:

01050500FF00F6CRLF”

PLC→PC“:

01050500FF00F6CRLF”

附录-10

FieldNameExample(Hex)

Heading3A

SlaveAddress01

Function05

CoilAddressHi05

CoilAddressLo00

ForceDataHiFF

ForceDataLo00

ErrorCheck(LRC)F6

􀂄􀀃FunctionCode:

06,PresetSingleRegister

FieldNameExample(Hex)

Heading3A

SlaveAddress01

Function06

RegisterAddressHi06

RegisterAddressLo00

PresetDataHi12

PresetDataLo34

ErrorCheck(LRC)AD

例:

设定缓存器T0to0003

PC→PLC“:

010606001234ADCRLF”

PLC→PC“:

010606001234ADCRLF”

FieldNameExample(Hex)

Heading3A

SlaveAddress01

Function06

附录-11

RegisterT0AddressHi06

RegisterT0AddressLo00

PresetDataHi12

PresetDataLo34

ErrorCheck(LRC)AD

Switch(c)

Case0:

T0

Q→:

010606001234ADCRLF

Case1:

C0

Q→:

01060E001234AFCRLF

Case2:

C232

Q→:

01060EE812345678EFCRLF

Case3:

D10

Q→:

0106100A123499CRLF

Case4:

D1000

Q→:

010613E81234BACRLF

附录-12

􀂄􀀃FunctionCode:

15,ForceMultipleCoils

FieldNameExample(Hex)

Heading3A

SlaveAddress01

Function0F

CoilAddressHi05

CoilAddressLo00

QuantityofCoilsHi00

QuantityofCoilsLo0A

ByteCount02

ForceDataHiCD

ForceDataLo01

ErrorCheck(LRC)11

QuantityofCoils(max)=255

例:

设定线圈Y007…Y000=11001101,Y011…Y010=01.

PC→PLC“:

010F0500000A02CD0111CRLF”

PLC→PC“:

010F0500000AE1CRLF”

附录-13

FieldNameExample(Hex)

Heading3A

SlaveAddress01

Function0F

RegisterT0AddressHi05

RegisterT0AddressLo00

PresetDataHi00

PresetDataLo0A

ErrorCheck(LRC)E1

􀂄􀀃FunctionCode:

16,PresetMultipleRegister

FieldNameExample(Hex)

Heading3A

SlaveAddress01

Function10

StartingAddressHi06

StartingAddressLo00

NumberofRegisterHi00

NumberofRegisterLo02

ByteCount04

DataHi00

DataLo0A

DataHi01

DataLo02

ErrorCheck(LRC)C6

附录-14

NumberofRegister(max)

=16(for16bitregister)

=8(for8bitregister)

例:

设定缓存器T0为000A,T1为0102.

PC→PLC“:

01100600020004000A0102D6CRLF”

PLC→PC“:

011006000002E7CRLF”

FieldNameExample(Hex)

Heading3A

SlaveAddress01

Function10

StartingAddressHi06

StartingAddressLo00

NumberofRegistersHi00

NumberofRegistersLo02

ErrorCheck(LRC)E7

􀂄􀀃FunctionCode:

17,ReportSlaveID

Returnsadescriptionofcontrollerpresentattheslaveaddress,thecurrentstatusoftheslaveRun

indicator,andotherinformationspecifictotheslavedevice.

FieldNameExample(Hex)

Heading3A

SlaveAddress01

Function11

ErrorCheck(LRC)EE

附录-15

FieldNameExample(Hex)

Heading3A

SlaveAddress01

Function11

ByteCount04

SlaveID01

RunIndicatorStatus

00=OFF

FF=ON

FF

Data0(D1001HI)40

Data1(D1001LOW)10

ErrorCheck(LRC)9A

附录-16

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

DeviceRangeEffectiveRangeAddress

S000~255000~1270000~00FF

S246~5110100~01FF

S512~7670200~02FF

S768~10230300~03FF

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

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

T000~255000~1270600~06FF

M000~2550000~12790800~08FF

M256~5110900~09FF

M512~7670A00~0AFF

M768~10230B00~0BFF

M1024~12790C00~0CFF

C000~255000~127

232~255

0E00~0EFF

D000~255000~5991000~10FF

D256~5111000~11431100~11FF

D512~7671200~12FF

D768~10231300~13FF

D1024~12791400~14FF

高考是我们人生中重要的阶段,我们要学会给高三的自己加油打气

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 其它考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1