INNER CODE UNIT · Kotlin

localRequestId

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

            val localRequestId = ++pollingRequestId
            val builder: PlcReadRequest.Builder = plc!!.readRequestBuilder()
            pollingTopics.forEach {
                builder.addTagAddress(it.key.topicName, it.key.topicNode)
            }
            logger.finest { "Poll request [${localRequestId}] for [${pollingTopics.size}] items..." }
            try {
                val request = builder.build()
                val response = request.execute()
                response.orTimeout(pollingTimeout, TimeUnit.MILLISECONDS)
                response.whenComplete { readResponse, throwable ->
                    ++pollingResponseId
                    if (readResponse != null) {
                        logger.finest { "Poll response [${readResponse.asPlcValue}]" }
                        pollingTopics.forEach { topic ->
                            val value = readResponse.getPlcValue(topic.key.topicName)
                            if (!pollingOldNew || value.toString() != topic.value.toString()) { // TODO: String Compare?
                                pollingTopics[topic.key] = value

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…