Modbus TCP mit Siemens PAC3200 - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: Hardware (/Forum-Hardware) +--- Thema: Modbus TCP mit Siemens PAC3200 (/Thread-Modbus-TCP-mit-Siemens-PAC3200) |
Modbus TCP mit Siemens PAC3200 - guenterfred - 01.08.2012 14:13 Hallo zusammen, ich bin auf der Suche nach einer Möglichkeit das Energiemessgerät Siemens Sentron PAC3200 mittels Labview auszulesen. Ich benötige für ein VI eine Größe aus dem Messgerät. Bislang habe ich noch keine Lösung gefunden. Kann mir jemand helfen? Die Modbus-Library habe ich schon installiert. Da ich Neuling bin auf dem Gebiet, hoffe ich auf eine Antwort. Danke! Gruß Günni RE: Modbus TCP mit Siemens PAC3200 - jg - 01.08.2012 15:04 Wer sucht, der findet. http://www.sea.siemens.com/us/internet-dms/btlv/ACCESS/ACCESS/Docs/SENTRON_pac3200_manual_ul_PSC_en.pdf Ab Seite 38 ist eine Liste mit Modbus-Adressen. Gruß, Jens RE: Modbus TCP mit Siemens PAC3200 - guenterfred - 02.08.2012 07:32 Hallo Jens, danke für deine schnelle Antwort. Die Informationen werden mir sicherlich helfen. Allerdings habe ich noch Probleme, wie die Einbindung in Labview realisiert werden kann... Hast du da auch ein Lösung? Gruß Günni RE: Modbus TCP mit Siemens PAC3200 - NWOmason - 02.08.2012 20:18 (02.08.2012 07:32 )guenterfred schrieb: Allerdings habe ich noch Probleme, wie die Einbindung in Labview realisiert werden kann... Welche Probleme hast du denn genau? Was hast du bis jetzt programmiert? Lad mal dein VI hoch! (02.08.2012 07:32 )guenterfred schrieb: Hast du da auch ein Lösung? Schau dir doch mal die Beispiele der Modbus-Bibliothek an. Wenn du die richtigen FunctionCodes verwendest, kannst du die jeweiligen Register lesen/schreiben usw. Beste Grüße, NWO RE: Modbus TCP mit Siemens PAC3200 - guenterfred - 03.08.2012 07:46 Hallo NWO, danke schon mal für deine Hilfe. Anbei ist das VI. Ich versuche über die Eingabe der Slave IP-Adresse mittels TCP Open Connect eine Verbindung zum Slave herzustellen. Die Portnummer ist 502. Danach versuche ich die Register auszulesen. Hierzu habe ich schon einige Dinge einfach mal ausprobiert. Im VI findest du die Option Read Holding Registers. Dann beende ich die TSP connection. Allerdings bleibt der gewünschte Erfolg leider aus. Ich habe versucht mich an dem Beispiel MB Ethernet Examble Master zu orientieren. Laut Manual vom Energiemessgerät sind die Funktionscodes 0x03 und 0x04 zu verwenden. Allerdings sehe ich keine Möglichkeit, diese Codes irgendwo als Adresse oder ähnliches einzugeben. Ist der Ansatz prinzipiell richtig? oder was mache ich falsch...? Kannst du mir weiterhelfen? Danke! Gruß Günni RE: Modbus TCP mit Siemens PAC3200 - jg - 03.08.2012 09:51 Um die Functioncodes musst du dich nicht groß kümmern. Das erledigt die NI-Modbus-Lib für dich, indem du die entsprechende Auswahl beim Read/Write-VI triffst (also z.B. Read Holding Registers oder Read Input Registers). Dass du beim MBAP Header ein (0,1) angeschlossen hast, ist ebenfalls sehr gut. Ich bin bisher über kein Gerät gestolpert, dass bei Unit-ID = 0 eine Antwort liefert. Was du nach dringend machen solltest: Schließe ein Control am Eingang "Quantity" an, denn du willst ja mindestens 1 Register abfragen. Bei diesem Gerät musst du sogar immer mind. 2 oder 4 Register auf einmal auslesen und dann diese U16-Register korrekt auf U32, Double oder Float typecasten. Gruß, Jens RE: Modbus TCP mit Siemens PAC3200 - guenterfred - 09.08.2012 08:47 Hallo, habe das Problem nun endlich dank eurer Hilfe gelöst. Für alle die ein ähnliches Problem haben: Die Lösung ist als VI im Anhang. Das Auslesen der Input Register/Holding Register liefert 2 Registereinträge die zusammen 32-bit lang sind. Durch das "typecasten" zu Single-Precision floating-point number (SGL) wird der gewünschte Messwert angezeigt. Der Datentyp Single (SGL) hat das 32-bit IEEE 754 Format. http://www.labviewforum.de/attachment.php?aid=12557 Also Problem gelöst!!! Danke an alle! Gruß Günni |