TIA SCL-Programm indirekt Adressiert, Spule auffinden, Ausgang lässt sich nicht steuern/forcen

ChristianVogel

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

folgendes Problem in kürze: Ich habe eine Software vorliegen, erstellt in SCL, läuft auf einer S7-1214 DC/DC/DC, erstellt mit V15_1, ich habe die Software nicht selbst erstellt, sondern habe diese lediglich bekommen um den Schaltschrank neu in Betrieb zu nehmen...

Das Problem an sich ist folgendes: Die Software wurde funktionierend erstellt und geprüft, circa 2 Jahre her, heute soll nun der Schaltschrank etc. reproduziert werden. Es tritt nun der Effekt auf, dass ein Ausgang einfach nicht gesteuert wird. In der Software lässt sich das ganze beobachten, in der Beobachtungstabelle wird Q0.0 als TRUE angezeigt, der Hardwareausgang bringt aber keine Spannung... Das ganze Ausgangsbyte wird indirekt im Programmcode adressiert, ich kann daher über die Querverweise leider die "Spule" nicht ausfindig machen. Folgendes habe ich bereits versucht:

- Die Hardware ist geprüft, ich habe ein Minimal-Programm laufen lassen und den Ausgang blinken lassen, Hardware ist iO!

- Ich wollte den Ausgang separat ansteuern, über die Beobachtungstabelle, geht nicht!

- Forcen wollte ich den Ausgang, geht auch nicht, hier bekomme ich den angehängten Fehler:
Die Adresse"Q0.0:P" wird nicht mit dem Wert "TRUE" geforced, da die entsprechende Peripherie nicht vorhanden ist oder auf mehrere Module verteilt ist"
Fehler166.png

-> Was bedeutet der Fehler genau? Wurde da was doppelt zugewiesen, oder adressiert?

- Ich habe das entsprechende Bit vom Ausgang im Programm "gefunden" und auf einen Freien Ausgang gelegt. DORT IST JETZT DIE FUNKTION GEGEBEN gemäß Plan wäre das aber falsch und ich sollte weiter der Ursache versuchen auf den Grund zu gehen.... Der ursprüngliche Ausgang Q0.0 lässt sich aber IMMER NOCH NICHT steuern oder forcen, also muss der doch irgendwo im Programm verwendet worden sein... Wie kann ich hier im Umkehrschluss finden wo das sein könnte, jemand eine Idee?

- Zwischenzeitlich wurde noch die Firmware der PLC von 4.4 auf 4.2 heruntergeschraubt, da die 4.2 in der HW-Config verwendet war, da hier ein Konflikt vermutet wurde, hat aber nichts gebracht...

Hat jemand einen Tipp, betreffend der Fehlermeldung der Forcetabelle, bzw. einen Tipp wie ich die Verwendungsstelle des Ausgang ausfindig machen kann??? Verwundern tut mich das ganze, weil es eben schon funktioniert hat, und an diesem Stand von 2019 niemand was rumgeschraubt hat...

Jetzt schon vielen Dank an die ganzen SCL-Götter hier und schönes Wochenende an alle...

Gruß Christian
 
Zuviel Werbung?
-> Hier kostenlos registrieren
nein, ist ein Ausgang der ein Relais schaltet für einen potentialfreien Medekontakt... eine recht simple Anwendung also.

Ich hatte auch schon in der Hardware nachgeschaut, ob da eine Exklusiv-Funktion zugriff auf den Ausgang hat, ist aber nicht der Fall...
 
ich verstehe das schon richtig, oder: "...da die entsprechende Peripherie nicht vorhanden ist oder auf mehrere Module verteilt ist..." d.h. da überschneiden sich Adress-/Speicherbereiche???? Wurden der CPU da andere Funktionen spendiert mit der neuen Firmware?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Meldung erscheint z.B. wenn auf ein Adressbereich geforced wird, hinter der keine HArdware adressiert ist. Evtl. mal unter Programminformationen->Belegungsplan schauen, ob eine Hardware auf dem Adressbereich konfiguriert ist. Wenn man mit der Maus über der ersten Spalte schwebt (roter Strich), zeigt der Tooltip an, welches Modul/Telegramm dort verschalten ist.
Belegungsplan.PNG
Ein weitere Problem könnte auch eine Doppelbelegung sein. Vielleicht gibt die PLC-Variablen Tabelle mehr Aufschluss dazu. Leider werden definierte Variablen erst im Belegungsplan angezeigt, wenn sie verwendet werden.
 
Klingt vieleicht doof, aber: Hast du alle Forces deaktiviert?

Welchen Zustand hat der Ausgang am Ende vom OB1?
Was, wenn du den Ausgang im letzten Netzwerk vom OB1 setzt?

Ist der Ausgang dem richtigen Organisationsbaustein und Prozessabbild zugewisen?
Ist die Hardware der richtigen SPS zugeordnet?
Stimmen Potentialbaugruppen, steht die Versorgungsspannung?

Einige Fragen mögen nicht passend zu deinem Anwendungsfall sein, sind dann ja leicht zu beantworten.

MfG
 
Wie sieht denn die Hardware-Config der Ausgänge aus, denn da steht ja als erste Möglichkeit, das es Q0.0 real nicht gibt.
Vlt. ist da ja versehentlich was anderes rein gekommen als Byte 0?
Hallo Hucki,

HW Eingänge und Ausgänge sind ganz normal in den Bytes 0...1, die Analogen ab 63...64

...wie gesagt, die Software läuft auf einer anderen Maschine, Der Vergleich hat keine Unterschiede ergeben...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Meldung erscheint z.B. wenn auf ein Adressbereich geforced wird, hinter der keine HArdware adressiert ist. Evtl. mal unter Programminformationen->Belegungsplan schauen, ob eine Hardware auf dem Adressbereich konfiguriert ist. Wenn man mit der Maus über der ersten Spalte schwebt (roter Strich), zeigt der Tooltip an, welches Modul/Telegramm dort verschalten ist.
Anhang anzeigen 55110
Ein weitere Problem könnte auch eine Doppelbelegung sein. Vielleicht gibt die PLC-Variablen Tabelle mehr Aufschluss dazu. Leider werden definierte Variablen erst im Belegungsplan angezeigt, wenn sie verwendet werden.

Hallo Michitronik,

Im Normalen Betrieb ist nichts geforced, ist nichts aktiv.

Der verwendete E/A-Bereich zeigt keine "Überlappungen"
 
Klingt vieleicht doof, aber: Hast du alle Forces deaktiviert?

Welchen Zustand hat der Ausgang am Ende vom OB1?
Was, wenn du den Ausgang im letzten Netzwerk vom OB1 setzt?

Ist der Ausgang dem richtigen Organisationsbaustein und Prozessabbild zugewisen?
Ist die Hardware der richtigen SPS zugeordnet?
Stimmen Potentialbaugruppen, steht die Versorgungsspannung?

Einige Fragen mögen nicht passend zu deinem Anwendungsfall sein, sind dann ja leicht zu beantworten.

MfG
Hallo David,

- Forces sind keine Aktiv
- ...wie gesagt, die Software läuft auf einer anderen Maschine, Der Vergleich hat keine Unterschiede ergeben...
- Zuordnungen sind alle iO

Ich kann den Ausgang steuern, er wird auch als TRUE angegeben, der AUsgang gibt eben nichts aus -> Spannung liegt aber an, mit einer Drahtbrücke kann ich das angeschlossene Relais auch ansteuern. Mit einem "Dummy-Programm" konnte ich den Ausgang auch steuern, Hardware ist iO.
 
Irgendwie vermisse ich hier noch Bilder von der Querverweisliste, der HW-Konfiguration, dem Belegungsplan und vor allem dem vermeintlichen Täter, dem SCL-Programm das im Titel steht.

Ansonsten klingt das schon sehr interessant was da wohl gemacht worden sein könnte das man das so absolut gar nicht wiederfinden kann. Kann das Programm vielleicht übermittelt werden? Wäre evtl. auch eine Möglichkeit.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo escride,

wie den 17 anderen in den PN (!) muss ich leider auch Dir absagen das Programm hier hochzuladen, ich nehme das Thema Datenschutz und Datensicherheit tatsächlich ernst und kann bei DEM großen Kunden kein Risiko eingehen...

Anbei mal 3 Screenshots der HW-Config, der Querverweise zum %Q0.0 und noch des Belegungsplanes...

Zwischenzeitlich bin ich schon fast davon überzeugt, dass hier irgendwo ein Hasenhirn im Programmcode rumgetippt hat und dann ein neues Backup angefertigt hat. Die Steuerung ist NICHT groß ausgebaut und glänzt vorwiegend durch eine sehr sexy Visualisierung... Entweder ich ziehe mir hier irgendwo ein "Dauer-False" über die HMI zurück (glaube ich eher weniger), oder am Programmcode passt was nicht, weil es eben eine funktionierende Version davon gibt, was für eine stümperhafte Programmänderung sprechen würde... Ggf. werde ich an die funktionierende Steuerung gehen, ein AG-Backup machen und dieses mit dieser Offlineversion zusammentüddeln... mal kucken was passiert...
 

Anhänge

  • SCL1.png
    SCL1.png
    27,6 KB · Aufrufe: 46
  • SCL2.png
    SCL2.png
    27,2 KB · Aufrufe: 46
  • SCL3.png
    SCL3.png
    20,4 KB · Aufrufe: 45
In Deinem Bild im Eröffnungspost ist Q0.0 als "DQ_7" (ist eh' ein seltsames Symbol für Q0.0) symbolisiert, hier drüber in Deinem 2. Bild als "DQ_IF_Operation". Und bei Letzterem ist "DQ_7" dann Q0.6.

Ist das zwischenzeitlich geändert und/oder war da eine doppelte Belegung?
Sind die Screenshots von der gleichen Anlage oder von den beiden Varianten?
 
Zuletzt bearbeitet:
Ob du dir ein FALSE von einem HMI oder sonst was einfängst, sollte leicht zu prüfen sein, PN Verbindung zur HMI mal trennen.

Wie hast du das Programm eigentlich dupliziert? Speichern unter und dann neuen Namen vergeben oder Ordner kopiert? Hast du das komplette Projekt einmal komplett über setzt ( HW + SW )?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
In Deinem Bild im Eröffnungspost ist Q0.0 als "DQ_7" (ist eh' ein seltsames Symbol für Q0.0) symbolisiert, hier drüber in Deinem 2. Bild als "DQ_IF_Operation". Und bei Letzterem ist "DQ_7" dann Q0.6.

Ist das zwischenzeitlich geändert und/oder war da eine doppelte Belegung?
Sind die Screenshots von der gleichen Anlage oder von den beiden Varianten?
Hallo Hucki, die Signale dieses Bytes sind nicht von 0...7, sondern "namentlich mit Variablen" mit DQ_1...8 beschriftet, daher heißt eben der Ausgang %0.6 mit Symbol "DQ_7" (gefällt mir auch nicht, aber ich wollte daran nix drehen...)

Ich sehe Du hast aufgepasst :cool:, ich zu Beginn mal 2 Ausgänge in den Variablen gedreht, ob ich überhaupt was forcen kann, das ist zwischenzeitlich wieder korrekt hingebogen. den Q0.6 konnte ich forcen, daher der Verdacht einer unsinnigen Programmänderung, oder eine doppelten Belegung die ich eben nicht finden...
 
Ob du dir ein FALSE von einem HMI oder sonst was einfängst, sollte leicht zu prüfen sein, PN Verbindung zur HMI mal trennen.

Wie hast du das Programm eigentlich dupliziert? Speichern unter und dann neuen Namen vergeben oder Ordner kopiert? Hast du das komplette Projekt einmal komplett über setzt ( HW + SW )?
Hallo DeltaMikeAir,

Verbindung hatte ich schonmal getrennt, hatte aber keinen Erfolg damit.

Dupliziert in dem Sinn habe ich garnicht, sondern die Maschinen sind 100%ig identisch, daher habe ich lediglich das bestehende Backup dearchiviert, übersetzt und runtergeladen... Ich war eben in dem Glauben, dass das letzte Vorhandene Backup auch das aktuellste ist was auch tatsächlich auf der jetzigen Maschine läuft... Dem wird wahrscheinlich nicht so sein! :poop::poop::poop::poop::mad:

Zwischenzeitlich habe ich mal eine CPU bestellt, diese werde ich mal mit der Software bespielen und in die bestehende Maschine einbauen, weil wenn ich die bestehende Maschine in einem Versuch abschieße habe ich ein Problem...
 
... sondern "namentlich mit Variablen" mit DQ_1...8 beschriftet, daher heißt eben der Ausgang %0.6 mit Symbol "DQ_7" (gefällt mir auch nicht, aber ich wollte daran nix drehen...)...
Für Q0.6 macht ja "DQ_7" auch Sinn, aber nicht wirklich für Q0.0. Daher war mir das bereits im Eröffnungspost aufgefallen.

Aber wenn's denn gewollt war...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Für Q0.6 macht ja "DQ_7" auch Sinn, aber nicht wirklich für Q0.0. Daher war mir das bereits im Eröffnungspost aufgefallen.

Aber wenn's denn gewollt war...
naja... gewollt nicht, aber ich habe keinen Schimmer wie das in scl ist, wenn da als Text "DQ_7" angesprochen wird. da war es mir sicherer die Ausgänge radikal an der Symbolik zu drehen...
 
Ist evtl. wie @PN/DP schon geschrieben hat aus versehen ein PTO aktiv, der im Default den Ausgang nutzt.

S7_1214DCDC_PTO.PNG

Wenn das nicht der Fall ist, bleibt nur einmal ein neues Projekt anzulegen und mal eine PLC neu zu konfigurieren. Nicht das dein Projekt einen "knax" hat.
 
Dupliziert in dem Sinn habe ich garnicht, sondern die Maschinen sind 100%ig identisch, daher habe ich lediglich das bestehende Backup dearchiviert, übersetzt und runtergeladen... Ich war eben in dem Glauben, dass das letzte Vorhandene Backup auch das aktuellste ist was auch tatsächlich auf der jetzigen Maschine läuft... Dem wird wahrscheinlich nicht so sein! :poop::poop::poop::poop::mad:
Ja gut, wenn du überhaupt nicht weißt, ob du das aktuelle Programm hast, dann kann man die Aussage "Auf einer Maschine gehts und auf der anderen mit dem gleichen Prg" ja so nicht stehen lassen.

Vielleicht zuerst mal prüfen ob du wirklich den letzten Stand hast...
 
Zurück
Oben