INNER CODE UNIT · Kotlin

readHandler

vogler75/automation-gateway · source/lib-plc4x/src/main/kotlin/Plc4xDriver.kt:305

    override fun readHandler(message: Message<JsonObject>) {
        val node = message.body().getValue("NodeId")
        when {
            plc?.metadata?.isReadSupported == false -> {
                message.reply(JsonObject().put("Ok", false).put("Error", "Read not supported!"))
            }
            node != null && node is String -> {
                try {
                    if (!isConnected()) {
                        message.reply(JsonObject().put("Ok", false).put("Result", "Not connected!"))
                    } else {
                        val builder: PlcReadRequest.Builder = plc!!.readRequestBuilder()
                        builder.addTagAddress("value", node)
                        val request = builder.build()
                        val response = request.execute()
                        response.orTimeout(readTimeout, TimeUnit.MILLISECONDS)
                        response.whenComplete { readResponse, throwable ->
                            if (readResponse != null) {

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…