Eine speicherprogrammierbare Steuerung (SPS) SLC500 von Allen-Bradley verwendet einen 16-Bit-Analog-Digital-Wandler (in ihrem Modell 1746-NI4) in einer analogen Eingangskarte, um 4-20 mA-Signale in digitale Zahlenwerte im Bereich von 3277 (bei 4 mA) bis 16384 (bei 20 mA) umzuwandeln.
Allerdings müssen diese Rohzahlen von der analogen Karte der SPS mathematisch in der SPS skaliert werden, um reale Maßeinheiten darzustellen, in diesem Fall 0 bis 700 GPM Durchfluss.
Skalierung analoger SPS-Eingänge
Formulieren Sie eine Skalierungsgleichung, um sie in die SPS zu programmieren, sodass 4 mA Strom als 0 GPM und 20 mA Strom als 700 GPM registriert werden.
Wir haben bereits die Rohwerte aus dem Analog-Digital-Wandler (ADC) der Analogkarte für 4 mA und 20 mA erhalten: 3277 bzw. 16384.
Diese Werte definieren den Bereich unseres linearen Graphen:
Berechnen und Ersetzen des Steigungswerts (m) für diese Gleichung unter Verwendung des vollständigen Anstiegs-/Überlaufbereichs der linearen Funktion:
Diese Art der Skalierungsberechnung ist in SPS-Anwendungen so üblich, dass Allen-Bradley einen speziellen SCL-Befehl („Skalierung“) nur für diesen Zweck bereitgestellt hat.
Statt „Steigung“ (m) und „Achsenabschnitt“ (b) fordert der Befehl den menschlichen Programmierer auf, Werte für „Rate“ bzw. „Offset“ einzugeben.
Darüber hinaus wird die Rate in der SCL-Anweisung von Allen-Bradley als Zähler eines Bruchs ausgedrückt, dessen Nenner auf 10000 festgelegt ist, sodass Bruchsteigungswerte (weniger als eins) mithilfe ganzer Zahlen angegeben werden können.
Abgesehen von diesen Details ist das Konzept genau dasselbe. Um unsere Steigung von 700/13107 als Bruch mit 10000 als Nenner auszudrücken, muss der Zähler lediglich durch Kreuzmultiplikation und Division gelöst werden:
Die SCL-Anweisung wäre also wie folgt konfiguriert: