预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

台达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)=25