Indexzähler

Deutsch
Anonymous
2019-09-20
2019-09-26
  • Anonymous - 2019-09-20

    Originally created by: mg

    Ich habe bisher schon immer eine SQL Datenbank verwendet. In dieser Datenbank muß ich einen Index vergeben. Was für eine Nummer der hat ist mir erst mal egal. Nur sie darf nur 1x vorkommen. Ich habe diese Nummern bisher händisch vergeben. Die Datenbank wird allerdings quer über die Software von verschiedenen POU's gefüllt. Es ist SCHWER die Nummern nur 1x zu vergeben. Bei Erweiterungen sieht es noch dramatischer aus.
    Gibt es im Codesys eine Möglichkeit die Durchnumerierung so zu machen, daß ich irgendwelche Fehlerquellen ausschließe.

    Hinweis: Die Nummern dürfen sich auch in Zukuft nicht ändern, wenn ich so einen Baustein rauslösche.

    -> Somit sind das eigentlich Konstanten, die beim Erstellen der Software automatisch vergeben werden sollen.

    Ich bin mir ziemlich sicher, daß es sowas im Codesys nicht gibt. Aber man kann ja fragen. Eine vernünfige Idee dazu habe ich leider auch nicht.

    Mg

     
  • m.prestel

    m.prestel - 2019-09-26

    Hallo MG,

    normalerweise kannst du doch in einer Datenbank einen Auto-Increment vergeben?
    Sollte das nicht die Lösung sein?

    LG
    Marcel

     
  • Anonymous - 2019-09-26

    Originally created by: mg

    Danke für den Kommentar

    Das mit dem Autoincement funktioniert nicht da die Ablage der Daten folgendermaßen funktioniert:

    Zeit,Wert,Datenquelle

    Mir geht es um die Datenquelle. Dieser Index ist das Problem. Autoincement erhöht sich nur bei jeder Zeile. Das ist hier allerdings nicht erforderlich. Mir sind inzwischen auch schon Ideen eingefallen. Nur muß das Ganze 100%tig sein. Sonst ist meine Datenbank kaputt. Ich habe das auch schon real versucht. Mußte es aber auf Grund von Unzulänglichkeiten wieder rauslöschen.

    Ich habe mir inzwischen gedacht ich mache mir eine weitere Liste und speichere die mit dem Composer, dann überprüfe ich VOR dem Start der Software ob der Index der Datenquelle vorhanden ist. Wenn nicht muß ich ihn neu anlegen. Wenn ja soll er den bestehenden verwenden. Aber wehe da geht mal was schief. Lieber wäre mir wenn das bereits im Engineering erstellt wird.

    Eine weitere Idee wäre gewesen, den Index aus der Bezeichung des Funktionsblocks zu bilden. Da wird aber die Zahl zu groß, außerdem ist die Ablage dann sehr chaotisch.

     
  • m.prestel

    m.prestel - 2019-09-26

    Hallo MG,

    du kannst es dennoch mit einer Datenbank abbilden.
    Du hast eine einzelne Tabelle, in der du folgendes hast:
    ID (Mit Auto-Incr), Datenquellen (irgendeine Beschreibung für dich)

    Dazu dann die zweite Tabelle
    Datenquelle-ID, Zeit, Wert

    LG

     
  • Anonymous - 2019-09-26

    Originally created by: mg

    Dann muß ich sie allerdings ins Codesys einlesen. Das tue ich im Moment nicht.
    Wäre aber auch ein GUTE IDEE.

     

Log in to post a comment.