question

anieuwstadt avatar image
anieuwstadt asked

Is Fronius production controlled during reconnection to grid?

Hi,

Having a problem with Fronius Symo ramping up output as soon as the grid returns but before the Victron cluster has reconnected to the grid. The inverter cluster tries to direct the excess power from the Fronius to the batteries, but the batteries are full. This leads to overvoltage on the battery, and correctly the battery protects itself. This problem occurs in the time window between grid being restored and the delay before the cluster re-connects to the grid.



SYSTEM SETUP

1698746009797.png

  1. All devices have latest firmware.
  2. Fronius settings are as per guidance.
  3. MODBUS control is working and top priority.
  4. FSPC does work, See the chart
  5. EM530 grid meter

CHART ILLUSTRATING THE PROBLEM

In the chart below:

  1. The thin black line is Output Frequency and should be Red, (suspect a VRM bug).
  2. As soon as Grid returns the inverter drop their frequency to the grid frequency. (expected)
  3. The Fronius power ramps up under FSPC. (Thick black line)
  4. Battery is full, cluster can be seen pushing energy into the battery and the battery voltage rising leading to the battery protection kicking-in.


1698747038190.png


fronius symo
1698746009797.png (28.0 KiB)
1698747038190.png (116.1 KiB)
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

6 Answers
dennibu avatar image
dennibu answered ·

I'm not sure but... is the frequency at the AC not measured BEFORE the NA protection? The input frequency is still at 0Hz at the time of the event. Which country code is used here? The grid should only be on for a while without errors before the NA protection switches on?

Ich bin mir nicht sicher, aber... wird die Frequenz am Wechselstrom in nicht VOR dem NA-Schutz gemessen? Die Eingangsfrequenz liegt zum Zeitpunkt des Ereignisses noch bei 0Hz. Welcher Ländercode wird hier verwendet? Das Netz soll nur eine Weile fehlerfrei laufen, bevor der NA-Schutz einschaltet?

4 comments
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

anieuwstadt avatar image anieuwstadt commented ·
Sorry, the position of the cursor may be causing some confusion. The event starts directly after the position indicated by the cursor. The Green and Purple battery lines can be seen to rise when the frequency (thin black) line is synchronised to the grid before the inverters connect to the grid.
0 Likes 0 ·
dennibu avatar image dennibu anieuwstadt commented ·

Die dünne orangefarbene Linie ist die Frequenz am AC-Eingang, also am Netz. Ich dachte, diese Frequenz wurde VOR dem Trennrelais gemessen. Daher sollte bereits vor der Synchronisierung und Umschaltung auf das Netzwerk eine Frequenz von 50Hz zur Verfügung stehen. Beim deutschen Grid Code wird 1 Minute lang geprüft, ob das Netz stabil ist und erst dann wieder synchronisiert und an den Ausgang angeschlossen. Allerdings bin ich mir nicht 100%ig sicher, ob die Frequenz Ihres Modells wirklich VOR (also Richtungsraster) des Trennrelais gemessen wird.

0 Likes 0 ·
dennibu avatar image dennibu anieuwstadt commented ·

Aus Beobachtungen anderer Systeme ist ersichtlich, dass normalerweise die Ausgangsfrequenz kurzzeitig angehoben wird, sodass der Wechselrichter am AC-Ausgang abschaltet, um zu verhindern, dass der Wechselrichter am AC-Ausgang während der Synchronisierung seine Leistung erhöht. Ich hoffe, Sie kommen mit der Übersetzung aus dem Deutschen zurecht ;-) Ich versuche nur, Denkanstöße zu geben, meine Erfahrung mit Wechselrichter am AC-Ausgang ist nicht großartig.

0 Likes 0 ·
anieuwstadt avatar image anieuwstadt dennibu commented ·

I appreciate the help. Google translate works well.

The expectation is something like you are saying. One of the options is for the Victron Inverter to push the output frequency to 53Hz before lowering the Output Frequency to the grid frequency, to force the PV ACinverter to go through its startup routine. The other is to Zero the output power of the PV AC inverter via MODBUS for the transition period from Off Grid to On Grid.


I have used a NodeRED hack to lower the Fronius output to Zero when the VE.Bus is in "Inverter" state AND the Output frequency is < 50.8Hz. Not a solution as the NodeRED is fighting with ESS. ESS wants the Fronius to deliver full power.


0 Likes 0 ·
dennibu avatar image
dennibu answered ·

Systeme, die einen internen NA-Schutz verwenden, zeigen das Verhalten bei der Erhöhung auf 53 Hz. Haben Sie einen externen Na-Schutz verwendet? Dies würde erklären, warum die 50 Hz des Eingangs gleichzeitig mit dem Ereignis erscheinen. Ich hatte die Frage, wie genau das mit der Synchronisation des Ausgangs in Verbindung mit Frequenzverschiebung funktioniert, habe aber leider nie eine genaue Erklärung bekommen.

2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

anieuwstadt avatar image
anieuwstadt answered ·

There is no external NA protection, using the built-in function. During the time between the grid becoming available and grid connection, the inverter output frequency drops to grid frequency and FSPC no longer working, ESS instructs the Fronius via MODBUS to delivery the configured power which is 20kW as per the screenshot. 1698914653329.png

Using NodeRED, I now drive this value to Zero when:

  1. VE.Bus State = Invert
  2. Output Frequency <= 50.8Hz
  3. Input Frequency <48Hz

The system is now stable but not a good solution as ESS repeatedly changes this value to 20kW and NodeRED needs to change it back to Zero.

Hoping for a more elegant solution.



1698914653329.png (10.1 KiB)
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

anieuwstadt avatar image
anieuwstadt answered ·

Below is the NodeRED flow for anyone needing a quick workaround.

No warranties are offered, use at your own risk, and adjustment is likely necessary.

[
    {
        "id": "aa4ccb3b467147cf",
        "type": "victron-input-vebus",
        "z": "5aa3466636d4d5b6",
        "service": "com.victronenergy.vebus/276",
        "path": "/State",
        "serviceObj": {
            "service": "com.victronenergy.vebus/276",
            "name": "Inverter Cluster"
        },
        "pathObj": {
            "path": "/State",
            "type": "enum",
            "name": "VE.Bus state",
            "enum": {
                "0": "Off",
                "1": "Low Power",
                "2": "Fault",
                "3": "Bulk",
                "4": "Absorption",
                "5": "Float",
                "6": "Storage",
                "7": "Equalize",
                "8": "Passthru",
                "9": "Inverting",
                "10": "Power assist",
                "11": "Power supply",
                "252": "External control"
            }
        },
        "initial": "",
        "name": "",
        "onlyChanges": false,
        "x": 300,
        "y": 120,
        "wires": [
            [
                "3b7068c4fedf190e",
                "ffb12d8a0a792ad3"
            ]
        ]
    },
    {
        "id": "3086badbf08fbc21",
        "type": "victron-input-vebus",
        "z": "5aa3466636d4d5b6",
        "service": "com.victronenergy.vebus/276",
        "path": "/Ac/Out/L1/F",
        "serviceObj": {
            "service": "com.victronenergy.vebus/276",
            "name": "Inverter Cluster"
        },
        "pathObj": {
            "path": "/Ac/Out/L1/F",
            "type": "float",
            "name": "Output frequency phase 1 (Hz)"
        },
        "name": "",
        "onlyChanges": false,
        "roundValues": "1",
        "x": 360,
        "y": 200,
        "wires": [
            [
                "f2c8818a584bb590",
                "51332c8172c2c612"
            ]
        ]
    },
    {
        "id": "3b7068c4fedf190e",
        "type": "switch",
        "z": "5aa3466636d4d5b6",
        "name": "Inverter Mode?",
        "property": "payload",
        "propertyType": "msg",
        "rules": [
            {
                "t": "eq",
                "v": "9",
                "vt": "num"
            },
            {
                "t": "neq",
                "v": "9",
                "vt": "num"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 2,
        "x": 740,
        "y": 120,
        "wires": [
            [
                "621fd434f8141beb"
            ],
            [
                "ce7a452ddc6b5f07"
            ]
        ]
    },
    {
        "id": "f2c8818a584bb590",
        "type": "switch",
        "z": "5aa3466636d4d5b6",
        "name": "Output Hz <=50.8",
        "property": "payload",
        "propertyType": "msg",
        "rules": [
            {
                "t": "lte",
                "v": "50.8",
                "vt": "num"
            },
            {
                "t": "gt",
                "v": "50.8",
                "vt": "num"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 2,
        "x": 750,
        "y": 200,
        "wires": [
            [
                "3c910cf9a0f8a71e"
            ],
            [
                "491c3450a98c5f87"
            ]
        ]
    },
    {
        "id": "621fd434f8141beb",
        "type": "change",
        "z": "5aa3466636d4d5b6",
        "name": "True",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "true",
                "tot": "bool"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 990,
        "y": 100,
        "wires": [
            [
                "f25614b30c669a8a",
                "ad65db795a33cb2d"
            ]
        ]
    },
    {
        "id": "ce7a452ddc6b5f07",
        "type": "change",
        "z": "5aa3466636d4d5b6",
        "name": "False",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "false",
                "tot": "bool"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 990,
        "y": 140,
        "wires": [
            [
                "f25614b30c669a8a",
                "ad65db795a33cb2d"
            ]
        ]
    },
    {
        "id": "3c910cf9a0f8a71e",
        "type": "change",
        "z": "5aa3466636d4d5b6",
        "name": "True",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "true",
                "tot": "bool"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 990,
        "y": 180,
        "wires": [
            [
                "f25614b30c669a8a",
                "ad65db795a33cb2d"
            ]
        ]
    },
    {
        "id": "491c3450a98c5f87",
        "type": "change",
        "z": "5aa3466636d4d5b6",
        "name": "False",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "false",
                "tot": "bool"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 990,
        "y": 220,
        "wires": [
            [
                "f25614b30c669a8a",
                "ad65db795a33cb2d"
            ]
        ]
    },
    {
        "id": "f25614b30c669a8a",
        "type": "BooleanLogic",
        "z": "5aa3466636d4d5b6",
        "name": "",
        "operation": "AND",
        "inputCount": "3",
        "topic": "result",
        "x": 1200,
        "y": 160,
        "wires": [
            [
                "6030f9b919ae4ffc"
            ]
        ]
    },
    {
        "id": "6030f9b919ae4ffc",
        "type": "switch",
        "z": "5aa3466636d4d5b6",
        "name": "",
        "property": "payload",
        "propertyType": "msg",
        "rules": [
            {
                "t": "true"
            },
            {
                "t": "false"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 2,
        "x": 1370,
        "y": 160,
        "wires": [
            [
                "13fab5d7a9a3f941"
            ],
            []
        ]
    },
    {
        "id": "13fab5d7a9a3f941",
        "type": "change",
        "z": "5aa3466636d4d5b6",
        "name": "Power Zero",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "0",
                "tot": "num"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 1550,
        "y": 140,
        "wires": [
            [
                "f366d1b272ea1803",
                "b1048efbda72cad1"
            ]
        ]
    },
    {
        "id": "f366d1b272ea1803",
        "type": "victron-output-pvinverter",
        "z": "5aa3466636d4d5b6",
        "service": "com.victronenergy.pvinverter/20",
        "path": "/Ac/PowerLimit",
        "serviceObj": {
            "service": "com.victronenergy.pvinverter/20",
            "name": "Solar Fronius"
        },
        "pathObj": {
            "path": "/Ac/PowerLimit",
            "type": "float",
            "name": "Power limit (W)",
            "writable": true
        },
        "name": "",
        "onlyChanges": false,
        "x": 1810,
        "y": 140,
        "wires": []
    },
    {
        "id": "b7d4ac2120e5b717",
        "type": "comment",
        "z": "5aa3466636d4d5b6",
        "name": "Fronius Output Throttling",
        "info": "",
        "x": 290,
        "y": 60,
        "wires": []
    },
    {
        "id": "ad65db795a33cb2d",
        "type": "debug",
        "z": "5aa3466636d4d5b6",
        "name": "debug 1",
        "active": false,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 1180,
        "y": 60,
        "wires": []
    },
    {
        "id": "b1048efbda72cad1",
        "type": "debug",
        "z": "5aa3466636d4d5b6",
        "name": "debug 2",
        "active": false,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 1740,
        "y": 80,
        "wires": []
    },
    {
        "id": "ffb12d8a0a792ad3",
        "type": "debug",
        "z": "5aa3466636d4d5b6",
        "name": "debug 3",
        "active": false,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 580,
        "y": 60,
        "wires": []
    },
    {
        "id": "51332c8172c2c612",
        "type": "debug",
        "z": "5aa3466636d4d5b6",
        "name": "debug 4",
        "active": false,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 680,
        "y": 280,
        "wires": []
    },
    {
        "id": "d027821e2fbdce89",
        "type": "victron-input-vebus",
        "z": "5aa3466636d4d5b6",
        "service": "com.victronenergy.vebus/276",
        "path": "/Ac/ActiveIn/L1/F",
        "serviceObj": {
            "service": "com.victronenergy.vebus/276",
            "name": "Inverter Cluster"
        },
        "pathObj": {
            "path": "/Ac/ActiveIn/L1/F",
            "type": "float",
            "name": "Input frequency phase 1 (Hz)"
        },
        "name": "",
        "onlyChanges": false,
        "roundValues": "1",
        "x": 350,
        "y": 400,
        "wires": [
            [
                "442d1617e742246e"
            ]
        ]
    },
    {
        "id": "442d1617e742246e",
        "type": "switch",
        "z": "5aa3466636d4d5b6",
        "name": "Input Hz >48",
        "property": "payload",
        "propertyType": "msg",
        "rules": [
            {
                "t": "gte",
                "v": "48",
                "vt": "num"
            },
            {
                "t": "lt",
                "v": "48",
                "vt": "num"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 2,
        "x": 690,
        "y": 400,
        "wires": [
            [
                "1ffb717e58edb690"
            ],
            [
                "48fe6123d4e9bb80"
            ]
        ]
    },
    {
        "id": "1ffb717e58edb690",
        "type": "change",
        "z": "5aa3466636d4d5b6",
        "name": "True",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "true",
                "tot": "bool"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 970,
        "y": 380,
        "wires": [
            [
                "f25614b30c669a8a",
                "ad65db795a33cb2d"
            ]
        ]
    },
    {
        "id": "48fe6123d4e9bb80",
        "type": "change",
        "z": "5aa3466636d4d5b6",
        "name": "False",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "false",
                "tot": "bool"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 970,
        "y": 420,
        "wires": [
            [
                "f25614b30c669a8a",
                "ad65db795a33cb2d"
            ]
        ]
    }
]
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

anieuwstadt avatar image
anieuwstadt answered ·

@Guy Stewart (Victron Community Manager)

Hi Guy, sorry to draw you into this, but I need some help with the problem.


2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

anieuwstadt avatar image
anieuwstadt answered ·

Fronius has pointed to this being a Victron problem to resolve.

2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Related Resources

Additional resources still need to be added for this topic