02/14/2019
Hi,
After a successful connection to a machine Siemens Sinumerik 840-d, we are trying to read a tool offset value. Here is the minimal code:
// Connection to the machine
Session session = Session.Create(…);
// List of nodes to read
ReadValueIdCollection nodesToRead = new ReadValueIdCollection ();
string nodeId = “ns=2;s=/ToolCompensation/edgeData[u1,c2,1]“
var readValueId = new ReadValueId () { NodeId = nodeId, AttributeId = Attributes.Value, IndexRange = “” };
nodesToRead.Add (readValueId);
// Get the answer
session.Read (null, int.MaxValue, TimestampsToReturn.Both, nodesToRead, out DataValueCollection results, out DiagnosticInfoCollection diagnostics);
object answer = results[0].Value;
The variable “diagnostics” is null so it is good. But the problem we are facing is that the variable “answer” is also null. We are however sure that the node “/ToolCompensation/edgeData” exists and that the format to use is “/ToolCompensation/edgeData[u1,c {column number},{tool number}]”, according to the Siemens specifications. We also tried different configurations like:
- /ToolCompensation/edgeData
- /ToolCompensation/edgeData[u1,1]
- /ToolCompensation/edgeData[1,1,1]
Does anyone know why we are receiving null values? Is it possible that while the address “/ToolCompensation/edgeData” is valid, values are really null?
Best regards,
Davy
07/25/2022
dtriponney@lemoinetechnologies.com said
Sorry for my late reply. It appeared that my code was right, the problem being on the server.We took also your suggestion to read the StatusCode that will help in the possible debugging sessions to come.
Best regards,
Davy
Hi Davy,
We are currently running into a very similar problem when trying to retrieve the tool offset values. Could you indicate what the problem was on the OPCUA server that was causing issues? And perhaps you have a minimal example of the correct way to retrieve the values specified? As all our current approaches cause null values to be returned we are at a loss as to what the correct way forward should be.
Thanks!
03/14/2023
Hello all,
I think I am running into the exact same problem as you guys did. I want to access the geometry offset and the wear offset of an Index machine with a Sinumerik 840Dsl controller. This is to be done from an client in Python.
The documentation that I have seems to say that all this info is under the adress “/Tool/Compensation/edgeData”
It also says to it should be called this way $/Tool/Compensation/edgeDatax[y,z] x = ParamNo y = ToolNo z = EdgeNo
I am unable to get any information even when knowing X,Y and Z.
What am i getting wrong here?
Thanks a lot
Marc
1 Guest(s)