Autor Thema: Remanente Sollwerte als Parameter für diverse Blöcke vorgeben ?  (Gelesen 893 mal)

Offline Scorp

  • Newbie
  • *
  • Beiträge: 16
Remanente Sollwerte als Parameter für diverse Blöcke vorgeben ?
« am: März 27, 2020, 11:55:26 Vormittag »
Hallo Leute,

ich bin erst ganz am Anfang der Programmierung einer easy E4, kenne allerdings andere Kleinsteuerungen.
Grundsätzlich ist mir die Programmierung der Logik überwiegen klar, möchte jetzt aber ein Konzept erstellen,
mit dem ich remanente Sollwerte als Parameter für diverse Blöcke vorgeben kann, z.B. einen analogen Vergleicher.
Nehmen wir an, ich habe an I1 einen Istwert, der über Skalierung eines Analogeinganges ermittelt wird.
An I2 möchte ich nun einen Vergleichswert legen, der nicht überschritten oder unterschritten werden darf.
1. Sehe ich das richtig, dass ich keine Konstante benutzen darf, weil sie während der Laufzeit nicht mehr geändert werden kann ?
2. Nehme ich stattdessen je nach Wert ein Merker-Byte/-Wort/-Doppelwort und stelle dafür die Remanenz ein ?
3. Wenn ich Merker nehmen muss, wie bekomme ich bei der ersten Übertragung des Programmes einen Vorzugswert rein
oder muss ich nach der Übertragung erstmalig alle Werte innerhalb der Steuerung eingeben ?
Vielleicht gibt es auch ganz andere Möglichkeiten, die ich bisher übersehen habe.

Was ich bisher auch noch nicht ganz verstanden habe, ist das Speicherprinzip der Merker.
Wenn ich z.B. ein Merkerbit M01 nutze, belegt das auch ein Bit von Merkerbyte(-wort,-doppelwort)01 ?

Danke für eure Hilfe, Gruß Scorp

Offline weiss_nix

  • Full Member
  • ***
  • Beiträge: 245
  • geht nicht? gibt's nicht!
Antw:Remanente Sollwerte als Parameter für diverse Blöcke vorgeben ?
« Antwort #1 am: März 27, 2020, 13:13:09 Nachmittag »
Hallo Scorp,
Zitat
1. Sehe ich das richtig, dass ich keine Konstante benutzen darf,
... in der Simulation sind die Werte von Konstanten zur Laufzeit bedingt änderbar
Zitat
2. Nehme ich stattdessen je nach Wert ein Merker-Byte/-Wort/-Doppelwort
... ja
Zitat
3. Wenn ich Merker nehmen muss
... in dem du beim Programmstart prüfst ob Initialwerte geschrieben werden sollen,
wie das genau geht hängt im Wesentlichen von deiner bevorzugten Programmiermethode ab

M01 ist das 1. Bit vom MB01 sowie vom MW01 und vom MD01
M09 ist das 1. Bit vom MB02, das 9. Bit vom MW01 und vom MD01

schau mal im Forum da gibt es Excel-Tabellen zu ...
« Letzte Änderung: März 27, 2020, 13:14:59 Nachmittag von weiss_nix »
HTH & HAND

Manchmal, mitten in der Nacht da schleiche Ich mich zu meinem Wecker wenn er schläft, und brülle : NA WIE FÜHLT SICH DAS AN HÄÄ???

Offline Scorp

  • Newbie
  • *
  • Beiträge: 16
Antw:Remanente Sollwerte als Parameter für diverse Blöcke vorgeben ?
« Antwort #2 am: März 27, 2020, 14:25:15 Nachmittag »
Danke schon mal für die erste Antwort, habe bisher mit KOP und FUP gearbeitet,
probiere jetzt aber ST aus, da es viel flexibler ist und Pascal mir auch nicht fremd ist.

Wenn ich das richtig verstanden habe, nehme ich ein remanentes Merkerbit,
dass bei der Erstübertragung aus sein sollte.
In einer IF-Abfrage übertrage ich dann alle gewünschten Vorgabewerte in die Merkerworte
und setze gleichzeitig das Merkerbit, damit diese Zuweisungen nicht nochmal ausgeführt werden.
Ein passendes Häkchen bei den Systemeinstellungen, dass die Merker beim Übertragen
nicht überschrieben werden und das ist dann alles. So in etwa ?
Ich hätte mir gewünscht, dieses Häkchen aus lassen zu können und bei der Übertragung
zur SPS voreingestellte Werte nehmen zu können, aber das geht wohl nicht.

M.f.G. Scorp

Offline CiesleRa

  • Full Member
  • ***
  • Beiträge: 111
  • easyE4 for President
Antw:Remanente Sollwerte als Parameter für diverse Blöcke vorgeben ?
« Antwort #3 am: März 27, 2020, 19:59:55 Nachmittag »
Hi Scorp,
ehrlich gesagt, verstehe ich noch nicht so ganz was Du machen möchtest ;)
Aber vielleicht wäre der Datenbaustein für deine Anforderung interessant. Damit könntest Du z.B. eine Konstante beim ersten Zyklus in ein MB/MW schreiben.

Gruß Ralf
Alle von mir bereitgestellten Programme sind reine Beispielprojekte. Die Verwendung erfolgt auf eigene Gefahr. Jegliche Haftung ist ausgeschlossen.

Offline weiss_nix

  • Full Member
  • ***
  • Beiträge: 245
  • geht nicht? gibt's nicht!
Antw:Remanente Sollwerte als Parameter für diverse Blöcke vorgeben ?
« Antwort #4 am: März 28, 2020, 08:21:41 Vormittag »
Hallo Scorp,
ich denke mal du liegst richtig. In ST könnte es in etwa so aussehen.
(* Variante 1: M01 im remanenten Bereich
wenn dieses Bit FALSE ist, ist davon auszugehen
dass der remanente Speicher ungültig ist und
neu Initialisiert werden muss.

Variante 2: M01 im nicht remanenten Bereich
dann wird die Initialisierung bei jedem
Programmstart ausgeführt. *)

if not M01 then
MB02 := 15;
MW02 := 3456;
MD02 := 14;
// weitere Initialwerte eingeben
M01 := true; // Initialisierung bestätigen
end_if;

Zitat
Ich hätte mir gewünscht, dieses Häkchen aus lassen zu können und bei der Übertragung
zur SPS voreingestellte Werte nehmen zu können, aber das geht wohl nicht.
... da verstehe ich nicht ganz was du meinst
HTH & HAND

Manchmal, mitten in der Nacht da schleiche Ich mich zu meinem Wecker wenn er schläft, und brülle : NA WIE FÜHLT SICH DAS AN HÄÄ???

Offline Scorp

  • Newbie
  • *
  • Beiträge: 16
Antw:Remanente Sollwerte als Parameter für diverse Blöcke vorgeben ?
« Antwort #5 am: März 28, 2020, 10:28:40 Vormittag »
Danke für die Antworten, zwei mögliche Lösungen habe ich ja jetzt.

Um mein Vorhaben nochmal zu erläutern, ich habe z.B. einen Seilzugsensor sowie einen Drucksensor an Analogeingängen.
Diese Werte sind natürlich problemlos zu skalieren, so dass ich beim Seilzugsensor eine Höhe in mm und beim
Drucksensor einen Druck in bar bekomme. Das Ganze soll nun zu einer Programmvorlage werden, die einem
Maschinentyp entspricht, jedoch mit unterschiedlichen Werten für die Höhe oder den Druck. Diese Istwerte müssen
dann auch mit Sollwerten verglichen werden, z.B. Minimal- und Maximalhöhe oder Maximaldruck. Außerdem sind noch
diverse Zeitrelais integriert, deren Zeiten je nach Maschinentyp unterschiedlich sein können. Alle diese Sollwerte nenne
ich nun Parameter, die ich meistenteils auch als Konstante vorgeben könnte, möchte mir aber eine Korrektur durch den
Endanwender nicht verbauen. Deshalb werde ich die Parameter wohl in remanente Merkerworte packen und sie in
Meldetexten editierbar machen. Das soll möglichst einfach für den Kunden sein, da er keine Software hat.

Bei meiner bisherigen Steuerung brauchte ich mir dafür keinen Kopf machen, Analogvergleichswerte oder Zeitwerte waren
direkt editierbar und remanent. Hier gibt es nun ein anderes Programmierkonzept, an das man sich nur gewöhnen muss.
Vorerst komme ich also klar, auch das Beispiel in ST hatte ich mir schon so vorgestellt.

M.f.G. Scorp

Offline radar17892

  • Full Member
  • ***
  • Beiträge: 498
  • Think easy!
Antw:Remanente Sollwerte als Parameter für diverse Blöcke vorgeben ?
« Antwort #6 am: März 29, 2020, 11:32:54 Vormittag »
Hallo Scorp,
habe bei einem unserer Seriengeräte Startzeiten in einen remanenten Merkerbereich gelegt. Diese Zeiten müssen bei der Inbertiebnahme einmalig eingegeben werden, können aber auch vom Kunden selbst über Masken geändert werden. Fünktioniert gut!

Gruß Thomas
Weil Einfach einfach Einfach ist!