Probleme mit SFC 14 / SFC 15 in FB

Zuviel Werbung?
-> Hier kostenlos registrieren
Ja genau,

die ersten beiden Steckplätze müssen frei bleiben.

Der dritte Steckplatz ist für die Steuerung der Applikation in der MOVI PLC
gedacht, die folgenden Steckplätze sind für jeweils eine Achse.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das Programm im MoviAxis ist von SEW und wir haben da am Freitag schon ziemlich lange über Fernwartung in der Steuerung gesucht,
sind aber letztlich zum Entschluss gekommen das es aus der S7 kommen muss.

Hast du dir auch nochmal das SPS-Programm angeschaut?

Ich werd jetzt auf jeden Fall noch mal bei SEW anrufen.

Das ich die SFC14 / SFC15 mehrmals für den gleichen Teilnehmer aufgerufen habe und das das falsch war ist ja ganz logisch (so im Nachhinein betrachtet).

Aber wo der Fehler jetzt liegt ??? - Keine Ahnung.
 
aber was mir aufgefallen ist, der FC1 und FC2 sind doch gleich?
Dann kannst du die doch auch den gleichen Baustein mehrmals
aufrufen, nur mit unterschiedlicher beschaltung von ausssen.

Dann hast du doch schon deine Daten für die Achsen mit den
FB1 Instanz DB erzeugt, das sollte doch reichen, auf diese
Daten kannst du doch zurückgreifen.

Es wirkt für mich jetzt ersteinmal ziemlich unübersichtlich.
 
Ja das mit FC1 und FC2 ist schon klar, aber eigentlich sollte das so doch auch funktionieren.

Das es etwas unübersichtlich ist liegt natürlich daran das das jetzt das Testprogramm in dem ich schon zig Änderungen durchgeführt habe.

Im Anhang lade ich mal die Variablentabelle ONLINE hoch:
 

Anhänge

  • Statustabelle.PNG
    Statustabelle.PNG
    40 KB · Aufrufe: 3
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Eigentlich kann da nichts falsch sein wenn du den SFC 14/15 für
den gleichen Teilnehmer mehrmal aufrufst, das funktioniert auch
bei SEW mach ich das mit den Standard Gatway doch auch und
es hängen mehrere Umrichter an diesen Gateway.
 
Die Adressierung müsste meine Meinung nach passen:

Wenn ich nur die Kommunikation mit Achse 1 aufrufe kommen alle Signale korrekt an.

Wenn ich nur die Kommunikation mit Achse 2 aufrufe kommen alle Signale korrekt an.

Wenn ich aber beide gleichzeitig aufrufe dann gibts Probleme.

Ich hänge mich mal an diesen Beitrag ...
Hast du dir mal angesehen, wohin deine Pointer in Wirklichkeit adressieren ?
Kann es sein, dass es beim 2. Aufruf einen Unterschied zu dem Wunschziel gibt ?

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
... der Pointer (also das, was du ins AR1 lädst) ist der Bitwert deiner Ziel-Adresse (also Adresse * 8 ) wenn du das höchstwertigste Byte des DWORD mal außen vor läßt ...
Du weißt doch wohin du jeweils willst. Nun mußt du "nur" nachsehen, ob diese Position auch wirklich adressiert wird ...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
... wenn jeder einzelne Aufruf für sich korrekt funktioniert, der 2. es aber nicht mehr tut, wenn es vorher einen anderen Aufruf gegeben hat, dann liegt für mich der Verdacht nahe, dass es da irgendeine Form der Beeinflussung gibt - diese könnte sich z.B. dadurch manifestieren, dass du zwar (z.B.) auf M100.0 zugreifen möchtest, durch deine Indexierung in Wirklichkeit aber M110.0 adressierst. Dafür war ich jetzt am "Indizien suchen" - habe aber auch so recht nichts konkretes, woran ich das festmachen kann.

Aber "by the way" ... arbeitest du jetzt mir der FC oder mit der FB-Variante ?
Wenn FB - versuch doch mal deine Daten in der Instanz des FB abzulegen statt in dem Global-DB (das ist mir sowieso suspekt ...).
 
Aber "by the way" ... arbeitest du jetzt mir der FC oder mit der FB-Variante ?
Wenn FB - versuch doch mal deine Daten in der Instanz des FB abzulegen statt in dem Global-DB (das ist mir sowieso suspekt ...).

Ich glaube da ein System erkannt zu haben.

Er hat die Daten Global, ladet die in ein FC um und woanders nocheinmal
in einen Instanz DB.

Den Sinn des System kann ich natürlich nicht erkennen :ROFLMAO:.
 
Also ich habe jetzt mal von FC1 und FC2 online einen Bilschirmausdruck gemacht.

(Und habe jetzt auch dank Helmuts Bildschirmausdruck geschnallt das man AR1 und AR2 durch Rechtsklick im rechten Bildschirmteil auch zum beobachten auswählen kann)
 

Anhänge

  • Status FC1.jpg
    Status FC1.jpg
    86,1 KB · Aufrufe: 4
  • Status FC2.jpg
    Status FC2.jpg
    85,5 KB · Aufrufe: 3
Zuviel Werbung?
-> Hier kostenlos registrieren
Was die Sache mit dem "System" betrifft, ich habe mich da schon ziemlich an Helmut´s Vorschlag orientiert (so wie ich ihn verstanden habe).

Finde es aber auch irgendwie extrem umständlich.

Da ich aber sowas bisher noch nicht wirklich oft gemacht habe (also FB´s erstellen) habe ich auch keine Ahnung wie ich das einfacher gestalten könnte.

Aber wenn ich statt FC1 einen FB verwende dann brauche ich doch an dieser stelle keinen Datenbaustein mehr in den ich die Daten reinschreibe, sie stehen dann doch
ohnehin im InstazDB un dann wäre doch auch der Datenzeiger an diesem FB sinnlos. - Oder verstehe ich das falsch?

Den Datenzeiger bräuchte ich dann meinem Verständnis nach nur an den einzelnen FB´s für die Betriebsarten um die Daten aus dem Instanz DB in die einzelnen FB´s zu bekommen.
 
Zuletzt bearbeitet:
... da Helmut und ich dich jetzt ja so richtig schön zutexten ...

Der FB dient (für mich in erster Linie) der Kapselung einer Aufgabenstellung.
In deinem Fall :
- Einlesen der Daten des Servo's
- verarbeiten derselben mit ggf. zusätzlichen Bits über die IN-OUT-Schnittstelle
- Übergeben der Ergebnisse zum Servo
-- hierbei gilt (für mich) : Die zu übertragenden Daten bleiben erstmal in dem FB und seinem Instanz-DB. Das erspart schon mal ein bißchen Kuddelmuddel ...

... und dann das Gleiche mit dem nächsten FB und der nächsten Achse.

Wie schon geasgt ... ich vermute, dass du an irgendeiner Stelle mit den Pointer was verwurschtelst (ggf. z.B. wegen Multi-Instanz). Ich verspreche aber, dass ich später noch einmal intensiver in dein Programm hinein schaue ...
 
Wenn im Netzwerk 3 (FC1 bzw. FC2) #MX1.PO (temp !) per SFC15 zum Umrichter übertragen wird, ohne vorher beschrieben zu werden, dann kann das (mit viel Glück) nur bei einem Umricher gut gehen.

Grüße von HaDi
 
Zurück
Oben