这就是我目前尝试将字符串数组写入 opcua 服务器上的 opcua 变量的方式(附图 2 给出了属性)。下面的方法接受一个字符串 [] 并尝试将此字符串写入变量。我可以使用类似的方法轻松读取变量。
async writeFeatureName(arrayToWrite: String[]): Promise <any> {
console.log(arrayToWrite);
let nodesToWrite = [{
nodeId: "ns=3;s=\"DB_ScvsInterface01".\"OUT\".\"FeatureName\"",
attributeId: AttributeIds.Value,
value: new DataValue({
statusCode: StatusCodes.Good,
value: new Variant({
dataType: DataType.String,
arrayType: VariantArrayType.Array,
value: arrayToWrite
})
}),
}];
const dataValue = await this.session.write(nodesToWrite);
winston.debug(`wrote Feature Name Array : ${dataValue.toString()}`);
return dataValue
}
当我尝试写入服务器上的变量时,我得到类型不匹配。该数组的类型为 string[]。我尝试了各种建议,但我没有找到将数组写入服务器上的数组的明确示例?这甚至可能吗?