January 15, 2018, 1:55 am
Hallo,
ich bin neu in diesem Forum und auch Anfänger in Sachen CoDeSys, habe dennoch einige Fragen auf dem Herzen.
Zu mir: Ich schreibe momentan meine Studienarbeit, in der ich ein Bedienelement für ein Gerät bestehend aus Pneumatik und Elektromotor implementieren soll. Als Steuerung dient die Festo CECC (mit CoDeSys 3.5.7 programmiert ) und das Steuerungsprogramm läuft bereits erfolgreich. Das Gerät wird schlussendlich in einem Büro ähnlichen Raum stehen und von Fachpersonal bedient werden. Das heißt es wird nicht mit übermäßig viel Schmutz belastet, es wird nicht mit öligen Fingern bedient, es befindet sich kurzum nicht in einem industriellen Umfeld. Das Bediengerät soll den Prozess steuern und gesammelte Daten für den Bediener darstellen. Nach längerer Recherche stellt sich mir jetzt vor allem eine Frage:
Spricht etwas dagegen, mittels CoDeSys WebVisu eine Visualisierung zu erstellen und diese im Browser eines Raspberry Pi mit angeschlossenen Touchscreen darzustellen und zu bedienen? (vielleicht hat jemand schleche Erfahrungen gesammelt) Der Pi ist ohnehin im System integriert und hat bereits eine kleine Aufgabe zu erledigen, weshalb es für mich nahe lag, diesen zu verwenden. Mittels WebVisu könnte ich auch leicht auf die Variablen des Steuerungsprogrammes zugreifen und müsste mich nicht erst um die Kommunikation zwischen Steuerung und HMI kümmern
Ich habe auch noch andere HMI Lösungen gefunden (CoDeSys HMI, OPC UA, Festos eigenes Bediengerät), die mir aber entweder umständlicher oder zu teuer erschienen. (Kosten waren unbedingt so niedrig wie möglich zu halten) Lasse mich aber gern eines Besseren belehren.
Liebe Grüße!
↧
January 15, 2018, 1:56 am
Hallo,
ich muss mit c# komplexe strukturen an die sps senden.
solange das einfache datentypen sind funktioniert das auch alles über WriteAny().
dafür von der beckhoffseite:
Wenn Arrays, Strings oder boolsche Werte in einer Struktur/Klasse definiert sind, muss man festlegen, wie diese gemarshallt werden. Dies geschieht mit Hilfe des MarshalAs Attributs. Da Arrays und Strings unter .Net normalerweise keine feste Länge haben, muss mit dem Property SizeConst die Grösse des Arrays bzw. des Strings festgelegt werden. Das Marshallen von Mehrdimensionale Arrays oder Arrays von Strukturen ist mit dem Marhaler des .NET Frameworks 1.1 nicht möglich. Mehrdimensionale Arrays müssten auf eindimensionale Arrays abgebildet werden. Arrays von Strukturen müssten in der .NET Struktur aufgelöst werden.
In dem Beispiel wird das MarshalAsAttribute in der Klasse ComplexStruct verwendet:
[StructLayout(LayoutKind.Sequential, Pack=1)] // TwinCAT2->Pack=1 TwinCAT3->Pack=0
public class ComplexStruct
{
public short intVal;
//specifies how .NET should marshal the array
//SizeConst specifies the number of elements the array has.
[MarshalAs(UnmanagedType.ByValArray, SizeConst=4)]
public int[] dintArr = new int[4];
[MarshalAs(UnmanagedType.I1)]
public bool boolVal;
public byte byteVal;
//specifies how .NET should marshal the string
//SizeConst specifies the number of characters the string has.
//'(inclusive the terminating null ).
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=6)]
public string stringVal = "";
public SimpleStruct simpleStruct1 =new SimpleStruct();
}
bei mir konkret:
[StructLayout(LayoutKind.Sequential, Pack = 0)]
public class C1
{
private bool _exist;
private short _numb;
private Pos _pos;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst =5)]
private string _liquid;
private float _volume;
private Pos _pos2;
}
[StructLayout(LayoutKind.Sequential, Pack = 0)]//this is necessary in order to use a handler for a struct
public class Pos
{
private short _id;//
[MarshalAs(UnmanagedType.I1)]
private bool _o;
private short _a;
private float _x; //
private float _y; //
private float _z; //
}
in der SPS:
TYPE ST_Class1 :
STRUCT
bExist : BOOL;
nNumb : INT;
sPos : ST_Position;
sLiquid : STRING; // Kind of Liquid
fVolume : REAL; // Ammount of liquid in Well
sPos2 : ST_Position; // coordinates [mm] of the Well XY-center at the top
END_STRUCT
END_TYPE
Das funktioniert leider nicht ein class1-objekt zu senden. Also an die sps nur ein Pos senden geht und auch ein Array von Pos.
Der Anfang stimmt überein, aber hinter dem String also die Werte des floats volume und des 2. pos werden nicht mit übertragen.
Wenn ich den String liquid aber rausnehme, dann klappt das.
liegt das an dem string? wie kann ich strings darin mitversenden, damit es funktioniert? welche gröÃe (Marshall As) muss ich dem string geben?
↧
↧
January 15, 2018, 2:06 am
Hallo Leute,
ich habe ein kleines Problem.
Wenn ich einen Analogausgang der Beckhoff Klemme über den Scale-x Baustein ansteuere z.B. mit dem Wert 5V ,bekomme ich leider nur 4,2V am Ausgang.
Habt ihr eine Idee was ich falsch mache bzw . welche Einstellungen ich noch tätigen muss?
Ich bin noch relativ neu in der SPS Programmierung ich hoffe die Frage ist nicht völlig idiotisch.
Grüße
Birger
↧
January 15, 2018, 2:24 am
Servus
Ich scheitere gerade an der RS232 Kommunikation mit einem Hochspannungspannungs Prüfgerät.
Der Receive_P2P Baustein liefert mir ständig eine 8280 zurück.
In der Beschreibung liest man dazu "Negative Quittung beim lesen des Moduls".
Weiß jemand was das heißen soll?
Gruß
↧
January 15, 2018, 3:12 am
Hallo zusammen,
ich brauche unbedingt eure Hilfe, ich bin totaler Neuling im TIA v13 Step 7.
Ich soll ein Programm nach vorgaben schreiben aber genau da scheiterts. Bin seit knapp 4 Wochen schon damit beschäftigt und weiss einfach nicht mehr weiter. Daher hoffe ich das ich hier jemden finde der sich verdammt gut in Programmierung auskennt im Step 7 "FUP" der mir eventuell helfen kann.
Damit ihr einen Überblick habt um was es genau geht stelle ich euch mal meinen Arbeitsauftrag dar.
In der Grundstellung ist die Brücke unten, die Schranke offen und die Ampel aus.
Mit dem Schalter -S1 "Anlage EIN/AUS" wird die Anlage ein- bzw. ausgeschaltet, ist die Anlage eingeschaltet,
leuchtet die Meldeleuchte -P1 "Anlage EIN". Ist die Anlage ausgeschaltet, ist kein Aktor aktiv.
Wird der Taster -S2 "Brücke hoch" betätigt, wird die Ampel für 3s blinkend eingeschaltet. Danach
schaltet die Ampel auf Dauerlicht und der Motor -M2 "Schranke" wird im Rechtslauf eingeschaltet, bis
der Grenztaster -B14 "Schranke geschlossen" betätigt wird.
Nach weiteren 3s wird der Motor -M1 "Brücke" im Linkslauf eingeschaltet, bis der Grenztaster -B11
"Brücke oben" betätigt wird. Ist der Grenztaster -B11 "Brücke oben" betätigt, leiuchtet die Meldeleuchte
-P2 "Brücke oben".
Wird der Taster -S3 "Brücke runter" betätigt, wird der Motor -M1 "Brücke" im Rechtslauf eingeschaltet,
bis der Grenztaster -B12 "Brücke unten" betätigt wird. Ist der Grenztaster -B12 "Brücke unten"
betätigt, wird der Motor -M2 "Schranke" im Linkslauf eingeschaltet. Wird der Grenztaster -B13
"Schranke offen" betätigt, werden der Motor -M2 "Schranke" und die Ampel ausgeschaltet.
Der Motor -M1 "Brücke" und der Motor -M2 "Schranke" werden jeweils über einen Motorschutzschalter geschützt.
Löst eine der Motoschutzeinrichtungen aus, werden beide Motoren abgeschaltet und die Brücke bzw. die Schranke
bleiben in ihren Positionen stehen. Gleichzeitig leuchtet die Meldeleuchte -P3 "Störung". Nach dem Wiedereinschalten
des Motorschutzschalters kann mit dem Taster -S4 "Störung quittieren" die STörung quittieret werden und die Motoren
können wieder eingeschaltet werden.
Wäre echt schön wenn mir jemend helfen könnte.
↧
↧
January 15, 2018, 3:18 am
Hallo zusammen,
ich möchte zwischen 2 S7-CPU's (315-2 PN/DP) Daten austauschen.
Hatte nun zunächst einen DP/DP-Koppler drin, würde den allerdings gern raus haben und die Daten über Profinet austauschen.
Hierzu habe ich eine S7-Verbindung angelegt und die Daten über PUT/GET ausgetauscht.
Jetzt habe ich allerdings den Verdacht das dies langsamer ist als die DP/DP-Kopplung.
Welche Profinet-Kommunikation wäre schneller als die S7-Verbindung?
Das ganze soll ggf. auch ausgebaut werden, z.B. zwischen S7-300er und S7-1500er CPU's.........
Das FAQ habe ich mir schon angesehen, da wird jedoch wenig auf die Geschwindigkeit eingegangen.
↧
January 15, 2018, 3:39 am
Hi Leute,
ich will/muss eine Bibliothek erstellen finde es als Neuling sehr schwer da wirklich umfassende Informationen zu finden die zB. die richtige Dokumentation, Interfaces usw beinhalten. Hat jemand eine fertige Beispiel-lib als Projekt durch die ich mich durcharbeiten könnte oder etwas ähnliches ? oder einfach ne ausführliche PDF.
mfg
D
CoDeSys V3.5
↧
January 15, 2018, 4:34 am
Hallo zusammen,
ich muss nächstes Semester eine Projektarbeit machen. Ich würde gerne was in Richtung Automatisierungstechnik machen.
Wäre für Ideen Dankbar :p
Erfahrung in der Programmierung mit Step7 und TIA ist da :D
Das Projekt geht ein Semester lang (halbes Jahr) und soll von 2-3 Personen gemacht werden.
Gruß
↧
January 15, 2018, 5:00 am
Hallo zusammen,
wir versuchen gerade auf einem neuen Notebook mit Windows 10 Pro Build 16299 mit.Net v4.7 TIA V13,V14 etc zu installieren.
TIA ist mit .NET 4.7 nicht kompatibel (Siemens Beitrags-ID: 109749283) wie kann ich .Net deinstallieren? oder wie habt ihr die Software installiert?
Gruß Softi
↧
↧
January 15, 2018, 6:04 am
Hallo,
im Rahmen meiner Technikerarbeit stehe ich vor einem Problem zudem ich keine lösung finde.
Ich habe eine Oberfläche auf einem KTP400F Mobile Panel erstellt (4 Zoll). Diese möchte ich auf ein KTP900F Mobile Panel übertragen (9 Zoll).
Durch das Setzen des Häckchens beim Automatischen Skalieren nach Bildgröße habe ich nun jedoch das Problem, dass meine Schaltflächen(Buttons) sich ebenfalls vergrößern und mein Menü an Ästhetik verliert.
Meine Frage, gibt es eine Möglichkeit die Button Größe und Breite selber zu bestimmen beim Übertragen?
Evtl mit VB-Script?
Oder ist es einfach am logischsten für jede Panel Größe eine eigene Oberläche zu erstellen?
Danke im vorraus.
Mit freundlichen Grüßen
G.G
↧
January 15, 2018, 6:07 am
Hallo,
ich bräuchte mal eure Hilfe. Mein Chef hat eine gebrauchte Maschine gekauft, welche eine 315er CPU verbaut hat mit einem MP277 Panel. Ich müsste da jetzt Anpassungen am Programm und der Visualisierung machen. Leider habe ich das Projekt nicht auf einem Datenträger vorliegen und da ist so auch nicht wirklich dran zu kommen, weil die Firma von der die Maschine kommt insolvent ist.
Gibts es da irgendwie die Möglichkeit das Projekt von der CPU und/oder Panel runter zu ziehen um es zu bearbeiten? Habe bis jetzt hauptsächlich mit neueren CPUs (1500er) und TIA-Portal zu tun gehabt und bin mir da nicht ganz sicher wie ich da vorgehen muss. Ich werde da wohl Step7 und WinCC flexible brauchen oder?
Es handelt sich um folgende Geräte:
CPU: 315-2DP (315-2AF83-0AB0)
MP277 10" (6av6643-0cd01-1ax1)
Verbunden ist alles über Profibus. Es sind keine Speicherkarten gesteckt, weder an CPU noch am Panel.
An der Visualisierung müssten die Texte geändert werden (nur Belgisch, Italienisch und Französisch vorhanden) und auch die Logindaten zum ändern der Maschinen-Parameter sind nicht bekannt.
Das wäre eigentlich das wichtigste. Ist das ein Problem?
Gruß Maik
↧
January 15, 2018, 6:15 am
Hallo Zusammen,
ich müßte ein Ur-Alt Projekt öffnen und einige Station darin eventuell neu übersetzen und auch laden.
Die alten Softwarepakete hab ich bsi auf eines installieren können.
Um das SICAM-PlusTool installieren zu können muss ich einen "Produktschlüssel" haben.
Genau den finde ich nicht mehr!
Schlüsseldiskette, CD habe ich.
Aber eben nicht diesen Produktschlüssel.
Hat vielleicht jemand sowas?
↧
January 15, 2018, 7:45 am
Hallo zusammen,
ich habe folgendes vor. Ich möchte in jedem Raum die Temperatur regeln. Anforderungen sind eine möglichst genaue Regelung und deaktivieren der Regelung, wenn Fenster geöffnet.
Ich habe an meinen Heizungen Danfoss RA-Ventile. Danfoss bietet dazu Thermischer Stellantrieb TWA-A an. Diese können laut Datenblatt digital oder per PWM angesteuert werden.
Wer hat hier speziell mit Danfoss Erfahrung? Lohnt es sich hier überhaupt einen PID-Regler einzusetzen oder reicht ein Zweupunktregler, da die Zeit für die volle Ventilspindelbewegung mit ca. 3 Min angegeben wird?
Gibt es bessere alternative Antriebe für meine Anwendung?
Gruß
WagoSPS
↧
↧
January 15, 2018, 12:14 pm
Hallo
Ich habe vier Siemens Servoachsen, die alle die Safetyfunktion SLP (Safely limited Position) haben. Die Motoren besitzen Absolutwertgeber, müssen aber auf Grund der Anwendung von Zeit zu Zeit wieder neu referenziert werden.
Ich möchte den Referenziervorgang über das Display bewerkstelligen, damit dies er Anlagenbediener selbstständig ausführen kann. Das normale Referenzieren funktioniert einwandfrei, allerdings kommt nachher die Meldung dass der Antrieb nicht sicher referenziert wurde. Nachdem ich die Achse im Starter von Hand sicher referenziere funktioniert es wieder.
Kann man die sichere Referenzierung ebenfalls ohne Eingriff mit der Startersoftware bewerkstelligen?
Vielen Dank schon jetzt für die Hilfe.
↧
January 15, 2018, 10:41 pm
Hallo Zusammen,
Wie kann ich einen Zeitserver auf der SPS einstellen?
Bei CPU 315 2PN/DP und CPU 315 2DP
↧
January 15, 2018, 11:12 pm
Hallo,
bin am Verzweifeln, habe gestern noch mit Graph gearbeitet heut zeigt mit Graph nur ein
leeres Fenster, wenn ich einen Graph Baustein öffne.
Kann sogar die Brille aufsetzten unten rechts steht onlinie aber das Fenster ist leer !
Weiß jemand Rat oder muss ich neu intallieren ?
Graph V5.3 SP7
Gruß, Lutz
↧
January 15, 2018, 11:13 pm
hallo, kann man mit einer crouzet mil3 mehrer drehzahlen gleichzeitig erfassen ?
möchte eine geschwindigkeitsgeregelte pumpen steuerung bauen mit durchflussmesser, ca 12 digitaleingänge/schalter usw usw. neu sind mir die computer zu teuer,deswegen geh ichs jetzt selbst an.
kann man mit der crouzet zwei drehzahlen gleichzeitig erfassen ?
einmal langesam = zb 2 impulse/sec.
einmal schnell = zb. 30 impulse/sec
geht das oder brauch dazu zwei sps ?
jürgen
↧
↧
January 16, 2018, 12:30 am
Hallo zusammen!
Ich habe folgendes Problem:
Über ein HMI werden mehrere Geräte (konkret Rührwerke) gesteuert. Für die Betriebsbereitschaft jedes Gerätes müssen mehrere Sicherheits-Initiatoren aktiv sein. In meinem Fall konnten bei zwei von drei Geräten die Sicherheitsmerkmale nicht vorhanden sein - da kein Behälter vorhanden. Aber im dritten Gerät war nach dem Platzieren des Behälters alles so wie es sein soll.
Für die ersten beiden standen korrekterweise Bitmeldungen (je Gerät zwei Meldungen) an. Die Meldungen des dritten Gerätes wollte ich nun quittieren - standen an Position #5 und #6. Selektiert und den Quittierbutten gedrückt ... nichts passiert. Habe die Bits im Quittierwort während der Aktion mal beobachtet ... keine Reaktion!
Habe spaßeshalber die Meldungen #1 bis #4 quittierbar gemacht. Nachdem die vorigen 4 Meldungen wegquittiert waren, ließen sich auch die beiden anderen Problemlos quittieren!
Kann man auf einem Basic-Panel Meldungen nur der Eingangsreihenfolge nach quittieren? Kann doch nicht sein!?! Muß man irgendwelche anderweitigen Maßnahmen vornehmen, um Meldungen ann hinteren positionen gezielt zu quittieren???
Heeelp!
↧
January 16, 2018, 1:17 am
Schönen guten Morgen,
Ich (Azubi) sitze gerade an meiner Abschlussprüfung und bin am verzweifeln.
Ich soll mit S7 GRAPH ein Programm erstellen welches einen bestimmten Ablauf durchfährt.
Schalter S1 wird betätigt Werkstück wird eingesetzt, gespannt, gebohrt wieder entspannt und raushefahren. Soweit sogut dies habe ich noch hinbekommen.
Dieser Ablauf soll. Jedoch bei betätigen von S1 genau 3mal ablaufen und bei wieder betätigen wieder 3 mal.
Daran scheitert es bei mir. Ich habe schon versucht bei step1 (S1) (in einem Funktionsbaustein FUP) ein Zähler einzubauen aber so recht klappt das nicht.
Ich hoffe ihr könnt mir weiterhelfen.
Mfg JanMartin
↧
January 16, 2018, 1:25 am
Hallo,
wir haben neue Sinamics CU310 PN Umrichter bekommen. Gibt es gute Anleitungen, wie dieser in Startdrive in der TIA V13 SP1 Version parametriert werden kann?
Im HW Katalog finde ich nur die G120 Serie.
Im Netz finde ich nur Anleitungen für S120 CU320 und TIA V14 und höher.
↧