Kaltstartremanenz bei Moeller PS4-141 (Serie 200)

Ludewig

Level-2
Beiträge
888
Reaktionspunkte
164
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe zwar Jahre mit diesen Dingern gearbeitet. Aber bisher war echte Kaltstartremanenz nie ein Thema.

Voraussetzungen:
- 141 ohne Karte (aber natürlich mit Batterie)
- Sucosoft V4.24
Klar ist, dass die 200er Remanenz nur über die Compileroptionen kann, nicht über Deklaration.
In den Compileroptionen ist keine Einheit angegeben (Bit, Byte, Word). Laut Hilfe ist maximal ein Bereich von 16 kByte als Merkerbereich für Datenaustausch oder Remanenz reservierbar. Also Angaben in Byte machen?

In meinem Fall sollen die MW 0 - 48 für den Datenaustausch mit einem PC per Modem dienen, die Wörter 42-48 sollen zusätzlich kaltstartremanent bleiben. Dort werden per Fernzugriff Biteinstellungen gespeichert, die nicht verloren gehen sollen.
Was müsste ich korrekterweise einstellen?

Mit der Einstellung
Merkerbereich 0 bis 800
Remenzbereich 0 bis 1
Rezepturbereich 2 bis 800

funktioniert es zwar, aber ich weiß bis heute nicht, was ich da mache.

Zugegebenermaßen eine Spezialfrage für "Uwe Schröder".
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Diese Broschüre hatte ich ganz vergessen. Sie enthält übrigens auch die Beschreibung des Modemzugangs. Dieser führte bei uns in Kombination mit kostenloser Zugriffssoftware dazu, dass die Serie bis etwa 2007 Standard war.

Allerdings hört sich auch dies nach Byte an. Also im oben beschriebenen Fall:
Warmstartremanenz Byte 0 - 83
Kaltstartremanenz Byte 84 - 97

Die Anlage wird per Modemzugriff programmiert, daher ist alles etwas umständlicher. Ich werde das in der nächsten Woche noch 'mal testen.
 
Hallo,

die Angaben sind in Byte (0-16383).
Ich würde allerdings den aktiven Merkerberich z.B. auf 0-500 setzen.
Den Remanezbereich leer lassen.
Den Rezepturbereich z.B. auf 0-500 setzen.
So sind alle Merker Kaltstartremanent.

Achtung: Byte 84 und 85 entspricht MW 84!

Gruß Robert
 
Oha!?
Achtung: Byte 84 und 85 entspricht MW 84!

Das war der Kern meiner Frage: Definiere ich hier eine durchgehenden Speicherbereich in Byte, den ich nachher mit WORDs beschreibe (49 (= 0 - 48 WORDs = 0 bis 97 Byte)
oder setzt der Compiler die Adressen um wie von Dir angegeben: 49 (0 - 48 WORDs = 48 + 1= 49 Byte. Letzteres hört sich irgendwie schräg an, aber wer weiß.

Anmerkung. In meiner Version 4.24 kann ich die Warmstartremanenz nicht auf Null setzen. Minimum ist 0-1, so dass es bei 2-x weitergeht mit dem Kaltstart.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

so sieht das z.B. bei mir aus (Version 5.06):

Sucosoft.png

Sollen die Merkerwörter 0-48 zum Datenaustausch verwendet werden, oder sollen 48 Merkerwörter verwendet werden?

Fall 1: Byte 0-49 = MW 0-48 = 50 Byte = 25 Wörter
Fall 2: Byte 0-95 = MW 0-94 = 96 Byte = 48 Wörter


Gruß Robert
 
1. Leer lassen, das ist die simple Lösung. Es stand vorher etwas drin und ich habe dann "0 bis 0" geschrieben. Das haben die Programmierer aber nicht abgefangen.

2. Ich danke Dir zutiefst für die Wiedererweckung meines Wissens, aber ich stecke gerade in einem Easy-Projekt und musste nur zwischendurch etwas an einer alten Anlage ändern. Daher der Denkfehler, dort werden die Wörter und Doppelwörter ja durchgängig nummeriert und überschneiden sich.
 
Zurück
Oben