输电线路在线监测通信规约,即I1协议

文章目录

    • 概要
    • 整体架构流程
    • 数据帧格式
    • 技术细节

概要

输电线路在线监测系统 transmission lines online monitoring system
监测输电线路设备本体、气象环境、通道状况等信息,定性或定量分析输电线路运行状况的应用系
统。一般包括主站系统、监测装置以及主站系统与监测装置之间的通信网络

主站系统 master system
实现输电线路设备本体、气象环境、通道状况等信息的接收、存储、分析、统计、发布的信息系统。
一般由前置接收机、应用服务器、数据库服务器、监测工作站、网络交换设备、网络安全设备、通信设
备以及数据库和主站软件系统等组成。

监测装置 monitoring device
实现输电线路设备本体、气象环境、通道状况等信息的采集和处理,并通过通信网络向主站系统传
送数据的前端装置。一般由主控单元、通信模块、电源模块、各类型传感器等构成。

传感器 sensor
用于输电线路本体、气象环境、通道状况等信息采集的元件。

整体架构流程

`
a) 通信方式应满足 Q/CSG 1204009 中国南方电网电力监控系统安全防护技术规范要求;
b) 视频采用 IP 网络进行通信,采用 TCP 或 UDP 协议传输;
c) 图像采用采用 TCP 或 UDP 协议传输;
d) 视频、图像以外的数据采用 UDP 协议传输;
e) 主站应支持所有通信方式;
f) 监测装置采用主动上送数据的方式,主站应支持主动召唤数据;
g) 主站的网络管理、系统维护、安全漏洞与风险管理应满足 Q/CSG 212001-2018 中国南方电网电
力监控系统网络安全管理办法的要求,主站的操作系统、数据库、中间件、应用系统应按照公
司电力监控系统网络安全技术标准进行设置和管理;
h) 监测装置的操作系统、数据库等应按照公司电力监控系统网络安全技术标准进行设置和管理;
i) 严禁通过有线、无线等各种形式形成跨生产控制大区和管理信息大区(或互联网)直连等违规
现象。
在这里插入图片描述

数据帧格式

数据包采用数据帧模式,对数据帧定义起始码、装置号码、控制类型码、数据域长度、数据域、校验码和结束码
在这里插入图片描述
字节定义
字节定义如下:
a) 起始符:1 字节,该值定义为 68H;
b) 装置号码:见 4.4 节;
c) 控制字:1 字节,用于区分数据类型;
d) 数据域长度:2 字节,其中采用大端模式。若为零表示无数据域;
e) 数据帧长度不大于 4000 字节;短信通信方式,帧长不大于 130 字节;
f) 校验码:采用累加和取反的校验方式,发送方将装置号码、控制字、数据域长度和数据区的所
有字节进行算术累加,抛弃高位,只保留最后单字节,将单字节取反;
g) 结束符:1 字节,该值定义为 16H。

控制字定义
控制字可供使用的有 256(00H—FFH),可根据实际应用需求进行扩充,量测值的数据传输格式均
统一采用大端模式,具体定义如表 5 所示
在这里插入图片描述

技术细节

//开机联络信息(控制字:00H)
void app_i1_cmd_nan_open(){// int num=0;unsigned char openbuf[14]={0x68,0x54,0x47,0x30,0x30,0x35,0x33,  //装置号码0x00,//控制字0x00,0x02,0x03,//规范版本号0x00, //规范版本号0x98,0x16};  memcpy(openbuf+1,SYS_DEVICE_ID,6);unsigned char result;calculate_and_reverse(openbuf, 14, &result);  openbuf[12]=("%02x",result);openbuf[13]=0x16;app_udpc_send(openbuf,14);UDP_FOR_SWITCH_SEND(14,openbuf);int count=0;sem_wait(&sem_startup_thread);//等待信号量的值>0CLog(&logger,"等待信号量的值>0\n");while (1){CLog(&logger,"开始进入循环发送阶段count:%d\n",count);sleep(30);app_udpc_send(openbuf,14);UDP_FOR_SWITCH_SEND(14,openbuf);count++;if(count>10){CLog(&logger,"循环发送开机联网超时十分钟,准备重启\n");util_restart("循环发送开机联网超时十分钟,准备重启");return;}}
}
//校时(控制字:01H)  active 装置请求校时格式如表 9 所示
void app_i1_cmd_timing_active(){int i=0;unsigned char heatbuf[18]={0x68,0x54,0x47,0x30,0x30,0x35,0x33,  //装置号码0x01,//控制字0x00,0x06,0x17,0x0c,0x04,0x0f,0x08,0x03,//信号记录时间0x00,0x16};  memcpy(heatbuf+1,SYS_DEVICE_ID,6);heatbuf[7]=0x01;heatbuf[8]=0x00;   heatbuf[9]=0x06;char nan_time[6];nan_time_get(nan_time);for (;i<6;i++){heatbuf[10+i]=nan_time[i];}unsigned char result;calculate_and_reverse(heatbuf, 18, &result);heatbuf[16]=("%02x",result);heatbuf[17]=0x16;app_udpc_send(heatbuf,18);UDP_FOR_SWITCH_SEND(18,heatbuf);
}//装置心跳信息(控制字:05H) 发送心跳
void * app_i1_cmd_send_heatbeat(){int i=0;unsigned char heatbuf[20]={0x68,0x54,0x47,0x30,0x30,0x35,0x33,  //装置号码0x05,//控制字0x00,0x08,0x17,0x0c,0x04,0x0f,0x08,0x03,//信号记录时间0x1f,  //信号强度0x00, //蓄电池电压0x00,0x16};  //发送心跳保活voltage__heart();memcpy(heatbuf+1,SYS_DEVICE_ID,6);heatbuf[7]=0x05;heatbuf[8]=0x00;   heatbuf[9]=0x08;char nan_time[6];nan_time_get(nan_time);i=0;for (;i<6;i++){heatbuf[10+i]=nan_time[i];}char adc_char[15];double adc_double = voltage_read_value( adc_char);if (adc_double != 0.0){CLog(&logger,"ADC double value: %f  %02x\n", adc_double, adc_double);// CLog(&logger,"ADC char value: %s\n", adc_char);}else{CLog(&logger,"Failed to read ADC voltage.\n");}at_signal_get_singal();heatbuf[16]=("%02x",SYS_SIGNAL);  //信号强度heatbuf[17]=50;  //蓄电池电压unsigned char result;calculate_and_reverse(heatbuf, 20, &result);heatbuf[18]=("%02x",result);heatbuf[19]=0x16;app_udpc_send(heatbuf,20);UDP_FOR_SWITCH_SEND(20,heatbuf);heat_count_send++;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/76182.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【AI】Orin NX+ubuntu22.04上移植YoloV11,并使用DeepStream测试成功

【AI】郭老二博文之:AI学习目录汇总 1、烧写系统 新到的开发板,已经烧写好Ubuntu系统,版本为22.04。 如果没有升级到Ubuntu22.04,可以在电脑Ubuntu系统中使用SDKManager来烧写Ubuntu系统,网络情况好的话,也可以直接将CUDA、cuDNN、TensorRT、Deepstream等也安装上。 2…

C++之输入与输出

文章目录 C 输入输出 (I/O) 详解基本 I/O 组件&#xff08;input / output&#xff09;基本输出 (cout)基本输入 (cin)格式化输出文件 I/O字符串流常见 I/O 方法比较错误处理其他保留小数 C 输入输出 (I/O) 详解 C 使用标准库中的 iostream 库来处理输入输出操作。主要包括以下…

流动的梦境:GPT-4o 的自回归图像生成深度解析

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

eBay多账号安全运营技术体系:从环境隔离到智能风控的工程化实践

一、多账号运营风险模型解析 &#xff08;技术化重构关联检测机制&#xff09; 环境指纹维度&#xff1a; 浏览器指纹参数&#xff1a;Canvas/WebGL渲染特征&#xff08;差异度要求≥98%&#xff09; 设备指纹参数&#xff1a;GPU型号/声卡特征&#xff08;识别准确率92%&…

Vue 3 模板引用(Template Refs)详解与实战示例

Vue 3 模板引用&#xff08;Template Refs&#xff09;详解与实战示例 引言 在 Vue 开发中&#xff0c;通常推荐使用 响应式数据 (ref 和 reactive) 进行数据绑定&#xff0c;而不是直接操作 DOM。但是&#xff0c;在某些情况下&#xff0c;我们确实需要访问某个组件或 DOM 元…

《Operating System Concepts》阅读笔记:p495-p511

《Operating System Concepts》学习第 44 天&#xff0c;p495-p511 总结&#xff0c;总计 17 页。 一、技术总结 1.cache (1)定义 A cache is a region of fast memory that holds copies of data. (2)cache 和 buffer 的区别 The difference between a buffer and a cac…

通过Spring Boot集成WebSocket进行消息通信

文章目录 通过Spring Boot集成WebSocket进行消息通信1. 创建 Spring Boot 项目2. 添加 WebSocket 依赖3. 配置 WebSocket4. 创建 WebSocket 处理器5. 创建控制器&#xff08;可选&#xff09;6. 前端页面测试7. 运行项目注意事项 通过Spring Boot集成WebSocket进行消息通信 1.…

rust服务应用开发框架

原文链接:https://i68.ltd/notes/posts/20250313-rust-wasm-fw/ spin 开源开发工具&#xff0c;用于构建和运行由 WebAssembly 提供支持的无服务器应用程序Spin 是一个框架&#xff0c;用于使用 WebAssembly 构建&#xff0c;部署和运行快速&#xff0c;安全和可组合的云端微…

迷茫的一周 2025/3/28

Java篇 在Java中&#xff0c;以下数据类型中,需要内存最多的是(long) - A选项byte&#xff1a;占用1个字节&#xff08;8位&#xff09; - B选项long&#xff1a;占用8个字节&#xff08;64位&#xff09; - C选项Object&#xff1a;Object本身是一个引用&#xff0c;在32位JVM…

Elasticsearch 的搜索功能

Elasticsearch 的搜索功能 建议阅读顺序&#xff1a; Elasticsearch 入门Elasticsearch 搜索&#xff08;本文&#xff09;Elasticsearch 搜索高级Elasticsearch 高级 1. 介绍 使用 Elasticsearch 最终目的是为了实现搜索功能&#xff0c;现在先将文档添加到索引中&#xff0c…

docker镜像拉取失败

hub.docker.com中提供的docker pull命令在服务器拉取镜像时报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers) 这个错误通常表明Docker客户…

EFISH-SBC-RK3576 + 5G模组:无线工业相机与分布式AI质检‌

在智能制造与仓储物流场景中&#xff0c;传统有线工业相机存在部署成本高、灵活性差等痛点。‌eFish-SBC-RK3576‌ 通过 ‌5G无线传输 分布式NPU协同‌&#xff0c;实现跨产线、跨工厂的AI质检系统&#xff0c;检测效率提升300%&#xff0c;布线复杂度降低90%。 ‌1. 系统架构…

AI提示词编写方法全解析

在人工智能日益融入生活的当下&#xff0c;如何巧妙编写提示词&#xff0c;成为充分发挥AI效能的关键。以下为您详细介绍几种实用的AI提示词编写方法。 角色扮演法&#xff1a;赋予AI独特身份 角色扮演法旨在让AI模拟特定角色。当我们渴望AI以历史人物、虚拟角色的视角进行表…

【docker】docker应用举例

# Docker创建python项目 ## 1. 准备 Dockerfile 首先,在项目根目录下创建一个 Dockerfile,用于定义 Docker 镜像的构建步骤。 # 使用官方 Python 镜像作为基础镜像 FROM python:3.9-slim # 设置工作目录 WORKDIR /app # 复制项目文件到容器中 COPY . /app # 安装项目依赖…

【大模型】SpringBoot整合LangChain4j实现RAG检索实战详解

目录 一、前言 二、LangChain4j 介绍 2.1 什么是LangChain4j 2.2 LangChain4j 主要特点 2.3 Langchain4j 核心组件 三、RAG介绍 3.1 什么是RAG 3.2 RAG工作流程 3.2.1 补充说明 3.3 Embedding模型 3.3.1 RAG实际使用步骤 3.3.2 什么是Embedding 3.3.3 Embedding 技…

基于 Trae 的超轻量级前端架构设计与性能优化实践

一、技术背景与选型动因 在单页应用(SPA)复杂度指数级增长的今天&#xff0c;传统框架在千级列表渲染场景下普遍存在首屏延迟(>1.5s)、内存占用过高(>200MB)等问题。基于对 Webpack Bundle Analyzer 的长期观察&#xff0c;我们发现核心问题集中在&#xff1a; • 类组件…

dotnet core web api linux主机公网发布

效果: 发布流程: 创建一个ASP.NET Core Web API 工程 输入工程名 选择框架版本为.net 9.0及选择配置HTTPS和启用OPENAPI 启动调试 确认证书

WPS宏开发手册——JSA语法练习

目录 系列文章3、JSA语法练习3.1、运算练习3.2、比较练习3.3、if else练习3.4、for 练习3.5、字符串、数组方法练习3.6、语义转编程练习题 系列文章 使用、工程、模块介绍 JSA语法 JSA语法练习题 Excel常用Api 后续EXCEL实战、常见问题、颜色附录&#xff0c;持…

计算机网络面经(一)

以下为个人总结&#xff0c;图源大部分会来自网络和JavaGuide 网络分层模型 OSI七层模型 各层的常见协议 应用层 用户接口 HTTP, FTP, SMTP, DNS表示层 数据格式转换 SSL/TLS, JSON, JPEG会话层 会话管理 NetBIOS, RPC, SSH传输层 端到端通信 TCP, UDP, QUIC网络层 路由寻址…

《JVM考古现场(十四):混沌重启——从量子永生到宇宙热寂的终极编译》

开篇&#xff1a;熵火燎原量子递归的终极突围 "当《诛仙剑阵》的时空冻结算法遭遇量子递归暴走&#xff0c;当Project Omega的热寂代码在JVM的十三维堆内存中坍缩&#xff0c;此刻我们即将撕开归墟晶壁&#xff0c;直面从玻尔兹曼大脑到冯诺依曼架构的终极对决&#xff0…