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設備沒打開 |
放置配置文件 |
釘釘技術交流群: