台达PLC通信协议.docx
- 文档编号:6867025
- 上传时间:2023-01-11
- 格式:DOCX
- 页数:20
- 大小:25.09KB
台达PLC通信协议.docx
《台达PLC通信协议.docx》由会员分享,可在线阅读,更多相关《台达PLC通信协议.docx(20页珍藏版)》请在冰豆网上搜索。
台达PLC通信协议
DELTADVPSeriesPLC
MUNICATIONPROTOCOLVER1.0
1.municationInterface:
RS-232C
2.municationProtocolASCIImode,9600(Baudrate),EVEN(Parity),1(Startbit),1(Stopbit)
3.municationDataFrame
STX
Startcharacter‘:
’(3AH)
ADR1
municationaddress:
ADR0
8-bitaddressconsistsof2ASCIIcodes
CMD1
mandcode:
CMD0
8-bitmandconsistsof2ASCIIcodes
DATA(0)
Contentsofdata:
DATA
(1)
n⨯8-bitdataconsistof2nASCIIcodes.
……….
n≤37,maximumof74ASCIIcodes
DATA(n-1)
LRCCHK1
LRCchecksum:
LRCCHK0
8-bitchecksumconsistsof2ASCIIcodes
END1
Endcharacter:
END0
END1=CR(0DH),END0=LF(0AH)
⏹ADR(municationAddress)
Validmunicationaddressesareintherangeof0…31.municationaddressequalsto0meansbroadcasttoallPLC,thePLCwillreplynormalmessagetothemasterdevice.
Forexample,municationtoPLCwithaddress16decimal:
(ADR1,ADR0)=’1’,’0’⇨’1’=31H,‘0’=30H
⏹CMD(mandcode)andDATA(datacharacters)
Theformatofdatacharactersdependsonthemandcode.Forexample,readingcontinuous8wordsformstartingdeviceaddress0614HofPLCwithaddress01H.
FieldName
Example(Hex)
Heading
3A
SlaveAddress
01
mandcode
03
StartingAddressHi
06
StartingAddressLo
14
NumberofPointsHi
00
NumberofPointsLo
08
ErrorCheck(LRC)
DA
NumberofPoints(max)
=18(for16bitregister)
=9(for32bitregister)
Example:
ReadingCoilsT20~T27fromslavedevice01
PC→PLC
“:
010306140008DACRLF”
PLC→PC
“:
01031000010002000300040005000600070008B8CRLF”
FieldName
Example(Hex)
SlaveAddress
01
mandcode
03
BytesCount
10
DataHi(T20)
00
DataLo(T20)
01
DataHi(T21)
00
DataLo(T21)
02
DataHi(T22)
00
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)
C8
⏹LRCCHK(checksum)
LRC(LongitudinalRedundancyCheck)iscalculatedbysummingup,module256,thevaluesofthebytesfromADR1tolastdatacharacterthencalculatingthehexadecimalrepresentationofthe2’s-plementnegationofthesum.
Forexample,reading1wordformaddress0401HofthePLCwithaddress01H
STX
‘:
’
ADR1
‘0’
ADR0
‘1’
CMD1
‘0’
CMD0
‘3’
Startingdataaddress
‘0’
‘4’
‘0’
‘1’
Numberofdata
‘0’
‘0’
‘0’
‘1’
LRCCHK1
‘F’
LRCCHK0
‘6’
END1
CR
END0
LF
01H+03H+04H+01H+00+01H=0AH
the2’s-plementnegationof0AHisF6H
Exceptionresponse:
ThePLCisbeenexpectedtoreturnanormalresponseafterreceivingmandmessagesfromthemasterdevice.Thefollowingdepictstheconditionsthatnonormalresponseisrepliedtothemasterdevice.
ThePLCdoesnotreceivethemessagesduetoamunicationerror;thusthePLChasnoresponse.Themasterdevicewilleventuallyprocessatimeoutcondition.
ThePLCreceivesthemessageswithoutamunicationerror,butcannothandleit,anexceptionresponsewillreturntothemasterdevice.Intheexceptionresponse,themostsignificantbitoftheoriginalmandcodeissetto1,andanexceptioncodeexplainstheconditionthatcausedtheexceptionisreturned.
Anexampleofexceptionresponseofmandcode01Handexception02H:
mandmessage:
FieldName
Example(Hex)
Heading
3A
SlaveAddress
01
Function
01
StartingAddressHi
04
StartingAddressLo
00
NumberofPointsHi
00
NumberofPointsLo
10
ErrorCheck(LRC)
EA
Responsemessage:
FieldName
Example(Hex)
Heading
3A
SlaveAddress
01
Function
81
ExceptionCode
02
ErrorCheck(LRC)
7C
Exceptioncode:
Meaning:
01
Illegalmandcode:
ThemandcodereceivedinthemandmessageisnotavailableforthePLC.
02
Illegaldeviceaddress:
ThedeviceaddressreceivedinthemandmessageisnotavailableforthePLC.
03
Illegaldevicevalue:
ThedevicevaluereceivedinthemandmessageisnotavailableforthePLC.
07
CheckSumError
CheckifthecheckSumiscorrect
Illegalmandmessages
Themandmessageistooshort.
mandmessagelengthisoutofrange.
◆
Theformatofdatacharactersdependsonthemand.Theavailablemandcodesaredescribedasfollowed,
Code
Name
Description
01
ReadCoilStatus
S,Y,M,T,C
02
ReadInputStatus
S,X,Y,M,T,C
03
ReadHoldingRegisters
T,C,D
05
ForceSingleCoil
S,Y,M,T,C
06
PresetSingleRegister
T,C,D
15
ForceMultipleCoils
S,Y,M,T,C
16
PresetMultipleRegister
T,C,D
17
ReportSlaveID
None
DELTADVP-ESSeriesPLCDEVICEADDRESS
Device
Range
EffectiveRange
Address
S
000~255
000~127
0000~00FF
S
256~511
0100~01FF
S
512~767
0200~02FF
S
768~1023
0300~03FF
X
000~377(Octal)
000~177(Octal)
0400~04FF
Y
000~377(Octal)
000~177(Octal)
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
0E00~0EFF
D
000~255
000~599
1000~1143
1000~10FF
D
256~511
1100~11FF
D
512~767
1200~12FF
D
768~1023
1300~13FF
D
1024~1279
1400~14FF
mandCode:
01,ReadCoilStatus
FieldName
Example(Hex)
Heading
3A
SlaveAddress
01
mandcode
01
StartingAddressHi
06
StartingAddressLo
14
NumberofPointsHi
00
NumberofPointsLo
25
ErrorCheck(LRC)
BF
NumberofPoints(max)=255=0x00FF
Example:
ReadingCoilsT20~T56fromslavedevice01
PC→PLC“:
010106140025BFCRLF”
PLC→PC“:
010105CD6BB20E1BD6CRLF”
FieldName
Example(Hex)
SlaveAddress
01
mandcode
01
BytesCount
05
Data(CoilsT27…T20)
CD
Data(CoilsT35…T38)
6B
Data(CoilsT43…T36)
B2
Data(CoilsT51…T44)
0E
Data(CoilsT56…T52)
1B
ErrorCheck(LRC)
E6
⏹mandCode:
02,ReadInputStatus
FieldName
Example(Hex)
Heading
3A
SlaveAddress
01
mandcode
02
StartingAddressHi
05
StartingAddressLo
14
NumberofPointsHi
00
NumberofPointsLo
25
ErrorCheck(LRC)
BF
Example:
ReadingContactY024~Y070fromslavedevice01
PC→PLC“:
010205140025BFCRLF”
PLC→PC“:
010205CD6BB20E1BE5CRLF”
FieldName
Example(Hex)
SlaveAddress
01
mandcode
02
BytesCount
05
Data(CoilsY033…Y024)
CD
Data(CoilsY043…Y034)
6B
Data(CoilsY053…Y044)
B2
Data(CoilsY063…Y054)
0E
Data(CoilsY070…Y064)
1B
ErrorCheck(LRC)
E5
⏹mandCode:
03,ReadHoldingRegister
HoldingRegister:
T,C,D
FieldName
Example(Hex)
Heading
3A
SlaveAddress
01
mandcode
03
StartingAddressHi
06
StartingAddressLo
14
NumberofPointsHi
00
NumberofPointsLo
08
ErrorCheck(LRC)
DA
NumberofPoints(max)
=18(for16bitregister)
=9(for32bitregister)
Example:
ReadingCoilsT20~T27fromslavedevice01
PC→PLC
“:
010306140008DACRLF”
PLC→PC
“:
01031000010002000300040005000600070008B8CRLF”
FieldName
Example(Hex)
SlaveAddress
01
mandcode
03
BytesCount
10
DataHi(T20)
00
DataLo(T20)
01
DataHi(T21)
00
DataLo(T21)
02
DataHi(T22)
00
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)
C8
⏹mandCode:
05,ForceSingleCoil
FieldName
Example(Hex)
Heading
3A
SlaveAddress
01
mandcode
05
CoilAddressHi
05
CoilAddressLo
00
ForceDataHi
FF
ForceDataLo
00
ErrorCheck(LRC)
F6
MMNN=0xFF00….CoilON
MMNN=0x0000….CoilOFF
Example:
ForcingCoilY000ON
PC→PLC“:
01050500FF00F6CRLF”
PLC→PC“:
01050500FF00F6CRLF”
FieldName
Example(Hex)
Heading
3A
SlaveAddress
01
mandcode
05
CoilAddressHi
05
CoilAddressLo
00
ForceDataHi
FF
ForceDataLo
00
ErrorCheck(LRC)
F6
⏹
mandCode:
06,PresetSingleRegister
FieldName
Example(Hex)
Heading
3A
SlaveAddress
01
mandcode
06
RegisterAddressHi
06
RegisterAddressLo
00
PresetDataHi
12
PresetDataLo
34
ErrorCheck(LRC)
AD
Example:
SettingRegisterT0to0003
PC→PLC“:
010606001234ADCRLF”
PLC→PC“:
010606001234ADCRLF”
FieldName
Example(Hex)
Heading
3A
SlaveAddress
01
mandcode
06
RegisterT0AddressHi
06
RegisterT0AddressLo
00
PresetDataHi
12
PresetDataLo
34
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
⏹
mandCode:
15,ForceMultipleCoils
FieldName
Example(Hex)
Heading
3A
SlaveAddress
01
mandcode
0F
CoilAddressHi
05
CoilAddressLo
00
QuantityofCoilsHi
00
QuantityofCoilsLo
0A
ByteCount
02
ForceDataHi
CD
ForceDataLo
01
ErrorCheck(LRC)
11
QuantityofCoils(max)=255
Example:
SettingCoilY007…Y000=11001101,Y011…Y010=01.
PC→PLC“:
010F0500000A02CD0111CRLF”
PLC→PC“:
010F0500000AE1CRLF”
FieldName
Example(Hex)
Heading
3A
SlaveAddress
01
mandcode
0F
RegisterT0AddressHi
05
RegisterT0AddressLo
00
PresetDataHi
00
PresetDataLo
0A
ErrorCheck(LRC)
E1
⏹
mandCode:
16,PresetMultipleRegister
FieldName
Example(Hex)
Heading
3A
SlaveAddress
01
mandcode
10
StartingAddressHi
06
StartingAddressLo
00
NumberofRegisterHi
00
NumberofRegisterLo
02
ByteCount
04
DataHi
00
DataLo
0A
DataHi
01
DataLo
02
ErrorCheck(LRC)
C6
NumberofRegister(max)
=16(for16bitregister)
=8(for8bitregister)
Example:
SettingRegisterT0to000A,T1to0102.
PC→PLC“:
01100600020004000A0102D6CRLF”
PLC→PC“:
011006000002E
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PLC 通信协议