Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 4 von 4

Thema: CRC - Prüfsumme in S7 programmieren

  1. #1
    Registriert seit
    17.05.2016
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammne,

    ich muss unten aufgeführet Code in S7 Programmieren. Ich bin auf die Hilfe angewiesen.

    public static class Crc16
    {
    const ushort polynomial = 0xA001;
    static readonly ushort[] table = new ushort[256];
    public static ushort ComputeChecksum(byte[] bytes)
    {
    ushort crc = 0;
    for (int i = 0; i < bytes.Length; ++i)
    {
    byte index = (byte)(crc ^ bytes[i]);
    crc = (ushort)((crc >> ^ table[index]);
    }
    return crc;
    }
    public static ushort getTableVal(int i){
    return table[i];
    }
    static Crc16()
    {
    ushort value;
    ushort temp;
    for (ushort i = 0; i < table.Length; ++i)
    {
    value = 0;
    temp = i;
    for (byte j = 0; j < 8; ++j)
    {
    if (((value ^ temp) & 0x0001) != 0)
    {
    value = (ushort)((value >> 1) ^ polynomial);
    }
    else
    {
    value >>= 1;
    }
    temp >>= 1;
    }
    table[i] = value;
    }
    }
    }




    Vielen Dank im Voraus
    Gruß an alle
    Zitieren Zitieren CRC - Prüfsumme in S7 programmieren  

  2. #2
    Registriert seit
    12.04.2005
    Ort
    Black Forest
    Beiträge
    1.335
    Danke
    27
    Erhielt 129 Danke für 116 Beiträge

    Standard

    einfach mal nach CRC hier im Forum suchen ...

    CRC berechnen
    CRC 16 Prüfsumme

    „Eine Frage raubt mir den Verstand bin ich verrückt oder sind es die Anderen ?“

    Albert Einstein

  3. #3
    Registriert seit
    17.07.2009
    Ort
    Am Rande der Ostalb
    Beiträge
    5.480
    Danke
    1.141
    Erhielt 1.239 Danke für 972 Beiträge

    Standard

    Und nun?
    Sollen wir dir den Code schreiben oder was?

    Bemühe mal die Suchfunktion hier im Forum. Da gibt es schon einige Threads zu diesem Thema.

    Du kannst dir auch mal die oscat-lib anschauen, da gibt es auch fertige Bausteine für CRC-Berechnung.

    Gruß
    Dieter

  4. #4
    kevokamin ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    17.05.2016
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammne,

    danke für die schnelle Antworten. Eine Suche im Portal hatte ich schon hinter mir.
    Jedoch habe ich nicht brauchbares gefunden.

    Hier mehr Detail zur meinem Problem.
    Wir kommunizieren übergeordnet mit einer Rezepturverwaltung. Dieser sendet je nach Rezeptur REAL-Werte als Parameter runter. Zusätzlich wird ein CRC - Code mit gesendet. Die REAL Daten kommen so wie sollten auf unserer Seite. Anhang der angekommene Daten sollen wir eine CRC-Überprüfung machen und bei identische INT-Werte (empfangen und generiert).

    Den S7-Programm zur Bildung ein CRC Code habe ich benutzt um eine 16 Stelligen Code zur erstellen, leider ist die generierte und empfangene CRC Wert nicht identisch. Deshalb kommt nicht zu einem Start der Rezepturen.

    DA ich noch nie mit sowas zu tun hatte, bin auf eure Hilfe angewissen.

    Vielen Dank für eure Unterstützung.
    Gruß

Ähnliche Themen

  1. Prüfsumme bzw Zeitstempel auslesen
    Von Kuffel im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 17.11.2006, 12:50
  2. CRC 16 Prüfsumme
    Von Thompsen im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 23.10.2006, 12:59
  3. CRC 16
    Von pramic im Forum Programmierstrategien
    Antworten: 0
    Letzter Beitrag: 06.09.2005, 13:51
  4. CRC 16
    Von pramic im Forum Programmierstrategien
    Antworten: 4
    Letzter Beitrag: 27.07.2005, 11:25
  5. Antworten: 3
    Letzter Beitrag: 28.03.2005, 16:19

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •