Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Wichtig: Bevor Du wegen einem Problem mit der CC2 postest, stelle sicher, daß Du
die neueste OS-Version, die neuseste Compiler-DLL und die neuesten Modulversionen benutzt!
Beachte, daß sich auf der CD zur CC2-Unit/Station auch jetzt noch die ältesten Dateien befinden!
Es gelten folgende Anleitung und Regeln: Regeln CC2Net.de-Forum
Zurück zum Artikel  (Blaue Felder sind Pflichtfelder)


Name:   UserID: 
 E-Mail:
Kategorie
Betreff
Homepage:
Link-Titel:
Link-URL:
Cookie für Name, UserID, E-Mail, Homepage-URL setzen
(Erspart die Neueingabe bei Beiträgen und Antworten)
(Zum Löschen des Cookies hier klicken)
Ich nutze:
C-Control II Unit
C164CI-Controllerboard
C-Control II Station
CCRP5 mit CC2-Unit (Conrad Roboter)
CC2-Application-Board
CC2-StarterBoard
CC2-ReglerBoard
eigenes Board
original OS     OSOPT_V2     OSOPT V3.0 OSOPT V3.1

Kommentar:
Einfügen von HTML im Kommentar:

Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a>
Bild einfügen: <img src="BILDURL">
Text formatieren: <b>fetter Text</b>  <i>kursiver Text</i> <u>unterstrichener Text</u>
Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b>
C2 Quellcode formatieren: <code>Quellcode</code>
ASM Quellcode formatieren: <asm>Quellcode</asm>
(Innerhalb eines Quellcodeabschnitts ist kein html möglich.)
Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst !  

> Hallo Detlef, > > im Zusammenhang mit dem Zugriff auf deine globalen "shared" Variablen: > hast Du den Zugriff selbst auch über ein capture geschützt (mit Hilfe des Moduls cap !)? > > Bedenke, dass ein Zugriff durchaus durch einen Threadwechesel unterbrochen werden kann, und > damit inkonsistente Daten (z.B. bei einem struct) auftreten. > > Ich verfolge bei meiner Steuerung auch den Ansatz eines globalen shared memory pools (wie von > Rene bereits beschrieben); zusätzlich sind die Zugriffe durch mehrere capture geschützt (also > eine sinnvolle Aufteilung der globalen, um die Blockade möglichst kurz zu halten). > > Im Prinzip sieht's folgendermassen aus: > a) capture der relevanten (Eingangs-)Daten > b) anlegen einer lokalen Kopie der Eingangsdaten > c) release der relevanten (Eingangs-)Daten > d) ... eigentliche Funktion ... > e) capture der relevanten (Ausgangs-)Daten > f) Kopie der lokal erzeugten Daten nach (Ausgangs-)Daten > g) release der relevanten (Ausgangs-)Daten > > Hoffe das hilft weiter. > > Viele Grüsse > Joerg C. > > > Hallo Jörg, > > > > ja, daran habe ich schon gedacht. > > Da das System aber "geordnet" spinnt, > > (bspw. fahren plötzlich alle Jalousien eines Raumes wie von Geisterhand herunter) wird es wohl > > nicht am Bus generell liegen. > > Vielmehr erkennt ein Thread wohl "Eingangssignale", die es gar nicht gibt. > > Guck ich mir diesen Thread aber separat an, oder begrenze das Zusammenspiel auf zwei > > weitere Threads, funktionierts auch monatelang ohne Probleme. Erst, wenn ich weitere Threads > > hinzufüge, fängt der "Eingangssignallesethread" an "Geistersignale" zu lesen. Supersporadisch, > > aber inakzeptabel! > > > > Viele Grüße aus Leer (Ostfriesland) > > > > Detlef
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB