Hello everyone,
I'm working on a tool to virtualize a low-voltage TLSBT meter using the Gurux.DLMS.Net simulator. I cloned the real device using GXDLMSDirector and generated a valid XML file, which I load into my simulator using the official GXDLMSMeter.cs class.
My goal is to replicate the behavior of the real meter, where, upon connecting with ClientAddress = 1, I can see multiple GXDLMSAssociationLogicalName objects listed:
- 0.0.40.0.0.255 (Current Association)
- 0.0.40.0.1.255 (Public)
- 0.0.40.0.2.255 (Reading)
- 0.0.40.0.3.255 (Management)
However, when running my virtualized setup, GXDLMSDirector only shows the OBIS 0.0.40.0.0.255 (Current Association). This does not happen when I connect to the real TLSBT device using the exact same cloned XML.
Interestingly, if I go to the "Add Object" menu and manually enter 0.0.40.0.2.255 or 0.0.40.0.3.255, GXDLMSDirector detects and loads them, so I know they're present and accessible.
My question are:
1) Is there a way to programmatically expose all GXDLMSAssociationLogicalName objects upon connection, like the real meter does?
2) Am I missing something critical in the XML or the simulator logic to make GXDLMSDirector enumerate all available associations automatically?
3) Why does the virtualizer changes, clones and deletes the association_logical_name obis when launching a virtualization
Sorry for the questions, I'm a bit lost
Any insights would be greatly appreciated.
Thanks in advance!
Hi, You need to read the…
Hi,
You need to read the real meter with the simulator and use that XML file. DO not try to create a simulator file with GXDLMSDirector.
BR,
Mikko
Thanks for the suggestion. I…
Thanks for the suggestion.
I tried reading the meter using "GXDLMSReader.cs" (Script from the Gurux.DLMS.Simulator.NET library responsible for meter reading), but all the objects appear with the description "invalid" and no values are returned. The connection is established successfully and the object list is loaded, but when trying to read them, no useful data is obtained.
Could this be due to a configuration issue in the simulator or something missing in the XML that prevents valid values from being returned?
Thanks in advance!
Hi, What kind of command…
Hi,
What kind of command-line arguments are you using?
BR,
Mikko
Hi Mikko, Thanks again for…
Hi Mikko,
Thanks again for your response.
The command I'm using is the following:
Gurux.DLMS.Simulator.Net.exe -h 'ip' -p 4059 -i WRAPPER -c 1 -a Low -P 00000002 -t Verbose -o lec_sim.xml
As I mentioned before, the XML contains many invalid values, and I can't even start the simulator using it.
Thanks again—really appreciate your help.
Best regards,
Jose