SINUMERIK Operate Zugriff auf PLC Variable, Optimierter Baustein

M.V

Level-2
Beiträge
56
Reaktionspunkte
8
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich habe eine Frage zum SINUMERIK Operate und dem Zugriff auf PLC Variablen.

Wir benutzen seit neustem eine Sinumerik One 1750 und ein Operate IPC.

Ich möchte gerne über Easyscreen eine Variable der PLC über WNP beschreiben.

mit

Press(VS1)
WNP("DB1.DBX0.0,1)
End_Press

funktioniert es ja üblich. Kann ich auch eine Variable aus einem Optimierten Baustein ansprechen? In der Beschreibung der "SINUMERIK ONE SINUMERIK Integrate Run MyScreens " habe ich nichts dazu gefunden.

Falls das möglich ist, wie spreche ich die Variable an?

Hiermit funktioniert es leider nicht.
Press(VS1)
WNP(""Testbaustein".Bool_1",1)
End_Press

Vielen Dank für die Hilfe!


Sinumerik One V06.20+ HF 01
Sinumerik Operate PCU/PC V06.20 +HF 01
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das klingt logisch und habe ich mir auch schon gedacht.

Wie soll man aber dann nur optimierte Bausteine benutzen? Gibt es da einen anderen Weg?
 
Im Systemhandbuch finde ich auch nur ein Zugriffsbeispiel auf einen nicht optimierten DB.
1680081099136.png

@Peter Gedöns weiß sicherlich mehr.

In einem anderen Handbuch findet man zig mal den Hinweis, dass die Grundprogramm Bausteine auch alle nicht optimiert sind.
1680081232678.png
 
Ja, das Handbuch habe ich mir auch angeschaut.

Okay, an sich ist es ja nicht sonderlich schlimm. Dann werden die weiter über die direkte Adresse beschrieben. Ich bin noch relativ neu und habe gehört man soll im optimal Fall nur mit Optimierten Bausteinen arbeiten.#


Danke für die Mühe!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nochmal hallo zusammen,

eine weitere Frage beschäftigt mich. Wie werden denn über Easyscreen Zahlen vom Datentyp Real angezeigt? So haben wir diese bei der SL 840D angesprochen.

DEF _Var_1 = (R2 /,//,$85302,":",$85059/WR1,AC3//"DB291.DBR6100"/10,,400/400,,130)

Normalerweise sollte es doch auch bei der Sinumerik ONE gehen, wenn ich

DEF _Var_1 = (I /,//,$85302,":",$85059/WR1,AC3//"DB291.DBW6108"/10,,400/400,,130)

schreibe wird mir die Integer Zahl angezeigt. Also ein Syntax

DEF _Var_1 = (R2 /,//,$85302,":",$85059/WR1,AC3//"DB291.DBD6100"/10,,400/400,,130)

wird mir die Gleitkommazahl in Dezimalzahlen angezeigt.

Also ich verstehe nicht so ganz warum es mit der Real Zahl nicht funktionieren sollte, ich der PDF steht auch nichts weiteres drin. Eventuell kann mir dabei jemand helfen.


PDF->
PLC-Daten
Byte y Bit z von Datenbaustein x DBx.DBXy.z
Byte y von Datenbaustein x DBx.DBBy
Word y von Datenbaustein x DBx.DBWy
Doubleword y v. Datenbaustein x DBx.DBDy
Real y von Datenbaustein x DBx.DBRy
Merkerbyte x Bit y Mx.y
Merkerbyte x MBx
Merkerword x MWx
Merkerdoubleword x MDx
Eingangsbyte x Bit y Ix.y oder Ex.y
Eingangsbyte x IBx oder EBx
Eingangsword x IWx oder EWx
Eingangsdoubleword x IDx oder EDx
Ausgangsbyte x Bit y Qx.y oder Ax.y
Ausgangsbyte x QBx oder ABx
Ausgangsword x QWx oder AWx
Ausgangsdoubleword x QDx oder ADx
String y mit Länge z aus Datenbaustein x DBx.DBSy.z

Übersehe ich gerade etwas?
Und R2 sollte normalerweise für Real mit zwei Nachkommastellen stehen.


Vielen Dank!


Edit:
Umstieg von SINUMERIK 840D sl auf SINUMERIK ONE Falls Sie in Ihrer bisherigen Projektierung DBx.DBRy und DBx.DBSy.z verwendet haben, müssen Sie die Syntax aus Kompatibilitätsgründen wie folgt ändern:

Real y von Datenbaustein x, DBx.DBRy:

DBx.DBDy:REAL

String y mit Länge z aus Datenbaustein x, DBx.DBSy.z:

DBx.DBB(y-2):STRING
 
Zuletzt bearbeitet:
mit

Press(VS1)
WNP("DB1.DBX0.0,1)
End_Press

funktioniert es ja üblich.
Michael sagt:
Das kann nicht funktionieren, da ein optimierter DB keine direkten Adressen mehr hat.
Na ja, es gibt ja (leider) auch symbolische Namen, die von absoluten Adressen auf den ersten Blick kaum zu unterscheiden sind.

Ich kann bei SINUMERIK Operate nicht mitreden, sage aber zusätzlich noch:
Das kann nicht funktionieren wegen der ungeraden Anzahl des Zeichens ".
Wäre ich Compiler oder Interpreter, dem zur Bearbeitung
WNP("DB1.DBX0.0,1)
untergeschoben würde, so würde ich das jedenfalls bemeckern.
 
Hinweis
Umstieg von SINUMERIK 840D sl auf SINUMERIK ONE
Falls Sie in Ihrer bisherigen Projektierung DBx.DBRy und DBx.DBSy.z verwendet haben, müssen Sie die Syntax aus Kompatibilitätsgründen wie folgt ändern:
  • Real y von Datenbaustein x, DBx.DBRy:
    DBx.DBDy:REAL
  • String y mit Länge z aus Datenbaustein x, DBx.DBSy.z:
    DBx.DBB(y-2):STRING
Alternativ dazu, können Sie bei der SINUMERIK ONE symbolisch auf einen Real oder String zugreifen, z. B. DB2001.MyRealVar oder MyOwnDB.MyStringNoOne.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
... Falls Sie in Ihrer bisherigen Projektierung DBx.DBRy und DBx.DBSy.z verwendet haben, müssen Sie die Syntax aus Kompatibilitätsgründen wie folgt ändern: ...
Aus KompatibilitätsGründen soll ich etwas ändern müssen? Hat das Wort "Kompatibilität" mittlerweile die gegenteilige Bedeutung dessen angenommen, was ich so in vager Erinnerung habe? :ROFLMAO:
Anscheinend sind hier zwei WorkArounds beschrieben, die eine fehlende Kompatibilität ausbügeln sollen. Auf welche Kompatibilität (von was zu was) bezieht sich denn diese Aussage? :unsure:
 
Zuletzt bearbeitet:
Ich hab keine Lust Vorträge über Kompatibilität zu halten ,
Wir haben es so in den Interpreter eingebaut damit man ohne Symbole zugreifen kann DBR und DBS war nicht möglich.
ich hoffe der TE kommt jetzt klar
 
Ja, vielen Dank das habe ich auch heraus gefunden, siehe #6 bearbeitet.

Ich habe zuerst die PDF von 2020 benutzt und es deshalb nicht gefunden.

Ich habe auch nochmal wegen des Symbolischen Zugriffes Siemens gefragt.

Variable: Var1 vom Datenbaustein :Test

Def niveau = (R////wr2////0,0,0)

LOAD
niveau.var = """Test"""<<".Var1"
END_LOAD

Das funktioniert noch nicht so genau, werde es aber weiterhin mal ausprobieren. Oder sieht jemand dort schon ein Fehler?

Edit:
Var1 -> Bool
Press(VS2)
WNP("""Test"""<<".Var1",1)
End_Press
funktioniert schon mal um einen Bit mit Symbolischer Adressierung zu beschreiben.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich kann bei SINUMERIK Operate nicht mitreden, sage aber zusätzlich noch:
Das kann nicht funktionieren wegen der ungeraden Anzahl des Zeichens ".
Wäre ich Compiler oder Interpreter, dem zur Bearbeitung
WNP("DB1.DBX0.0,1)
untergeschoben würde, so würde ich das jedenfalls bemeckern.
Das muss natürlich
WNP("DB1.DBX0.0",1)
sein. Das war mein Fehler.
 
Zurück
Oben