欧姆龙PLC通信协议

欧姆龙 PLC 通信协议

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

欧姆龙通信命令可分为两类:

1: C-mode commands 只可通过串口通讯 2: FINS commands 既可通过串口通讯也可通过各类网络通信

(适应性较强) 面只讲 FINS 命令

一、命令发送:

FINS 直连发送命令如下:

FINS command code

见下表

5-1-1 FINS COmmandS

Thefdlwirg table IlStS the FINS CCXnmands.

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

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

5-2-2 I/O MemOry AddreSS DeSignatiOnS

按字地址:选取表中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 01 00 01 01 01

例如将H25.14 置1

命令为:0102 32 002514 0001 01

二、命令响应

FINS response code 见下表

正常情况下FINS response code 返回0000,当出现问题时,请根据FINS response code 查找上表检查原因返回的数据如果是按字寻址,则按数据高位在前低位在后的原则依次返回。返回的数据如果是按位寻址,则以每位一个字节的原则依次返回。

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

FCS CalCUlatIOnS

TrIe PLC CalCUlateS tne FCS (F^arre CreCK SeqUenCe) VaUe for each command frame it receives, and it CheO

AISQ When GheCking for errors in response frames, the host COrnPUter must CaICUlatftthRFCS VaIUPfor PACh rAsponspframR It I r PCPigS Rnd COrrParAthat ValJe to the FCS value sent in the response frame.

ASCIl Cooe

9

?0 01 ∞ EOR CoOo 1 31 ∞M EoA COOl O

3C

00?1 EoR

CO30 R

52

OICI

∞1C

NOte The FCS is an 8?bit ValUe CQnVerted

into two ASCl CharaCterS The 0?b∣t VRlUe is the result Of an exclusive OR

SaqUantiaIIy p^rforιred between each CnaraCter in a IranSrriSSlOn J from Ine firs: CharaCter in the frame to (he IaSt CharaCtOrof tho IOXt in that framo. Non ASCll data, howovor. may GOmOtimOQ be Sent in Ihe text data If the data Iength IS 7 bits, the Iatmost bit Of each CharaCter is masked before the FCS is CalCuIated

1 31

OOll OoQl CaICU^tOn result 01 ∞ OolO (See note.)

I

I

4 hex

2 Hex

Tne ^aUe ts OOnVertea to t 百XaaearWl IMhMIMMA SCll.

< ---------------------------

相关主题