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设备没打开

放置配置文件

 

版权声明:本文为oldtom原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/oldtom/p/12718361.html