15.02.2024 12:35 | |
Beigetreten: 05.12.2023 Letzter Bes: 05.03.2024 Beiträge: 3 Bewertung: (0) |
Ich setzte eine S7-1517 ein Ich werde am Schluss 5 Slaves lesen und schreiben. Jeden Slave muss ich in 3 Adressbereichen Lesen (10001,41001,43001) und in einem Schreiben (43001) und den entsprechenden MB_MODE und MB_DATA_LEN zuweisen. Schreiben darf ich nur sofern notwendig um den Speicher des Slaves zu schonen, deshalb die Trennung von Adressbereich 43001.Da der MB Client nur 1 Verbindung zu jeden Slave aufbauen kann will ich Ihn nur mit Platzhaltern belegen.So benötige ich für die Kommunikation mit allen Slaves nur einen Baustein oder nur einen Baustein pro Slave, je nach gusto. Adressierungen lege ich ihn einen separaten Baustein Anschliessend bilde ich eine Sequenz um den Baustein nacheinander mit den richtigen Variablen zu belegen. 5 Slaves je 4 mal auslesen/schreiben gibt 20 durchgänge. Hierfür habe ich eine Funktion angelegt FC_MOVE angelegt
Für die einzelnen Adressbereiche im Modbus habe ich je ein udt angelegt, damit die Variablen beschriftet werden können im DB. In einen Array nur indirekt möglich z.b. mir Array of udt. Jetzt zu meinen Problem. Am MB Client benötige ich einen Platzhalter an der Schnittstelle MB_DATA_PTR. Wenn ich MB_DATA_PTR nur den Baustein der Daten zuweise "MB_TCP_BUFF_DATA" kann ich in meiner FC MOVE Funktion nicht "MB_TCP_BUFF_DATA":="MB_TCP_DATA".IG1000_NEA1_Binaries; zuweisen. Ich kann nur eine Zuweisung machen für einen udt. "MB_TCP_BUFF_DATA".BUFF_IG1000_Binaries:="MB_TCP_DATA".IG1000_NEA1_Binaries; D.h. ich müsste für jeden udt einen eigenen MB Client erstellen was den Sinn des ganzen Puffers zuwiderläuft. Ich habe versucht eine Funktion zu schreiben die einen Struct (udt) als return ausgibt um diesen mit MB_DATA_PTR zu verbinden. Sodass ich die Daten im definitiven Baustein verschieben kann.
Ein Return des Datentyps struct gibt es leider nicht. Frage: Gibt es eine Möglichkeit wie ich am MB_DATA_PTR einen Platzhalter einfügen kann der auf verschiedene udt in einen Datenbaustein weisst? Danke und Gruss DateianhangBilder.pdf (114 Downloads) |
Folgen Sie uns auf