TIA Probleme mit iDevice bzw. POKE_BLK 1215C-CPU

Invasa

Level-1
Beiträge
3
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich bin derzeit an einem Projekt, bei dem ich eine 1500er CPU als Haupt-SPS habe und bis zu 5 1200er CPUs als dezentrale Rechenknechte bei denen ich die jeiweils 6 HSCs komplett ausreize.
Nun projektiere ich die Kommunikation untereinander und würde dies gerne mit iDevice tun. Datenvolumen 1500er => 1200er etwa 146 Bytes, andere Richtung ca. 20 Bytes.

Die eigentliche iDevice-Kommunikation läuft soweit, die E/A-Prozessabbilder der Kommunikationspartner werden sauber übertragen. Geplant habe ich je Kommunikationspaar je einen Sende- und Empfangs-DB, erstellt über UDTs, schön strukturiert. Auf der 1500er-Seite lässt sich der Sende-DB (als Beispiel) mit dem BLKMOV-Befehl schön auf das Ausgangsprozessabbild schieben, die Signale lassen sich dann auf 1200er-Seite im Eingangswort auslesen.

Jetzt zum eigentlichen Problem. Die 1200er hat ja bekanntlich den BLKMOV-Befehl nicht im Befehlssatz, also habe ich versucht, die Eingangsdaten mit dem POKE_BLK-Befehl in einem SCL-Baustein auf den entsprechenden Empfangs-DB mit gleicher Struktur wie der Sende-DB auf der 1500er-Seite zu kopieren. Leider ohne Erfolg, der Empfangs-DB hat überall die Startwerte.
Anbei den Code im SCL-Baustein:



Code:
POKE_BLK(area_src:=16#81,
         dbNumber_src:=0,
         byteOffset_src:=256,
         area_dest:=16#84,
         dbNumber_dest:=1,
         byteOffset_dest:=0,
         count:=146);

Machen soll er folgendes: 146 Bytes beginnend aus dem IW256 in den DB1 mit Offset 0 zu schreiben.
Vielleicht kann mir jemand helfen, bzw. sieht jemand wo ich einen Fehler gemacht habe.

Danke schonmal und Gruß
Invasa
 
Zuletzt bearbeitet:
Hast Du deinen Empfangs DB für optimierten Zugriff eingerichtet ?
Du solltest mal in die Diagnose blicken.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Der optimierte Zugriff ist nicht aktiviert.

Ich habe mittlerweile die Lösung, bzw. das Problem gefunden. Der Ziel-DB war ein Byte kürzer als die in "Count" angegebene Länge. Diese muss wohl exakt stimmen, bzw. kann kleiner sein, sonst geht nichts. Schade dass kein Fehlercode ausgegeben wird, wäre hier hilfreich gewesen.

Danke für Deine Antwort!
 
Zurück
Oben