Using the latest version of the Director I found some problems in the structure of the GXDLMSProfileGeneric for the logical name 1.0.99.1.0.255 of the load profiles (but not only).
A + (1.0.99.1.0.255) does not have the Scaler and Unit values
Q1 (1.1.5.4.0.255) has them
Q4 (1.1.8.4.0.255) does not have them
A- (1.1.2.4.0.255) has them
Q2 (1.1.6.4.0.255) does not have them
Q3 (1.1.7.4.0.255) has them
I also tried to use the Gurux.DLMS.Net libraries. The same problem occurs when calling the functions in GXDLMSReader.cs GetAssociationView, GetScalersAndUnits and GetProfileGenericColumns.
I also noticed that the values of Description and Attributes are not valued in the same way!
Hi Mikko
The behavior is the same both in the GXDLMSDirector (which asks to read the scalars automatically at the first connection) and by code by calling the GetScalersAndUnits contained in the Gurux.DLMS.Reader.GXDLMSReader class
In a .gxc file made in the previous months instead I have all the GXDLMSDemandRegister correctly filled with scalars and units
<Key xsi:type="GXDLMSDemandRegister">
<Version>0</Version>
<ShortName>52200</ShortName>
<LogicalName>1.1.1.4.0.255</LogicalName>
<Description>Ch. 1 Sum Li Active power+ (QI+QIV) Current avg. 1 Rate 0 (0 is total)</Description>
<Attributes />
<Methods />
<Scaler>0.1</Scaler>
<Unit>27</Unit>
</Key>
...
<Key xsi:type="GXDLMSDemandRegister">
<Version>0</Version>
<ShortName>52400</ShortName>
<LogicalName>1.1.5.4.0.255</LogicalName>
<Description>Ch. 1 Sum Li Reactive power QI Current avg. 1 Rate 0 (0 is total)</Description>
<Attributes />
<Methods />
<Scaler>0.1</Scaler>
<Unit>29</Unit>
</Key>
Using the latest versions (I would say from March) for example 1.0.99.1.0.255 I found:
<Key xsi:type="GXDLMSDemandRegister">
<Version>0</Version>
<ShortName>52200</ShortName>
<LogicalName>1.1.1.4.0.255</LogicalName>
<Description>Ch. 1 Sum Li Active power+ (QI+QIV) Current avg. 1 Rate 0 (0 is total)</Description>
<Attributes />
<Methods />
</Key>
whitout scalar and unit
the second GXDLMSDemandRegister
<Key xsi:type="GXDLMSDemandRegister">
<Version>0</Version>
<ShortName>52400</ShortName>
<LogicalName>1.1.5.4.0.255</LogicalName>
<Description>Ch. 1 Sum Li Reactive power QI Current avg. 1 Rate 0 (0 is total)</Description>
<Attributes />
<Methods />
<Scaler>0.1</Scaler>
<Unit>32</Unit>
</Key>
with scalar and unit... and so on
Hi,
I have checked and it works like should be. There is one change that might affect.
Select "Demand Register" object. Select "Access rights" tab. Check what is your access rights for attribute #4.
The last version: 8.1.1905.1401
I confirm that I read directly the specific demand register the scalar & unit is correctly updated.
One thing that may perhaps help you to identify the anomaly is that the Access attribute is ReadWrite but the type, for those correctly read in the scalar and unit phase is set to Structure, while for those not read is None
Hi,
We try to solve this. For some reason, your scaler and unit of Demand Registers are not read on refresh.
We'll try to find out why. I added this to the work list.
Hi,
Hi,
Reason for this is that scaler and unit do not come in the data. You need to read register first. After it's read scaler is used.
BR,
Mikko
Hi Mikko
Hi Mikko
The behavior is the same both in the GXDLMSDirector (which asks to read the scalars automatically at the first connection) and by code by calling the GetScalersAndUnits contained in the Gurux.DLMS.Reader.GXDLMSReader class
In a .gxc file made in the previous months instead I have all the GXDLMSDemandRegister correctly filled with scalars and units
<Key xsi:type="GXDLMSDemandRegister">
<Version>0</Version>
<ShortName>52200</ShortName>
<LogicalName>1.1.1.4.0.255</LogicalName>
<Description>Ch. 1 Sum Li Active power+ (QI+QIV) Current avg. 1 Rate 0 (0 is total)</Description>
<Attributes />
<Methods />
<Scaler>0.1</Scaler>
<Unit>27</Unit>
</Key>
...
<Key xsi:type="GXDLMSDemandRegister">
<Version>0</Version>
<ShortName>52400</ShortName>
<LogicalName>1.1.5.4.0.255</LogicalName>
<Description>Ch. 1 Sum Li Reactive power QI Current avg. 1 Rate 0 (0 is total)</Description>
<Attributes />
<Methods />
<Scaler>0.1</Scaler>
<Unit>29</Unit>
</Key>
Using the latest versions (I would say from March) for example 1.0.99.1.0.255 I found:
<Key xsi:type="GXDLMSDemandRegister">
<Version>0</Version>
<ShortName>52200</ShortName>
<LogicalName>1.1.1.4.0.255</LogicalName>
<Description>Ch. 1 Sum Li Active power+ (QI+QIV) Current avg. 1 Rate 0 (0 is total)</Description>
<Attributes />
<Methods />
</Key>
whitout scalar and unit
the second GXDLMSDemandRegister
<Key xsi:type="GXDLMSDemandRegister">
<Version>0</Version>
<ShortName>52400</ShortName>
<LogicalName>1.1.5.4.0.255</LogicalName>
<Description>Ch. 1 Sum Li Reactive power QI Current avg. 1 Rate 0 (0 is total)</Description>
<Attributes />
<Methods />
<Scaler>0.1</Scaler>
<Unit>32</Unit>
</Key>
with scalar and unit... and so on
BR
Christian
Hi,
Hi,
I have checked and it works like should be. There is one change that might affect.
Select "Demand Register" object. Select "Access rights" tab. Check what is your access rights for attribute #4.
BR,
Mikko
For all the attributes of the
For all the attributes of the Demand Registries I see the access set to ReadWrite
Hi,
Hi,
What is your version from GXDLMSDirector? Can you try to read Demand Register and save it. Are scaler and unit saved now?
BR,
Mikko
The last version: 8.1.1905
The last version: 8.1.1905.1401
I confirm that I read directly the specific demand register the scalar & unit is correctly updated.
One thing that may perhaps help you to identify the anomaly is that the Access attribute is ReadWrite but the type, for those correctly read in the scalar and unit phase is set to Structure, while for those not read is None
Hi,
Hi,
We try to solve this. For some reason, your scaler and unit of Demand Registers are not read on refresh.
We'll try to find out why. I added this to the work list.
BR,
Mikko