亚洲av无码片区一区二区三区|国产黄色精品视频一区二区|中文字幕欧美日韩va免费视频|亚洲精品一区二区三区在线|成人欧美精品一区二区电影

歡迎進入廈門欣仰邦科技有限公司官網!
  • 電話圖標
0592-3564822
智能報導
智能報導
聯系方式

企業服務熱線:0592-3564822 0592-3564822

公司電話 : 0592-3564822

業務咨詢 : 17850532774

欣仰邦SC3.0協議網絡設備Java版SDK接口調用說明

發布時間:2021-12-17 來源:未知 作者:xmsiyb

一、版本信息

版本 日期 修改說明
V1.0.0 2021-10-18 創建
表1.1.1

二、開發環境

Jdk1.8

三、文件列表

文件名 描述 是否必須
NetDevice_SDK.jar 開發時引用此庫
NetDeviceParam.dat 設備參數數據文件
表3.1.1

四、使用說明

1、添加引用

將NetDevice_SDK.jar導入項目工程

2、啟動服務

1)導入包:
import rk.netdevice.sdk.AffectedParamItems;
import rk.netdevice.sdk.DataTransAck;
import rk.netdevice.sdk.DeviceService;
import rk.netdevice.sdk.IDataListener;
import rk.netdevice.sdk.LoginData;
import rk.netdevice.sdk.NodeData;
import rk.netdevice.sdk.ParamIds;
import rk.netdevice.sdk.ParamItem;
import rk.netdevice.sdk.ParamItems;
import rk.netdevice.sdk.RealTimeData;
import rk.netdevice.sdk.RelayStatus;
import rk.netdevice.sdk.StoreData;
import rk.netdevice.sdk.StoreDataAck;
import rk.netdevice.sdk.StoreDataCount;
import rk.netdevice.sdk.TelecontrolAck;
import rk.netdevice.sdk.TelecontrolParam;
import rk.netdevice.sdk.TimingAck;
 
2)注冊數據監聽接口:
DeviceService.getInstance().addDataListener(new IDataListener() {
 
@Override
public void receiveTimingAck(TimingAck ack) {
 
}
@Override
public void receiveTelecontrolAck(TelecontrolAck data) {
}
@Override
public void receiveStoreDataCount(StoreDataCount data) {
}
@Override
public void receiveStoreDataAck(StoreDataAck data) {
}
@Override
public void receiveStoreData(StoreData data) {
}
@Override
public void receiveRealTimeData(RealTimeData data) {
}
@Override
public void receiveParamItems(ParamItems data) {
}
@Override
public void receiveParamIds(ParamIds data) {
}
@Override
public void receiveLoginData(LoginData data) {
}
@Override
public void receiveDataTransAck(DataTransAck arg0) {
}
@Override
public void receiveAffectedParamItems(AffectedParamItems data) {
}
});
3)設置設備參數文件路徑
DeviceService.getInstance().setParamFile("E:/NetDeviceParam.dat");
4)啟動監聽服務:
DeviceService.getInstance().start("127.0.0.1", 2404);

五、接口說明

1、方法說明

1)配置設備參數文件路徑

方法名: setParamFile
參數: String fileName 設備參數文件(NetDeviceParam.dat)該文件中包含設備參數的描述,用于設備參數的讀取和下發,不可修改
返回值:
方法原型: public void setParamFile(String fileName)
調用示例: DeviceService.getInstance().setParamFile("E:/NetDeviceParam.dat");
表5.1.1.1

2)注冊數據監聽接口

方法名: addDataListener
參數: IDataListener listener 實現IDataListener的類,設備上傳的數據在此類中接收處理
返回值:
方法原型: public void addDataListener(IDataListener listener)
調用示例: DeviceService.getInstance().addDataListener(new IDataListener() {});
表5.1.2.1

3)啟動監聽服務

方法名: start
參數: String ip 監聽ip。多網卡的情況下可以選擇監聽其中一個網卡的ip,可為空,為空則監聽所有網卡;
int port監聽端口
返回值:
方法原型: public void start(String ip, int port)
調用示例: DeviceService.getInstance().start("127.0.0.1", 2404);
表5.1.3.1
 

4)停止監聽服務

方法名: stop
參數:
返回值:
方法原型: public bool Stop();
調用示例: DeviceService.getInstance().stop();
表5.1.4.1

5)執行繼電器操作

方法名: telecontrol
參數: int deviceAddr 設備地址
short seqNum 幀序號 用來表示一次交互的消息ID,可以為0
List<TelecontrolParam> paramList 操作參數列表,參考表5.1.3.2
返回值: true:發送成功;false:發送失敗
方法原型: public boolean telecontrol(int deviceAddr, short seqNum, List<TelecontrolParam> paramList)
調用示例: DeviceService.getInstance().telecontrol(10000000, (short)0, paramList);
說明 設備響時觸發receiveTelecontrolAck監聽
表5.1.5.1
TelecontrolParam構造方法說明
參數名 類型 描述
relayNo Short 繼電器編號
opt Short 繼電器執行類型 1:代表執行繼電器閉合操作;0:代表執行繼電器釋放操作
optTime Short 繼電器執行時間,單位秒,若為0則一直吸合或者釋放
表5.1.5.2
 

6)發送校時指令

方法名: timing
參數: int deviceAddr設備地址
short seqNum幀序號 用來表示一次交互的消息ID,可以為0
返回值: true:發送成功;false:發送失敗
方法原型: public boolean timing(int deviceAddr, short seqNum)
調用示例: DeviceService.getInstance().timing(10000000, (short)0);
說明 設備響應時觸發receiveTimingAck 監聽
表5.1.6.1
 

7)手動召喚實時數據

方法名: callRealTimeData
參數: int deviceAddr設備地址
short seqNum幀序號
返回值: true:發送成功;false:發送失敗
方法原型: public boolean callRealTimeData(int deviceAddr, short seqNum)
調用示例: DeviceService.getInstance().callRealTimeData(10000000, (short)0);
說明 設備響應時觸發receiveRealTimeData 監聽
表5.1.7.1

8)讀取設備存儲數據條數

方法名: readStoreDataCount
參數: int deviceAddr設備地址
short seqNum幀序號
返回值: true:發送成功;false:發送失敗
方法原型: public boolean readStoreDataCount(int deviceAddr, short seqNum)
調用示例: DeviceService.getInstance().readStoreDataCount(10000000, (short)0);
說明 設備響應時觸發receiveStoreDataCount監聽
表5.1.8.1

9)讀取設備存儲數據

方法名: readStoreData
參數: int deviceAddr設備地址
short seqNum幀序號
返回值: true:發送成功;false:發送失敗
方法原型: public boolean readStoreData(int deviceAddr, short seqNum)
調用示例: DeviceService.getInstance().readStoreData(10000000, (short) 0);
說明 設備響應時觸發receiveStoreDataAck監聽
表5.1.9.1

10)讀取設備參數列表

方法名: readParamItemsIds
參數: int deviceAddr設備地址
short seqNum幀序號
返回值: true:發送成功;false:發送失敗
方法原型: public boolean readParamItemsIds(int deviceAddr, short seqNum)
調用示例: DeviceService.getInstance().readParamItemsIds(10000000, (short) 0);
說明: 設備響應時觸發receiveParamIds監聽
表5.1.10.1

11)讀取設備參數

方法名: readParamItems
參數: int deviceAddr設備地址
short seqNum幀序號
List<Short> paramIds設備參數編號。由ReadDictItemsIds方法獲得
返回值: true:發送成功;false:發送失敗
方法原型: public boolean readParamItems(int deviceAddr, short seqNum, List<Short> paramIds)
調用示例: DeviceService.getInstance().readParamItems(10000000, (short) 0, paramIds);
說明: 設備響應時觸發receiveParamItems監聽
表5.1.11.1

12)下發設備參數

方法名: writeParamItems
參數: int deviceAddr設備地址
short seqNum幀序號
List<ParamItem> paramItems設備參數值,參考表5.3.7.2
返回值: true:發送成功;false:發送失敗
方法原型: public boolean writeParamItems(int deviceAddr, short seqNum, List<ParamItem> paramItems)
調用示例: DeviceService.getInstance().writeParamItems(10000000, (short)0, paramItems);
說明: 設備響應時觸發receiveAffectedParamItems監聽
表5.1.12.1

2、監聽說明

數據監聽類須實現IDataListener接口,接口中方法說明如下

1)receiveLoginData

 
方法名: receiveLoginData
描述: 設備發送登錄數據時觸發此監聽
參數: LoginData data 登錄數據 參考表5.3.1.1
表5.2.1.1
 

2)receiveRealTimeData

 
方法名: receiveRealTimeData
描述: 設備發送實時數據時觸發此監聽
參數: RealTimeData data 實時數據 參考表5.3.2.1
表5.2.2.1
 

3)receiveStoreData

 
方法名: receiveStoreData
描述: 設備主動上傳已存儲數據時觸發此監聽
參數: StoreData data 存儲數據 參考表5.3.3.1
表5.2.3.1
 

4)receiveTelecontrolAck

 
方法名: receiveTelecontrolAck
描述: 設備應答繼電器操作時觸發此監聽
參數: TelecontrolAck ack設備響應數據 參考表5.3.9.1
表5.2.4.1

5)receiveTimingAck

 
方法名: receiveTimingAck
描述: 設備應答校時結果時觸發此監聽
參數: TimingAck ack 校時結果 參考表5.3.10.1
表5.2.5.1

6)receiveParamIds

 
方法名: receiveParamIds
描述: 設備應答讀取參數字典編號時觸發此監聽
參數: ParamIds ack 參考表5.3.5.1
表5.2.6.1

7)receiveParamItems

 
方法名: receiveParamItems
描述: 終端響應下載參數命令時觸發此監聽
參數: ParamItems ack 參考表5.3.7.1
表5.2.7.1

8)receiveAffectedParamItems

 
方法名: receiveAffectedParamItems
描述: 設備應答寫入參數結果時觸發此監聽
參數: AffectedParamItems ack 參考表5.3.8.1
表5.2.8.1

9)receiveStoreDataCount

 
方法名: receiveStoreDataCount
描述: 設備應答讀取已存儲數據條數時觸發此監聽
參數: StoreDataCount ack 參考表5.3.4.1
表5.2.9.1

10)receiveStoreDataAck

 
方法名: receiveStoreDataAck
描述: 設備應答讀取已存儲數據時觸發此監聽
參數: StoreDataAck ack 參考表5.3.5.1
表5.2.10.1

11)receiveDataTransAck

 
方法名: receiveDataTransAck
描述: 設備應答數據透傳結果時觸發此監聽
參數: DataTransAck ack 參考表5.3.11.1
表5.2.10.1
 

3、數據類

 

1)登錄數據 LoginData

 
方法 返回值 說明
getDeviceAddr() Integer 設備地址
getSeqNum() Short 幀序號,與設備一次交互的唯一標識,應答方須復制此值進行應答。下同
表5.3.1.1
 
 

2)實時數據RealTimeData

 
方法 返回值 說明
getDeviceAddr() Integer 設備地址
getSeqNum() Short 幀序號
getNodeDataList() List<NodeData> 節點數據列表。NodeData參考表5.3.2.2
表5.3.2.1
NodeData
方法 返回值 說明
getNodeId() Short 節點編號
getRecordTime() Integer 時間,1970年1月1日到記錄時刻的秒數
getDataType() DataTypes 數據類型
getAnalog1() Float 模擬量1值
getAnalog2() Float 模擬量2值
getIntData() Integer 整形值
getFloatData() Float 浮點型值
getDoubleData() double 雙精度值
getSwitchData() Integer 開關量值, 0代表無效;1代表閉合;2代表斷開
getStringData() String 字符串值
getCoordinateType() Integer 0代表為上送的百度經緯度
1代表基站為中國聯通
2代表基站為中國移動
03代表GPS經緯度信息
getLng() Float 經度
getLat() Float 緯度
getData() String 轉換后的數據,模擬量1和模擬量2的數據用英文逗號分隔
表5.3.2.2
 

3)主動上傳的存儲數據StoreData

 
方法 返回值 說明
getDeviceAddr() Integer 設備地址
getSeqNum() Short 幀序號
getNodeDataList() List<NodeData> 節點數據列表。NodeData參考表5.3.2.2
表5.3.3.1
 

4)設備已存儲數據的條數StoreDataCount

 
方法 返回值 說明
getDeviceAddr() Integer 設備地址
getSeqNum() Short 幀序號
getCount() Integer 已存儲數據條數
表5.3.4.1

5)召喚的已存儲數據StoreDataAck

 
方法 返回值 說明
getDeviceAddr() Integer 設備地址
getSeqNum() Short 幀序號
getTotalCount() int 設備上已存儲數據總條數
getSurplusCount() int 設備上已存儲數據剩余條數
getNodeDataList() List<NodeData> 節點數據列表。NodeData參考表5.3.2.2
表5.3.5.1

6)設備字典編號列表ParamIds

 
方法 返回值 說明
getDeviceAddr() Integer 設備地址
getSeqNum() Short 幀序號
getTotalDictCount() Integer 本設備所有字典總數
getIdList() List<short> 設備字典列表
表5.3.6.1

7)設備參數ParamItems

 
方法 返回值 說明
getDeviceAddr() Integer 設備地址
getSeqNum() Short 幀序號
getParamItemList() List<Paramtem> 設備參數列表參考表5.3.7.2
表5.3.7.1
ParamItem
方法 返回值 說明
getParamId() Short 參數編號
getParamValueType() ParamValueTypes 參數值類型
getParamName() String 參數名稱
getValue() String 參數值
getMaxStrLength() Integer 字符串類型的字典值最大長度
getMinValue() Integer 數值類型的最小值
getMaxValue() Integer 數值類型的最大值
getValueDescription() Map<String, String> 數值描述
create() ParamItem 創建ParamItem類,用于下發參數
Short paramId 設備參數編號
String value 參數值
表5.3.7.2
 

8)下發設備參數應答AffectedParamItems

 
方法 返回值 說明
getDeviceAddr() Integer 設備地址
getSeqNum() Short 幀序號
getParamIdList() List<Short> 受影響的參數字典編號
表5.3.8.1

9)繼電器操作應答TelecontrolAck

 
方法 返回值 說明
getDeviceAddr() Integer 設備地址
getSeqNum() Short 幀序號
getRelayStatusList() List<RelayStatus> 繼電器狀態列表參考表5.3.9.2
表5.3.9.1
 
RelayStatus
方法 返回值 說明
getRelayNo() Short 繼電器編號
getExecResult() Integer 執行情況 成功1,失敗2,未知錯誤3
getCurrStatus() Integer 當前狀態 0斷開,1吸合
表5.3.9.2

10)校時指令應答TimingAck

 
方法 返回值 說明
getDeviceAddr() Integer 設備地址
getSeqNum() Short 幀序號
getExecResult() Integer 執行結果 1執行成功 其他執行失敗
表5.3.10.1

11)透傳數據應答DataTransAck

 
方法 返回值 說明
getDeviceAddr() Integer 設備地址
getSeqNum() Short 幀序號
getChannelNo() Integer 通道編號
getTransData() byte[] 透傳數據
表5.3.11.1

Copyright © 2021 廈門欣仰邦科技有限公司 版權所有 備案號:閩ICP備18009268號-1
在線咨詢
索要樣機
掃一掃

掃一掃
欣仰邦公眾號

全國免費服務熱線
0592-3564822

返回頂部
主站蜘蛛池模板: 337p日本欧洲亚洲大胆人人| 久久亚洲精品情侣| 强奷乱码中文字幕| 亚州性无码不卡免费视频| 成人免费777777被爆出| 中文字幕av中文字无码亚| 国产福利在线永久视频| 天堂8中文在线最新版在线| 日本成人一区二区电影| 国产精品线在线精品| 西西人体午夜视频无码| 久久精品人人看人人爽| 久久中文精品无码中文字幕 | 精品一区二区三区影院在线午夜| 一区二区伦理在线| 在线观看一区二区欧美| 国产精品一区二区中文字幕| 国产一区内射最近更新| 黄网一区二区三区在线| 无码纯肉动漫在线观看| 真人性囗交69视频| 美女mm131午夜福利在线| 亚洲精品久久久久久久蜜桃| 久久久不卡国产精品一区二区| 不卡无在线一区二区三区观| 四虎影视国产精品永久地址| 中国老太婆bb无套内射| 日韩人妻无码精品久久| 国产在线播放一区| 欧洲日本韩国一区二区三区久久精品| 重口sm一区二区三区视频 | 少妇激情av一区二区| 亚洲视频人妻久久一区二区| 国产乱码一区二区三区爽爽爽| 伊人久久大香线蕉av五月天 | 香蕉日韩av一区在线观看| 免费国精产品自偷自偷免费看| 久青青在线观看视频国产 | 大胸美女视频一区二区三区| 色av专区无码影音先锋| 蜜桃传媒av免费观看麻豆|