Autor Thema: Datenbaustein mit Tri-State Ausgang  (Gelesen 2248 mal)

Offline FPH

  • Newbie
  • *
  • Beiträge: 11
Datenbaustein mit Tri-State Ausgang
« am: August 11, 2021, 12:33:26 Nachmittag »
Hallo Forum,
da ich mehr als 32 Datenbausteine benötige, habe ich mir einen Anwenderbaustein erstellt. Leider blockiert der Ausgang mein Merkerwort, obwohl die Bausteine nicht aktiviert sind (EN).
Mit den Datenbausteinen kann ich das Merkerwort in der Tabelle händisch überschreiben, voraus gesetzt die Datenbausteine sind nicht aktiviert (EN).
Dieses Merkerwort soll auch via Modbus bzw. Touch Panel überschrieben werden.
Wie kann ich den Ausgang vom Anwenderbaustein erstellen, ohne das der Ausgang bei deaktivierten EN das Merkerwort überschreibt?
« Letzte Änderung: August 12, 2021, 09:59:44 Vormittag von FPH »

Offline Eulhofer

  • Full Member
  • ***
  • Beiträge: 106
  • Man ist nie zu alt neue Dummheiten zu begehen...
Antw:Datenbaustein mit Anwenderbaustein ersetzt
« Antwort #1 am: August 11, 2021, 16:18:11 Nachmittag »
Hallo FPH,

ich weiß nicht, ob ich hilfreich sein kann, da ich die Fragestellung schon nicht ganz nachvollziehen kann.

Also du hast alle 32 Datenbausteine im Programm eingesetzt und die werden aber nur bei Bedarf durch ihren jeweiligen EN aktiviert?
Zusätzlich hast du identisch arbeitende UFs geschrieben/im Einsatz?

Zitat
Leider blockiert der Ausgang mein Merkerwort, obwohl die Bausteine nicht aktiviert sind (EN
Wessen Ausgang?
Wessen/welches Merkerwort?
Welche Bausteine sind nicht aktiv?

Und überschreiben jetzt ALLE DBs und auch Dein UF ein und dasselbe MW?


Zitat
Mit den Datenbausteinen kann ich das Merkerwort in der Tabelle händisch überschreiben

Also mit den Hersteller-DBs?
Welches Merkerwort?
In welcher Tabelle?


Zitat
voraus gesetzt die Datenbausteine sind nicht aktiviert (EN)

Auch hier sprichst du von den Hersteller-DBs?
Erste Gehversuche mit der EasyE4 - nachdem ich jahrelang auf der Schneider/Telemecanique TSX-Micro programmiert habe....

Offline Juergen

  • easy god
  • *****
  • Beiträge: 1948
  • Jürgen
Antw:Datenbaustein mit Anwenderbaustein ersetzt
« Antwort #2 am: August 11, 2021, 17:00:54 Nachmittag »
Hallo,
ich habe es selber mit einem UF Baustein versucht.
Ich komme auf das gleiche Ergebnis, das es mit einem DB im UF  so nicht geht.
Das verhalten ist anders als, wenn der DB im Hauptprogramm ist.

Noch nicht mit Hardware geprüft
Mit freundlichem Gruß Juergen


Alle Programme sind nur Beispiele und Selber zu Testen.
Geprüft wurde nur in der Simulation der Software oder mit Simulator am Schreibtisch. Die Beispiele sind mit Sicherheitsschaltungen zu ergänzen.

Offline FPH

  • Newbie
  • *
  • Beiträge: 11
Antw:Datenbaustein mit Tri-State Ausgang
« Antwort #3 am: August 12, 2021, 10:05:44 Vormittag »
Vielen Dank für die schnelle Antworten. Ich habe noch mal nach gedacht, und festgestellt, das ich einen UF mit Tri-State-Ausgang benötige. Der Datenbaustein (DB01 ... DB32) hat ja einen Tri-State-Ausgang und beschreibt somit bei deaktivierten DB (EN = low) nicht das Merkerwort.

Offline FPH

  • Newbie
  • *
  • Beiträge: 11
Antw:Datenbaustein mit Tri-State Ausgang
« Antwort #4 am: August 12, 2021, 10:13:56 Vormittag »
Nachtrag
Als Notlösung plane ich einen UF mit 3 DB´s und werde diese auf einen originalen DB an den Eingang legen. So kann ich 3 verschiedene Analogsignale mit Auswahl des EN in ein Merkerwort schreiben.

Offline CiesleRa

  • Global Moderator
  • Full Member
  • *****
  • Beiträge: 322
  • easyE4 for President
Antw:Datenbaustein mit Tri-State Ausgang
« Antwort #5 am: August 13, 2021, 12:20:28 Nachmittag »
Hallo FPH,

die DB's sind so programmiert, das sie nur für einen Zyklus aktiv sind. Nämlich dann, wenn der Triggereingang aktiv ist. Das gilt aber nicht für einen Anwenderfunktionsbaustein (AFB) im Hauptprogramm. Somit ist der Wert am Ausgang des AFB's sozusagen festgeschrieben.

Abhilfe für dein Problem ist, wenn ich es denn richtig verstanden habe, dass der AFB nach erfolgter Triggerung übersprungen wird.
Ich habe mal zwei Bilder angehängt, die zeigen sollen wie ich das meine. Kannst Du ja mal ausprobieren um zu sehen, ob es die Funktion ist, die Du haben möchtest.
Ansonsten könnte ich mir vorstellen, dass auch der MX-Datenmultiplexer dein Problem lösen könnte.

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

Offline FPH

  • Newbie
  • *
  • Beiträge: 11
Antw:Datenbaustein mit Tri-State Ausgang
« Antwort #6 am: August 16, 2021, 18:13:02 Nachmittag »
Hallo CiesleRa,

danke für Deine Antwort, aber leider benötige ich einen Tri-State-Ausgang, um nicht das MW zu überschreiben. Der Trick mit dem nachfolgenden DB (siehe Anhang) funktioniert. Sobald ich die Funktion nicht mehr benötige, wird das MW13 nicht mehr beschrieben, und kann mit dem TouchPanel via ModBus beschrieben werden. Die Funktion beziehungsweise Funktionen sind leider dazu gekommen, sonnst hätte ich von Anfang an alles anders gemacht.


« Letzte Änderung: August 16, 2021, 18:19:25 Nachmittag von FPH »

Offline CiesleRa

  • Global Moderator
  • Full Member
  • *****
  • Beiträge: 322
  • easyE4 for President
Antw:Datenbaustein mit Tri-State Ausgang
« Antwort #7 am: August 16, 2021, 20:00:15 Nachmittag »
Hallo FPH,

ich glaube nicht, dass Du auf dem richtige Weg bist, aber das mag auch daran liegen, dass ich nicht genau verstehe, was Du da machst. ;)
Der "EN" Eingang ist eigentlich im Normalfall nicht dazu da, den Wert von I1 auf das Merkerwort zu schreiben. Dazu dient eigentlich der Triggereingang "T_".
Wenn Du den Triggereingang mit einem Triggersignal (steigende Flanke), beschaltest und damit den Wert von I1 auf das MW13 schreibst, kannst Du danach das MW13 auch über Modbus neu beschreiben. 

Gruß Ralf


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

Offline Juergen

  • easy god
  • *****
  • Beiträge: 1948
  • Jürgen
Antw:Datenbaustein mit Tri-State Ausgang
« Antwort #8 am: August 16, 2021, 22:16:27 Nachmittag »
 Hallo Ralf,

ich habe es versucht Online die Werte zu ändern.
Das geht mit einem Datenbaustein im Hauptprogramm. Mit einem Datenbaustein im UF nicht mehr
Mit freundlichem Gruß Juergen


Alle Programme sind nur Beispiele und Selber zu Testen.
Geprüft wurde nur in der Simulation der Software oder mit Simulator am Schreibtisch. Die Beispiele sind mit Sicherheitsschaltungen zu ergänzen.

Offline CiesleRa

  • Global Moderator
  • Full Member
  • *****
  • Beiträge: 322
  • easyE4 for President
Antw:Datenbaustein mit Tri-State Ausgang
« Antwort #9 am: August 17, 2021, 07:17:38 Vormittag »
Hallo Jürgen,

im UF selber, verhält sich der DB genauso wie im Hauptprogramm. Nur ist es im
Hauptprogramm nicht der DB, der auf das Merkerwort schreibt, sondern der UF. Und der
verhält sich anders. Daher muss man nach dem Triggern den UF überspringen um die
gleiche Funktionalität wie ein DB zu bekommen. Wenn Du mein kleines Beispiel nach programmierst, wirst Du sehen, dass es dann wieder möglich ist das MW an anderer Stelle neu zu beschreiben.

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

Offline Juergen

  • easy god
  • *****
  • Beiträge: 1948
  • Jürgen
Antw:Datenbaustein mit Tri-State Ausgang
« Antwort #10 am: August 17, 2021, 11:44:57 Vormittag »
Hallo Ralf,
hatte deine Bilder beim Lesen übersehen. War dabei wohl nicht Angemeldet.
Es sollte so gehen.
Leider hatte ich eine Lösung mit mehreren DBs in einem UF. Da geht es dann nicht mehr oder nur umständlich.
Der von dir Vorgeschlagene MX-Datenmultiplexer könnte eine elegante Lösung sein.
Mit freundlichem Gruß Juergen


Alle Programme sind nur Beispiele und Selber zu Testen.
Geprüft wurde nur in der Simulation der Software oder mit Simulator am Schreibtisch. Die Beispiele sind mit Sicherheitsschaltungen zu ergänzen.

Offline Eulhofer

  • Full Member
  • ***
  • Beiträge: 106
  • Man ist nie zu alt neue Dummheiten zu begehen...
Antw:Datenbaustein mit Tri-State Ausgang
« Antwort #11 am: August 18, 2021, 12:09:26 Nachmittag »
 
Zitat
aber das mag auch daran liegen, dass ich nicht genau verstehe, was Du da machst. ;)
Der "EN" Eingang ist eigentlich im Normalfall nicht dazu da, den Wert von I1 auf das Merkerwort zu schreiben. Dazu dient eigentlich der Triggereingang "T_".
Wenn Du den Triggereingang mit einem Triggersignal (steigende Flanke), beschaltest und damit den Wert von I1 auf das MW13 schreibst, kannst Du danach das MW13 auch über Modbus neu beschreiben.

Da bin ich ja froh, dass ich nicht ganz alleine damit war/bin.

Zumindest hat mir das Ändern des Themas auf "Tri-State-Ausgang" bzw. der Hinweis darauf geholfen, worum es prinzipiell geht.

Beim Herumprobieren ist mir aufgefallen, dass der DBxx-Baustein als Parameter auch das Abschalten der Flankenauswertung an T_ bietet (vielleicht erst seit letztem Update?) und damit auch bei Aktivierung/Deaktivierung mittels EN wie erwartet arbeitet (ich habe es nicht geschafft in der Simulation eine Flanke an T_ zu erreichen).

Das ganze Thema hat mir nun geholfen die Funktionsweise besser zu verstehen/untersuchen.

Ich hatte vor einiger Zeit schon einmal gefragt, wie ich eine Wertzuweisung in Abhängigkeit von einem boolschen True-Ergebnis realisieren kann, ohne dass der bestehende Wert bei "False" verändert wird.  Da bin ich jetzt schlauer - und brauche meinen selbstgeschriebenen UF dafür gar nicht mehr...
Erste Gehversuche mit der EasyE4 - nachdem ich jahrelang auf der Schneider/Telemecanique TSX-Micro programmiert habe....