Milo OPC UA UaException: status=Bad_UnexpectedError

问题描述 投票:0回答:1

我正在尝试从具有方法“乘法”的 FolderType 调用方法“乘法”并相乘,例如2 * 5 并得到结果。

但是我在执行程序时得到如下错误信息:

UaException:status=Bad_UnexpectedError,message=java.util.concurrent.ExecutionException:org.eclipse.milo.opcua.stack.core.UaSerializationException:未知内置类型:-1

我完全不知道为什么。

这是我的代码

val loadedConfig   : Config        = ConfigFactory.parseFile ( new File ( path ) )
val namespaceIndex : Int           = loadedConfig.getInt ( "namespaceIndex" )
val nodeID         : String        = loadedConfig.getString ( "nodeId" )
val readMethodId   : QualifiedName = new QualifiedName ( QualifiedNameIndex, Read )
val Read           : String        = loadedConfig.getString ( "readMethodId" )

val client : Option [ OpcUaClient ] = new OpcConnector ( config = loadedConfig ).createOpcClients ( )

read ( nodeId = nodeId,
       readMethodId = readMethodId,
       multiply = 5 )

private def read ( nodeId : NodeId, readMethodId : QualifiedName, multiply : Int ) : Unit = {


  val method : UaMethod = client
    .get
    .getAddressSpace.getObjectNode ( nodeId )
    .getMethod ( readMethodId )

  val inputs : Array [ Variant ] = Array ( new Variant ( multiply , 2 ) )

  val outputs : AnyRef = method.call ( inputs ) 

  println ( "result: " + outputs )
}
            

OPC地址和节点都正确

米洛 OPC 0.6.8

scala opc-ua opc milo
1个回答
0
投票

val inputs : Array [ Variant ] = Array ( new Variant ( multiply , 2 ) )

这条线应该做什么?没有采用 2 个参数的 Variant 构造函数。

© www.soinside.com 2019 - 2024. All rights reserved.