Hilfe für Quereinsteiger

danielk

Level-1
Beiträge
2
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen!

Ich plane zur Zeit eine kleine mobile Anlage zum Testen von Messgeräten, wobei ich Temperatur, Spannung messe und "verarbeite" sowie ein paar Ventile reglen muss.

Vom Aufbau her habe ich mich für die CX9010 entschieden, an der die entsprechenden Klemmen drangesteckt sind. Nach der Installation von TWINCAT hat das System auch alles erkannt. Alles soweit i.O.

Ich habe für die Verarbeitung probehalber ein kleines Programm in ST geschrieben und wollte dies auf das CX transferieren.

Code:
PROGRAM MAIN
VAR
 tempIn AT %IB28: REAL; (*  Temperatur-Eingang  *)
 nsp: REAL;
END_VAR
 
nsp := nernstspannung(tempIn);

und

Code:
FUNCTION nernstspannung : REAL
VAR_INPUT
 Temperatur : REAL;         (* Temperatur-Eingang *)
END_VAR
VAR
 NerstQuotient : REAL:=19.1607; (* Amb-Air / 10ppm *)
 AllgGasKonstant_R : REAL:=8.31447 ; (*J mol^-1 K^-1*)
 FaradayKonstante_F : REAL:=96485.34; (*mol^-1*)
 Usonde: REAL;
END_VAR
 
 
nernstspannung:=(AllgGasKonstant_R*(temperatur+273)/(2*FaradayKonstante_F))*NerstQuotient;

Jetzt sagt mir das Programm beim Einloggen (F11), dass ich den falschen PLC Typ angeschlossen habe :confused:. Als Zielsystem ist der CX ausgewählt, was habe ich also falsch gemacht ?

Weiter habe ich das Problem, dass die Variable für die Temperatur als REAL deklariert habe, jedoch im System-Manager als INT läuft und den Wert ohne Komma darstellt. Auch hier finde ich keine Möglichkeit dies zu ändern.

----------------------------------

Wenn ich im System-Manager die Konfiguration überprüfen will, sagt mir dieser, dass das Gerät xy kein Sync Master hat. Leider finde ich in der Doku nur eine Beschreibung, was dies ist, jedoch nicht wie oder wo man diesen einstellt...

----------------------------------

Als Messgerätehersteller habe ich keinerlei Kenntnis von SPS usw, dachte aber, dass mit ein wenig Verstand und einer guten Doku die Sache schon in den Griff kriegen werde.

Nun muss ich gestehen, dass diese Steuerung zu mächtig für mich ist, daher bin ich auf der Suche nach einem "SPS für Dummies". Ich mir sicher bin dass die oben beschriebenen Punkte nicht wirklich Probleme sind. Die Doku von BECKHOFF setzt leider schon vieles voraus, was mir definitiv fehlt.

Hat wer Vorschläge, wie/wo man sich an das Thema reinarbeiten könnte?

Besten Dank und Grüße,
Daniel
 
Jetzt sagt mir das Programm beim Einloggen (F11), dass ich den falschen PLC Typ angeschlossen habe :confused:. Als Zielsystem ist der CX ausgewählt, was habe ich also falsch gemacht ?
Als Zielsystem musst du beim CX9xxx "CX (ARM)" auswählen, da der keine x86-basierende CPU hat.
Weiter habe ich das Problem, dass die Variable für die Temperatur als REAL deklariert habe, jedoch im System-Manager als INT läuft und den Wert ohne Komma darstellt. Auch hier finde ich keine Möglichkeit dies zu ändern.
Konvertierung von Datentypen:
Code:
rRealwert := INT_TO_REAL(iIntegerwert);
Du holst den Wert als INT in die SPS und konvertierst dann.

Beachte:
der CX9xxx hat meines WIssens nach keine FloatingPointUnit, die Verarbeitung von REAL-Werte wird daher richtig lahm sein.

Wenn ich im System-Manager die Konfiguration überprüfen will, sagt mir dieser, dass das Gerät xy kein Sync Master hat. Leider finde ich in der Doku nur eine Beschreibung, was dies ist, jedoch nicht wie oder wo man diesen einstellt...
Diese MEldung kommt, wenn eines der "Geräte" der E/A-Konfiguration keine Verknüpfung zur SPS hat.
Wenn das Gerät nicht gebraucht wird, kannste's ignorieren, ansonsten stelle zumindest einfach irgendeine Verknüpfung zwischen SPS und einem Prozessdatum des betreffenden E/A-Geräts her.

Nun muss ich gestehen, dass diese Steuerung zu mächtig für mich ist, daher bin ich auf der Suche nach einem "SPS für Dummies". Ich mir sicher bin dass die oben beschriebenen Punkte nicht wirklich Probleme sind. Die Doku von BECKHOFF setzt leider schon vieles voraus, was mir definitiv fehlt.
der CX9xxx ist eigentlich die kleinste PC-basierte Steuerung, die Beckhoff im Programm hat.

Das Problem ist für dich wohl eher das TwinCAT als Programmier- und Konfigurationsumgebung. Das System ist überaus mächtig und kann bis zu ner NC ausgebaut werden, ohne eine andere Software zu benötigen.
Du kratzt wahrscheinlich eher am untersten Rand der Möglichkeiten ...
... entweder man mag TwinCAT, oder man hasst es. Ich will mittlerweile mit nichts anderem mehr arbeiten, denn das System kann (mit entsprechender Hardware) überaus viel und spielt die Stärken erst so richtig aus, wenn's an Achsregelungen und Datenaustausch mit anderen (Fremd)Systeme geht.

"SPSen für Dummys" bietet Beckhoff in dem Sinne eigentlich nicht an.
Da gibt's andere und oft auch günstigere Systeme am Markt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Jetzt sagt mir das Programm beim Einloggen (F11), dass ich den falschen PLC Typ angeschlossen habe :confused:. Als Zielsystem ist der CX ausgewählt, was habe ich also falsch gemacht?

Was hast du denn für ein Zielsystem ausgewählt {PC und CX (x86) oder CX (Arm)}? Und was ist dein CX (wahrscheinlich x86?)?

Weiter habe ich das Problem, dass die Variable für die Temperatur als REAL deklariert habe, jedoch im System-Manager als INT läuft und den Wert ohne Komma darstellt. Auch hier finde ich keine Möglichkeit dies zu ändern.

Kann das am "%IB28" liegen? Passt IB zu REAL? Kenn mich da nicht aus. Würde dir auf jeden Fall "%I*" empfehlen, dann musst du dir auch keine Gedanken über Adresse bzw. Größe der Variablen machen.

Wenn ich im System-Manager die Konfiguration überprüfen will, sagt mir dieser, dass das Gerät xy kein Sync Master hat. Leider finde ich in der Doku nur eine Beschreibung, was dies ist, jedoch nicht wie oder wo man diesen einstellt...

Das liegt daran, dass die Ein- / Ausgänge des Geräts xy nicht mit den Variablen deiner Task verknüpft sind. Wenn du deinen Eingang als %I* deklarierst, dann kannst du im System-Manager diesen mit dem entsprechenden Eingang am Gerät xy verknüpfen. Dann dürfte diese Warnung auch nicht mehr auftreten.
 
Konvertierung von Datentypen:
Code:
rRealwert := INT_TO_REAL(iIntegerwert);
Du holst den Wert als INT in die SPS und konvertierst dann.
Man sollte dabei auf die Auflösung der Werte achten. Die Temperaturmess-Klemmen liefern soviel ich weiß den Temperaturwert in 0.1° Auflösung. Das sollte man aber mit der Klemmendoku verifizieren.
Wenn rRealwert in °C skaliert werden sollte dann muss die Skalierung noch angepasst werden:
Code:
rRealwert := INT_TO_REAL(iIntegerwert) / REAL#10;
Gruß,
witkatz
 
Zuviel Werbung?
-> Hier kostenlos registrieren
danielk: Wenn ich im System-Manager die Konfiguration überprüfen will, sagt mir dieser, dass das Gerät xy kein Sync Master hat. Leider finde ich in der Doku nur eine Beschreibung, was dies ist, jedoch nicht wie oder wo man diesen einstellt...

Diese MEldung kommt, wenn eines der "Geräte" der E/A-Konfiguration keine Verknüpfung zur SPS hat.
Wenn das Gerät nicht gebraucht wird, kannste's ignorieren, ansonsten stelle zumindest einfach irgendeine Verknüpfung zwischen SPS und einem Prozessdatum des betreffenden E/A-Geräts her.

Als TwinCat-Anfänger hab ich nun auch diese Meldung. Kannst du das mit dem Prozessdatum mal erläutern?
 
@Mäuseklavier

So wie ich deinem Screenshot entnehme, hast du bereits ein SPS-Projekt angefügt. Nun musst du nur noch eine Verknüpfung zwischen dem SPS-Projekt und deinem CX1100 herstellen (Variablenverknüpfung).

Gruß Cerberus
 
Das habe ich auch bereits getan, ist ein Testaufbau, habe einige E/As von den EL-Klemmen mit dem Programm verknüpft. Bekomme die Meldung auch für das Gerät1 (RT-Ethernet).
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das habe ich auch bereits getan, ist ein Testaufbau, habe einige E/As von den EL-Klemmen mit dem Programm verknüpft. Bekomme die Meldung auch für das Gerät1 (RT-Ethernet).

Was hängt denn an dem Gerät1 dran? Ist das deine ganz normale Ethernet-Schnittstelle des PCs? Brauchst du das Gerät überhaupt? Wenn nein, würde ich es entfernen oder zumindest deaktivieren.

Gruß Cerberus
 
Hab Gerät 1 deaktiviert, die Meldung kommt nicht mehr. Ansonsten habe ich gesehen, das die E/As auf Gerät 2 liegen. Die Meldung ist aber vom Gerät 6 (CX). Den kann ich wohl nicht deaktivieren, was hier tun? Hänge nochmal nen Screenshot dran.
 
"Gerät 6" scheint mir Netzteil und USV zu sein.
Du musst nicht unbedingt eine Verknüpfung machen, kannst es auch irgnorieren. Sollte den Betrieb nicht beeinflussen.

Bei den "normalen" Netzteilen ist es so. Kenn mich mit den USVs aber nicht aus. Könnte durchaus sein, dass die irgendwie bedient werden müssen.
Lösch das Gerät 6 einfach mal aus der Konfig und versuch's, ob's geht.
 
Als TwinCat-Anfänger hab ich nun auch diese Meldung. Kannst du das mit dem Prozessdatum mal erläutern?
Grundsätzlich zu dem Thema:
Beim Scannen der Hardware findet TwinCAt einige Hardware-Geräte. Diese müssen im Betrieb durch die Software-SPS zyklisch getriggert werden => sie brauchen einen sog. "Sync Master".
Sync-Master kann irgend eine TwinCAT-Task sein.

Wird dieses Hardware-Gerät nicht benötigt, kann man es aus der Konfig entfernen oder einfach deaktivieren (z.B. das RT-Ethernet oder das Nov-Ram).
Die Klemmenanschaltung sollte man logischerweise nicht löschen ;)

Will man die Geräte aber in der Konfig belassen, dann stellt man einfach irgend eine Verknüpfung zu irgend einer Task (SPS oder "zusätzliche Task") her.... Fertig.
 
Will man die Geräte aber in der Konfig belassen, dann stellt man einfach irgend eine Verknüpfung zu irgend einer Task (SPS oder "zusätzliche Task") her.... Fertig.


Heisst das ich lege in der SPS ne Dummy-variable an oder gibts da noch ne andere Möglichkeit, Stichwort Prozessdatum? Mit welcher variable aus dem Prozessabbild würde ich zum Beispiel die USV verknüpfen, (siehe Screenshot gestern)?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn du in der SPS keine Variable frei hast, lege eine "zusätzliche Task" an:
http://infosys.beckhoff.com/index.p...manager/basics/tcsysmgr_configaddusertask.htm
Dort eine Variable als Ein- oder Ausgang anlegen, passend zu den Prozessdaten deines E/A-Geräts:
http://infosys.beckhoff.com/index.p...csystemmanager/basics/TcSysMgr_AddTaskVar.htm

Als Prozessdatem biete sich doch "24V State" an? Das könntest du doch sogar in die SPS ziehen als Info, oder nicht?

Es müssen aber richtige Prozessdaten sein. Vom System generierte Variablen, wie z. B. die Geräte-ID ("DevID") oder die ADS-Adresse ("AmsNetId") genügen für die Verküpfung zur Sync-Task nicht, meine ich zu wissen.
 
Zurück
Oben