FINS协议格式及功能码简介

FINS(factoryinterfacenetworkservice)通信协议是欧姆龙公司开发的用于工业自动化控制网络的指令/响应系统。使用FINS指令可实现各种网络间的无缝通信,包括用于信息网络的Ethernet(以太网),用于控制网络的ControllerLink和SYSMACLINK。通过编程发送FINS指令,上位机或PLC就能够读写另一个PLC数据区的内容,甚至控制其运行状态,从而简化了用户程序。FINS协议支持工业以太网,这就为OMRONPLC与上位机以太网通信的实现提供了可能。

一、FINS报文格式

FINS通信数据以UDP/IP包或TCP/IP的形式发送和接收包,默认通讯端口为。通信过程中包含请求报文和响应报文,每个报文由FINS报文头和FINS请求帧/响应帧组成,报文具体格式如下:

FINS请求报文

FINS响应报文

当一个FINS命令发送时,一个FINS报文头将发送自动生成并附加,FINS报文头格式说明如下:

ICFRSV

RSV(预留)总是00十六进制。这些位元被系统使用。不在响应中访问它们。

GCT

当跨8个网络层与CPU单元通信时在2.0或更高版本中,设置GCT(网关计数:通过的桥的数量)通过)到07十六进制当发送一个鳍命令。否则,设置GCT到02十六进制(见注)时发送。当接收到鳍响应时,GCT为为通过的每个桥(网络)和接收结果值。此值供系统使用。

DNA

目的网络地址。在以下范围内指定(十六进制)。

00:本地网络

01至7F:远程网络地址(小数:1至)

DA1

目的节点的地址。在以下范围内指定(十六进制):

00:本地PLC内部通讯

01~20:控制器链路网络节点地址(1~32位小数)

01至FE:以太网(1至十进制,以ETN21结尾的以太网单元)

FF:广播传输

DA2

目标单位地址。在以下范围内指定(十六进制):

00:CPU单元

FE:连接到网络的控制器链路单元或以太网单元

10到1F:CPU总线单元

SNA

源网络地址。在以下范围内指定(十六进制):

00:本地网络

01至7F:远程网络(1至位小数)

SA1

源节点的地址。在以下范围内指定(十六进制):

00:PLC内部通讯

01~20:控制器链路网络节点地址(1~32位小数)

01至FE:以太网(1至十进制,以ETN21结尾的以太网单元)

SA2

源单位地址。在以下范围内指定(十六进制)。

00:CPU单元

10到1F:CPU总线单元

SID

服务ID。用于标识生成传输的进程。设置SID到00到FF之间的任意数字。

FINS请求帧由功能码(四位十六进制)和参数(数据内容)组成。命令代码是表示命令内容的2字节代码。fins命令必须以2字节的命令代码开始。如果有同样是文本,它是在命令代码之后添加的。

FINS响应帧由功能码(四位十六进制)、结束码(篇幅有限就不展开了)和参数(文本)组成。结束码是显示命令执行结果的2字节代码。(第一个字节显示一般类别,第二个字节显示详细结果。)

二、FINS功能码类型功能码名称功能功能I/O区读写内存读取读取连续I/O内存区域数据内存写入向连续I/O内存区内存填充向特定范围I/O内存区填充相同的数据非连续内存读取读取指定的非连续I/O内存区域数据内存转移将非连续内存区的参数区读写参数区读取读取连续参数区内容参数区写入写入连续参数区内容参数区填充向特定范围参数区填充相同的内容程序区读写程序读取读取UM(用户内存)区程序写入写入UM(用户内存)区程序清除清除UM(用户内存)区操作模式切换运行将CPU单元操作模式切换为运行或监视停止将CPU单元操作模式切换为编程设备配置读取CPU单元数据读取读取CPU单元数据连接状态读取读取对应地址的模块数量状态读取CPU单元状态读取读取CPU单元状态循环时间读取读取最大、最小和平均循环时间时间数据读写时钟读取读取当前年、月、日、分、秒和星期几时钟写入改变当前年、月、日、分、秒和星期几故障信息显示信息读取/清除读取和清除信息,读取故障和严重故障信息访问控制权限0C01获取访问权限只要没有其它设备持有访问权限,则获得访问权限0C02强制获取访问权限即使有其它设备持有访问权限,仍获得访问权限0C03释放访问权限即使已经持有访问权限,仍释放访问权限错误日志清除错误清除错误或报警读取错误日志读取错误日志清除若无日志清除错误日志指针FINS登入日志FINS登入日志读取CPU单元自动保存有执行过FINS登入命令的日志。这条命令读取此日志。FINS登入日志清除清除FINS登入列表文件内存文件名读取读取文件内存区数据单个文件读取从某个文件中的指定位置读取特定长度的文件数据单个文件写入从某个文件中的指定位置写入特定长度的文件数据文件内存格式化格式化文件内存文件删除从文件内存中删除指定文件文件复制在系统中将某些文件复制到其他位置重命名文件改变一个文件的名字A内存区间数据转移1在I/O内存和文件内存间转移或比较数据B内存区间数据转移2在参数区和文件内存间转移或比较数据C内存区间数据转移3在用户内存和文件内存间转移或比较数据创建/删除文件夹创建或删除一个文件夹2存储盒转移(只针对CP1H,CP1LCPU单元)在存储盒与CPU单元间转移和修改数据调试强制设置/重置强制设置或重置位,或推出强制设置状态强制设置/重置取消取消所有强制设置或重置过的位三、FINS通信过程

以FINS/UDP为例,(FINS/TCP通信过程更复杂,现有资料介绍的比较少,下次会仔细介绍)UDP/IP是一种无连接的通信协议。当一个消息从一个节点发送到另一个节点,这两个节点具有相等的关系,两者之间没有明显的联系。如果使用TCP就像打电话一样呼叫时,UDP更像是手工传递备忘录。虽然UDP协议速度快,数据通信不如TCP可靠。特别是,当发送大量涉及重要路由的数据时,用户必须在应用程序中编写度量(如重试),以便提高可靠性。通信过程如下图所示。

*本文作者:工控安全,转载请注明来自FreeBuf.COM

精彩推荐

工控安全

扫一扫下载订阅号助手,用手机发文章赞赏

长按







































白癜风治好
青少年白癜风原因



转载请注明:http://www.jinqiancaoc.com/rhzz/3789.html