12.11.2014 13:27 | |
Beiträge: 8 Bewertung: (0) |
Moin, ich bin noch recht neu hier und wollte mich erstmal vorstellen. Bin 24 Jahre alt, habe eine Ausbildung zum Elektroniker für Energie und Gebäudetechnik absolviert, studiere jetzt Elektrotechnik im 5. Semester und komme aus dem schönen Schleswig-Holstein. Im Moment absolviere ich mein Praxissemester und soll ein Programm schreiben, mit dem ein Inselnetz mit einer S7 gesteuert wird. Für die Steuerung benötige ich auch einige Daten von den Batteriewechselrichtern (SMA Sunny Islands 5048 (SI)), welche ich über die Modbus-Schnittstelle der Webbox mit Hilfe des MB_Client abfragen kann. Genau da liegt mein Problem. In Sachen Kommunikation und S7 habe ich bislang keinerlei Erfahrungen, ich habe mich in den letzten Wochen zwar viel mit dem Thema beschäftigt und auch sehr viele Forumsbeiträge hier und in anderen Foren durchgelesen, aber jetzt habe ich einen Punkt erreicht, an dem ich von alleine derzeit nicht weiter komme. Diesen Beitrag habe ich mir auch schon des öfteren durchgelsen, da GLouw genau das gleiche vor hat wie ich, leider komme ich trotzdem nicht auf die Lösung... Die Verbindung zur Webbox bekomme ich hin, nur die Daten bekomme ich nicht. Dem SI habe ich genau wie GLouw die Unit ID 3 gegeben, auch den MB_DATA_ADDR habe ich mit allen möglichen varianten benannt.Wo das Problem wahrscheinlich liegt, ist der MB_DATA_PTR, den verstehe ich noch nicht wirklich. Laut hilfe benötige ich da, wie jetzt zu sehen, einen Zeiger im Format ANY oder wie ich es lieber machen würde, mit einem Datenbaustein. Ich weiß ehrlich gesagt nicht genau was ich an den MB_DATA_PTR legen soll und wie ich die Daten dann lesen kann. Kann mir da jemand einen kleinen Denkanstoß geben? Das rechte Bild im Screenshot blinkt alle 5-10 Sekunden nur einmal kurz auf, ansonsten ist das linke Bild das resultat meines Programms. Ich verwende: S7 1212 DC/DC/DC TIA V13 Basic Danke schonmal! |
18.11.2014 07:20 | |
Beiträge: 8 Bewertung: (0) |
Moin, die Adresse für den MB_DATA_ADDR habe ich aus dieser Tabelle von Seite 49. Die 4 habe ich mir aus dem anderen Beitrag abgeguckt. Ich habe es aber auch ohne die 4 versucht also die Adresse 30847 angelegt. Außerdem habe ich auch schon andere Unit ID´s ausprobiert (1 und 2 sind Standartmäßig schon vergeben.), sowie dazugehörige Adressen. Was meinst du mit Dokumentation des Masters? Sry bin noch nicht so fit im programmieren... Ich habe den Datenbereich jetzt direkt auf einen DB gelegt, da ich mit dem Pointer nicht klar gekommen bin. Habe auch schon verschiedene Datentypen ausprobiert.Es funktioniert trotzdem nicht. Gruß lirumdarum |
18.11.2014 11:16 | |
Beiträge: 8 Bewertung: (0) |
Hey fafner, ich habs... Ich hab den Beitrag 10 mal gelesen und genau die Stelle jedes mal überlesen, welche das Problem jetzt gelöst hat. Bei dem MB_Client hat man einmal direkt am Baustein die CONNECT_ID, diese habe ich fälschlicher Weise für die Unit_ID gehalten. Wenn man aber in den vom MB_Client erstellten DB geht hat man dort eine Spalte MB_Unit_ID, auch die habe ich irgendwie übersehen... Trägt man dort die Unit ID ein und achtet man beim MB_DATA_ADDR auf die führende 4 funktioniert das ganze Vorhaben mit dem MB_Client wunderbar und ohne Probleme Wie heißt es doch so schön...man sieht den Wald vor lauter Bäumen nicht Vielen Dank für deine Hilfe! Gruß lirumdarum |
Für diesen Beitrag bedanken sich1 Benutzer |
Folgen Sie uns auf