TIA LED CB1241

Zuviel Werbung?
-> Hier kostenlos registrieren
Ja die Bausteine haben alle nichts am Enable aber sie sollten aufgrund der REQ Bedienung nie gleichzeitig Aufgerufen werden.
REQ ist eine Eingangsvariable am FB MB_MASTER. EN ist dafür da um ihn überhaupt aufzurufen.
Also wird er mit unbeschaltetem EN oder EN=TRUE in jedem Fall geöffnet. Danach ist es davon abhängig was intern im Baustein geschieht, aber das wird nur Siemens wissen. Sollte MB_MASTER also nun in einer zweiten Instanz mit anderen Parametern die Befehle des ersten annehmen, so könnte das Schwierigkeiten bereiten.
Nicht aber, wenn Siemens es richtig ausprogrammiert hat, da hat PN/DP auch seine Zweifel dran gehabt:
was die interne State-Machine betrifft, wenn alle MB_MASTER mit dem selben Instanz-DB arbeiten. Ob das wirklich richtig funktioniert wenn mehrere Aufrufe gleichzeitig enabled sind ??

EN-Beispiel:
Wenn ich in einen FC einen Ausgang mittels M0.0=Q0.0 belege, den EN auf TRUE, dann M0.0 auf TRUE, und anschließend EN auf FALSE, nun M0.0 auf FALSE, so wird Q0.0 dennoch TRUE bleiben weil der FC gar nicht mehr aufgerufen wird.
 
Wenn die Fehlermeldung noch die 16#8180 für "Ungültiger Wert für die Port-ID" ist, dann wurde ich die HW Konfiguration für die CB Karte checken.

Die Name "Local~CB_1241_(RS485)" sieht richtig aus.
Passt die Wert 269 noch ?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Schade. Das wäre mein Vinkel um das Problem anzugreifen wenn man die Ursache nicht schnell erkennen kann.
Man wöhnt sich an häufig dass Programm unter neue versionsnummern zu speichern. Z.B wenn etwas erfolgreich getestet ist und man fängt an mit einen neuen 'Kapitel'.
Ja das sollte ich mir für die Zukunft merken. Danke für den Tipp.
 
Wenn man nach der Anleitung geht ist am MB_COMM_LOAD am EN auch der FirstScan angeschrieben worden. Im Screenshot von Dir nicht. Schafft das Abhilfe?

Am MB_MASTER kenne ich nur das EN und REQ verarbeitet werden. EN bis Done kommt und REQ zum Anstossen. Ob es mit dauerhaft EN=TRUE funktioniert vermag ich nicht zu sagen.
Habe ich jetzt nochmals angepasst. Macht aber leider keinen unterschied.
 
REQ ist eine Eingangsvariable am FB MB_MASTER. EN ist dafür da um ihn überhaupt aufzurufen.
Also wird er mit unbeschaltetem EN oder EN=TRUE in jedem Fall geöffnet. Danach ist es davon abhängig was intern im Baustein geschieht, aber das wird nur Siemens wissen. Sollte MB_MASTER also nun in einer zweiten Instanz mit anderen Parametern die Befehle des ersten annehmen, so könnte das Schwierigkeiten bereiten.
Nicht aber, wenn Siemens es richtig ausprogrammiert hat, da hat PN/DP auch seine Zweifel dran gehabt:


EN-Beispiel:
Wenn ich in einen FC einen Ausgang mittels M0.0=Q0.0 belege, den EN auf TRUE, dann M0.0 auf TRUE, und anschließend EN auf FALSE, nun M0.0 auf FALSE, so wird Q0.0 dennoch TRUE bleiben weil der FC gar nicht mehr aufgerufen wird.
Ich weis was du meinst. Aber sollte das Kommunikationsmodul dann nicht trotzdem etwas senden/empfangen aber der Motorentreiber versteht das dann vielleicht einfach nicht? Auf jeden fall sind die Kommunikation LED's immer noch dunkel.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn die Fehlermeldung noch die 16#8180 für "Ungültiger Wert für die Port-ID" ist, dann wurde ich die HW Konfiguration für die CB Karte checken.

Die Name "Local~CB_1241_(RS485)" sieht richtig aus.
Passt die Wert 269 noch ?
Ich habe den Port extra gelöscht und über das DropDown Menu erneut hinzugefügt. Von dem her sollte der Port stimmen würde ich behaupten.
 
@Lea_6343 Nach den Anpassungen triggerst Du MB_COMM_LOAD aber jeweils neu am REQ damit die Kommunikation neu gesetzt wird oder aber schaltest alles aus und wieder ein damit neu initialisiert wird?
 
@Lea_6343 Nach den Anpassungen triggerst Du MB_COMM_LOAD aber jeweils neu am REQ damit die Kommunikation neu gesetzt wird oder aber schaltest alles aus und wieder ein damit neu initialisiert wird?
Zuerst neu triggern und wen es nicht funktioniert Powercycle und dann auch noch MRES.
Ich versuche jetzt aber mal die Ansteuerung über ein anderes RS485 Modul.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hast Du mal geschaut, ob beim Spannung zuschalten die Tx/Rx-LEDs kurz leuchten?
Hast Du mal getestet, ob die MB_MASTER-Anweisungen überhaupt etwas senden, also ob DONE kommt? Dazu am einfachsten einen Zähler an das DONE-Signal schalten und schauen ob der Zählerstand sich ändert.

Harald
 
Hast Du mal geschaut, ob beim Spannung zuschalten die Tx/Rx-LEDs kurz leuchten?
Hast Du mal getestet, ob die MB_MASTER-Anweisungen überhaupt etwas senden, also ob DONE kommt? Dazu am einfachsten einen Zähler an das DONE-Signal schalten und schauen ob der Zählerstand sich ändert.

Harald
Leider habe ich seit heute morgen wieder den Fehler mit dem Port. Auch wen ich wieder auf das alte Modul zurück wechsle und den Trick mit dem retriggern anwende geht es nicht mehr weg leider. Auch MRES und die CPU auf Werkseinstellungen zurücksetzten hat bis jetzt nicht gebracht.

Das mit den Zählern ist eine super Idee. Aber leider kann ich diese im Moment nicht testen.
 
Von heute auf morgen der Wechsel von geht zu geht nicht ist bei nicht geänderter Hard- und Software nahezu ausgeschlossen. Die SPS macht das gleiche wie gestern auch noch, beim anderen Teilnehmer weiß ich es nicht.

Vermutlich waren gestern irgendwann mal die Einstellungen richtig und wurden übernommen. Danach wurde probiert und probiert aber nicht alles wurde übernommen bzw. aktiviert. Also ist der letzte Stand gestern das es eigentlich auch nicht funktioniert hätte.

Irgendwann in den ganzen Änderungen also war eine Konfiguration vorhanden die funktioniert hat. Nur welche bleibt offen.

Meine weitere Vorgehensweise wäre:
Ich würde nun ein neues Projekt anlegen mit einer leeren PLC (HW-Konfig natürlich gültig eintragen). Dann das aktuelle Projekt als Referenz öffnen. Hieraus entnehme ich ausschließlich MB_MASTER, MB_MASTER-DB sowie MB_COMM_LOAD.
MB_COMM_LOAD wird einmal aufgerufen: 10 Sekunden nach CPU-Start.
MB_MASTER wird nicht aufgerufen, nur sein DB muss vorhanden sein damit MB_COMM_LOAD dort die Daten ablegt die für die aktuelle Verbindung gebraucht werden.

Nun alles laden. CPU und Fremdgerät ausschalten. Fremdgerät dann CPU einschalten.

Wenn MB_COMM_LOAD nun funktioniert, dann wird der FC in welchem MB_COMM_LOAD aufgerufen wurde oben rechts in die Projektbibliothek eingefügt. Nun haben wir Versionen.

Dann wird MB_MASTER aktiviert, aber nur ein einziger Aufruf. M5.0 an den EN sowie REQ. Im Folgenetzwerk steht das MB_MASTER_DB.DONE M5.0 zurücksetzt. Nun haben wir einen einzigen gültigen Aufruf erstellt und schauen uns das Ergebnis an.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bin mir nicht sicher ob ich hier im konkreten Fall eine Hilfe geben kann, aber evtl. hilft meine Beschaltung jemand weiter, der auch mit CB1241 ( Modbus RTU) experimentiert.

Meine Aufgabe bestand darin die Daten aus dem Sofarsolar Wechselrichter auf meinem MTP darzustellen.

Da ich überhaupt keine Erfahrung mit Modbus RTU, dagegen aber mit Modbus TCP habe, tastete ich mich eben ran.

Modbus_Comm_Load

Den EN beschalte ich nicht und in den REQ habe ich mir einen Merker eingebaut, um zu Testzwecken die Verbindung neu anstossen zu können.

Modbus_Master

Auch hier den EN nicht beschaltet, den REQ mit Merker, wie vor and dem Done. Der Wechselrichter kann nur LEN=1 somit schalte ich die Registeradresse bei jedem Done weiter und beginne dann von vorne. Ebenfalls wird natürlich die Zieladresse im DATA_PTR hochgezählt. Dieser DB darf nicht „optimiert“ sein!

LED’s

Wenn der Modbus-Teilnehmer offline ist, dann blinkt TxD periodisch, wenn die Verbindung steht blinken beide permanent.
 

Anhänge

  • MB_RTU_Master.png
    MB_RTU_Master.png
    246,7 KB · Aufrufe: 6
Alle Probleme die ich bisher mit Modbus RTU hatte waren ziemlich „dumme“ Anwenderfehler. Falsch eingestellte Baudrate, falsch eingestellte Parität, vertauschte Kabeladern etc. Prüfe das am besten nochmal auf beiden Seiten. Also bei der CPU, als auch beim Gerät selbst. Vielleicht hat sich da ja ein Fehler eingeschlichen.
 
Hallo zusammen
Ich wollte mich noch für euere Hilfe bedanken. Die Anlage haben wir fertig gestellt. In unseren Tests aber hat sich gezeigt das die Modbus Kommunikation leider bis heute nicht stabile läuft. Als Beispiel für uns unerklärlich ist wen wir 15 mal das exakt gleiche Programm fahren, dass beim 11. mal eine Achse 0.1mm falsch fährt. Aber zusätzlich hat sich in den Tests auch gezeigt, dass eine Realtime Kommunikation besser für die Anwendung geeignet ist. Deshalb wir die ganze Anlage nun auf Profinet umgebaut.
 
Zurück
Oben