You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by cd...@apache.org on 2026/07/08 16:16:29 UTC
(plc4x) branch develop updated: fix(plc4j/ads): connect handshake honors configured AMS ports instead of hardcoded RUNTIME_SYSTEM_01 (851) (#2630)
This is an automated email from the ASF dual-hosted git repository.
chrisdutz pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git
The following commit(s) were added to refs/heads/develop by this push:
new e7264cf6c8 fix(plc4j/ads): connect handshake honors configured AMS ports instead of hardcoded RUNTIME_SYSTEM_01 (851) (#2630)
e7264cf6c8 is described below
commit e7264cf6c8d6a3391d362b43faa0a659f802fd36
Author: sole <so...@gmail.com>
AuthorDate: Wed Jul 8 18:16:24 2026 +0200
fix(plc4j/ads): connect handshake honors configured AMS ports instead of hardcoded RUNTIME_SYSTEM_01 (851) (#2630)
Co-authored-by: Dominik Solenicki <db...@proton.me>
---
.../java/org/apache/plc4x/java/ads/AdsTcpConnection.java | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/plc4j/drivers/ads/src/main/java/org/apache/plc4x/java/ads/AdsTcpConnection.java b/plc4j/drivers/ads/src/main/java/org/apache/plc4x/java/ads/AdsTcpConnection.java
index c58495411c..c6a6032d00 100644
--- a/plc4j/drivers/ads/src/main/java/org/apache/plc4x/java/ads/AdsTcpConnection.java
+++ b/plc4j/drivers/ads/src/main/java/org/apache/plc4x/java/ads/AdsTcpConnection.java
@@ -190,8 +190,8 @@ public class AdsTcpConnection extends ConnectionBase<AdsConfiguration> {
private CompletableFuture<Void> doConnectHandshake() {
// ReadDeviceInfo
AmsPacket readDeviceInfoRequest = new AdsReadDeviceInfoRequest(
- getConfiguration().getTargetAmsNetId(), DefaultAmsPorts.RUNTIME_SYSTEM_01.getValue(),
- getConfiguration().getSourceAmsNetId(), 800, ReturnCode.OK, getInvokeId());
+ getConfiguration().getTargetAmsNetId(), getConfiguration().getTargetAmsPort(),
+ getConfiguration().getSourceAmsNetId(), getConfiguration().getSourceAmsPort(), ReturnCode.OK, getInvokeId());
return sendAmsRequest(readDeviceInfoRequest, AdsReadDeviceInfoResponse.class).thenCompose(readDeviceInfoResponse -> {
if (readDeviceInfoResponse.getResult() != ReturnCode.OK) {
@@ -204,8 +204,8 @@ public class AdsTcpConnection extends ConnectionBase<AdsConfiguration> {
// Read online version (sym-by-name "TwinCAT_SystemInfoVarList._AppInfo.OnlineChangeCnt")
AmsPacket readOnlineVersionRequest = new AdsReadWriteRequest(
- getConfiguration().getTargetAmsNetId(), DefaultAmsPorts.RUNTIME_SYSTEM_01.getValue(),
- getConfiguration().getSourceAmsNetId(), 800, ReturnCode.OK, getInvokeId(),
+ getConfiguration().getTargetAmsNetId(), getConfiguration().getTargetAmsPort(),
+ getConfiguration().getSourceAmsNetId(), getConfiguration().getSourceAmsPort(), ReturnCode.OK, getInvokeId(),
ReservedIndexGroups.ADSIGRP_SYM_VALBYNAME.getValue(), 0L, 4L, null,
"TwinCAT_SystemInfoVarList._AppInfo.OnlineChangeCnt".getBytes(StandardCharsets.UTF_8));
return sendAmsRequest(readOnlineVersionRequest, AdsReadWriteResponse.class);
@@ -223,8 +223,8 @@ public class AdsTcpConnection extends ConnectionBase<AdsConfiguration> {
}
// Read symbol version (Group 0xF008, Offset 0, length 1)
AmsPacket readSymbolVersionRequest = new AdsReadRequest(
- getConfiguration().getTargetAmsNetId(), DefaultAmsPorts.RUNTIME_SYSTEM_01.getValue(),
- getConfiguration().getSourceAmsNetId(), 800, ReturnCode.OK, getInvokeId(),
+ getConfiguration().getTargetAmsNetId(), getConfiguration().getTargetAmsPort(),
+ getConfiguration().getSourceAmsNetId(), getConfiguration().getSourceAmsPort(), ReturnCode.OK, getInvokeId(),
ReservedIndexGroups.ADSIGRP_SYM_VERSION.getValue(), 0L, 1L);
return sendAmsRequest(readSymbolVersionRequest, AdsReadResponse.class);
}).thenCompose(readSymbolVersionResponse -> {
@@ -470,8 +470,8 @@ public class AdsTcpConnection extends ConnectionBase<AdsConfiguration> {
@Override
protected CompletableFuture<PlcPingResponse> onPing(PlcPingRequest pingRequest) {
AmsPacket pingPacket = new AdsReadDeviceInfoRequest(
- getConfiguration().getTargetAmsNetId(), DefaultAmsPorts.RUNTIME_SYSTEM_01.getValue(),
- getConfiguration().getSourceAmsNetId(), 800, ReturnCode.OK, getInvokeId());
+ getConfiguration().getTargetAmsNetId(), getConfiguration().getTargetAmsPort(),
+ getConfiguration().getSourceAmsNetId(), getConfiguration().getSourceAmsPort(), ReturnCode.OK, getInvokeId());
return sendAmsRequest(pingPacket, AdsReadDeviceInfoResponse.class)
.thenApply(r -> (PlcPingResponse) new DefaultPlcPingResponse(pingRequest, PlcResponseCode.OK));
}