1 / 17
文档名称:

2021年台达PLC通讯协议.doc

格式:doc   大小:35KB   页数:17页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

2021年台达PLC通讯协议.doc

上传人:非学无以广才 2020/11/4 文件大小:35 KB

下载得到文件列表

2021年台达PLC通讯协议.doc

文档介绍

文档介绍:-232CRS-,9600(传输速率),偶同位,1个起始位,1个停止位9600,7,e,‘:’(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)HK1侦误值:HK08-bit侦误值包含了2个ASCII码END1结束字符:END0END1=CR(0DH),END0=LF(0AH)􀂄􀀃ADR(通讯地址)PLC通讯地址出厂设定值为0x01,所以(ADR1,ADR0)=’0’,’1’􀃖’0’=30H,‘1’=31H􀂄􀀃HK(侦误值)CMD(命令指令)及DATA(数据字符)􀂄􀀃HK(侦误值)侦错方法采取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’HK1‘F’HK0‘6’END1CREND0LF01H+03H+04H+01H+00+01H=0AH0AH2补码为F6H注12补码求法:(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响应:附录-4PLC收到完整通讯命令时,会判定命令是否有效,造成无效原因有:MANDCODEINVALID01通讯命令格式INVALID07例:使用命令码01读取X000~X017状态FieldNameExample(Hex)Heading3ASlaveAddress01Function01StartingAddressHi04StartingAddressLo00NumberofPointsHi00NumberofPointsLo10ErrorCheck(LRC)EA附录-5PLC响应:FieldNameExample(Hex)Heading3ASlaveAddress01Function81ExceptionCode02ErrorCheck(LRC)7C因为Address0400对Function01是不正当,所以响应Exceptioncode=0x02,且Function01被设为81(b7被设为1),亦即由响应FunctioncodeMSB被设为1表示PLC响应ERRORMESSAGE,而且由Exceptioncode可得悉是何种错误。􀂋􀀃可用之命令码叙述以下:(每个deviceaddress,请参考最终一页)CodeNameDescription01ReadCoilStatusS,Y,M,T,C02ReadInputStatusS,X,Y,M,T,C03ReadHoldingRegistersT,C,D05ForceSingleCoilS,Y,M,T,C06PresetSingleRegisterT,C,D15ForceMultipleCoilsS,Y,M,T,C16PresetMultipleRegisterT,C,D17ReportSlaveIDNone附录-6􀂋􀀃资料字符之格式依命令码而定,依可用之命令码资料内容分别叙述以下:FunctionCode:01,ReadCoilStatusFieldNameExample(Hex)Heading3ASlaveAddress01Function01StartingAddressHi06StartingAddressLo14NumberofPointsHi00NumberofPointsLo25ErrorCheck(LRC)BFNumberofPoints(max)=255=0x00FF例:由从动装置(slavedevice)01读取线圈T20~T56PC→PLC“:0**********BFCRLF”PLC→PC“:010105CD6BB20E1BD6CRLF”FieldNameContentsSlaveAddress01Function01BytesCount05Data(CoilsT27…T20)CDData(CoilsT35…T38)6BDa