Zur Geschwindigkeit, da musst du an verschiedenen Stellen optimieren. Es ist ja eine lange Kommunikations-Verarbeitungskette:
HMI->SPS, nutzt du den Codesys-Treiber oder Modbus TCP? Auf welchem Wert steht im HMI der Timeout 2, das ist die Polling-Zeit zur SPS? Meist ist die Kommunikation hier aber relativ schnell.
SPS zu Umrichter
Hier hast du zwei Stellen, an denen du optimieren kannst. In Codesys gibst du ja in der Kommunikationsteuerung für den Modbus Master ein, wie schnell der kommunizieren soll. Ich glaube im Standard ist der zyklisch, also auf 1 Sekunde. Du willst den wahrscheinlich lieber ereignisbasiert, also immer wenn im SPS-Programm etwas ausgelöst wird. Das kannst du da irgendwo einstellen. Eventuell ist es auch schon so eingestellt.
Du willst auch deine Betriebskommunikation priorisieren vor der Abfrage von irgendwelchen Parametern.
Auch am Umrichter kannst du noch optimieren. In Parametergruppe P14 kannst du die serielle Kommunikation einstellen. Die Baudrate steht hier auf 19200, das ist ok, aber es geht noch schneller. Je höher, desto schneller, aber bei langen Leitungen gibt es dann schneller Störungen in der Kommunikation.
In P14.03 kannst du einstellen, wie lange der Umrichter warten soll, bis er antwortet. Das steht auf 5 ms. Probier mal, ob die Fehlerrate geringer wird, wenn du es langsamer machst.
Ich vermute aber mal, dass die Codesys-Einstellung für die Kommunikationsroutine hier die kritische Einstellung ist, mit der du es schneller hinbekommst.
Technisch sind auch seriell Reaktionen von ein paar ms möglich.
Zu Profinet: Modbus RTU ist mehr als 20 Jahre älter, als Profinet ... Modbus RTU wurde 1979 eingeführt, Profinet 2001. Da hat sich natürlich einiges weiterentwickelt.
Von INVT gibt es auch Erweiterungskarten für Profinet für den GD270 und GD350A. Nur dann ist es halt mehrfach so teuer. Da ist INVT leider aktuell noch nicht so wettbewerbsfähig.