Step 7 Von AWL zu SCL

MoChri

Level-2
Beiträge
25
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,

ich habe ein problem....wer hat das nicht wenn er hier postet?

Ich habe mein Programm in Step7 5.5 (nicht TIA) schon ewig laufen und immer verbessert durch zahlreiche Maschinen aber da ich jetzt schön langsam umsteigen in SCL möchte und das soweit schon gelungen ist bis auf eine Lösung wo ich selbst nicht auf einen Nenner komme.
Ich erkläre mal in Kurzfassung was ich in AWL schon ewig mache was ich in SCL einfach nicht hinbekomme...

Ich möchte die LOKALDATEN vom Vorgänger FC/FB auslesen und teilweise zurückschreiben wie kann ich das in SCL lösen ich hab schon so viel ausprobiert?

Siehe Beispiel in AWL das sich bewärt hat:

Code:
[SIZE=3][COLOR=#000000][FONT=Calibri]CALL FC 30
NAME / DATENTYP / ADRESSE[/FONT][/COLOR][/SIZE]
[SIZE=3][COLOR=#000000][FONT=Calibri]TEST / BOOL / L0.0[/FONT][/COLOR][/SIZE]
[SIZE=3][COLOR=#000000][FONT=Calibri]NIX / BYTE / L1.0[/FONT][/COLOR][/SIZE]
[SIZE=3][COLOR=#000000][FONT=Calibri]TEST2 / BOOL / L2.0[/FONT][/COLOR][/SIZE]
[SIZE=3][COLOR=#000000][FONT=Calibri]NIX2 / BYTE / L3.0[/FONT][/COLOR][/SIZE]

[SIZE=3][COLOR=#000000][FONT=Calibri]NETZWERK 1[/FONT][/COLOR][/SIZE]
[SIZE=3][COLOR=#000000][FONT=Calibri]U M 0.0[/FONT][/COLOR][/SIZE]
[SIZE=3][COLOR=#000000][FONT=Calibri]= #TEST[/FONT][/COLOR][/SIZE]

[SIZE=3][COLOR=#000000][FONT=Calibri]L MB 1[/FONT][/COLOR][/SIZE]
[SIZE=3][COLOR=#000000][FONT=Calibri]T #NIX[/FONT][/COLOR][/SIZE]

[SIZE=3][COLOR=#000000][FONT=Calibri]UC FB 35 ===========> [/FONT][/COLOR][/SIZE][SIZE=3][COLOR=#000000][FONT=Calibri]L LD 87000000 //Kennung 'Vorgänger-Lokaldaten[/FONT][/COLOR][/SIZE]
[SIZE=3][COLOR=#000000][FONT=Calibri]                                        LAR1 [/FONT][/COLOR][/SIZE]
[SIZE=3][COLOR=#000000][FONT=Calibri]                                        L D [AR1,P#0.0] [/FONT][/COLOR][/SIZE]
[SIZE=3][COLOR=#000000][FONT=Calibri]                                        T MD 30[/FONT][/COLOR][/SIZE]
                                        
                                        U [AR1,P#0.0] ;Bearbeitung der Daten
                                        SPBN BBB
                                        SET
                                        = [AR1,P#2.0]
                                        L B[AR1,P#1.0]
                                        L    1
                                        +I
                                        T [FONT=Calibri][SIZE=3][COLOR=#000000] B[AR1,P#3.0][/COLOR][/SIZE][/FONT]
                                        SPA AAA
[SIZE=3][COLOR=#000000][FONT=Calibri][FONT=Calibri]                                        BBB: CLR
[FONT=Calibri][SIZE=3][COLOR=#000000]                                        = [AR1,P#2.0][/COLOR][/SIZE][/FONT]
                                        AAA: NOP 0
[/FONT][FONT=Calibri][FONT=Calibri][SIZE=3][COLOR=#000000]<================      [/COLOR][/SIZE][/FONT][/FONT]BE   ;Ende FB30 zurück zum FC30

[FONT=Calibri][SIZE=3][COLOR=#000000]U #Test2
= M2.0[/COLOR][/SIZE][/FONT]

L #NIX2 
[/FONT][/COLOR][/SIZE][SIZE=3][COLOR=#000000][FONT=Calibri]T MB3

[/FONT][/COLOR][/SIZE][SIZE=3][COLOR=#000000][FONT=Calibri]BE
[/FONT][/COLOR][/SIZE]

Hat jemnd das in dieser richtung schon gemacht? Habe es schon mit ANY und AT funktion probiert aber auf keine Lösung gekommen.

Danke schon mal für eure rückmeldung.

Gruss

MoChri :idea:
 
Zuletzt bearbeitet:
Hallo ihr Programmierer,

warum Antwortet nimmand auf meine frage? Passt was nicht oder gibts da generel keine Lösung?

MFG
Christian
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo "Programmierer" Christian.

Wozu soll diese "Schweinerei" mit den Vorgänger-Lokaldaten gut sein?
Vorgänger-Lokaldaten lassen sich prima und sauber bearbeiten, indem man sie als IN/OUT/INOUT an aufgerufene Bausteine übergibt. :)

Nimm doch das Nicht-Hinbekommen zum Anlass, Dich von solch undurchsichtigen Bausteinen zu distanzieren/verabschieden. SCL soll Programme besser lesbar und Datentypsicherer machen - nicht jedoch den Programmierer bei allen möglichen Schweinereien auf höherer Ebene unterstützen.

Harald
 
Hallo Christian,

ich kann PN/DP nur voll zustimmen. Auf die Lokaldaten des aufrufenden Baustein zugreifen ist so ein bisschen "von hinten durch die Brust ins Auge".

Und von AWL auf SCL "umsteigen" halte ich auch für fraglich. Meiner Meinung nach hat jede Darstellung seine Daseinsberechtigung. Ich selber nutze auch viel SCL, da wo es sinn macht. So habe ich sämtliche Pointer aus meinen Programmen verbannt und nutze ausschließlich symbolische Addressierung. Dafür ist SCL wunderbar, Arrays, Berechnungen...
Um Werte an eine Funktion oder Baustein zu übergeben gibt es Schnittstellen.
Ich selber verfahre streng nach dem EVA - Prinzip (Eingabe - Verarbeitung - Ausgabe).

Gruß
Stefan
 
Hallo Stefan,

1. Ja in diesem Punkt habt ihr beide recht das dadurch das Programm nicht mehr so leicht lesbar ist aber das ist ja gerade der zweck dazu und ich kann den Baustein sehr flexibl dadurch machen ohne jedesmal die Vareablen zu deklarieren. Aber meine frage war ja ob das wirklich möglich ist im SCL ?

2. Der umstieg von AWL zu SCL hmmm.... Ich habe vor zwei Tagen mit einen Simatic Techniker von Siemens geredet und da ist dieses Thema wieder mal auf gekommen TIA-Portal hat kein AWL mehr. Daher möchte ich meine Grundbausteine die ich schon Jahre nütze von AWL in SCL übersetzen da KOP/FUP nicht in frage kommt.
Ausser die aussage von diesen Herrn ist falsch dann wäre das ganze sowieso umersonst und da ich aber mehr in der Sinumerik Welt bin (840Dsl, usw.) und das TIA portal da eh erst ab 2015 kommt habe ich ja noch zeit und mir SCL noch besser beizubringen.

Gruß
Christian
 
Zuviel Werbung?
-> Hier kostenlos registrieren
1. Ja in diesem Punkt habt ihr beide recht das dadurch das Programm nicht mehr so leicht lesbar ist aber das ist ja gerade der zweck dazu

Hier wird immer wieder versucht User vom Gegenteil zu überzeugen.
Ein gut lesbares Programm ist das A und O!

Der umstieg von AWL zu SCL hmmm.... Ich habe vor zwei Tagen mit einen Simatic Techniker von Siemens geredet und da ist dieses Thema wieder mal auf gekommen TIA-Portal hat kein AWL mehr. Daher möchte ich meine Grundbausteine die ich schon Jahre nütze von AWL in SCL übersetzen da KOP/FUP nicht in frage kommt.
Ausser die aussage von diesen Herrn ist falsch...

Ja die Aussage war falsch!
 
Ja dann habe die Leute bei der Siemens Hotline nicht die neuesten Informationen wenn es doch AWL bei dem neuem TIA-Portal gibt. Ich selbst habe das noch nicht installiert da ich es noch nicht verwenden kann bei der Sinumerik. Aber dank für dieses Info damit änderd sich die lage gewaltig vorerst.

Trotzdem wäre es super zu wissen wie man in SCL auf die vorgänger [V-Stack] zugreifen und beschreiben kann. Also wenn jemand noch lust hat mir da zu helfen es zu checken dann wäre ich dankbar.

Gruss
 
Aber meine frage war ja ob das wirklich möglich ist im SCL ?

Meines Wissens ist das nicht möglich ... und wenn du sauber programmierst (wie schon weiter oben genannt) ist es auch nicht nötig.

... und wegen AWL ... im Augenblick kann Siemens das im TIA noch (wie schon geschrieben). Was wir allerdings nicht wissen ist, auf was für abstruse Ideen die Siemens-Leute in den nächsten Jahren noch so kommen. Da kann dann vielleicht doch AWL über Bord gehen ... man weiß ja nie ...

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
1. Ja in diesem Punkt habt ihr beide recht das dadurch das Programm nicht mehr so leicht lesbar ist aber das ist ja gerade der zweck dazu

Habe ich dich richtig verstanden? Du WILLST dass das Programm schwer zu verstehen ist?

und ich kann den Baustein sehr flexibl dadurch machen ohne jedesmal die Vareablen zu deklarieren.

Selbst wenn du auf die Vorgängerlokaldaten zugreifst musst du doch trotzdem wissen was wie wo und wann liegt. Das ist zwar dann nicht deklariert aber flexibler ist es auch nicht. Du kannst dir ja auch einen Any an die Schnittstelle legen die muss dann auch nicht ausdeklariert sein.

Aber meine frage war ja ob das wirklich möglich ist im SCL ?

SCL ist Strukturierter Text. Sinn der Sache ist das Programm Strukturiert aufzubauen. Da irgendwie was durch die Hintertür zu basteln ist Sinnfrei.

2. Der umstieg von AWL zu SCL hmmm.... Ich habe vor zwei Tagen mit einen Simatic Techniker von Siemens geredet und da ist dieses Thema wieder mal auf gekommen TIA-Portal hat kein AWL mehr.

Also bis vor ner Stunde ging AWL in Tia noch. Die 1200er kann kein AWL aber da ist der ganze Systemaufbau anders, da würde solches Basteln dann sowieso komische Ergebnisse liefern.

mfg René
 
Dann werde ich wohl den Siemens Techniker falsch verstanden haben und er meinte damit die 1200 ! Da ich die nicht kenne und ich selbst nur noch mit dem S7 V5.5 SP2 Arbeit und ich nur von hören und sagen erfahren habe das viele das AWL vermissen habe ich mir SCL angeeignet und bis jetzt gut zurecht gekommen bis auf die AR1/AR2 funktionen die sind im SCL für mich nicht so leicht durchschaubar.

Ja aber wer will sein Programm nicht schützen das er entwickelt? Der "KNOW_HOW_PROTECT" schutz kann ja jeder offnen oder?

Siemens hat für die Sinumerik noch immer ein Grundprogramm die ein FB15 enthält der in "C für S7" programmiert ist und die machen das selbe spiel mit den Lokaldaten da dieser FB15 eigentlich das Hauptprogramm ist und genau das habe ich in AWL auch erstellt nur nicht in "C für S7" da müsste ich bei Siemens in der Entwicklung Arbeiten.

Ja jetzt nochmal die FRAGE hat jemand ein Beispiel die V-Stacks in SCL zu Laden und bearbeiten und dann wieder zurückschreiben zu können ohne das ich ein IN/OUT Parameter immer angeben muss.

mfg
 
Ja aber wer will sein Programm nicht schützen das er entwickelt? Der "KNOW_HOW_PROTECT" schutz kann ja jeder offnen oder?

Stell dir vor dein Schaltanlagenbauer will sein Programm schützen das er entwickelt. Das sähe dann so aus das du einen Funktionierenden Schaltschrank bekommst wo nur die Ausgangsklemmen beschriftet sind. Nur eine einzige Kabelfarbe existiert und das Schema kriegst du auch nicht.
Würdest du so einen Schaltschrank bezahlen?

Die grosse Arbeit ist ja normalerweise in unserer Branche nicht, der Objektbaustein für einen Klappenantrieb oder den Frequenzumformer mit Modbus. Sondern das gesamtwerk und das lässt nur schützen wenn du das Programm Passwortschützt und die Software nicht abgibst. Ich kenne keinen Kunden der nicht darauf besteht die Software im Klartext mitzukriegen. Die meisten scheissen dir schon aufs Dach wenn statt Englisch, Deutsch als Kommentar verwendet wird. Geschweigedenn sowenig Kommentar vorhanden ist dass es nicht auch ein Vorschulkind kapiert was abgeht.

Ich weiss nicht wies euch geht. Aber ich werde fürs Komplettpaket bezahlt. Entwicklung findet in dem Sinne wie "ich habe da ne neue Formel erschaffen welche noch keiner kennt" nicht mehr statt.

mfG René
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Entwicklung findet in dem Sinne wie "ich habe da ne neue Formel erschaffen welche noch keiner kennt" nicht mehr statt.
Es kann sein das in eine Maschinensteuerung gibt es keine grosse 'Erfindungen', aber trotzdem sind es mehrere millionen € und Mannjahren darin gesteckt in den Entwicklung.
Eine echte Bedrohung ist, eine Kunde kauft eine Maschine, und kopiert es ins hundert. Das ist mir bekannte passiert.
Oder, ein Konkurrent bekommt Zeichnungen, Quellcode, Handbücher in 10 Sprachen, wechselt nur den Firmenlogo und verkauft denselbe Maschine 25% billiger. Das letzte ist mir passiert.

Zurück zum Thema.
Ich denke das den Geschichte mit "Zugriff auf Vorgänger Lokaldaten", vielleicht handelt es um wie man ein Program zusammenstuckt wo unterschiedliche Programme und Unterprogramme ein gemeinsame Funktionalität bekommt.
Wenn ja, dann denke das die Zauberwörter sind "multiple instance". Dadurch kann eine FB die Daten und Funktione von ein Untergeordnete FB 'erben'. Das geht auch in SCL.
 
SCL ist Strukturierter Text. Sinn der Sache ist das Programm Strukturiert aufzubauen. Da irgendwie was durch die Hintertür zu basteln ist Sinnfrei.

Ein Programm strukturiert aufbauen hat überhaupt nichts mit SCL zu tun.
Das ist einfach nur ein Editor und nicht die Lösung aller Probleme nach dem Motto nimm SCL und der Mist den ich sonst programmiere ist der intelligentere Mist....... ich werde das Gefühl nicht los das viele sowas glauben.

Stell dir vor dein Schaltanlagenbauer will sein Programm schützen das er entwickelt. Das sähe dann so aus das du einen Funktionierenden Schaltschrank bekommst wo nur die Ausgangsklemmen beschriftet sind. Nur eine einzige Kabelfarbe existiert und das Schema kriegst du auch nicht.
Würdest du so einen Schaltschrank bezahlen?

Die grosse Arbeit ist ja normalerweise in unserer Branche nicht, der Objektbaustein für einen Klappenantrieb oder den Frequenzumformer mit Modbus. Sondern das gesamtwerk und das lässt nur schützen wenn du das Programm Passwortschützt und die Software nicht abgibst. Ich kenne keinen Kunden der nicht darauf besteht die Software im Klartext mitzukriegen. Die meisten scheissen dir schon aufs Dach wenn statt Englisch, Deutsch als Kommentar verwendet wird. Geschweigedenn sowenig Kommentar vorhanden ist dass es nicht auch ein Vorschulkind kapiert was abgeht.

Ich weiss nicht wies euch geht. Aber ich werde fürs Komplettpaket bezahlt. Entwicklung findet in dem Sinne wie "ich habe da ne neue Formel erschaffen welche noch keiner kennt" nicht mehr statt.

mfG René

Du bist jung und nicht selbstständig ???? oder

Ich kenne mehr Kunden die keine vollständige Dokumentation haben als welche mit.
Beim Elektroschaltplan gibt es meistens nur eine PDF und nicht das richtige Projekt und bei der Programmierung gibt es oft nicht das Programm weil viele es für Ihr geistiges Eigentum halten und auch den
Kunden in eine Abhängigkeit bringen wollen.
 
Ich kenne mehr Kunden die keine vollständige Dokumentation haben als welche mit.

Die Kunden kenne ich natürlich auch. Meistens sind das ja dann die welche dann mit einer Maschine dastehen welche nicht mehr mit neuen Teilen erweitert werden kann, weil der Hersteller Pleite oder der Programmierer Tod und der Hersteller vom Programmierer kein verständliches Programm hat.

Beim Elektroschaltplan gibt es meistens nur eine PDF und nicht das richtige Projekt und bei der Programmierung gibt es oft nicht das Programm weil viele es für Ihr geistiges Eigentum halten und auch den
Kunden in eine Abhängigkeit bringen wollen.

Naja bei mir sind es meist Realisierungspflichtenhefte die ich für geistiges Eigentum halte und die ich mittlerweile an diversen Objekten von anderen Firmen wiederfinde.
Aber was soll ich machen? Ein 80Seitiges Pflichtenheft Chiffrieren damit es nicht kopiert werden kann?

Was macht ihr dann dagegen dass eine Maschine mithilfe des Elektroschemas (welches ja auch geistiges Eigentum ist) kopiert wird?
Oder könnt ihr wirklich eine Anlage abgeben ohne Elektroschema?

Dann sollte ich wirklich in den Maschinenbau gehen, dann würde ich da in den tiefen tiefen des verschlüsselten Programms einen Timer einbauen welche die Maschine n Jahr nach Garantieablauf stilllegt. Weils dann kein anderer mehr zum laufen bringen kann bräuchten sie MICH zu meinen neuen Preisen ;)
Und weil das Programm ja so kompliziert verschlüsselt ist, kann mir ja auch keiner Absicht unterstellen oder gar nachweisen.

mfG René
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Was macht ihr dann dagegen dass eine Maschine mithilfe des Elektroschemas (welches ja auch geistiges Eigentum ist) kopiert wird?
Man kann das Program bis 90% von die Elektropläne entwickeln. Aber die letzte 10% macht den Unterschied.
Und, wenn er das Program selber schreibt - mit oder ohne unser Elektropläne als Vorlage - muss er ganauso viel Zeit und kosten haben für den Entwicklung.

Oder könnt ihr wirklich eine Anlage abgeben ohne Elektroschema?
Unsere Maschinen werden mit Elektropläne, Installationsanweisung, Installationszeichnungen, Instandhaltungsanweisungen, Ersatzteillisten, Bedienungsanweisung mit Liste von alle Parameter und Alarme. Und noch weiters das ich nicht errinnern kann.
Aber er bekommt nicht den Quell-Code von das Program.
Ausnahme ist wenn es ist eine Maschine oder Anlage das komplett speziel für diese Kunde entwickelt wurde. Dann bekommt er die Quell-Code.
 
einen Timer einbauen welche die Maschine n Jahr nach Garantieablauf stilllegt.
Warum eigentlich nicht? Geplante Obsolenz ist ja grad modern.

Ich hab auch schon Firmen gesehen die einen Timer einbauen, wenn du nach der Inbetriebnahme nicht innerhalb
eines Zeitraumes einen Code auf der Visu eingibst (Den Code bekommst du nachdem du die Schlussrechnung bezahlt hast), dann wird die Maschine ebenfalls still gesetzt. :)
 
Ich kenne mehr Kunden die keine vollständige Dokumentation haben als welche mit.
Beim Elektroschaltplan gibt es meistens nur eine PDF und nicht das richtige Projekt und bei der Programmierung gibt es oft nicht das Programm weil viele es für Ihr geistiges Eigentum halten und auch den Kunden in eine Abhängigkeit bringen wollen.

Sowohl das Eine wie auch das Andere kenne ich aus meinem bisherigem Berufsleben genau anders herum ... und ich bin ungefähr genauso lange der Kunde wie auch der Lieferant gewesen ...

Ich halte die Kopierschutz-Diskussion für Unsinn - sorry ... 8)

Gruß
Larry
 
Naja über denn Sinn oder Unsinn vom Kopierschutz kann man ja streiten. Da gibt es sicherlich auch Unterschiede zwischen Serien-Maschinenbau und Prozessautomatisierung... Aber nen schlechten Programmierstil als Kopierschutz zu verkaufen, ist meiner Meinung nach Irrsinn. Erstens blickt man selber nach 5 Jahren nicht mehr durch und zweitens bei einem evtl. Personalwechsel der Kollege, welcher das Projekt fortführen soll, schon garnicht.
Und der "Kopierer" kann das schlechte Programm trotzdem übernehmen und seine evtl. notwendigen Äderungen dazuprogrammieren...

Also alles in Allem macht das mit dem Lokaldatenzugriff m.M. keinen Sinn...

Gruß.
 
Ich kenne mehr Kunden die keine vollständige Dokumentation haben als welche mit.
Beim Elektroschaltplan gibt es meistens nur eine PDF und nicht das richtige Projekt und bei der Programmierung gibt es oft nicht das Programm weil viele es für Ihr geistiges Eigentum halten und auch den
Kunden in eine Abhängigkeit bringen wollen.

Diese Erfahrung hab ich auch gemacht, nur denke ich, dass es nicht mutwillig gemacht wird, sondern einfach Schlamperei ist. Es nimmt sich einfach niemand die Zeit für eine ordentliche Schaltplanrevision, bzw. für den Austausch an allen Ablageorten fühlt sich auch keiner verantwortlich... Und beim Programm heisst es, das gibt's nach der IB als aktuelle Version, wird dann nur aus "Vergesslichkeit" nicht geliefert bzw. beim Kunden nirgends archiviert...

Gruß.
 
Zurück
Oben