●函数:
public List<Integer> saveTagsDisorderSnapshots(List<Integer> tagIDArray, List<HDRecord> snapRecords, HDErrcode errCode) throws HDSdkException
●参数:
参数名称 |
数据类型 |
参数说明 |
默认值 |
tagIDArray |
List<Integer> |
所要写入的TagID列表 |
|
snapRecords |
List<HDRecord> |
所要写入的记录数组 所要写入的记录对象,必须设置数据质量、记录时间和值 |
|
errCode |
HDErrcode |
用于判断全部成功还是部分成功 |
|
●返回值
返回值类型 |
返回值说明 |
List<Integer> |
与每一条记录对应的错误码 |
●异常:
当参数出现错误时,向上抛出IllegalArgumentException异常
当后台查询出错时,向上抛出HDSdkException异常
●说明:
该接口用于乱序写入多个Tag点记录值。
可能需要先进行登录操作,请参考HDDataConnection类
●示例代码:
注: 标记为红色的代码行为当前接口的调用
import com.baosight.hdjni.HDErrcode;
import com.baosight.hdsdk.HDConnectionFactory;
import com.baosight.hdsdk.HDDataWriter;
import com.baosight.hdsdk.HDServerFactory;
import com.baosight.hdsdk.domain.data.HDDataConnection;
import com.baosight.hdsdk.domain.data.HDDataServer;
import com.baosight.hdsdk.domain.data.HDRecord;
import com.baosight.hdsdk.exception.HDSdkException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class IhdJavaSdkWriteTagVal {
public static void main(String[] args) {
// 设置服务器信息
String serverIP = "168.2.237.1";
String bakIp = "168.2.237.2";
HDDataServer server = HDServerFactory.getHDDataServer(serverIP,5673,bakIp,5673);
HDDataConnection dataConn = null;
try {
dataConn = HDConnectionFactory.getHDDataConnection(server);
dataConn.loginToServer("admin", "admin");
HDDataWriter dw = new HDDataWriter(dataConn);
List<Integer> tagIDArray = new ArrayList<>();
tagIDArray.add(1);
tagIDArray.add(2);
List<HDRecord> HDRecordList = new ArrayList<>();
for (int i = 1; i <= 2; i ++) {
HDRecord record = new HDRecord();
Date now = new Date();
record.setSecond(now.getTime() / 1000);
record.setQuality(192); //此处数据质量必须为192
record.setValueStr("" + i);
HDRecordList.add(record);
}
List<Integer> errCodeList = dw.saveTagsDisorderSnapshots(tagIDArray, HDRecordList, new HDErrcode());
dataConn.dispose();
} catch (HDSdkException e) {
e.printStackTrace();
}
}
}