Wago 750-493 get grid frequency

Stream

Level-1
Beiträge
6
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hello all
I need to get the network frequency using a three-phase Wago 750-493 meter. I use the function block from the WagoAppPowerMeasurement standard library. I was surprised to find that the function block does not have an outgoing variable for frequency. However, I can see the frequency values, if I open the FbMaster3Phase variable in monitoring mode, there is an aFrequency array that contains frequencies for all three phases. Apparently this is an internal library variable. And my question is how to access this variable from the code of my app?
 
Hi Stream,

we use the 494 and the 495 at our company. I looked into the library description of your 493 and was a bit confused. The function blocks for the 493 are totally different to the ones of the other two (wich have more detailled measurement information).

Based on the library and the how to use from WAGO i would say you don't get the frequency as measured value. After looking through the manual of the 493 (on page 37) where it says: "Phase frequencies are determined by zero-crossing detection of the scanned signals." it must be measured.

For me it looks like the 493 is measuring the frequency as internal value, but cannot forward it that you can read it into your controller. When my toughts are right, then they need the frequency respectively the zero-crossing to get the cos phi.

I don't know where you found the Frequency array but if thats not intendet to read it out i believe you can't get it. So after all i think you won't get arround of using at minimum a 494 the Compact function block has an output with an frequency array of the three phases.

Sorry for my english. I hope i could explain you this a litte bit. You can also ask the WAGO support, but i think you will get a similar answer.

Greetings

Mavorkit
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Thanks Mavorkit
I also noticed that 493 block is noticeably different from 494 and 495. I can not find the reason why Wago decided not to share the frequency in this module, perhaps the price. But you are right, this module measures the frequency under your hood. I found the frequency in one of the internal variables of the module's function block. Sorry, I can't describe it correctly, I'm new to the PLC world. I attached a screenshot where I found these variables.
Actually my question from the field of programming. How to access the library internal variable? On the other hand, maybe I can get data directly from the module, bypassing the library? I will be glad if you tell me the direction of the search.
 

Anhänge

  • MVIMG_20190206_114036 copy.jpg
    MVIMG_20190206_114036 copy.jpg
    567,3 KB · Aufrufe: 23
In order to access the internal variables you just can use the following experession:

VAR
dwTestvariable : DWORD;
END_VAR

dwTestvariable:=FbMaster3Phase_0.aFrequency[1];
 
dwTestvariable:=FbMaster3Phase_0.aFrequency[1];

Thanks for the advice, but unfortunately this does not work. I get an error: 'aFrequency' is no input of 'FbMaster3Phase'

Nevertheless, I solved this problem in a different way:
Judging by the documentation, this module has three data exchange channels, one for each phase. Each channel corresponds to two variables that can be mapped onto local variables. These are state variables (_ST_1, ST_2, _ST_3) and data variables (_IN_1, _IN_2, IN_3). The documentation says that whenever the status byte is 8, the frequency will be written to the data variable.

In the final result, the working code looks like this:
IF pm_ST_1 = 8 THEN
frequencyP1 := pm_IN_1;
END_IF


IF pm_ST_2 = 8 THEN
frequencyP2 := pm_IN_2;
END_IF


IF pm_ST_3 = 8 THEN
frequencyP3 := pm_IN_3;
END_IF

The frequency is taken from the module directly bypassing the library.
I am sure that there is a more elegant solution, but at the moment this method completely suits me
 
Zurück
Oben