欧姆龙PLC通信协议参考:W342--SYSMACCS/CJSeriesCommunicationsCommands欧姆龙通信命令可分为两类:1:C-modecommands只可通过串口通讯2:FINScommands既可通过串口通讯也可通过各类网络通信(适应性较强)===============================================================================下面只讲FINS命令一、命令发送:FINS直连发送命令如下:FINScommandcode见下表命令后面紧跟着就是内存区域寻址,见下表CommandCode后面紧跟着需要访问的地址,地址可分为按字地址或按位地址,取决于你需要访的的是字还是某一位。由紧跟着CommandCode后面的那个字节(I/Omemoryareadesignation)区分是读取字还是读取位,还是写入字或写入位,具体定义见下表:按字地址:选取表中DataType列中为Word的命令(命令在Memoryareacode内)按字地址的三个地址位中,只使用前两个,最后一个字节为Ascii码”00”,其后跟两个字节为需要传输的数据量,然后紧跟着就是传输的数据,数据高位在前低位在后。例如从H12开始读取7个字的数据,命令为:0101B20012000007例如将W3、W4、W5分别置数据1234、ABCD、7890,命令为:0102B100030000031234ABCD7890按位地址:选取表中DataType列中为Bit的命令(命令在Memoryareacode内)按位地址的三个地址位中,前两个指示位所在的字,最后一个字节指示位在字中的位置(0~15),其后跟两个字节为需要传输的数据量,然后紧跟着就是传输的数据,每一位的值用一个字节的数据代替,当寻址的位为0时用ascii码“0”代替,当寻址的位为1时用ascii码“1”代替。例如读取CIO100.03~CIO100.07这5位的数据命令为:0101300100030005例如将CIO101.01~CIO101.07分别置位0、0、1、0、1、1、1命令为:010230010101000700000100010101例如将H25.14置1命令为:010232002514000101二、命令响应FINSresponsecode见下表正常情况下FINSresponsecode返回0000,当出现问题时,请根据FINSresponsecode查找上表检查原因返回的数据如果是按字寻址,则按数据高位在前低位在后的原则依次返回。返回的数据如果是按位寻址,则以每位一个字节的原则依次返回。最后介绍FCS校验码的计算方法,计算时只计算FCS以前的所有数据,计算方法如下: