OP
uweschwarz
Level-2
- Beiträge
- 229
- Reaktionspunkte
- 12
-> Hier kostenlos registrieren
Nach Rücksprache mit der Siemens Fachberatung, welche erstaunlich schnell reagiert hat, ist nun klar wie es funktioniert. Entscheidend ist, dass im FB für die analogen Messstellen überprüft wird, ob sich der identName geändert hat und dann die entsprechenden Daten in den HMI-Schnittstellen-Baustein kopiert.
REGION read panel request
IF "PANELS_NO" > 0 THEN
FOR #tempPanelIndex := 1 TO #tempPanelNo DO
#statPanels[#tempPanelIndex] := #panels[#tempPanelIndex].anaRead;
#statIdentNames[#tempPanelIndex] := #panels[#tempPanelIndex].identName;
IF #statIdentNames[#tempPanelIndex] <> #statOldIdentNames[#tempPanelIndex] THEN
#statFirstCalls[#tempPanelIndex] := true;
#statOldIdentNames[#tempPanelIndex] := #statIdentNames[#tempPanelIndex];
ELSE
#statFirstCalls[#tempPanelIndex] := false;
END_IF;
END_FOR;
FOR #tempPanelIndex := 1 TO #tempPanelNo DO
IF (NOT #statFirstCalls[#tempPanelIndex]) AND (#statPanels[#tempPanelIndex].settingsHMI <> #statOldPanels[#tempPanelIndex]) AND (#statIdentNames[#tempPanelIndex] = #statDataAnaRead.statusHMI.identName) THEN
#statDataAnaRead.settingsHMI := #statOldPanels[#tempPanelIndex] := #statPanels[#tempPanelIndex].settingsHMI;
END_IF;
END_FOR;
END_IF;
END_REGION