Hello,
Thank you for this library. I am using my C# app to talk with an Italian gas meter. I am also using your GXDLMSDirector to help me unit test and develop in parallel. I've been able to connect, disconnect and read objects with both my app and yours.
One thing I can't figure out is when I should use GXDLMSData vs. GXDLMSRegister vs. the custom object in the library (such as GXDLMSClock)? If I pick the wrong one, it will not work. I get an exception such as "Access Error : Device reports a unavailable object."
For example, when I use GXDLMSData for the Logical Device Name (0.0.42.0.0.255) I can read the object. However, when I use GXDLMSRegister I cannot.
GXDLMSData dlmsObject = new GXDLMSData("0.0.42.0.0.255"); -> this one works
GXDLMSRegister dlmsObject = new GXDLMSRegister("0.0.42.0.0.255"); -> this one throws "Access Error : Device reports a unavailable object."
I wrote off the objects XML file using GXDLMSDirector and it seems to be a mixture of all three object types. For Logical Device Name the XML has GXDLMSData, which is the only object type that works in my C# app.
<GXDLMSData>
<LN>0.0.42.0.0.255</LN>
<Description>Logical Device Name</Description>
<Access>11</Access>
<MethodAccess/>
<Value Type="10">xxxxxxxxxxxxxxxx</Value>
</GXDLMSData>
I'm just wondering if there is a way for me to figure out which of the three object types I should be using? Initially I was just using GXDLMSData across the board, but I don't think that will work for every object.
Hi, The meter returns…
Hi,
The meter returns available COSEM objects (Object type and OBIS code) when you read the association view. GXDLMSDirector reads the association view when you establish the connection to the meter for the first time. You can see supported object types and OBIS codes on the tree.
You must use the same object type that the meter is using, or meter returns an error.
BR,
Mikko