Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
bin beim Migrieren auf TIA einen [SAVE] Aufruf gestoßen, zum ENO setzen.
Da hier viel Dumfug im Netz zu steht, habe ich einfach meine IMHO einfachste aktuelle Lösung krurz reingeschrieben.
Ja, da stimme ich zu. Die exakten U/L Stacks hab ich wohl nicht mehr.
Jedoch habe ich das lösen können, dadurch, daß alle I-DBs der Aufrufenden FBs neu generiert wurden, der Sollwert FB mit eigenen I-DBs (3x im Projekt) aufgerufen wird.
> bei L DIW ... oder L DID ... zu einem CPU-Stop kommen
Kam...
In letzter Konsequenz waren Null-Pointer die Ursache.
Verursacht durch inkonsistente Instanz-DBs und luschig verwendete Lokaldaten, als Mulit Instanz Aufruf verwendet.
Da ich inzwischen TIA "verwöhnt" bin, hatte ich nicht mehr auf diesen "Kleinkram" wie Instanz Daten/Lokaldaten, I-DBs...
Gefunden!
Warum, Erklärung folgt im Screenshot und hier.
Im AWL gibt es wohl einen Unterschied in der Akku Behandlung zwischen der älteren 315 2DP und der neueren 315F PN/DP.
vor meiner Zitierten Stelle lag das Problem:
U #P2
L P##Sollwerte_P2 //Zeiger auf...
Morgen Kollegen,
mein AWL ist zu "eingerostet", vielleicht erkennt ja jmd von Euch, was hier in der "etwas" neueren CPU 315F PN/DP
nicht mehr laufen will. Original Code war auf v5.4, heute mit v5.6.spX bearbeitet.
L P##Sollwerte_P1 //Zeiger auf Sollwerte Parametersatz 1...
Moin,
ich habe hier ein Problemchen. Mit meinem Step5 Paket kann ich den cp nicht mehr konfigurieren/projektieren, ebenso wenig ist es möglich die Profibuskarte um weitere Busteilnehmer zu ergänzen.
Es stünde an:
- 2 IM308 => ET200M übertragen
- 2 neue Profibusclients (DPV0) (GSD Datei) zufügen...
Ich reimplementiere das Fetch/Write Protokoll. (Weil es ja FW_TCP/FB210 nicht mehr in den neueren CPU 12xx/15xx gibt).
Die DBNr wird dynamisch übergeben, die Länge des Bereiches ebenfalls, steht beides im Telegramm Kopf.
2
Meine Nutzdaten/Empfangsdaten habe ich in einem #Buffer im Lokaldaten...
Bei der Aktion der S7-1200/1500 Fetch write beizubringen hänge ich an einer Stelle fest.
#pt := DB_ANY_TO_VARIANT(in := #dbnr, err => #ret_val); // Klappt nicht, wenn
Mein Problem ist, daß ich dbnr nicht versorgen kann.
Definiert man dbnr als "DB_ANY", dann kann man das tun...
Selber gefunden. :p
Die Lösung war, Serialize, Desrialize verwenden.
z.B.;
#ret_val := Deserialize(SRC_ARRAY := #buffer, DEST_VARIABLE => #tel, POS := #buffer_pos);
Unter dem Mäntelchen "not invented here" wird da wohl bei Siemens sehr viel vermurkst ... :x
Jojo
[gelöst] Speicher kopieren? (so a la "memcpy" möglich?)
Moin,
um das Fetch/Write in TIA/SCL neu zu implemtieren, da Siemens' dumme Herrlichkeit FB210 gestichen hat,
lese ich Daten via TCP/IP in einem Buffer (im L#/I-DB des FBs) ein.
Um den elegant zu verarbeiten, soll möchte ich aus dem...
Danke soweit.
Es läuft wohl darauf hinaus, daß ich das Fetch/Write als eigenen Baustein in SCL implementiere....
Werde dann dann veröffentlichen, vielleicht mit der OSCAT.de Bibliothek. Mal schauen.
Tendiere da nach LGPL Lizenz und einem Git Archiv auf unserem Server.
Schönen Feierabend...
Jojo