Samples: TcJavaToAds In this view the respective IndexOffset of the different inputs can be read. import de.beckhoff.jni.Convert; import de.beckhoff.jni.JNIByteBuffer; import de.beckhoff.jni.tcads.AdsCallDllFunction; import de.beckhoff.jni.tcads.AmsAddr; import java.util.TimerTask; class SMBTask extends TimerTask { private int indexGroup; private AmsAddr addr; private Visualization visu; public SMBTask(int indexGroup, AmsAddr addr, Visualization visu) { this.indexGroup = indexGroup; this.addr = addr; this.visu = visu; } @Override public void run() { long err = 0; JNIByteBuffer valueBuff = new JNIByteBuffer(Integer.SIZE / Byte.SIZE); //IOffset may be adjusted to monitor different inputs e.g.
temperature err = AdsCallDllFunction.adsSyncReadReq(this.addr, this.indexGroup, 0x4, valueBuff.getUsedBytesCount(), valueBuff); if(err!=0) { visu.setInfoMsg("Error: Retrieve value: 0x" + Long.toHexString(err)); } else { visu.setCurValue(Convert.ByteArrToInt(valueBuff.getByteArray())); } } } TX1000 46 Version: 1.1