工业互联网通讯协议—欧姆龙(Fins tcp)

2024-05-01 08:44

本文主要是介绍工业互联网通讯协议—欧姆龙(Fins tcp),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、场景

近期公司要对欧姆龙CP系列设备的数据采集,于是就研究了下欧姆龙的Fins Tcp协议。

二、Fins Tcp

组成字节说明
固定头446494E53 FINS对应的ASCII码的十六进制
长度4后面剩余指令的长度
命令4

握手固定为:00000000

读写固定为:00000002

错误码4

00000000:正常

00000001:头不是‘FINS’(ASCII code)

00000002:数据太长

00000003:不支持的命令

00000020:超过连接上限

00000021:指定的节点已经处于连接中

00000022:尝试去连接一个受保护的网络节点,该节点还未配置到PLC中

00000023:客户端FINS节点地址超范围

00000024:当前客户端的节点地址已被使用

00000025:所有的节点地址已被使用

ICF1

信息控制域,发送固定为80(1000 0000),响应固定位C0(1100 0000)。

bit0:0表示需要回复,1表示不需要回复;

bit6: 0表示发送,1表示响应

RSV1固定值00,系统预留
GCT1固定值02,(Permissible Number of Gateways)
DNA1固定值00,目标网络号,即PLC网络地址。01-7F: 目标网络地址(1到127)

DA1

1目标节点地址,即PLC IP最后一位的hex
DA21目标单元地址,固定值00
SNA1PC网络地址,固定值00
SA11PC节点地址,即PC IP地址最后一位的hex,为0时PLC自己获取
SA21PC单元地址,固定为00
SID1

固定值00,用于表示数据发送的过程,00-FF,用于检测响应请求是否正确。

当发送节点与响应节点SID值相同,则代表响应的数据是请求的数据;

不同时,代表响应的数据非请求数据

MRC1主请求码
SRC1次请求码,主/次组合:0101读操作 0102写操作 2301强制操作
ParameterN具体看情况区分

Parameter读写命令格式分类

组成字节说明
Area1D位:02,D字:82; W位:31,W字:B1; C位:30,C字:B0
Address3起始地址(2bit)+位地址(1bit)
Length2读取或写入的数据长度
Value2写操作时的数据

Parameter中PLC回复报文
组成字节说明
错误码2错误码(先判断错误码,再去解析后面的数值)
数据Length * 2读取到的数值,每个数值占2字节
  • 握手报文

Socket连接上后,需要第一时间发送握手报文,否则PLC会断开与PC的连接。

PC Send: 

46 49 4E 53 00 00 00 0C 00 00 00 00 00 00 00 00 00 00 00 01

PC Recevice:

46 49 4E 53 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01
  • 读取点位报文

这篇关于工业互联网通讯协议—欧姆龙(Fins tcp)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/951228

相关文章

Java如何接收并解析HL7协议数据

《Java如何接收并解析HL7协议数据》文章主要介绍了HL7协议及其在医疗行业中的应用,详细描述了如何配置环境、接收和解析数据,以及与前端进行交互的实现方法,文章还分享了使用7Edit工具进行调试的经... 目录一、前言二、正文1、环境配置2、数据接收:HL7Monitor3、数据解析:HL7Busines

QT实现TCP客户端自动连接

《QT实现TCP客户端自动连接》这篇文章主要为大家详细介绍了QT中一个TCP客户端自动连接的测试模型,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录版本 1:没有取消按钮 测试效果测试代码版本 2:有取消按钮测试效果测试代码版本 1:没有取消按钮 测试效果缺陷:无法手动停

【Linux】应用层http协议

一、HTTP协议 1.1 简要介绍一下HTTP        我们在网络的应用层中可以自己定义协议,但是,已经有大佬定义了一些现成的,非常好用的应用层协议,供我们直接使用,HTTP(超文本传输协议)就是其中之一。        在互联网世界中,HTTP(超文本传输协议)是一个至关重要的协议,他定义了客户端(如浏览器)与服务器之间如何进行通信,以交换或者传输超文本(比如HTML文档)。

Java Websocket实例【服务端与客户端实现全双工通讯】

Java Websocket实例【服务端与客户端实现全双工通讯】 现很多网站为了实现即时通讯,所用的技术都是轮询(polling)。轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发 出HTTP request,然后由服务器返回最新的数据给客服端的浏览器。这种传统的HTTP request 的模式带来很明显的缺点 – 浏 览器需要不断的向服务器发出请求,然而HTTP

【Go】go连接clickhouse使用TCP协议

离开你是傻是对是错 是看破是软弱 这结果是爱是恨或者是什么 如果是种解脱 怎么会还有眷恋在我心窝 那么爱你为什么                      🎵 黄品源/莫文蔚《那么爱你为什么》 package mainimport ("context""fmt""log""time""github.com/ClickHouse/clickhouse-go/v2")func main(

2024.9.8 TCP/IP协议学习笔记

1.所谓的层就是数据交换的深度,电脑点对点就是单层,物理层,加上集线器还是物理层,加上交换机就变成链路层了,有地址表,路由器就到了第三层网络层,每个端口都有一个mac地址 2.A 给 C 发数据包,怎么知道是否要通过路由器转发呢?答案:子网 3.将源 IP 与目的 IP 分别同这个子网掩码进行与运算****,相等则是在一个子网,不相等就是在不同子网 4.A 如何知道,哪个设备是路由器?答案:在 A

图解TCP三次握手|深度解析|为什么是三次

写在前面 这篇文章我们来讲解析 TCP三次握手。 TCP 报文段 传输控制块TCB:存储了每一个连接中的一些重要信息。比如TCP连接表,指向发送和接收缓冲的指针,指向重传队列的指针,当前的发送和接收序列等等。 我们再来看一下TCP报文段的组成结构 TCP 三次握手 过程 假设有一台客户端,B有一台服务器。最初两端的TCP进程都是处于CLOSED关闭状态,客户端A打开链接,服务器端

Modbus-RTU协议

一、协议概述 Modbus-RTU(Remote Terminal Unit)是一种基于主从架构的通信协议,采用二进制数据表示,消息中的每个8位字节含有两个4位十六进制字符。它主要通过RS-485、RS-232、RS-422等物理接口实现数据的传输,传输距离远、抗干扰能力强、通信效率高。 二、报文结构 一个标准的Modbus-RTU报文通常包含以下部分: 地址域:单个字节,表示从站设备

网络原理之TCP协议(万字详解!!!)

目录 前言 TCP协议段格式 TCP协议相关特性 1.确认应答 2.超时重传 3.连接管理(三次握手、四次挥手) 三次握手(建立TCP连接) 四次挥手(断开连接)  4.滑动窗口 5.流量控制 6.拥塞控制 7.延迟应答 8.捎带应答  9.基于字节流 10.异常情况的处理 小结  前言 在前面,我们已经讲解了有关UDP协议的相关知识,但是在传输层,还有

DNS协议基础笔记

1.定义 DNS(Domain Name System,域名系统)是互联网的一项核心服务,它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。 2.域名解析过程 当用户在浏览器中输入一个域名,浏览器首先会检查自己的缓存中是否有该域名对应的 IP 地址。本地 DNS 服务器收到查询请求后,首先会检查自己的缓存中是否有该域名对应的 IP 地址。根域名服务器收到查询请