智芯微版本的智能配变融合终端交流采集APP
1. 交采APP基本原理
通过SPI总线周期性的召测交流采集底板的“实时数据”,对“实时数据”变换、加工、统计分析得到“分析数据”和“统计数据”后,通过MQTT总线把这些数据同步到“数据中心”供其他APP使用,其他APP可从“数据中心”获取数据使用。默认的运行参数、过载过压定值等(104APP管理))从配置文件获得、启动后再从“数据中心”获取,如果“数据中心”里没有,就用默认的,“数据中心“里的配置项更新后,APP能及时感知到。
2. 功能介绍
对其他APP呈现的功能有:
1、注册设备模型“ADC”到“数据中心”,每秒发送“实时数据”、“分析数据”到数据中心。
设备模型为ADC,设备实例标识为{
"model":"ADC",
"port":"1",
"addr":"1",
"desc":"jiao liu cai ji"
}
2、可校正误差。校正流程见后面章节。
3、可升级交采板的程序。升级方法见后面章节。
“实时数据”是指实时的电压、电流等,包含条目及格式见配置文件jc_apcfg.json的“JC_MODEL”条目体的前部分。具体数据项目有:
频率、
3相电压、零序电压、
3相电流、中线电流、零序电流、
3相有功功率、总有功率、3相无功功率、总无功功率、
3相功率因数、总功率因数、
3相电压相角、3相电流相角、
3相电压畸变率、3相电流畸变率、
电压不平衡度、电流不平衡度、
负载率、
2到19次电压谐波、2到19次电流谐波、
4路开入量状态。
“分析数据”是指电压越限、过载事件等,包含条目及格式见配置文件的“JC_MODEL”条目体的后部分。具体数据项目有:
3相电压日合格率、
3相电压日越上限时间、3相电压日越下限时间、
3相电压月合格率、3相电压月越上限时间、3相电压月越下限时间、
3相平均电压、
总失压事件、
总断相事件、
电压不平衡越限事件、电流不平衡越限事件、
上电事件、停电事件、
过载事件、重载事件、
3相过压事件、3相欠压事件
“统计数据”是指电压合格率、日极值文件等,每天生成一个文件,存储路径及文件格式见江苏省《配变终端招标规范》。具体有如下文件:
| 序号 | 功能 | 路径 | 文件名 | 
| 1 | 电压日合格率 | HISTORY/VOLT_DAY | voltYYYYMMDD.msg | 
| 2 | 电压日越限 | volttYYYYMMDD.msg | |
| 3 | 电压月合格率 | HISTORY/VOLT_MON | voltYYYYMM.msg | 
| 4 | 电压月越限 | volttYYYYMM.msg | |
| 5 | 日重载 | HISTORY/OL | hlYYYYMMDD.msg | 
| 6 | 日过载 | HISTORY/OL | olYYYYMMDD.msg | 
| 7 | 日冻结 | HISTORY/FRZ | frzYYYYMMDD.msg | 
| 8 | 定点 | HISTORY/FIXPT | fixptYYYYMMDD.msg | 
| 9 | 极值 | HISTORY/EXV | exvYYYYMMDD.msg | 
“电能量数据”有:
3相组合有功电能量;
3相组合无功电能量;
3相组合视在电能量等
3. 配置文件说明
配置文件jc_appcfg.json,位于交采APP执行文件目录下。
| 序号 | 配置项 | 说明 | 
| 1 | MQTT_BROKER | MQTT代理ip地址 | 
| 2 | IMP_SAVE_PERIOD | 电能量文件的存储时间间隔,单位分钟 | 
| 3 | SPIDEV_JC | 和交采底板通信的SPI设备信息,有路径、波特率、模式、字位数 | 
| 4 | PATH_COEFF_7022 | 校表系数存储路径 | 
| 5 | PATH_DIANLIANG1 | 电能量文件存储路径 | 
| 6 | PATH_DIANLIANG2 | 电能量文件存储路径 | 
| 7 | DI_SCAN_TIME | 开入量防抖动时间 | 
| 8 | RONG_LIANG | 变压器容量默认值 | 
| 9 | PT_1CI | PT1次默认值 | 
| 10 | PT_2CI | PT2次默认值 | 
| 11 | CT_1CI | CT1次默认值 | 
| 12 | CT_2CI | CT2次默认值 | 
| 13 | JC_MODEL | 数据中心的ADC数据模型 | 
| 14 | JC_MODEL/ topicPub | 模型发布主题 | 
| 15 | JC_MODEL/topicSub | 订阅模型发布结果 | 
| 16 | JC_REGISTER | 数据中心的设备注册 | 
| 17 | JC_REGISTER/topicPub | 设备注册主题 | 
| 18 | JC_REGISTER/topicSub | 订阅设备注册结果 | 
| 19 | JC_ADCGUID | 数据中的设备GUID | 
| 20 | JC_ADCGUID/ topicPub | 获取GUID | 
| 21 | JC_ADCGUID/ topicSub | 订阅GUID结果 | 
| 22 | JC_NOTIFY | 数据中心的数据更新主题 | 
| 23 | JC_SOE | 数据中心的开入量变位上报主题 | 
4. 安装
用智芯公司开发的APP打包工具appSignTool来安装,使用方法参考《APP打包工具使用说明.doc》,具体过程如下:
第1步,创建APP安装包,既*.tar包
把appSignTool下载到目标板某目录里,保证有合适的权限,把APP执行文件SCBASEADC8.1.10、配置文件jc_appcfg.json、库文件放在目标板某一目录/home/sgitg/jc。执行打包命令:./appSignTool -f /home/sgitg/jc -b SCBASEADC8.1.10 -v v8.1.10 -o SCBASEADC,生成了SCBASEADC.tar
第2步,安装*.tar包
执行如下命令:container install appjc SCBASEADC.tar -disk 100m -dev /dev/spidev2.0:/dev/spidev2.0 -v /data/app:/data/app。此命令映射了SPI设备、APP的工作目录。
可通过容器工具集查看安装是否成功、以及APP运行状态。
交采APP执行文件名称类似SCBASEADCx.x.x,配置文件名称为jc_appcfg.json。
5. 交采APP工作目录
交采APP使用了几个目录:
配置文件目录:/data/app/SCBASEADC/configFile/,如果没有此目录,交采APP会主动创建,如果此目录下没有配置文件,就拷贝tar包里的jc_appcfg.json到此,如果有,就使用其。
日志文件目录:/data/app/SCBASEADC/logFile/,暂时没用
常用文件目录:/data/app/SCBASEADC/commFile/,含有电能量文件、校表文件等。
6. 使用注意事项
mqtt总线、datacenter 已经正常运行;保正只有一个交采APP在运行;依赖库应正确安装;配置文件jc_appcfg.json放在执行文件目录下。
过载定值、失压定值在数据中心里定义。由104APP来初始化和更新。
7. 查看APP日志
APP的日志是用printf打印出的,如果APP是用container工具集安装的,那么日志查看及提取方法可用container工具来实现。
8. 调试
./SCBASEADC -pr 可打印实时数据;
./SCBASEADC -ph 可打印谐波数据;
可通过MQTT工具订阅交采APP发送到MQTT总线上的数据,broker地址是终端的IP地址、端口是1883。主题是appjc/notify/event/database/ADC/#
9. 配置SPI设备路径
修过配置文件jc_appcfg.json里的条目SPIDEV_JC/ PATH即可。
10. 如何升级交采板程序
在终端里、容器外,执行如下./SCBASEADC -pF jc7_2.hex,见到提示信息“jc update1 success”表示升级成功,大致用时6秒左右。其中hex文件是交采板的程序,升级后不影响校表参数。
注意先停止容器里的交采APP,以便保证SPI设备不被占用。
11. 如何电能量清零
1、 电能量文件的存储路径
电能量文件的存储路径在配置文件jc_appcfg.json里指定,有两个文件,名称是jc_engAcc1.json和jc_engAcc2.json,如下所示;
默认在/data/app/SCBASEADC/commFile路径下,或者在配置文件里指定的路径下。
2、 清除电能量文件
假设电能量文件存储在默认路径下,使用如下步骤:
第1步,停止终端的输入电流
第2步,停止交采APP,比如用命令
container stop c_base
第3步,进入A电能量文件所在目录,比如用命令
cd /data/app/SCBASEADC/commFile;ls
删除名称为是jc_engAcc1.json和jc_engAcc2.json的文件即可。
注意实际情况中,容器名和APP名称可能和上述不同。
第4步,重新启动交采APP,再用104主站召测电能量
12. 如何校准
本APP有校准“交流采集板”精度的功能,通过APP的启动参数来实现,过程如下。
7.1 准备
准备工作有:
连接标准源到终端,,设置标准源的3相电压输出为220V;
登录Xshell,用SSH方式连接到终端的FE0口(用户名、密码、端口号和终端系统版本相关),提升操作终端的Linux权限为root用户权限(sudo -s);
拷贝校表执行文件SCBASEADC和配置文件jc_appcfg.json到终端的/home/sysadm下,修改SCBASEADC的执行权限;
停止交流采集APP(container stop c_base);或者使用命令docker stop $(docker ps -qa)来停止所有的容器,以保证只有一个交采APP进程在运行。
清除交采APP的工作目录(rm -rf /data/app/SCBASEADC)。
按顺序开始如下校正步骤,不可颠倒。
校表执行文件为 ,配置文件为 ,可从此拷贝出。
7.2 校正点1
1、把标准源输出设置为电压220V,电流5A,功率因数1.0
2、等源稳定后,输入:./SCBASEADC -pm1 -V220 -I5 -F1.0
大致等待15秒后,APP会自动退出,如果打印信息里有“jc caliberate ok”,即表示此步骤成功;否则不成功,应检查终端硬件。
3、再用命令行输入:./SCBASEADC -pr
收到电压、电流值后用ctrl+c退出,
VA表示A相电压值,IA表示A相电流值,FA表示A相的功率因数值,PA表示A相的有功功率值,QA表示A相的无功功率值,
此步骤应使3相电压值和电流值的误差小于2/1000.否则应检查接线或者终端硬件。
电压误差计算公式为(VA-220)/220.0
电流误差计算公式为(IA-5)/5.0
7.3 校正点2
1、把标准源设置为电压220V,电流5A, 功率因数为0.5L
2、等源稳定后,输入命令行:./SCBASEADC -pm2 -V220 -I5 -F0.5
交采APP的打印信息类似上述。
3、再用命令行输入:./SCBASEADC -pr
交采APP的打印信息和上述类似,收到电压、电流值后用ctrl+c退出,计算功率因数误差值,公式为(FA-0.5)/0.5,此步骤应使3相功率因数误差值小于3/1000.
7.4 校正点3
1、把标准源设置为220V 0.25A 0.5L (电流档换到1A)
2、等源稳定后,输入命令行:./SCBASEADC -pm4 -V220 -I0.25 F0.5
APP的打印信息类似上述。注意是-pm4,开发历史导致的。
3、再用命令行输入:./SCBASEADC -pr
交采APP的打印信息和上述类似,收到电压、电流值后用ctrl+c退出,计算功率因数误差值,公式为(FA-0.5)/0.5,此步骤应使3相功率因数误差值小于3/1000.
7.5 导出校表文件
校表文件存储在执行文件路径下,可导出用来备份溯源,名称为jc_7022.json;校表文件在底板的EEPROM里也有一份,掉电不会丢失。当主控板的交采APP执行文件目录下有jc_7022.json时,就启用他,没有的话,就用底板EEPROM里的。
13. 辅助工具
Linux调试终端软件Xshell,
104通信协议调试主站软件KW2000,
MQTT总线监测工具MQTTFX,MQTTBOX
14. 常见问题
| 序号 | 问题/现象 | 可能原因 | 解决办法 | 
| 1 | 数据异常 | 多个实例在转着,容器异常,电压电流输入接线不牢靠,底板的互感器相关电路异常 | 保证只有一个交采APP在运行,或者容器反复启动 | 
| 2 | 打不开SPI设备,APP没启动 | 配置文件的SPI路径不对,用户权限不够,无执行属性,启动容器时没有映射SPI设备 | sudo -s | 
| 3 | 功率负值 | 电流线接反,太阳能发电 | 正常现象 | 
| 4 | 104数据不更新 | MQTT进程异常 | 查看进程状态 | 
| 5 | 电压电流值异常 | 没校表 | 重新校表 | 
| 6 | 安装不上APP | 系统版本不匹配,工具集不匹配,相关库文件不匹配,用户权限 | 升级到最新版本 | 
| 7 | 校表不成功 | 电流线接反,相序不对 | 调整功率源接线 | 
| 8 | 升级交采板程序不成功 | 连接线不良、交采板无程序、SPI设备没打开 | 放置配置文件 | 
钉钉技术交流群:

智芯微版本的智能配变融合终端交流采集APP的更多相关文章
- 瑞芯微RK3399宣布系统开源,进入百余种行业市场!
		集微网消息,2月24日瑞芯微官方突然宣布, Rockchip RK3399Linux系统开源!作为Rockchip旗舰级芯片,RK3399具有高性能.高扩展.全能型应用特性. 这一重磅消息立马刷爆朋友 ... 
- 瑞芯微RK3399六核-迅为3399开发板介绍
		迅为3399开发板基于瑞芯微的RK3399处理器设计,Rockchip RK3399是瑞芯微推出的一款低功耗.高性能的应用处理器芯片,该芯片基于Big.Little架构,即具有独立的NEON协同处理器 ... 
- Linux下更新瑞芯微固件
		有这样的需求,是因为提供的BSP中是在windows下烧写的系统.我直接在linux下开发,每次编译后代码都要在windows下烧写,是一个很麻烦的事情.为了解决这个问题我尝试着用VirtualBox ... 
- 9.7寸RK3188瑞芯微四核爱立顺M33平板电脑 - 深圳吉祥星晨科技有限公司 - 华强商情网
		9.7寸RK3188瑞芯微四核爱立顺M33平板电脑 - 深圳吉祥星晨科技有限公司 - 华强商情网 欢迎加入 2000人超级QQ群,平板电脑行业交流群:221371451,平板电脑产品及报价群:5765 ... 
- 瑞芯微发布最新旗舰应用处理器-RK3588
		在瑞芯微电子第四届“开发者之春”大会上,瑞芯微推出了新一代8nm旗舰处理器-RK3588 这个芯片将采用8nm 制程工艺.基于A76+A55 内核组合,具备4K UI性能.8K VPU,拥有NPU2. ... 
- 使用web3j工具生成java版本的智能合约
		这里需要使用的环境 web3j,nodejs 安装编译sol工具 $ npm install -g solc 保存为hello.sol文件到本地 pragma solidity 0.4.19; con ... 
- 瑞芯微ROCK960 RK3399固件烧录总结
		1 下载固件 进入瑞芯微ROCK960下载主页 https://www.96boards.org/documentation/consumer/rock/downloads/ 选择os固件, Debi ... 
- ESP8266 智能配网 断电重连
		ESP8266 智能配网 断电重连 #include <ESP8266WiFi.h> bool autoConfig() { WiFi.begin(); for (int i = 0; i ... 
- ESP32智能配网笔记
		基于ESP-IDF4.1 #include <string.h> #include <stdlib.h> #include "freertos/FreeRTOS.h& ... 
随机推荐
- How to do error checking in CUDA(如何在CUDA里做错误检查)
			https://codeyarns.com/2011/03/02/how-to-do-error-checking-in-cuda/ Error checks in CUDA code can hel ... 
- Java-字节输入输出。(新手)
			参考手册: BufferedInputStream BufferedOutputStream 实例: import java.io.*; /* * 文件的复制方式 * 1 字节流读写单个字节 * 2 ... 
- 工作了这么长时间,是不是非用macbook pro不可呢?
			连续奋战了二十多天,肉眼可见自己的状态一天不如一天.总觉得自己是不是该放下一切好好休息两天,但是理智又告诉我不能停.不能停. 既然不能停,那就把之前攒下的文章写一写吧. 什么是macbook pro ... 
- Vysor Pro1.9.3破解,连接 USB 数据线在电脑上远程控制 Android 手机平板/同步显示画面
			Vysor PRO 破解方法 1.下载Vysor Pro, Vysor Pro下载地址 ,chrome版需要挂梯子. 下载后,能连接,但是清晰度太低,能使用的功能也很少,下面我们就开始来破解它. ... 
- ElegantSnap 一个优雅的,易用的iOS/tvOS/macOS自动布局框架, 超级详细的使用教程,多视图水平等宽/垂直等高排列
			ElegantSnap ElegantSnap(Base on SnapKit) to make Auto Layout easy and elegant on both iOS and OS X. ... 
- 牛客网剑指offer【Python实现】——part2
			不用加减乘除做加法 写一个函数,求两个整数之和,要求在函数体内不得使用+.-.*./四则运算符号. 两个数异或:相当于每一位相加,而不考虑进位: 两个数相与,并左移一位:相当于求得进位: 将上述两步的 ... 
- uni-app实现文件上传(h5方式)
			1.嵌入H5页面,需要采用web-view标签,如下: <web-view src="/hybrid/html/index.html" @message="hand ... 
- eNSP之VLAN设计实验
			0.实验目的 1.掌握基于IP地址的VLAN划分: 2.掌握基于交换机端口VLAN划分: 3.通过网关实现不同VLAN间的通讯; 1.实验环境 环境:eNSP模拟器 版本信息:1.3.00.100 V ... 
- python,keras,tensorflow安装问题 module 'tensorflow' has no attribute 'get_default_graph'
			module ‘tensorflow’ has no attribute ‘get_default_graph’当我使用keras和tensorflow做深度学习的时候,python3.7报了这个错误 ... 
- 谷歌出品EfficientNet:比现有卷积网络小84倍,比GPipe快6.1倍
			[导读]谷歌AI研究部门华人科学家再发论文<EfficientNet:重新思考CNN模型缩放>,模型缩放的传统做法是任意增加CNN的深度和宽度,或使用更大的输入图像分辨率进行训练,而使用E ... 
