Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 6 von 6

Thema: Frage zum Fremdprogramm und zur allgemeinen Projekt-Doku

  1. #1
    Registriert seit
    06.11.2012
    Beiträge
    47
    Danke
    1
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich habe ein bestehendes Projekt vom Kunden übernommen und bin dabei, es "aufzuräumen".
    Laut Kunden kann schon immer einiges nicht funktioniert.

    Es ist in AWL, was kein großes Problem darstellt, jedoch bin ich über einige Sachen gestolpert.
    Wie es halt immer so ist, werden grundsätzlich einige Bausteine nirgendwo aufgerufen und zudem ist das Programm sehr schlecht dokumentiert.
    Symbole von E/As, Merker sind teilweise nicht vorhanden oder komplett falsch zugewiesen.
    Zudem wurden keine "Antriebsbausteine" verwendet und Fehlermeldungen der jeweiligen Antriebe im Programm erst gar nicht berücksichtigt.

    Ich habe hier z.B. einen FC ohne Bausteinvariablen.
    Im FC werden PEW´s eingelesen und in DB´s geschrieben.

    Dieser FC wird 2 Mal aufgerufen. Einmal im OB35 (100ms eingestellt) und im Neustart OB 100.

    --> Die erste Frage, hat das einen Sinn?

    Zudem habe ich ein kleines Veständnisproblem was das Laden von lokalen Variablen betrifft. LD habe ich bisher noch nie benutzt.

    Beispiel in diesem FC:

    L PEW190
    T LD 0
    L LD 0
    DTR
    L 10.0
    *R
    T DB1.DBD0


    L PEW192
    T LD 0
    L LD 0
    DTR
    L 10.0
    *R
    T DB1.DBD4

    --> Das Verstehe ich nicht so ganz. Worin liegt der Vorteil von "LD"? Man könnte sich das doch auch sparen? Zudem, greift man da nicht auf die Variablen des FC´s? Es sind aber keine angelegt?

    Ich habe das Projekt nur "offline" da und kann auf der SPS nicht mal schnell schauen, ob das Programm funktioniert.

    Was mich auch die ganze Zeit schon interessiert, gibt es eine "unbekannte" Software, um gespeicherte Projekte zu verwalten?

    Wenn z.B. mehrere Kollegen gleichzeitig an einem Projekt arbeiten. Das Projekt besteht aus dem CPU-Programm und einem Touchpanel.
    Kollege 1 schreibt gerade das Programm und Kollege 2 das Touchpanel. Am Ende vom Tag müssen beide Projekte wieder verheiratet werden.
    Vielleicht gibt es eine Software, die z.B. über den Zeitstempel der Projektabschnitte ein projekt zaubert.

    Ich speicher das Projekt bei Änderung neu ab. Der Dateiname sieht so aus: "Projekt_Step7-Version_Kürzel-Mitarbeiter_Datum-rückwärts" also z.B. "MusterstadtWV_S7V55_DM_160930".
    Zudem werden änderungen in den Netzwerkkommentaren dokumentiert und zusätzlich gibt es eine Textdatei mit genauen Infos - von wem, wann, warum und was geändert wurde.

    Wie sichert ihr eure Projekte?
    Zitieren Zitieren Frage zum Fremdprogramm und zur allgemeinen Projekt-Doku  

  2. #2
    Registriert seit
    12.12.2013
    Ort
    Kaiserslautern
    Beiträge
    1.181
    Danke
    314
    Erhielt 180 Danke für 147 Beiträge

    Standard

    Code:
    L         PEW190
     T         LD 0  
     L         LD 0
     DTR
     L         10.0
     *R
     T         DB1.DBD0
    Seht aus wie eine Wandlung von INT nach REAL


    ITD
    DTR

    Ist der andere variante.

    Bram
    Geändert von de vliegende hollander (30.09.2016 um 13:13 Uhr) Grund: ITD DTR
    Augen zu und durch

  3. #3
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.253
    Danke
    669
    Erhielt 576 Danke für 442 Beiträge

    Standard

    Das wird wohl in LD geladen um wirklich 32Bit vollzumachen. Aber soweit ich weiss war das schon immer so das ein Ladebefehl auch eines Wortes oder Bytes die 32Bit des Akkus überschrieben hat. Danach mit DTR gewandelt. Also ist LD lesen beschreiben eigentlich nicht nötig.

    Könnte ein überbleibsel eines FUP oder SCL Bausteines sein.

    mfG René

  4. #4
    Registriert seit
    29.03.2004
    Beiträge
    5.080
    Danke
    128
    Erhielt 1.479 Danke für 1.089 Beiträge

    Standard

    Wenn das ein AG-Abzug ist, könnte LD 0 ursprünglich ein Symbol wie "HM_DINT" vom Typ DINT gehabt haben. Muss man nicht so machen, wenn du so etwas in FUP programmierst dann ist dieser Zwischenschritt beispielsweise notwendig. Das war aber kein FUP, dann wären ein paar mehr Sprünge vorhanden.
    Es stört auf alle Fälle nicht. Gelegentlich füge ich selber auch solche expliziten Zwischenschritte ein, um das Programm einfacher nachvollziehbar zu gestalten.

    Das mit dem Aufruf im OB100 könnte insofern Sinn ergeben, dass nach einem Neuanlauf im ersten OB1 Zyklus gültige Messwerte vorliegen, wenn das Einlesen später nur noch im OB35 geschieht. Ich weiß jetzt nicht wann nach dem Neuanlauf das erste mal der OB35 angetriggert wird, wenn z.B. erst nachdem das Intervall nach einem Neuanlauf abgelaufen ist, hättest du ansonsten die ersten paar OB1 Zyklen keinen gültigen Messwert, bzw. den vor dem letzten SPS-Stopp, wenn die Daten remanent abgelegt sind.
    Die Genialität einer Konstruktion liegt in ihrer Einfachheit – Kompliziert bauen kann jeder.

    (Sergei Pawlowitsch Koroljow, sowjetischer Konstrukteur von Raketen und Weltraumpionier)

  5. #5
    Registriert seit
    01.08.2013
    Ort
    63571
    Beiträge
    164
    Danke
    12
    Erhielt 25 Danke für 25 Beiträge

    Standard

    Zitat Zitat von RoBop Beitrag anzeigen
    Ich habe ein bestehendes Projekt vom Kunden übernommen und bin dabei, es "aufzuräumen".
    Laut Kunden kann schon immer einiges nicht funktioniert.

    Es ist in AWL, was kein großes Problem darstellt, jedoch bin ich über einige Sachen gestolpert.
    Wie es halt immer so ist, werden grundsätzlich einige Bausteine nirgendwo aufgerufen und zudem ist das Programm sehr schlecht dokumentiert.
    Symbole von E/As, Merker sind teilweise nicht vorhanden oder komplett falsch zugewiesen.
    Zudem wurden keine "Antriebsbausteine" verwendet und Fehlermeldungen der jeweiligen Antriebe im Programm erst gar nicht berücksichtigt.

    Ich habe hier z.B. einen FC ohne Bausteinvariablen.
    Im FC werden PEW´s eingelesen und in DB´s geschrieben.

    Dieser FC wird 2 Mal aufgerufen. Einmal im OB35 (100ms eingestellt) und im Neustart OB 100.

    --> Die erste Frage, hat das einen Sinn?



    Was mich auch die ganze Zeit schon interessiert, gibt es eine "unbekannte" Software, um gespeicherte Projekte zu verwalten?

    Wenn z.B. mehrere Kollegen gleichzeitig an einem Projekt arbeiten. Das Projekt besteht aus dem CPU-Programm und einem Touchpanel.
    Kollege 1 schreibt gerade das Programm und Kollege 2 das Touchpanel. Am Ende vom Tag müssen beide Projekte wieder verheiratet werden.
    Vielleicht gibt es eine Software, die z.B. über den Zeitstempel der Projektabschnitte ein projekt zaubert.

    Ich speicher das Projekt bei Änderung neu ab. Der Dateiname sieht so aus: "Projekt_Step7-Version_Kürzel-Mitarbeiter_Datum-rückwärts" also z.B. "MusterstadtWV_S7V55_DM_160930".
    Zudem werden änderungen in den Netzwerkkommentaren dokumentiert und zusätzlich gibt es eine Textdatei mit genauen Infos - von wem, wann, warum und was geändert wurde.

    Wie sichert ihr eure Projekte?
    Das ist natürlich beschissen, aber das kommt durchaus öfter vor. Ich hatte in den letzten Jahren sehr oft mit Projekten zu tun die AG Abzüge waren.

    Zum FC:
    Wenn er auf PEW zugreift, liest er damit die Signale von einem an die SPS angeschlossenen Gerät ein. Man kann bei einer SPS den Ein- und Ausgangsbereich einstellen den man mit EX.X und AY.Y ansprechen kann. Der ist "normalerweise" kleiner eingestellt wie die SPS könnte. Um auf den restlichen Bereich zugreifen zu können muss man mit PEW arbeiten. Im OB 100 werden die Daten einmal bei Neustart ausgelesen und ansonsten alle 100ms, anstatt jeden Zyklus.

    Der Sinn dahinter erschließt sich mir ohne Kontext auch nicht. Aber unter Umständen hat das schon einen Sinn wenn z.B. das Gerät die Daten einfach nicht schneller zur Verfügung stellt.
    50 mal die gleichen Daten in einen DB schreiben kostet jedes mal Zykluszeit, wenn ich die Daten aber eh nicht schneller erhalte, macht das vielleicht schon Sinn die Daten nur einmal alle 100ms einzulesen.
    Geändert von Zombie (30.09.2016 um 13:31 Uhr)
    Nur dass man etwas schon immer so gemacht hat heißt nicht dass es richtig ist, man kann eine Sache auch ein Leben lang falsch machen.

  6. #6
    Registriert seit
    06.11.2012
    Beiträge
    47
    Danke
    1
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich bedanke mich für die Antworten.
    Klingt schon alles plausibel

    Jedoch weiß ich nicht, warum der Messwert beim Neustart und alle 100ms eingelesen wird.
    Die SPS ist eigentlich dazu da, mehrere Durchflüsse zu regeln, abhängig von einer Temperaturmessung.
    Temperaturen und Dürchflüsse ändern sich recht träge. Der MID selbst ändert seinen Messwert jede Sekunde und Temperatur ist ohnehin schon sehr träge.

    Ich selbst rufe immer den Standard-Regelbaustein und alle solchen trägen Messungen immer im OB35 (eingestellt 1000ms) auf.

    Sehr interessant ist allerdings, dass in der Runtime zwar "Regelparameter" vorhanden sind, die Einstellungen in der SPS sogar in einen DB geschrieben werden, aber die Regelbausteine (bestehen aus mehren Bausteinen der "Modular PID Control"-Reihe von Siemens) nirgendwo aufgerufen werden. Sie sind zwar alle in einem FC aufgerufen und parametriert, aber der FC wird nirgendwo aufgerufen.
    Aus alten Archiven hat sich auch ergeben, dass sich das PAW auch nie geändert hat, obwohl der Betreiber den Sollwert oft geändert hat. Sprich - die Regelung hat noch nie funktioniert.
    Ich musste mindestens 10 Mal das Programm lesen, um das zu glauben. Ich weiß auch nicht, warum der Programmierer einen solch komplizierten Baustein mit den "Modular PID Control" für eine Durchflussregelung geschrieben hat.
    Für solche einfachen Regelungen reichen doch CONT-C - CONT-S völling aus. (Abhängig ob Regelschieber oder Pumpe).

    Das ist schon alles recht verwirrend...

Ähnliche Themen

  1. frage zum Zähler und Taktmerker
    Von spsamateur im Forum Programmierstrategien
    Antworten: 2
    Letzter Beitrag: 21.05.2015, 17:17
  2. Fertiges Projekt samt Doku
    Von devrim im Forum Simatic
    Antworten: 23
    Letzter Beitrag: 08.10.2009, 17:03
  3. Frage zur Simulation und OB
    Von Baldaro im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 01.05.2009, 17:44
  4. Frage zum Bereichszeiger und OP7
    Von linuxluder im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 27.11.2007, 15:19
  5. Windows Vista und die allgemeinen Programmiertools
    Von vollmi im Forum PC- und Netzwerktechnik
    Antworten: 37
    Letzter Beitrag: 17.08.2007, 11:00

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •