Hi PLC4X team)
Could you help me?)
When I try read data from plc s7_300 (Vipa), I see this ->
[0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0] - This must be 5
How I can get 5 ?)
My code:
{
String connectionString = "s7://192.168.0.5/0/2";
try (PlcConnection plcConnection = new
PlcDriverManager().getConnection(connectionString)) {
PlcReadRequest.Builder builder =
plcConnection.readRequestBuilder();
builder.addItem("value-1", "%IW14:WORD");
builder.addItem("value-2", "%IW12:WORD");
builder.addItem("value-3", "%IW14:WORD");
builder.addItem("value-4", "%IW16:WORD");
builder.addItem("value-6", "%MD272:DWORD");
builder.addItem("value-7", "%MD276:DWORD");
builder.addItem("value-8", "%MD284:DWORD");
PlcReadRequest readRequest = builder.build();
PlcReadResponse response = readRequest.execute().get();
ArrayList a = new ArrayList();
for (String fieldName : response.getFieldNames()) {
if(response.getResponseCode(fieldName) ==
PlcResponseCode.OK) {
System.out.println("SECONR IF->>>>"+fieldName+"->>>>"+
response.getField(fieldName));
System.out.println("SECONR IF->>>>"+fieldName+"->>>>"+
response.getAllIntegers(fieldName));
System.out.println("SECONR IF->>>>"+fieldName+"->>>>"+
response.getObject(fieldName));
System.out.println("SECONR IF->>>>"+fieldName+"->>>>"+
response.getAllBytes(fieldName));
System.out.println("SECONR IF->>>>"+fieldName+"->>>>"+
response.getRequest());
System.out.println("SECONR IF->>>>"+fieldName+"->>>>"+
response.getResponseCode(fieldName));
System.out.println("SECONR IF->>>>"+fieldName+"->>>>"+
response.getNumberOfValues(fieldName));
}
}
} catch (InterruptedException ex) {
ex.printStackTrace();
} catch (ExecutionException ex) {
ex.printStackTrace();
} catch (PlcConnectionException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
Thanks)