3 Analogwerte verarbeiten

mythus

Level-1
Beiträge
2
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Tag zusammen,
Ich habe einen Messdenungsstreifen der 5 KOhm hat und 2 Potis mit 5 KOhm
ich will mit den beiden Potis eine Ober- und einen Untergenzwert eingeben und der Zylinder an den Dehnungsstreifen soll dann in diesen Bereich verahren.

Das Einlessen der Werte ist kein Problem aber ich würde gernen diese PEWs In einen festgelegten Berreich der Überschaubarer ist als 0 - 27*** zb 0 bis 1000 umwandeln und dann vergleichen die Eingänge bekommen 0 - 10 V.

die CPU ist einen 313C

den FC105 habe ichs chon mal asuporbiert dafür aber der geht anscheinend nicht.

[ code ]nw1
L 10000
T MD 10
NOP 0

NW2
L 0
T MD 20
NOP 0

NW3
U E 0.0
= L 0.0
BLD 103
CALL "SCALE"
IN :=PEW10
HI_LIM :=MD10
LO_LIM :=MD20
BIPOLAR:=L0.0
RET_VAL:=MW20
OUT :=MD40
NOP 0
[ code ]
 
Zuletzt bearbeitet:
Warum funktioniert er denn nicht ?
Ansonsten kannst du dir so einen Normierungsbaustein auch einfach selber bauen, du musst nur die Gleichung die in der Faq steht umsetzen.
Ist eigentlich nicht so schwer :)
 
HI_Lim und Lo_Lim sind Real

also heisst das

Code:
L 1000.0
T MD 10
NOP 0
 
NW2
L 0.0
T MD 20
NOP 0
 
NW3
U E 0.0
= L 0.0
BLD 103
CALL "SCALE"
IN :=PEW10
HI_LIM :=MD10
LO_LIM :=MD20
BIPOLAR:=L0.0
RET_VAL:=MW20
OUT :=MD40
NOP 0

Weiterhin warum wird ein Eingang auf Bipolar geschaltet, da gehört entweder eine High (bei z.B, +-10V oder ein Low drauf 4-2ma)

Der Ausgang ist dann auch Real, also aufpassen bei den Abfragen für die Grenzwerte !
 
Zuviel Werbung?
-> Hier kostenlos registrieren
so danke war ein komischer Fehler jetzt geht es habe aber ein neuens problem
ICh habe einen erstellt
OB1 Klar doer?
FC1 Programmablauf
FC12 Normalisieren der Analogen Werte und Begrenzen dieser
FC105 Analgowert Gegrenzen
Code:
FC12
NW1
 U     M    200.0
      =     L      0.0
      BLD   103
      CALL  "Read Analog Value 464-2"
       IN     :=#Potieingang
       HI_LIM :=1.000000e+003
       LO_LIM :=0.000000e+000
       BIPOLAR:=L0.0
       RET_VAL:=MW303
       OUT    :=MD350
      NOP   0
NW2
 L     MD   350
      TRUNC 
      T     MD   370
      NOP   0
NW3
  L     MD   370
      T     #Endwert
      NOP   0

FC1
NW1
 CALL  FC    12
       Potieingang:=PEW10
       Endwert    :=MW110
      NOP   0
NW2
     CALL  FC    12
       Potieingang:=PEW12
       Endwert    :=MW210
      NOP   0
Leider kommt dann immer SF
Der FC12 da habe ich Variablen erstellt und woltle ihn als festen Baustein verwenden geht das etwa nicht diesen Mehrmals in einen FC zu nutzen?
Will nur drei Analogwerte einlessen und skalieren zum weiter verarbeiten. beim übertragen komtm imemr das der FC 12 nicht kopiert werden kann warum CPU ist eine CPU 313C

tut mir leid habe es eben selber raus gefunden der Werteberiech meiner MDs war zu gross
 
Zuletzt bearbeitet:
1. im diagnosepuffer steht, warum die cpu rausfliegt
2. den code von FC12, da das der problembaustein ist, posten
3. wenn dein baustein sauber programmiert ist, ist es kein problem ihn mehrere hundert mal in einem baustein aufzurufen
 
Eigentlich ist deine Problematik ganz einfach:
Die 313C hat nur 256 Merkerbytes,
du verwendest aber Merker jenseits von 300 ...

Weiterhin könntest du anstatt der Merker generell auch den Temp-Bereich dafür hernehmen.
Wichtig aber das du auf FUP/KOP umstellst wenn du die Variablen anlegst,
weil der FUP/AWL Umsetzer bereits L0.0 verwendet.

Mfg
Manuel
 
Zurück
Oben