Analogausgängen

Zuviel Werbung?
-> Hier kostenlos registrieren
Genauer gesagt macht er eine Schrittweite von 0,73 kg.
Das hatte ich Dir doch oben schon gesagt.
100kg/4096= 24,4g.
Du hast richtig erkannt:

Also: Ich habe 1500 kg / 4096 = 360 g?
Und wenn Du nur 11bit auswertrst sinds dann 720g (0.72kg).

Du musst übrigens Durch 12bit-1 (4095) teilen.

Grundsätzlich wird das durch die verwendete Analogeingangskarte verursacht. Theoretisch wäre ne Single 16bit besser. Praktisch musst Du dann sehr auf die Verkabelumg achten, da Du Dir mehr EMV Rauschen einfängst.

Noch besser wäre Datenkommunikation zur Waage ohne die Mehrfach AD DA Wandlung.
 
Zuletzt bearbeitet:
Um auf 0,5kg Anzeigeschritte zu kommen, musst Du 12bit auswerten und auf 0,5kg genau runden.

Idealerweise setzt Du nen Mittelwert-, Median- oder PT1-Filter auf den Analogwert (nach der Wandlung in Real).
 
Wieso? Die Baugruppe hat 12bit.
Aber wenn ichs recht bedenke, gehen die 4mA da vermutlich ein 🤔.
Zugegeben, damit musst ich mich länger nicht mehr rumschlagen.
 
Kannst du die Spannung mal messen ohne Waage?Direkt an der karte.Draht abklemmen.
das habe jzt nochmal versucht, 0 A
Schickt die Waage eine Spannung raus und die SPS auch?Dann geht es nicht.Nur einer darf speisen.
Screenshot 2024-11-28 082827.png
Der WTS sendet nichts, er regelt es nur, wie es in der Beschreibung steht.

Was mich jedoch tatsächlich wundert, ist, dass meine 750-455-Karte beim Messen nichts anzeigt.
„Ja, genau, die Karte hat auch 16 Bits, aber die ersten Bits sind für die Rückmeldung reserviert.“
 
Dann muss er wohl mit den 730g leben, was also Anzeigegenauigkeit 1kg bedeutet.
Ich habe jetzt meine Waage auf ein Maximum von 100 kg umgestellt und entsprechend meine Gleichung angepasst.

Code:
PROGRAM Scale
VAR_INPUT
    iWert_Codesys: WORD;
    
END_VAR
VAR_OUTPUT
    Gewicht: REAL;
    
END_VAR
VAR
    offset: INT := 10;
    
    result: WORD;
    analogValue: WORD;
    maxlimit: WORD := 32767;
    maxGewicht: REAL := 100.0; // Maximalgewicht in kg
      aduBereich: REAL := 2047.0; // ADU-Bereich
END_VAR

result := shr (iWert_Codesys,4);

Gewicht := (WORD_TO_REAL( result - offset) / aduBereich)* maxGewicht*10;

somit habe ich jzt 0.043kg schritte
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Was ja richtig wäre wenn die Waage speist.An der Wago Klemme bist du dann passiv.
Eine Spannung muss er wohl messen.Meines Wissens fliesst ohne Spg. kein Strom.
Jetzt schliesst du in Reihe mal ein mA-meter an in die Schleife.
 
Zurück
Oben