欧姆龙PLC通信协议

更新时间:2024-01-17 12:27:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

欧姆龙PLC通信协议

参考:W342--SYSMAC CS/CJ Series Communications Commands

欧姆龙通信命令可分为两类: 1:C-mode commands 只可通过串口通讯 2:FINS commands

既可通过串口通讯也可通过各类网络通信(适应性较强)

=============================================================================== 下面只讲FINS命令

一、命令发送:

FINS直连发送命令如下:

FINS command code见下表

命令后面紧跟着就是内存区域寻址,见下表

Command Code 后面紧跟着需要访问的地址,地址可分为按字地址或按位地址,取决于你需要访的的是字还是某一位。由紧跟着Command Code后面的那个字节(I/O memory area designation)区分是读取字还是读取位,还是写入字或写入位,具体定义见下表:

按字地址:选取表中Data Type列中为Word的命令(命令在Memory area code内)

按字地址的三个地址位中,只使用前两个,最后一个字节为Ascii码”00”,其后跟两个字节为需要传输的数据量,然后紧跟着就是传输的数据,数据高位在前低位在后。 例如从H12开始读取7个字的数据, 命令为:0101 B2 001200 0007

例如将W3、W4、W5分别置数据1234、ABCD、7890, 命令为:0102 B1 000300 0003 1234ABCD7890

按位地址:选取表中Data Type列中为Bit的命令(命令在Memory area code内)

按位地址的三个地址位中,前两个指示位所在的字,最后一个字节指示位在字中的位置(0~15),其后跟两个字节为需要传输的数据量,然后紧跟着就是传输的数据,每一位的值用一个字节的数据代替,当寻址的位为0时用ascii码“0”代替,当寻址的位为1时用ascii码“1”代替。

例如读取CIO100.03~CIO100.07这5位的数据 命令为:0101 30 010003 0005

例如将CIO101.01~CIO101.07分别置位0、0、1、0、1、1、1 命令为:0102 30 010101 0007 00 00 0100 01 01 01 例如将H25.14置1

命令为:0102 32 002514 0001 01

二、命令响应

FINS response code见下表

正常情况下FINS response code返回0000,当出现问题时,请根据FINS response code查找上表检查原因

返回的数据如果是按字寻址,则按数据高位在前低位在后的原则依次返回。 返回的数据如果是按位寻址,则以每位一个字节的原则依次返回。

最后介绍FCS校验码的计算方法,计算时只计算FCS以前的所有数据,计算方法如下:

本文来源:https://www.bwwdw.com/article/732o.html

Top