TIA Problem Rezepturverwaltung - Datensatz laden

HPE

Level-2
Beiträge
109
Reaktionspunkte
27
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich möchte in einem Skript mit folgender Codezeile einen Datensatz einer Rezeptur laden:
Code:
LoadDataRecord 1, 1, Status

In TIA kann ich dieses Skript nur übersetzen, wenn ich die Variable "Status" lokal im Skript deklariere. Verwende ich stattdessen eine HMI-Variable (intern o. PLC-Variable), wird die Syntaxprüfung mit Fehler "Falscher Parametertyp" beendet. Probiert habe ich mit TIA V13 und auch V13 SP1 auf verschiedenen Rechnern. In WinCCflexible hingegen lässt das Skript auch mit HMI-Variablen übersetzen. Gibt es hierfür eine Erklärung?

Gruss
HPE
 
Grundsätzlich solltest du keine HMI interne Variable für den Status nutzen, sondern eine SPS Steuerungsvariable Merkerwort oder Datenwort.
Bei einer internen Variablen bekommst du keinen richtigen Status wieder.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielleicht hilft Dir, die interne Variable mit dem Schlüsselwort "SmartTags("Variable")" anzusprechen? Mal verschiedene Datentypen ausporbiert? Byte/INT/WORD...

@Rostiger Nagel: Warum sollte eine interne Variable den Status nicht korrekt speichern? Die Variablen sind doch alle vom gleichen Typ, nur die einen mit Verbindung zur SPS, die anderen ohne?
 
Vielleicht hilft Dir, die interne Variable mit dem Schlüsselwort "SmartTags("Variable")" anzusprechen? Mal verschiedene Datentypen ausporbiert? Byte/INT/WORD...

@Rostiger Nagel: Warum sollte eine interne Variable den Status nicht korrekt speichern? Die Variablen sind doch alle vom gleichen Typ, nur die einen mit Verbindung zur SPS, die anderen ohne?

Warum weiß ich auch nicht, aber du bekommst vielleicht unter umständen eine Fertigmeldung, obwohl noch nicht alle Variablen umgeladen sind.
 
Vielen Dank für die Antworten.
@rostiger Nagel
Die Empfehlung für SPS-Variablen kenne ich und genau da liegt ja das Problem. Sobald ich eine SPS-Variable verwende, kommt beim Übersetzen die Fehlermeldung "Falscher Parametertyp". Bei WinCCflex 2008 funktionierte es noch mit SPS-Variablen. Das gleiche Skript in TIA V13 bringt die Fehlermeldung.
@JSEngineering
Ich habe mit/ohne den Zusatz Smarttags und sämtliche Typen Byte/Int/Word/... probiert.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ich habe das jetzt gerade mal mit DW als Status probiert, ich bekomme keine Fehlermeldung V13SP1

Code:
LoadDataRecord "Parameter", SmartTags("001-IDB.Sollwerte.Parameter_Nr"), "001-IDB.Status.Parameter"

Ich habe die Funktion über die Funktionsliste eingefüght.
 
Hallo,

bei manchen Systemfunktionen (so auch bei dieser) möchte Siemens ganz gerne die Parameter in Anführungszeichen gesetzt haben:

LoadDataRecord 1, 1, "Status"

Wobei Status dann sowohl eine lokale als auch globale Variable sein kann.


Gruß, Fred


PS: War aber auch bei ProTool/Pro und WinCC Flex schon so!?
 
@rostiger Nagel und faust
Vielen Dank Euch beiden. Es funktioniert jetzt. Man darf beim letzten Parameter Status den Zusatz SmartTags nicht verwenden und man muss die Variable in Anführungszeichen setzen. Bei WinCCflex waren (zumindest in diesem Fall) keine Anführungszeichen notwendig.

Gruss
HPE
 
Zurück
Oben