Home > Forum > Controller SlimLine e Netsyst (LogicLab) > Lade- und Geschwindigkeitserfassung für Zyklusausführung
- Dieses Thema hat 3 Antworten, 4 Teilnehmer und wurde zuletzt aktualisiert 9 Jahre, 6 Monate da Maximum.
-
AutorPost
-
April 27, 2011 bei 3: 14 pm #35001AlessandroPartecipante
Ich habe mich gefragt, ob in der Slim Line-SPS-Leitung eine Karte zum Lesen der Wägezellen vorhanden ist und ob Sie weitere technische Informationen, Art der Verbindung, verwendete Filter usw. wünschen. da arbeite ich an einer gewichtswaage.
Außerdem wollte ich die Leistung der CPU verstehen, für dieses Projekt muss ich FOR-Schleifen durchführen, insbesondere eine, die, selbst wenn sie optimiert ist, 35000 Zyklen erreichen und überschreiten kann, innerhalb der Schleife einige Additionen und Vergleiche, die in wenigen Zehnteln nicht mehr durchgeführt werden müssen zweite.
April 27, 2011 bei 3: 23 pm #36717Sergio BertanaAdministrator des ForumsIl Analoges E / A-Erweiterungsmodul Das Gerät verfügt über Differenzeingänge mit 23-Bit-Erfassung und wird in Kürze mit einer neuen Firmware für das Ablesen des Dehnungsmessers aktualisiert. Selbst bei der hohen Anzahl von Bits des Konvektors ist es bereits möglich, die aus der Messbrücke kommenden Analogwerte und den Gewichtswert zu erfassen.
In Bezug auf die Filterung des erfassten Gewichtswerts ist es möglich, den Filteralgorithmus aus der ST-Sprache zu implementieren. Wir haben einige Filterbeispiele, die wir auf Anfrage zur Verfügung stellen können.
Was die FOR-Schleife betrifft, so sind 35000 Schleifen ziemlich viel, aber wenn es nicht möglich ist, Vereinfachungsalgorithmen auszuführen, besteht das Erzwingen des Spielens darin, die erforderliche Anzahl von Schleifen zu realisieren. Ich habe ein einfaches ST-Programm erstellt, das 40000 Zyklen mit drei Summen und einem Vergleich im Inneren ausführt, alle mit 32-Bit-Variablen, und die Ausführungszeit beträgt 56 mSec.
PROGRAMM ST
VAR
i: UINT; {DE: "Hilfszähler"}
AddArray: ARRAY [0..3] OF UDINT; {DE: "Array hinzufügen"}
END_VARFÜR i: = 0 TO 40000 DO
AddArray [0]: = AddArray [0] + 1;
AddArray [1]: = AddArray [1] + 1;
AddArray [2]: = AddArray [2] + 1;
IF (AddArray [2] = AddArray [3]) DANN AddArray [3]: = AddArray [3] + 1; END_IF;
END_FOR;END_PROGRAM
Oktober 7, 2014 bei 4: 48 pm #38447RobertoPartecipanteEine kurze Frage, da wir uns einem Wiegesystem stellen sollten: Ich habe gesehen, dass die Karte mit einer daneben geschriebenen Sibylline (min) auf 17 Bit abfällt. Wie ist es zu interpretieren?
Zweite Frage: Betrügen wir das Zeichen ein wenig oder ist es möglich, es mit allen 130 KPpoints als unipolar zu verwenden?
Oktober 7, 2014 bei 6: 02 pm #38448MaximumModeratorDie 17 Bits (min) beziehen sich auf den schlimmsten Fall bei Verwendung von GAIN = 128. Für die anderen Gewinne hier sind die verschiedenen Auflösungen:
- AD_VIN_VREF_G_1: 19.5 Bit
- AD_VIN_VREF_G_2: 18.5 Bit
- AD_VIN_VREF_G_4: 19.0 Bit
- AD_VIN_VREF_G_8: 19.0 Bit
- AD_VIN_VREF_G_16: 18.5 Bit
- AD_VIN_VREF_G_32: 18.5 Bit
- AD_VIN_VREF_G_64: 18.0 Bit
- AD_VIN_VREF_G_128: 17.0 BitDies sind die realen Bits, dh das Vorzeichenbit wird bereits entfernt. Der zu wählende Gewinn hängt natürlich von den Eigenschaften des Dehnungsmessers ab. Weitere Informationen in dieses Thema.
-
AutorPost
- Sie müssen angemeldet sein, um auf dieses Thema antworten zu können.