DP-Slaves abmelden

blasterbock

Level-1
Beiträge
373
Reaktionspunkte
35
Zuviel Werbung?
-> Hier kostenlos registrieren
Wir benutzen zur Konfiguration unserer Maschinen einen von Siemens publizierten Baustein (FB12), der es erlaubt, eine ganze Liste von Slaves gleichzeitig an- bzw abzumelden. Dieser Baustein ist verschlossen.
Bei einer 300er CPU funktioniert der FB12 ohne Probleme, bei einer 400er CPU blinkt die BF-LED nach dem Aufruf des FB12.
Ich vermute, das der FB12, der intern mit dem SFC12 arbeitet, keinen Zugriff auf die Slave-Diagnoseadresse hat und deshalb nur per Software die fehlenden Slaves abfängt, die Hardware der CPU aber nach wie vor den fehlenden Slave detektiert.
Ich möchte das bestehende System nach Möglichkeit nicht ändern, sonst hätte ich mir einen neuen Baustein geschrieben, der das richtig macht.
Hat jemand Erfahrungen mit dieser Problematik ?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du kannst ja testweise auch mal nur den SFC12 aufrufen und damit den Slave abschalten.
Code:
CALL SFC 12
REQ :=M0.0
MODE:=B#16#2
LADDR:=W#16#3FC
RET_VAL:=MW10
BUSY :=M0.1
Slave mit Diagnoseadresse W#16#3FC ausschalten
 
Ich vermute, das der FB12, der intern mit dem SFC12 arbeitet, keinen Zugriff auf die Slave-Diagnoseadresse hat und deshalb nur per Software die fehlenden Slaves abfängt, die Hardware der CPU aber nach wie vor den fehlenden Slave detektiert.
Der FB12 ermittelt intern mit dem SFC5 die Adresse und schaltet dann mit dem SFC 12 die Slaves ab, die in der Liste stehen.

Ich habe eine 414-2DP V4.10
Bei dem Ausgabestand sind mir keine Probleme bekannt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Der Bus ist aber normalerweise iO. Ich meine wenn du dein Programm in RUN hast und den FB12 nicht aufrufst.
Du aktivierst/deaktivierst auch nicht aus Versehen Teilnehmer die nicht existieren?
 
@marlob
Danke erst mal für den Hinweis, dass intern mit dem SFC5 gearbeitet wird.
Ich habe mittlerweile selbst mal an der Anlage nachgesehen. Der Erzeugnisstand der CPU ist 5.11.
Ich deaktiviere selbstverständlich alle Teilnehmer, die in der aktuellen Konfiguration der Maschine physikalisch nicht enthalten sind.
Standardprogramm und wechselnder Maschinenumfang.

BTW, werden die Slaves, die in der DB-Liste stehen und mit '0' gekennzeichnet sind aktiviert, oder einfach nicht bearbeitet ?
 
BTW, werden die Slaves, die in der DB-Liste stehen und mit '0' gekennzeichnet sind aktiviert, oder einfach nicht bearbeitet ?
Aus der Hilfe zum FB12
Code:
...
DB1 ist 125 Byte lang. Er hält somit für jeden DP-Slave 1 Byte Information
bereit. Hat das Byte den Wert 0, überspringt der FB12 während seiner
Auftragsbearbeitung den DP-Slave mit der angegebenen PROFIBUS-Adresse.
Hat das Byte jedoch den Wert 1, wird der Auftrag für diesen DP-Slave
automatisch ausgeführt.
...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mal nee Zwischenfrage,

ich habe eine Standardard Visu gebastelt an der bis zu 9 DP Teilnehmer angeschlossen werden können. Verwaltet werden diese von einer SPS.
Nun habe ich in der HW-Konfig die 9 Slaves angelegt und kriege logischerweise immer eine Fehlermeldung wenn nicht alle angeschlossen sind.
Aber in der Regel sind halt weniger angeschlossen.

Kann ich nun mit dem angesprochenem FB12 diesen Fehler vermeiden indem ich angeben kann wieviele Slaves angeschlossen sein sollten?
Wenn ja, wo bekomme ich das Ding her?
In der Standardlibary habe ich nur "Blockorientiertes Senden von Daten mit dem SFB/FB 12 "BSEND"" gefunden...

thx, eYe
 
Mal nee Zwischenfrage,

ich habe eine Standardard Visu gebastelt an der bis zu 9 DP Teilnehmer angeschlossen werden können. Verwaltet werden diese von einer SPS.
Nun habe ich in der HW-Konfig die 9 Slaves angelegt und kriege logischerweise immer eine Fehlermeldung wenn nicht alle angeschlossen sind.
Aber in der Regel sind halt weniger angeschlossen.

Kann ich nun mit dem angesprochenem FB12 diesen Fehler vermeiden indem ich angeben kann wieviele Slaves angeschlossen sein sollten?
Wenn ja, wo bekomme ich das Ding her?
In der Standardlibary habe ich nur "Blockorientiertes Senden von Daten mit dem SFB/FB 12 "BSEND"" gefunden...

thx, eYe




siehe LINK

http://support.automation.siemens.co...ew/de/22819902




Gruß
 
Zurück
Oben