wie asi analogwerteauslesen ?

grizu

Level-1
Beiträge
17
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
also ich hab da ein problem bei einer kleinen asi bus anlage.
ich ahbe eine 314 cpu und dann die 343 asi cp.
dazu ac2516 ifm analog modul für 4-20 ma. dieses hat die adresse 11.
so jetzt zu dem problem:
bei digitalen asi slaves ist es ja so das man die werte mit z.B.
l ped 290
t ed 66
einließt und die einzelnen digialen eingänge dann mit 66.0 -66.3 benutzen kann.
aber wenn wir jetzt über
l pew 293
t mw69
die analogwerte einlesen bekommen wir nichts raus.
dazu kommt das problem wie teile ich jetzt das mw in die 4 verschiedenen analogwerte auf? oder wie bekomme ich da überhaupt jetzt das signal.
als eingangs analogwert habe ich 4 4-20 ma geber gebaut. richtig angeschlossen sein müssten die weil die eingänge am ac modul nicht blinken und das ac modul auch nicht in störung geht.
hoffe einer kann mir helfen.
wenns noch fragen gibt einfach nachfragen :)


datenblatt zum ac 2516
http://ifm.de/ifmde/web/dsfs!AC2516.html
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also folgendes, du suchst dir den Datensatz dessen Start-Slave halt am nähesten bei deinen ersten Analog-Slave ist.

Das wäre also laut der Tabelle auf Seite 49 der DS142 ...

Nun legst du dir einen DB an, z.B. DB20 so:
Code:
0.0 AE_Slave_9_1 : INT ;
2.0 AE_Slave_9_2 : INT ;
...
22.0 AE_Slave_11_4 : INT;
Den Datensatz liest du so aus:
Code:
Call SFC 59
REQ :=TRUE
IOID :=B#16#54
LADDR :=W#16#120 //Hex für 288
RECNUM :=B#16#8E //Hex für 142
RET_VAL :=MW14 //Durch beliebiges Wort ersetzen
BUSY :=M9.2 //Durch beliebiges Globales Bool ersetzen
RECORD :=P#DB20.DBX0.0 BYTE 24
In DB20.DBW16 steht nun also der Eingangswert deines Kanal 1 von Slave 11.
DBW18 ist dann Kanal 2 ...

Ich hoffe das Prinzip ist nun einigermaßen verständlich.

Mfg
Manuel
 
ja danke für die hilfe aber das mit den datensätzen ist mir immer noch nicht klar warum ich das brauche.
 
Weil du erweiterte Slaves, also B-Slaves oder auch Analog-Slaves nunmal so auslesen bzw. beschreiben musst,
das ist halt einfach so.

Bzw. ist das auch um EA-Daten im Peripheriebereich zu sparen.

Der CP würde theoretisch 62 Slaves mit je 4 Bit unterstützen, das wären 31 Byte ...
Dann könnten es aber theoretisch auch 31 Analog-Slaves sein, mit je 4 Worten pro Slave,
also 248 Byte.

Mit dieser Datensatzgeschichte vermeidet man halt, das man so einen Riesen Klotz im Peripherie-Bereich hat,
denn auch der ist letzten Endes begrenzt.
z.B. auf 1024 Byte bei CPU 312 ...

Mfg
Manuel
 
Zurück
Oben