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

Siemens IO-Link Divce Baustein FB5001

$
0
0
Hallo zusammen,

ich brauche eure Hilfe, vielleicht kennt sich ja jemand aus.

Folgendes Problem ich würde gerne auf einen IO-Link Greifer einen Standard Parameter beschreiben.
Dieser ist aber ein azyklischer Parameter, wenn ich es richtig verstanden habe gibt es hier für ja den FB5001 von Siemens.
Mein Problem ist, das ich egal was ich mache, immer einen Error bekomme. Mit der Aufschlüsselung in Status des Bausteins komm ich nicht klar.

In der HW Konfiguration sind die Siemensmodule (ET 200Al 6ES7 157-1AA00-0AB0 und 6ES7 147-5dj00-0ab0) an den der Greifer angeschlossen ist mit der Profibus Adresse 60 angeschlossen.

Unten im Bild ist die Parametrierung des FB5001 zu sehen. Hat vielleicht jemand eine Idee, was ich falsch mache?


Status FB5001.JPG
Vielen Dank schon mal.

Grüße

Flo
Angehängte Grafiken

TIA Datenaustausch zwischen S7 1500 und Foxboro V8.7

$
0
0
Hallo liebe Gemeinde,

in einem Projekt was derzeit abgewickelt wird hat der Kunde angegeben ein DCS Foxboro V8.7 (von Schneider) zu nutzen mit dem unsere Steuerung S7 1511-1 PN kommunizieren soll (Das DCS unterstützt Modbus TCP mit 32 Bit)

Meine Idee ist nun die einen CM 1542 an die CPU zu hängen (Kommunikation mit dem DCS soll die Kommunikation zwischen SPS, FU's und HMI nicht stören und umgekehrt).
Seit der Einführung der 1500 Serie ist es ja nun auch möglich ohne zusätzliche Lizenzen über Modbus zu kommunizieren, jedoch weiß ich nicht wie das mit der Struktur der Daten aussieht (High Byte before Low Byte).

Alternativ müsste ich ein Gateway einsetzen (Modbus TCP <--> Profinet) was ich mir aber eigentlich sparen möchte.

Hat diesbezüglich schonmal einer Erfahrungen gemacht die er teilen möchte?

Liebe Grüße

Dr.Gonzo

Sonstiges Visual Studio Community 2017 mit Beckhoff Topology View

$
0
0
Ich versuche das EtherCAT Topology View control in ein Visual Studio Projekt zu integrieren.
Hat das schon jemand erfolgreich gemacht ?
Ich kann die Verweise im Projekt einfügen, bekomme aber in der Toolbox keine Controls zum Einfügen in meine Applikation.

Besten Dank und Gruss
Adco

TIA TIA13 Projekt im TIA14 öffnen

$
0
0
Hallo zusammen,

ich habe ewigkeiten gebraucht, um TIA14 mit WinCC zum laufen zu bringen. Jetzt habe ich hier ein TIA13 Projekt. Wie kann ich das öffnen? Ich kann doch nicht noch TIA13 dafür installieren, oder?

TIA Einfach Frage Profinet Kommunikation

$
0
0
Guten Tag,
sehr wahrscheinlich ist die folgende Frage in euren Augen etwas Lächerlich. :p

Für mich geht es bald in die Meisterprüfung, es ist gefordert das eine Automatisierte Anlage gebaut werden soll.

Hierfür habe ich folgende Bauteile vorgesehen.

CPU 1513-1
CPU 1214 C DC/DC/DC
KTP 700 Display
Scalance Switch

Ich bin aus der eigentlich Programiererei schon fast 10 Jahre raus.

Nun das Problem. Ich würde gerne die 1214 als I/O Device laufen lassen und eigentlich nur als "Eingänge Einlese und Ausgabe Setze" Baugruppe verwenden, gesteuert über die 1513-1. Über das HMI sollen die wichtigsten Information Visoalisiert werden. Ich schaffe es eine Profinet Verbindung zwischen beiden herstellen, allerdings scheint keine Kommunikation stattzufinden.

Wie bekomme ich es hin das die 1214 (I/O Divice) und die 1513-1 (I/O Master) eine Kommunikation aufbauen und wenn sie es tuhen, Wie kann ich die I/O Daten der 1214 in der 1513-1 abrufen und in die Programmierung einbringen?

z.B.
U I0.0 (Vom 1214)
U I0.0 (Vom 1513-1)
=Q0.0 (vom 1214)
=Q0.0 (Vom 1513-1)

Ich weiß das es damals bei 300er und Profibus richtig einfach war und man nur die Adressen in der HW Konfig ändern musste.

Ich habe jetzt schon einiges Gelesen mit Put, Get befehlen. Kann in meiner Aktuellen Situation leider wenig damit anfangen.

Für mich ist Wichtig wie kriege ich die I/O Daten in die 1513-1 und wie kann ich sie im Programm weiter verarbeiten.

TIA Portal 13 SP1 mit Step 7 Professional und WinCC Advanced.

Gruß
Metalhead

TIA DB_Any / DB Abfragen aus Variable

$
0
0
Hallo zusammen,

ich stehe gerade mächtig auf dem Schlauch. Habe jetzt auch schon einige Beiträge hier durchgelesen kommen aber nicht weiter.

Ich habe vor einigen Wochen mal probiert die DB Nummer als Variable zu speichern und in einem FB dann abzufragen. Diese habe ich als DB_ANY Deklariert.
Hatte dies irgendwo gesehen, meine im Siemens Forum.

Nur leider weiß ich nicht mehr wie ich es gemacht habe. Es hat damals funktioniert das ich per MOVE Werte in die entsprechenden DB schrieben konnte.
Ich bekommen es jetzt aber nicht mehr hin, auch die Seite von damals finde ich nicht wieder,

Hoffe es kann mir einer Helfen...

Beispiel: "Nummer" als DB_ANY

DB[Nummer].Wert

Benutze eine 1200/1500er CPU

Grüße,
Manuel

Krümmungsverhalten und Hysterese

$
0
0
Hallo allerseits.

Ich sitze jetzt schon einige Zeit vor einem Problem.
Ich möchte gerne meinen Strom mit einer Rampe hoch und runterfahren lassen, was auch funktioniert. Allerdings möchte ich zusätzlich dass am Anfang und am Ende der Rampe der Strom nicht linear steigt sondern in einer Kurve.
Kennt da jamend einen Baustein für oder weis wie man sowas programmiert, dann würde ich den Rampenbaustein verändern.
Zusätzlich müsste eine Hysterese mit in den Baustein bzw. als Baustein mit hinzugefügt werden, sodass bei Schwankungen der Wert erst nach einer gewissen Zeit geregelt wird.

Vielen Dank für eure Hilfe.

TIA UDT im FB In/Out nicht sichtbar in HMI

$
0
0
Ich kann bei meinen FB's die UDT's welche ich bei den In/Out-Parametern eintrage nicht für das HMI sichtbar machen. UDT's nur in In oder Out geht, sowie Standart-Datentypen im In/Out-Bereich geht auch, nur UDT's im In/Out gehen nicht.
Was mache ich falsch? oder gibts dafür einen Grund?

Step 5 CPU922 Stop, DB1-FE QVZ?

$
0
0
Hallo zusammen,

wir haben hier an einer älteren Anlage eine S5-135 mit 2x922 CPUs (S+R Prozessor) im Einsatz.
Über eine Anschaltbaugruppe 308-8 wird auf 3 318-8 mit ET100U zugegriffen.

Dort haben seit dem Wochenende ein Problem: CPUs im Stop, rechte CPU (R-Proz.) blinkt.
CPUs urgelöscht und neu geladen, ohne Erfolg.
Im U-Stack wird als Fehler DB1-FE angezeigt. :
DB1 fehlt oder fehlerhafte Adressliste bei Neustart
QVZ bei BYTE-NR. 25
Was ist damit gemeint, alle Versuche das zu ändern, das Byte, bringt keinen Erfolg.

Hoffe es ist verständlich geschrieben und es gibt einen Profi für S5 Fehlersuche ;-)

Danke für eure Mühe.

Gruß Frank


20181029_111223.jpg
20181029_111235.jpg
Angehängte Grafiken

750-8102 e!cockpit CPU-Last und Speicher

$
0
0
Guten Abend,

ließe sich das Nachfolgende realisieren? Finde nichts per Suche und auch nicht so recht beim Stöbern in den Bibliotheken:

1. aktuelle CPU-Auslastung
2. noch verfügbarer interner Speicher bzw. von dem Teil, der für die Programme vorgesehen ist, sofern das in der PFC getrennt sein sollte
3. noch verfügbarer Speicher auf der SD-Karte (von mir aus auch die Größe aller darauf befindlichen Dateien, da ja die Größe der SD-Karte als bekannte Größe vorhanden ist)

Danke und viele Grüße

Leistungsmessklemme 750-495

$
0
0
Hallo zusammen,

Ich habe einen PFC100 an dem hängt eine Leistungsmessklemme dran, die 750-495. Mit dem Funktionsblock FbAC_Compact_495 erhalte ich auch die entsprechenden Werte.
Mein Problem ist nun das die Klemme ca. alle 200ms einen Wert zurück gibt. Ich habe bei tCycleTime:= TIME#0S50MS (50ms) stehen gehabt. Wie kann ich nun veranlassen das die Messklemme öfters einen Wert zurück gibt oder kann die nicht schneller mehr arbeiten? Was ich mich auch noch frage ist für was der rSelectedScalingFactor gut ist, werde aus der Dokumentation nicht wirklich schlau daraus. Das Programm läuft Standardmäßig mit 50ms durch. Somit sollte eigentlich bei jeden durchlauf ein neuer Wert zurück kommen von der Messklemme.
Wenn man das Programm zum ersten mal startet braucht es auch erst einmal paar Sekunden bis da mal ein Wert kommt.

Code:

PROGRAM PLC_PRG
VAR
fb_Compact1 : FbAC_Compact_495;
_3_PHASE_POM_690VAC_1A_Compact: WagoAppPowerMeasurement.WagoTypesModule_75x_49x.I_Module_75x_495;
rTotalActivePower : REAL;
END_VAR
------------------------------------------------------------------------------------------------------------------------------------------
fb_Compact1(xEnable:= True,tCycleTime:= TIME#0S50MS, i_Port:= _3_PHASE_POM_690VAC_1A, rTotalActivePower=>rTotalActivePower);



Viele Dank im voraus und viele Grueße, :)
Username2.1

TIA Baugruppenzyklen Analogmodul S7-1500 Glättung

$
0
0
Hallo Leute,

Die Analogmodule der S7-1500 bieten die Funktion "Glättung", was sehr sinnvoll ist. Die Stärke der Glättung kann ich aber nicht abschätzen. In der Hilfe fällt der Begriff "Baugruppenzyklen", der nirgendwo beschrieben wird.

Meine Vermutung ist, dass die Baugruppe einen eigenen Zyklus hat, unabhängig vom MainOB-Zyklus der PLC.

Wie schnell ist dieser? Kann mir jemand auf die Sprünge helfen?

Grüße, sheridan.

Step 7 SCL Problem indirekte Adressierung Doppelwort

$
0
0
Hallo,
ich hab mal wieder ein kleines Problem mit S7-SCL.
Der Baustein soll im Sekundentakt einen Zähler in einem Global-DB um eins erhöhen.
Allerdings bekomme ich immer die Fehlermeldung unzulässige Operandentypen in der Zeile 32 beim compilieren.
Krieg das irgendwie nicht hin.
Habt Ihr noch einen Tipp was ich falsch mache

Danke schonmal

FUNCTION_BLOCK "FB_Wartungszaehler"
VAR_INPUT
i_WartungsDB :BLOCK_DB; // Eingangsparameter
i_ZaehlerNr :INT;
i_ImpulsSek :BOOL;
i_VorwarnGrenze1 :INT;
i_WarnGrenze1 :INT;
i_VorwarnGrenze2 :INT;
i_WarnGrenze2 :INT;
i_VorwarnGrenze3 :INT;
i_WarnGrenze3 :INT;
END_VAR
VAR_OUTPUT
o_SammelmeldWart :BOOL;
END_VAR

VAR
FP_ImpulsSek :BOOL;
FM_ImpulsSek :BOOL;
END_VAR

// Flankenmerker Sekunde
FM_ImpulsSek:= i_ImpulsSek AND NOT FP_ImpulsSek;
FP_ImpulsSek:=i_ImpulsSek;

//Wert im Global-DB um eins erhöhen
IF FM_ImpulsSek THEN
i_WartungsDB.DD[i_ZaehlerNr*4]:=i_WartungsDB.DD[i_ZaehlerNr*4]+1; //---> in dieser Zeile bekomme ich immer wieder den Fehler angezeigt!!
END_IF;
END_FUNCTION_BLOCK

OOP: Methode mit States - Vererbung

$
0
0
Hallo Zusammen,

in meinem TC3 Projekt habe ich einige Methoden (beispielsweise: schreiben neiner Report dabei) die mehrere Schritte beinhalten. Das war bisher auch kein Problem, ich hatte einen Input parameter wie beispielsweise bStart und die die Methode selbst hat einigige VAR_INST (z.B. auch eine eState) die dann im im Falle von bStart = TRUE wieder auf "Initial" gesetzt wurden.

Der Aufruf der Methode aus meiner Schrittkette heraus war dann in etwa so:

IF METHODE(ePrevState <> CurrState) THEN
eNextState := ....
END_IF

Die Methode liefert TRUE sobald diese abgearbeitet ist und dann geht meine hauptschrittkette in den nächsten Schritt. Alles super.

Jetzt habe ich allerdings einen Abgeleiteten FB meines Basisbausteins in dem ich die Methode write_file überladen/überschrieben habe. Alles soweit gut - Twincat hat Inputs / Outputs automatisch vorgeschlagen und im Deklarationsteil auch die VAR_INST aus der Methode des Basisbausteins den ich EXTENDED habe übernommen. Wenn ich dann allerdings plain auf kompilieren drücke bekomme ich eine Fehlermeldung:

error: Mehrfachdefinition von Variable '__PROCESSCARRIER__ESTATE' in Funktionsbaustein 'FB_LULv1' und in Basis 'FB_Station'
error: Mehrfachdefinition von Variable '__PROCESSCARRIER__ENEXTSTATE' in Funktionsbaustein 'FB_LULv1' und in Basis 'FB_Station'
error: Mehrfachdefinition von Variable '__PROCESSCARRIER__ERESULT' in Funktionsbaustein 'FB_LULv1' und in Basis 'FB_Station'
error: Mehrfachdefinition von Variable '__PROCESSCARRIER__ASTATEHISTORY' in Funktionsbaustein 'FB_LULv1' und in Basis 'FB_Station'

Es wird quasi gemeckert das meine State-Variablen bereits in der Basisklasse existieren. Nur wie kann in der abgeleiteten Methode nun darauf zugreifen?

Generell gefragt: Ist mein Ansatz überhaupt richtig?

Eine Alternative wäre eState direkt im FB Deklarationsteils zu deklarieren - das klappt aber auch nicht da manchmal auch Methoden noch weitere internal methoden aufrufen und ich nicht nur einen State führen kann. Zudem sind die State_Enums auch ganz andere.

Bin gerade etwas ratlos - das einzige das wirklich funktioniert sind in der abgeleiteten Methode ein anderes Naming in den VAR_INST zu verwenden - das kann meiner Meinung nach aber nicht die Lösung sein.

Bin für Jede Hilfe lösbar

Vielen Dank euch!

TIA temp für Byte-SWAP zeigt unerwartetes Verhalten

$
0
0
Moin Zusammen,

ich möchte gerne das Statuswort eines SEW-Antriebs bearbeiten (Bytes tauschen, da die MoviPLC die Daten für Intel/Rockwell interpretiert und ich das ohne Programmierung nicht umstellen kann).
Das Statuswort (STAW) besteht ja aus einem Byte "Code" und einem bitaufgelösten Anteil. Jetzt wollte ich einfach die Bytes mit dem Slice-Zugriff tauschen.
Leider funktioniert das nicht wie gewünscht. Die Zwischenzeilen (Byte=>Byte und Bool=>Bool) habe ich nachträglich zur Analyse eingefügt.
Die Variable Tw_SWAP verwende ich mehrfach, aber das sollte doch kein Problem darstellen? Immerhin beschreibe ich sie ja vorher mit dem STAW.

Word_Byte_Bool_SWAP.JPG

Hat dazu Jemand eine Idee oder eine Anregung, wie ich das eleganter lösen kann?
Weil wir sonst eine CCU verwenden, die die Daten für Motorola/SIEMENS interpretiert, haben wir hier einen fertigen Datentypen hinterlegt und wir arbeiten mit optimierten DBs. Ich möchte die Struktur nur für das eine Projekt nicht aufbrechen. Das muss doch auch so gehen?!


EDIT: Es funktioniert bei mir erstmal so, dass ich im Slice-Zugriff die Datentypen nicht kombinieren kann:
%b0, %x0, %x1, %x2, %x3, %x4, %x5, %x6, %x7 auf
%b1, %x8, %x9, %x10, %x11, %x12, %x13, %x14, %x15
funktioniert nicht.
Allerdings ist es komisch, dass in meiner Zeile "#Tw_SWAP.%B0 := #Tw_SWAP.%B0;" die Daten der Zuweisung aus einem Bereich VOR meinem Code enthält (16#20).
Ich hätte erwartet, dass hier 16#86 drin stehen muss.

VG

MFreiberger
Angehängte Grafiken

Zerspanungsmechaniker/CNC-Fräser [m/w]

$
0
0
PI miCos entwickelt, fertigt und vertreibt weltweit Systeme und Komponenten im Bereich der Positionier*technik und optischer System*technik.

Wir sind ein Tochter*unternehmen der PI GmbH & Co.KG. Die PI miCos GmbH ist ansässig in Eschbach bei Freiburg. Als wegweisender Technologie*führer im Bereich der Präzisions-Positioniertechnik bauen wir unsere Marktposition stetig aus. Unseren Erfolg verdanken wir neben unseren hochwertigen Produkten dem Engagement unserer Mitarbeiter.


Zerspanungsmechaniker/CNC-Fräser [m/w]

Für die Verwirklichung unserer herausfordernden Firmenziele suchen wir bei PI miCos zur weiteren Unterstützung unseres Teams einen Zerspanungsmechaniker / CNC-Fräser [m/w] im Zweischichtbetrieb.


Ihre Aufgaben

- Fertigung von Komponenten für hochpräzise Positioniersysteme an CNC-Werkzeugmaschinen inkl. Programmieren, Einrichten, Bedienen und Überwachen

- Eigenverantwortliches Arbeiten

- Laufende Prozessüberwachung nach Vorgabe

- Qualitätskontrolle mittels Prüf- und Messmittel


Ihr Profil

- Abgeschlossene Ausbildung zum Industriemechaniker[m/w], CNC-Fräser [m/w] Feinmechaniker [m/w], Werkzeugmacher[m/w]

- Erfahrung in 5-Achs-Fräsen

- Kenntnisse der Steuerungen Heidenhain TNC 430, iTNC 530 und TNC 640

- Kenntnisse im Umgang mit konventionellen Maschinen und in der allgemeinen Metallbearbeitung



Bewerben Sie sich jetzt! Senden Sie uns bitte Ihre aussagekräftigen Bewerbungsunterlagen mit Ihren Gehaltsvorstellungen sowie Angabe des frühestmöglichen Eintrittstermins zu. Für Rückfragen steht Ihnen Heike Amelung telefonisch unter +49 07634 5057-212 gerne zur Verfügung.

Wir garantieren Ihnen eine schnelle Bearbeitung Ihrer Bewerbungsunterlagen und freuen uns darauf, Sie persönlich kennen zu lernen!



ONLINE BEWERBEN UNTER: https://bit.ly/2PZYywp



PI miCos GmbH

Freiburger Str. 30

79427 Eschbach, Deutschland

Tel.+49 7634 5057-0

WWW.PI.DE

PCWORX downgrade

$
0
0
hi ich habe ein programm was leider in einer neuen version in pcworx6 geöffnet wurde

kann man das programm wieder auf pcworx5 downgraden

sonst muss ich das wieder ganz neu eintippen und es ist ein grosses programm

ich hoffe es gibt so einen möglichkeit

TIA Fernzugriff über Open VPN

$
0
0
Für den Fernzugriff auf eine Anlage wird Open VPN genutzt. Der Router vor Ort routet wohl die IP Adressen um. Die CPU und das HMI haben ja eine feste IP Adresse, die im TIA Portal projektiert ist.
Über den Smart Client klappt der Zugriff zum HMI, hier gebe ich die von der IP-Abteilung der Anlage mir zugeteilte IP Adresse ein (z.B. 10.1.1.102) und komme dann auf die projektierte IP Adresse vom HMI 192.168.0.1.

Aber über "Online verbinden" im TIA Portal funktioniert das nicht, hier sucht das TIA natürlich immer die 192.168.0.1.
Gibt es eine Möglichkeit, beim Online verbinden eine andere IP Adresse einzugeben?

TIA TP1900 Fernwartung mit REX300 SW kann nicht übertragen werden

$
0
0
Hallo,
welche Ports werden denn für das Projekt übertragen(Wincc) gebraucht ?
Der Smart Client funktioniert einwandfrei aber der Verbindungsaufbau zum SW übertragen scheitert jedesmal.

Gruß

TIA S7-1517 Cpu Last bestimmen

$
0
0
Hallo,

ich mache momentan ein Praktikum in einem Betrieb, dass gerade anfängt mit Tia zu experimentieren. Meine Aufgabe ist es die Cpu-Last einer Regelung, die auf einer S7-1517 läuft zu bestimmen. Das Projekt wurde unter Tia erstellt. In dem Programm wird ein Servomotor geregelt. Die Regelung wird über einen Cycling Interrupt mit einer Ansteuerzeit von 1ms durchgeführt. Ich weiß, dass es möglich ist die Zykluszeit an sich zu bestimmen. Jedoch geht es darum einen Prozentwert zu bestimmen, mit dem man einschätzen kann, ob die Siemens Steuerung ausreicht. Später sollen dann verschiedene Zykluszeiten für den Ob eingestellt werden und die entsprechenden CPU-Lasten miteinander verglichen werden.

Ich habe bislang keine Möglichkeit gefunden einen Prozentwert zu bestimmen und hatte gehofft hier eine Lösung zu finden.
Viewing all 49646 articles
Browse latest View live


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