Quantcast
Channel: SPS-Forum - Automatisierung und Elektrotechnik
Viewing all 49583 articles
Browse latest View live

TIA Regelstrecke ohne kontinuierlichen Ist-Wert

$
0
0
Schönen guten Morgen zusammen,

Ich programmiere zur Zeit an einem Projekt zur automatischen Förderung von Hartmetallpulver aus einem Container in eine Siebanlage hinein.
Gefördert wird mit einer Vibrationsförderrinne.
Mein Problem ist folgendes:

Der Ist-Wert kommt nicht kontinuierlich am Regler an.
Die Aufnahme des Ist-Wertes geschieht über eine Waage. Sie gibt das Gewicht des Speise-Containers an eine S1200 Compact CPU weiter.
Problematisch ist dabei das mir der reine Gewichtswert nichts bringt. Ich brauche eine Differenz als Ist-Wert. Zum Beispiel kg/h.
Deshalb schreibe ich mir einen Ist-Wert in ein Merkerwort, warte eine beliebige Dauer (momentan 20s) und schreibe dann einen zweiten Wert in ein weiteres Merkerwort.
Danach wird Wert 2 von Wert 1 subtrahiert. Somit erhalte ich einen Wert mit der Einheit kg/20s.
Nur ändert sich dieser Wert ja auch nur alle 20s. Mein Regler kommt damit natürlich nicht klar. Er stellt nach, aber es ändert sich nichts am Ist-Wert. Also stellt er weiter nach usw.
Bis sich der Ist-Wert plötzlich in einem großen Schritt verändert. Dann geht das ganze Spiel von vorne los.

Die Abtastdauer des Gewichtswertes kann ich aber auch nicht beliebig verkleinern. Schon bei 20 Sekunden kann es vorkommen dass ich nach der Subtraktion nahe an 0 kg Differenz heran komme.
Das Verhalten ist den physischen Eigenschaften des Pulvers geschuldet. Es ist sehr schwer und verteilt sich nicht immer gleich im Auslass Trichter.

Zur Zeit komme ich auf keine Idee das ganze in den Griff zu bekommen. Außer die Regelung so träge zu trimmen, dass die 20 Sekunden nicht mehr so ins Gewicht fallen.
Ob und wie gut das funktioniert sei dahin gestellt. Habt Ihr vielleicht Einfälle oder Erfahrungsberichte wie sowas gelöst werden könnte?

Ich hoffe man kann nachvollziehen was ich hiermit meine... Falls nicht bitte ich um Entschuldigung und werde es noch einmal in anderer Form versuchen.

Beste Grüße,
Martin

Mitarbeiter Automatenmontage (gn)

$
0
0
Wollen Sie Teil eines erfolgreichen und wachsenden Unternehmens im Bereich der kunststoff*verarbeitenden Industrie werden?
Wir sind ein führendes Unternehmen der Werbeindustrie mit Kunden in 88 Ländern, und lieben was wir tun. Unsere Firmenzentrale
befindet sich in Groß-Bieberau, in der Nähe von Darmstadt. Unsere europäischen Tochtergesellschaften befinden sich in Harlow,
in der Nähe der Stadt London (Großbritannien), in Bordeaux (Frankreich) und in Borne (Niederlande). Unser indisches JointVenture
befindet sich in New Delhi (Indien).

Zur Unterstützung unseres Teams suchen wir schnellstmöglich einen engagierten und motivierten

Mitarbeiter Automatenmontage (gn)

Ihre Tätigkeiten:

  • Bedienung von Montageanlagen
  • Rüsten und Steuern der Anlagen
  • Wechseln von Werkzeugen und vorbeugende Instandhaltung der Anlagen
  • Durchführung und Dokumentation der Qualitätsprüfungen
  • Organisation der Produktionsaufträge
  • Erfassung und Buchung der Daten in SAP

Ihr Profil:

  • Ausbildung in einem mechanisch-elektrischen Beruf oder eine relevante Berufserfahrung im technischen Bereich
  • Berufserfahrung als Maschinenbediener
  • Gutes technisches Verständnis und handwerkliches Geschick
  • Hohe Flexibilität, Belastbarkeit und Teamorientierung
  • Bereitschaft zur Schichtarbeit
  • Gute Deutschkenntnisse in Wort und Schrift

Ihre Perspektive:
Wir bieten Ihnen ein hohes Maß an Selbständigkeit und Eigenverantwortung und Freiräume für Ihre Ideen. Die interessanten Leistungen
und Optionen eines global agierenden Unternehmens gehören selbstverständlich auch dazu.

Ihr nächster Schritt:

Bitte senden Sie uns Ihre vollständigen Unterlagen inklusive Gehaltsvorstellung und frühestem Eintrittstermin an great.people@senator.com

Bei Fragen wenden Sie sich bitte an Herrn Michael Jungnitsch, Telefon. 06162-801 2830

Senator GmbH
Bahnhofstrasse 57
64401 Groß-Bieberau
http://www.senator.com


Mitarbeiter Automatenmontage 2019_mit Bild.pdf
Angehängte Dateien

TwinCat 3 - Visualisierung Füllstand/Niveau

$
0
0
Hallo Leute,

Ich möchte gerne einen Füllstand in einen Behälter visualisieren, der sich mit dem aktuellen Niveau verändert, soweit ganz simple.

Ich kenne das von Siemens WinCC, da nehme ich einfach eine Balkenanzeige, blende alles aus (Skala usw) und verknüpfe diese mit einer Variable.

Das gleiche hätte ich im TwinCat mit "BarDisplayImage" aus der Toolbox probiert, bekomme dass aber aus folgenden Gründen leider nicht hin:
> Hintergrund lässt sich nicht unsichtbar machen (nur gelb,rot,grün,blau,grau zur Auswahl)
> Ausrichtung des Balkens ist abhängig von Höhe und Breite, für mein Visubild unpassend da im Behälter jetzt das Niveau von links nach rechts angezeigt wird usw.

Gibt es hier eine Bessere Lösung oder übersehe ich ein paar wichtige Parameter ?

Danke im Voraus !
Lg Stefan

Div. Feldbusse an TIA (1500/1200er CPU)

$
0
0
Hallo zusammen,

bisher habe ich so gut wie keine Erfahrungen wie ich verschiede Feldbusse an meine CPU in TIA Portal anbinde.
Habe bis jetzt meist mit Profinet Teilnehmer gearbeitet, die GSDGSDML Datei einbinden und gut ist.

Jetzt habe ich aber das Problem das ich Baugruppen via ModBus TCP einbinden muss. Habe aber gerade überhaubt keine Ahung wie ich das machen soll und ob ich überhaubt irgendetwas weitere dazu benötige.
Eine weitere Baugruppe kann als "EthernetIP" oder "DeviceNet" bestellt werden.

Benötige ich für diese Feldbusse an der CPU1200 eine Gatewaykarte oder ähnliches?


Grüße und Danke :)

MDX61B+DFS21B Profisafeanbindung - FDO schaltet nicht (LED off), Ansteuerung falsch?

$
0
0
Hallo SPS-Gemeinde,

im Zuge eines Protoypenprojektes stehe ich gerade richtig auf dem Schlauch und benötige bitte eure Hilfe.

Die Anlage ist wie folgt aufgebaut:

Unsere Anlage besteht aus zwei MOVIDRIVE MDX61B. Einer davon besitzt eine DFS21B Profisafe-Erweiterungskarte.
Als übergeordnete Steuerung kommt eine Siemens 1510SP-F Kompakt-CPU zum Einsatz.

Der Profinet-Aufbau ist wie folgt:
Netzaufbau_PN1.PNG

Das Problem liegt zwischen ASRS.BT-K20 und ASRS.DS_U_FA10.

Nun möchte ich via Safety-Programm den STO schalten.
Realisiert habe ich das so:

Gerätekonfiguration:
Gerätekonfiguration.jpg

Programmteil im Safety:
Safetyauszug.jpg

Wenn ein E-Stop ausgelöst wurde, dann soll das Modul passiviert werden. Über eine Quittierung soll dieses dann wieder eingegliedert werden.
Das Problem ist nun, dass es mir einfach nicht möglich ist, den Sicheren Halt zu quittieren bzw. zu schalten. (FDO LED am DFS21B ist immer aus)
Es kommt auch keine Fehlermeldung oder Ähnliches.
F_Dest_Add passen, RF-LED und FS-LED am Modul sind grün.

Folgende Dinge habe ich schon getestet/probiert:
1. PN-Kabel direkt zur CPU gezogen (Switch ausgelassen) - keine Änderung
2. Timeout Zeiten angepasst/geändert - kein Erfolg
3. Anderen MDX61B mit DFS21B Modul - gleiches Problem
4. AEG-Prinzip (Ausschalten-Einschalten-Geht wieder) - hat auch nicht funktioniert

Irgendwo liegt der Fehler, aber ich finde ihn nicht.
Kann mir einer von euch da ggf. bitte weiterhelfen?

Vielen Dank im Voraus.

Gruß
Stefan
Angehängte Grafiken

TIA TIA CPU Upload - Funktioniert das bei euch ?

$
0
0
Hallo !
Ich war vor kurzem an einer Fremdanlage (CPU1214) und wollte uploaden. Mit akt. V13, V14, V15, V15.1 probiert.
Immer kam Fehlermeldung mit anderer Version hochgeladen.
Diagnose hat angezeigt: "mit V15.1 geladen" oder so ähnlich.
Inzwischen habe ich das Projekt: V15.1. Kein Passwort-Schutz.

Upload ging aber nicht.
Jetzt habe ich diese Tabelle gefunden:
https://support.industry.siemens.com...dti=0&lc=de-DE

Hätte also funktionieren müssen. Oder sind auch noch die update-Versionen wichtig ?
Kann es theoretisch sein, das ursprünglich mit V12 erzeugt worden ist, immer upgrade durchgeführt aber nie Hardware neu reingeladen worden ist?
Hat da jemanden Details-Wissen oder Erfahrung ?

Mal ganz abgesehen davon, dass das "Versprechen" mit TIA ist upload möglich mit dieser Tabelle langfristig (und dann wird Upload ja immer Interessanter (>>Praxis an Siemens !)) ja schon sehr eingegrenzt/anstrengt bis zu unmöglich sein wird.
Grundsätzlich scheint das Versionskonzept langfristig eine Arbeitsplatzsgararntie für unsere Branche zu sein. Da ist gar nichts mit einfach mal gerade eben.

Danke für Erfahrungsaustausch !

Sonstiges Libnodave C++ Win Forms mit Vipa CPU verbinden

$
0
0
Hallo Zusammen,

und zwar bin ich gerade dabei über eine Windows-Forms Anwendung per Libnodave verschiedenste Zustände aus einer Vipa CPU auszulesen.

Mein erster Versuch mit Libnodave und C# hat soweit funktioniert ich konnte eine Verbindung zur CPU herstellen und diese z.B. Starten und Stoppen oder Zustände auslesen.
Libnodave.net.dll habe ich als Verweis in VS2017 eingefügt.

Jetzt kommt mein eigentliches Problem das ganze möchte ich jetzt als C++ Anwendung mit Windows Forms, mir ist hier nur nicht klar wie ich es umsetzten kann.
Wird hier ebenfalls mit der Libnodave.net.dll gearbeitet und wie findet der aufruf in C++ statt? Hat hier vielleicht jemand ein Beispiel an dem man sich orientieren kann?

Danke für eure Unterstützung.

Beispielcode C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace S7Verbindung
{
public partial class Form1 : Form
{

static libnodave.daveOSserialType fds;
static libnodave.daveConnection dc;
static libnodave.daveInterface di;


public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
//Angeblich unwichtig, aber so funktioniert es bei mir!
int rack = 0;
int slot = 2;

//Hier IP Adresse der Logo eingeben
fds.rfd = libnodave.openSocket(102, "192.168.0.1");
fds.wfd = fds.rfd;

//Eigenschaften für Protokoll festlegen
di = new libnodave.daveInterface(fds, "IF1", 2, libnodave.daveProtoISOTCP, libnodave.daveSpeed187k);

//Dauer der Verbindungsanfrage an die Logo!
di.setTimeout(100000);

//Eigenschaften für Verbindung festlegen
dc = new libnodave.daveConnection(di, 2, rack, slot);

//Verbindung versuchen herzustellen
int plcConnect = dc.connectPLC();

//Prüfen ob Verbindung da ist: 0 = Verbindung hergestellt, -1 = Verbindung nicht möglich
if (plcConnect == 0)
{
//Message Box öffnen
MessageBox.Show("Verbindung erfolgreich!");
}
else
{
//Message Box öffnen
MessageBox.Show("Verbindung konnte nicht hergestellt werden!");

}
}

private void button2_Click(object sender, EventArgs e)
{
int plcstop = dc.stop();
}

private void button3_Click(object sender, EventArgs e)
{
int plcstart = dc.start();
}

private void button4_Click(object sender, EventArgs e)
{
int plcConnect = dc.getGetResponse();



textBox1.Text = Convert.ToString(plcConnect);
}

private void button5_Click(object sender, EventArgs e)
{



}
}

}

Sonstiges Libnodave C++ Win Forms mit Vipa CPU verbinden

$
0
0
Hallo Zusammen,

und zwar bin ich gerade dabei über eine Windows-Forms Anwendung per Libnodave verschiedenste Zustände aus einer Vipa CPU auszulesen.

Mein erster Versuch mit Libnodave und C# hat soweit funktioniert ich konnte eine Verbindung zur CPU herstellen und diese z.B. Starten und Stoppen oder Zustände auslesen.
Libnodave.net.dll habe ich als Verweis in VS2017 eingefügt.

Jetzt kommt mein eigentliches Problem das ganze möchte ich jetzt als C++ Anwendung mit Windows Forms, mir ist hier nur nicht klar wie ich es umsetzten kann.
Wird hier ebenfalls mit der Libnodave.net.dll gearbeitet und wie findet der aufruf in C++ statt? Hat hier vielleicht jemand ein Beispiel an dem man sich orientieren kann?

Danke für eure Unterstützung.

Beispielcode C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace S7Verbindung
{
public partial class Form1 : Form
{

static libnodave.daveOSserialType fds;
static libnodave.daveConnection dc;
static libnodave.daveInterface di;


public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{

int rack = 0;
int slot = 2;

// IP Adresse
fds.rfd = libnodave.openSocket(102, "192.168.0.1");
fds.wfd = fds.rfd;

//Eigenschaften für Protokoll festlegen
di = new libnodave.daveInterface(fds, "IF1", 2, libnodave.daveProtoISOTCP, libnodave.daveSpeed187k);

//Dauer der Verbindungsanfrage
di.setTimeout(100000);

//Eigenschaften für Verbindung festlegen
dc = new libnodave.daveConnection(di, 2, rack, slot);

//Verbindung
int plcConnect = dc.connectPLC();

//Prüfen ob Verbindung da ist: 0 = Verbindung hergestellt, -1 = Verbindung nicht möglich
if (plcConnect == 0)
{
//Message Box öffnen
MessageBox.Show("Verbindung erfolgreich!");
}
else
{
//Message Box öffnen
MessageBox.Show("Verbindung konnte nicht hergestellt werden!");

}
}

private void button2_Click(object sender, EventArgs e)
{
int plcstop = dc.stop();
}

private void button3_Click(object sender, EventArgs e)
{
int plcstart = dc.start();
}

private void button4_Click(object sender, EventArgs e)
{
int plcConnect = dc.getGetResponse();



textBox1.Text = Convert.ToString(plcConnect);
}

private void button5_Click(object sender, EventArgs e)
{



}
}

}

Siemens HMI TP1200

$
0
0
Hallo

ich habe noch noch ein gebrauchtes HMI TP1200 Comfort welches ich nicht mehr benötige.

6AV2 124-0MC01-0AX0

Gerät fast neuwertig

700 VB.

HcS01: Achsnamen ändern

$
0
0
Hallo,
Tante Google und selber suchen hat leider nichts gebracht. Wo kann man in IndraWorks DS den Namen der Achse ändern?

HcS01: Achse Inbetriebnehnen/Tunen

$
0
0
Hallo,
ich soll hier beim Kunden den Azubis etwas über die Antriebstechnik mit TwinCAT 3 erzählen, hab aber zumindest was die Umrichter angeht nur bedingt Ahnung davon. Zum Testen haben wir hier einen HcS01 Umricher und einen MSM019B Motor zwei Riemen eines Transportbandes antreibt. Bisher wurde hier ein Parametersatz von einer Achse mit einer völlig anderen AUfgabe genommen, ich würde jetzt gerne die Achse mal vernünftig einrichten/tunen. Die Achse kann in beide Richtungen frei bewegt werden. Ich weiß, dass es Autotuning Funktionen gibt, aber mir fehlt leider da das Wissen. Kann mir einer beschreiben, wie man da vorgehen muss oder passende Dokus empfehlen?

Vorgabe Bahndynamik bei Bahnobjekten

$
0
0
Hallo zusammen

Zum Thema Bahndynamik schreibt unsere technologische Führungsgröße in ihrem Manual mal folgendes:

Zitat:

Vorgabe der Bahndynamik über DynamicsIn
Ab V4.3 kann die Bahndynamik über DynamicsIn vorgegeben werden. Die im DynamicsIn-
Vektor vorgegebene Position bezieht sich auf den Bahnweg/die Bahnlänge. Es muss die
Position mit der Geschwindigkeit und der Beschleunigung an diesem Bahnpunkt vorgegeben
werden. Diese Werte müssen dem TO zyklisch per Systemvariablen oder TO-Verschaltung
bereitgestellt werden.
Die Dynamikplanung und Dynamikadaption des TO Bahn ist vollständig deaktiviert, d. h. es
erfolgt keine Begrenzung und keine Überwachung.
Die Dynamikbegrenzungen der Achsen sind weiterhin wirksam.
Das ist wieder eine dieser sagenhaften Siemens-Erklärungen. Ich verstehe daraus nichts, einfach absolut nichts.

1. Wenn ich DYNAMIK vorgeben will, dann interessiert mich doch die absolute position nicht. Wie kann ich einfach Werte wie Geschwindigkeit, Beschleunigung etc. dynamisch variieren, oder am Besten von einem anderen TO abgreifen ? Unabhängig davon, ob dieses TO jetzt zur Position XY oder UVW fährt ?
2. Was passiert mit den nachfolgenden Bahnsegmenten, wenn ich Überschleifen eingeschaltet habe ? Wird dann trotzdem überschliffen oder nicht ?
3. Was bedeutet es, daß die Dynamikadaption abgeschaltet wird ?

Step 7 String aus DB auslesen

$
0
0
Hallo zusammen,

für euch ist das sicherlich relativ easy, aber ich verstehe nicht warum.

Ich habe einen FB, der einen Stringeingang hat.
Es gibt einen DB, der eine Stringvariable enthält.

Ich kann die Stringvariable aus dem DB jedoch nicht als Eingang für meinen FB verwenden.
Hat jemand von euch einen Tipp für mich?

TIA Prüfen ob an AI 4mA anliegen

$
0
0
Hallo,

Ich habe derzeit mehrere S7-1214C mit AI Eingangskarten im Einsatz. Zu 98% arbeiten wir mit 4-20mA Signalen. Jetzt würde ich mir gern auf einem Touch Panel anzeigen lassen ob die 4mA auch wirklich anliegen oder ob es einen defekt am Fernmeldekabel gibt. Gibt es da von Siemens etwas fertiges oder muss man sich etwas basteln ??

Meine Idee wäre gewesen den Eingang auf 0-20mA zu stellen und auszuwerten ob der Wert z.B größer 3mA ist.


Danke schon mal im voraus

TIA Beobachten von FUP-Netzwerk: Signalzustände schwanken

$
0
0
Hallo zusammen,

ich habe ein Problem in Tia V15. Ich habe folgendes in TIA gebaut:

FB1 und FB2 werden in FB3 als Multiinstanzen instanziiert. FB3 wird nun zwei mal in FB5 als Multiinstanz instanziiert. FB3 ist ein Baustein für eine Camera. FB5 ist bei mir ein sogenannter "CameraController". An einen CameraController können zwei Cameras angeschlossen sein.

In meiner Anlage gibt es zwei CameraController mit jeweils zwei Cameras. Daher instanziiere ich mir in einem FB6 zwei Instanzen von FB5 als Multiinstanzen. Ich sehe in meinem DB von FB6 beide Instanzen von FB5 (CameraController1 und CameraController2).

In FB1 und FB2 habe ich Schrittketten in FUP programmiert.


Jetzt mein Problem:
Wenn ich nun alles auf die SPS lade und die Abläufe debugge, passiert folgendes. Wenn ich an bestimmten Schritten stehe und auf Erfüllung der Transition warte, gehe ich in das entsprechende FUP Netzwerk im FB1 oder FB2 und beobachte das Netzwerk. Dort sehe ich jetzt, dass manche Eingangsignale mal an (grün) sind und manchmal aus sind. Auch manche SR-Glieder der Schritte Ändern sich zyklisch.
Das Problem ist, dass sogar Eingangssignale sich ändern, bei denen ich zu 100% weiss, dass sich statisch sind, also ihren Zustand nicht ändern. Auch habe ich mit einem Merkerbit und einer Abfrage einer steigenden Flanke versucht zu prüfen, ob einfach nur die Anzeige spinnt. Dies scheint wirklich so zu sein, da der Merker nicht gesetzt wird.


Wenn ich mir die Bits der Schritte in einer Beobachtungstabelle anschaue, ist immer statisch nur ein Schritt gesetzt und auch immer der gleiche. Das Springen der Signale, das ich im FUP Netzwerk beobachte, ist also in der Beobachtungstabelle nicht zu sehen.

Zum debuggen ist das natürlich schlecht, weil ich weiss jetzt nicht, auf welches Signal der aktuelle Schritt jetzt warte. Und ich kann der Anzeige nicht trauen.

Anmerkung: Wenn ich nur einen FB5, also nur einen CameraController instanziiere, scheint das Problem nicht vorhanden zu sein.

Hat jemand Erfahrung hiermit? Bzw kann sich den Effekt erklären?

Ich bin für jeden Tip dankbar. Bin grad sehr ratlos und seh mich morgen schon Try And Error bis zum erbrechen machen :(

TIA TIA 15.1 Schnittstellen Parameter FB

$
0
0
Guten Morgen,


ich habe einen FB geschrieben der über verschiedenste In/Out / InOut Parameter verfügt.
Nun möchte ich das nicht das zwangsläufig an allen Parametern eine Variable im Aufruf übergeben bzw. vorgegeben werden muss.

Aber ich will auch das manche Parameter zwangsläufig eine Variable verknüpft werden muss.

Der IST-Zustand: Input Variablen vom typ bool oder Word oder int müssen beim Aufruf nicht zwangsläufig belegt werden.
(Beim Aufruf (SCL) Lichtgrau/Transparent und können verdeckt werden)
Bei Variablen vom typ remote_in ist dies genau andersherum.

Gleiches gilt bei Out/InOut Variablen auch im Bezug auf Variant_inout.

Frage: Kann ich im FB angeben welche Parameter belegt sein müssen und welche nicht egal von welchem Datentyp? Und falls ja, wie ?

PS: Remote_in und Variant_inout verwende ich um Pointer auf Adressen zu übergeben.

Mit freundlichen Grüßen

EPlan P8 BMK Nummerierung

$
0
0
Hallo zusammen:)

Bei mir im EPlan P8 habe ich das Nummerierungsformat Seite+Kennbuchstabe+Spalte gewählt.
Seite und Kennbuchstabe werden richtig vergeben. Bei der Spalte zeigt EPlan immer die Spalte 0 an.
Egal in welchem Pfad sich das BMK befindet. Jemand ne Idee wie EPlan die richtigen Spalten einträgt ?

Gruß Chris

TIA Extended Safety erhöht CPU Zykluszeit massiv

$
0
0
Guten Morgen liebes Forum,

wir verwenden in unseren Anlagen eine CPU 1512SP F-1 (6ES7512-1SK01-0AB0) als Sicherheitssteuerung und eine Simotion D4x5-2 PN/DP für unsere Servoantriebe. In diesem konkreten Fall ist es eine Simotion D425-2 PN/DP, es könnten aber auch 435, 445 oder 455 sein. Das Verhalten lässt sich auch mit den anderen (größeren) Simotion Modellen reproduzieren. Die Simotion ist als IDEVICE mit der 1512 über Profinet verbunden. Software ist TIA V14 SP1 mit Scout 5.1.

Wir verwenden für die Achssicherheit Extended Safety. Auf der 1512 wird abhängig von der Betriebsart, Not-Halt, Schutztüren, etc. berechnet, ob die Achsen STO, SS1, SOS, SLS, etc. bekommen oder nicht. Dies wird dann per Telegramm 30 mittels der F-Proxy Funktion an die Simotion gesendet.

Die 1512 hat einen OB1 Takt von ca. 1,5ms, braucht aber für die Abarbeitung des Sicherheitsprogramms ziemlich lange. Ein normaler Safety Takt liegt schon bei ca. 8ms und springt sehr häufig hoch auf bis zu 19ms. Durch auskommentieren ist dabei aufgefallen, dass allein das Kopieren vom STAT Bereich des Safety FBs auf die Safetyausgänge (Profinet) für eine Achse (sicherer PLC Datentyp mit 2 Byte Länge (16 BOOLs)) die Zykluszeit um locker 1ms verlängert. Also 16 Bools beschreiben braucht mehr als 1ms. Wir haben in dieser Anlage 6 Servo Achsen.

Es wird noch schlimmer. Wenn Bei Neustart der Anlage die Simotion etwas länger braucht um hochzufahren, dann steigt die Zykluszeit der 1512 auf ganze 58ms! In diesem Fall finden sich im Diagnosepuffer Störmeldungen "IO Datenausfall an Hardware-Komponente" wegens des Ausfalls der 20 Byte E/A Kommunikation zwischen Simotion und 1512 (nicht Safety), sowie der 6 Achssafety Telegramme.


Wir müssen dieses Verhalten unbedingt wegbekommen, da das alle unsere Anlagen betrifft. Ich hoffe ihr könnt mir helfen!

Gruß Christian

Melsec Mr-J4-Tm Servo verstärket(Mitsubishi) in (Beckhoff) TwinCAT3 via EtherCAT

$
0
0
Die Achse ist aktiviert, ich kann ihr auch Bewegungsbefehle geben im Onlinemodus, die werden nur nicht an den Motor weitergeleitet.
Fehlerfrei ist der Antrieb auch, denn mit MR Configurator2 kann man ihn zum Laufen bringen.
Die übergebenen Befehle werden nur nicht an den Motor weitergegeben. Soll-Position wert ändert, aber Ist-Position tut nicht.

Melsec Mr-J4-Tm Servo verstärket(Mitsubishi) in (Beckhoff) TwinCAT3 via EtherCAT

$
0
0
Die Achse ist aktiviert, ich kann ihr auch Bewegungsbefehle geben im Onlinemodus, die werden nur nicht an den Motor weitergeleitet.
Fehlerfrei ist der Antrieb auch, denn mit MR Configurator2 kann man ihn zum Laufen bringen.
Die übergebenen Befehle werden nur nicht an den Motor weitergegeben. Soll-Position wert ändert, aber Ist-Position tut nicht.
Viewing all 49583 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>