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

Step 7 Tool um Zeitstempel von Datenbausteinen zu ändern?

$
0
0
Hallo zusammen!

Vermutlich kennt das Problem jeder:

Zeitstempel der Schnittstelle des Onlinebausteins stimmt nicht mit dem Offline-Baustein überein.
Ergo gibt es keine Symbolik mehr.

Eine ältere Datensicherung hätte zwar die Symbolik, kann aber Aufgrund nicht aktueller Aktualwerte nicht einfach in die Steuerung geladen werden.


Nun gibt es folgende Möglichkeiten:

-Den DB mit intakter Symbolik Zeile um Zeile prüfen und die Aktualwerte abgleichen. Dann in die Steuerung laden.
-Datenquelle erstellen, exportieren, mit Excel rumurksen, alles wieder retour usw.... ebenfalls recht mühsam.


Wenn man nun den Zeitstempel vom Offlinebaustein selber manipulieren könnte, (Vorausgesetzt Datentypen und Länge des DB usw stimmen überein!) müsste man einfach den gleichen Zeitstempel setzen wie online und könnte dann den Onlinebaustein runterladen und hätte einen aktuellen DB mit Symbolik.

So die Theorie.

Eine andere Möglichkeit:

Gibt es eine Software mit der man die Systemzeit setzen&fixieren kann?
Dann müsste man nur den DB aus einer Datenquelle neu erstellen und hätte dann den richtigen Zeitstempel in der Schnittstelle.

Oder funktioniert das ohnehin nicht so wie ich mir das vorstelle?


Wirklich ganz großes Kino das man die Aktualwerte nicht Spaltenweise kopieren kann.
Vielen Dank Siemens, ganz super überlegt das ganze! :cool:

STRUCT an FB übergeben/übernehmen bzw. ARRAY in STRUCT kopieren

$
0
0
Hallo,

ich möchte den FbMbSimpleServerTCP nutzen um MOdbus Variablen zu lesen und zu schreiben.
Ich kann diese in ein ARRAY schreiben. Kein Problem. Die Aussagekraft einer einzelnen ARRAY-Variable lässt aber zu wünschen übrig. Daher würde ich es gerne in eine DUT oder GVL schreiben, wo ich die einzelnen Variablen bezeichnen kann wie ich möchte.

An den FB kann aber keine DUT direkt angehängt werden. Es kommt der Fehler "DUT kann nicht in Typ ARRAY of WORD konvertiert werden"
Kennt hier jemand eine Möglichkeit direkt ein DUT an einen FB zu hängen?

Andernfalls: wie kann ich ein ARRAY in eine DUT kopieren und andersherum?
Bei Siemens gibts da BLOCKMOVE... gibts das hier auch?
2017-04-20 17_24_29-VirtualBox.png2017-04-20 17_24_54-VirtualBox.png
Vielen Dank für eure Unterstützung!

Leitfähigkeitsmessung mit LOGO8

$
0
0
Hallo zusammen,

ich bin auf der Suche nach einem Leitfähigkeitssensor der die Leitfähigkeit einer Lösung die zu 99,7% aus destilliertem Wasser besteht misst und mir das Ergebnis als Analoges Signal in Form einer Spannung von 0-10V raus gibt so das, dass Signal mit einer Logo Steuerung weiter verarbeitet werden kann.

Hat jemand eine Idee wo ich einen passenden Sensor finde?

Vielen Dank im Voraus

Liebe Grüße
William

Sinamics S120 Messtasterauswertung

$
0
0
Hallo zusammen,

ich habe folgendes Problem:
Es soll mittels einem Servoantrieb 2 Teile miteinenader verschraubt werden. Mit einer Lichtschranke wird erfasst, dass die Gewinde der Teile ca. den halben Weg zurückgelegt haben. Dann wird umgeschaltet auf Fahren auf Festandschlag, um die beiden Teile mit begrenztem Drehmoment zu verschrauben. Das ganze geschieht über die EPOS Verfahrsätze.
Nun möchte ich wissen, zu welcher Position die Lichtschranke angegangen ist, um festzustellen wie lange der Weg war bis der Festanschlag erreicht wurde.

Wie kann ich die Positionswerte aus dem Messwertspeicher auslesen? Referenzieren über den Taster kommt nicht in Frage, da ich vor dem Schraubprozess absolut Positionieren muss.

Kommuniziert wird mit einer CPU1516 über SINA_POS und SINA_PARA mittels Telegramm 111.

Danke für eure Hilfe.

Makro oder Task Programm

$
0
0
Hallo zusammen.
Meine Aufgabenstellung ist. Zeitgesteuert Dateien aus einer Netzwerkstruktur auszulesen (Kopieren) und sie dann in einer Ordnerstruktur abzulegen.

Z. B Firefox öffnen 192.168.0.108/Ordner_X/ordner/Z dann den Ordner kopieren ...... Windowsexplorer öffnen // Ordnerstruktur öffnen // Kopierte Datei einfügen.

Händisch ist es ja kein Problem. Nur das ganze automatisiert gibt es hier geignete Programme. In Winword benutze ich für sowas Makros.?
Danke im Voraus für Vorschläge
Guste

TIA Bibliothek und Programm SP1

$
0
0
Nabend,

Mich würde mal Interressieren ob man ein Programm was in Tia V14 erstelllt worden ist, in Tia V14 SP1 bearbeitet worden ist, wieder im normalen V14 ohne SP1 weiter öffnen und vearbeiten kann?
Das selbe mit einer Bibliothek, die aber im V14 SP1 erstellt wurde.

Funktioniert das oder meckert Tia.

Weiss da jemand was?


Gesendet von iPhone mit Tapatalk

Phasenanschnittsteuerung mit Logo

$
0
0
Hallo liebe Community,

ein 230V Motor mit 1200W wird aktuell über einen Leistungsregler per Phasenschnitt über ein 470kOhm Potentiometer gesteuert. Die Funktion des Potentiometers soll von einer Logo Steuerung übernommen werden.

Möglichkeit 1: Ein Umformer der das 0-10V Ausgangssignal der Logo in einen Widerstandswert umformt.

Möglichkeit 2: Ein neuer Leistungsregler der anstelle des Potentiometer Eingangs einen 0-10V Eingang besitzt.

Leider habe ich bisher kein passendes Produkt gefunden. Idealerweise wird ein Produkt in Bauform für die DIN-Schiene gesucht.

Vielen Dank für eure Mühe im Voraus.

Liebe Grüße
William

ITS PLC MHJ-Edition Lizens dougel

$
0
0
Biete Lizens - Dougel für: MHJ PLC HHJ Edition

5 virtuelle, fotorealistische 3D Anlagen mit Echtzeit-Ton für WinSPS-S7 oder Siemens STEP®7



VB.- 120,00 EUR

TIA Multiuser --> Blaue /Gelbe Fahne entfernen

$
0
0
Moin Gemeinde,

ich habe folgendes Problem:

Wir betreiben einen Multiuser Server und dort (bzw. auf dem lokalem PC) hat jemand einen block zum einchecken auf seiner Maschine markiert.
Dieser block wurde aber nicht eingecheckt. Leider hat der PC seinen Dienst quittiert und lässt sich auch nicht wieder zum leben erwecken.
Weiß jemand wie man nun diese Markierung entfernen kann damit ein anderer Nutzer diesen block wieder markieren und einchecken kann?
Ich habe leider keine Möglichkeit gefunden um diese Markierung auf irgend einem Wege zu entfernen.
Aber das kann auch nur da dran liegen das ich etwas übersehe oder noch nicht ganz so erfahren bin mit der Materie Multiuser.

Grüße vom pinken Panther

NOT-HALT Verbindung von verketteten Anlagen

$
0
0
Hallo zusammen,

bräuchte mal etwas Input bzw. Erfahrungen von euch zu folgendem Problem.

Wir betreiben verkette Anlagen. Jede hat für sich selbst einen eigenen NOT-HALT Kreis der aber nur auf die spezifische Anlage wirkt. Lediglich die I/O Signale und Freigaben werden zur vor/nachfolgenden Maschine abgeschaltet.
Schnittstellensignale sind physikalische E/A´s im Hartingstecker

Nun steht der Wunsch im Raum, den NOT-HALT aber durchgängig an alle verbundenen Maschinen zu senden und zu realisieren.

Maschinen sind meist Montagemaschine oder dergleichen. Also Zuführgeräte, an einer Montagemaschine, danachne zweite Montage oder Prägemaschine, und nachfolgend noch ein oder zwei weitere Maschinen zur Fertigstellung des Produkts.
Sie stehen direkt aneinandergereiht und die Übergaben sind teils durch Förderbänder als auch Pick and Place Einheiten. Einzelne Maschinen sind max 2x2m und in Summe etwa ne 10m lange Anlage die aus 3 bis 10 Modulen bestehen kann.

Problem ist auch, das die Anlagen sehr gerne, und sehr oft geteilt und in anderer Konstellation wieder zusammengeschoben werden. Oder mit anderen Maschinen ausgetauscht.

Eine übergeordnete Steuerung des ganzen gibt es nicht, sonst wäre es ja ein leichtes mit dem NOT-HALT;-) Jede ist für sich eigenständig und interessiert sich wenn überhaupt dann nur die direkt davor oder direkt nachfolgende Maschine

Meine Frage nun an euch:

- Wie verschalte ich das ganze anständig?
- Gibt es ne Norm oder dergleichen wie sowas aussehen soll?

Bitte nur konstruktive Kommentare, Hilfen, Fragen !!

Danke schonmal

TIA Strings auslesen und vergleichen bei unterschiedlicher Zeichenlänge

$
0
0
Hallo
wir haben einen QR Code Leser der uns in einen db von [243] bis [253] den ausgelesenen Code Buchstabe für Buchstabe im ascii Format überträgt (beispiellänge 10 Zeichen)
Liest er zb Auto dann steht in [243] "A" in [244] "u" in [245] "t" und [246] "o" in allen anderen (da Name kürzer als 10 Zeichen) von [247] bis [253] steht '$00'
den daraus generierten String vergleichen 'Auto' - 'Auto' funktioniert.

Nun haben wir eine CSV Datei in denen 5 ähnliche Namen abgelegt sind mit unterschiedlicher Zeichenlänge zb Auto, Autos, Automatik, Autor

Wie mache ich das nun, dass der Vergleich -> angewähltes Produkt aus CSV Datei mit gelesenem QR Code vom Leser
auch bei ähnlichen und kürzeren oder längeren Namen funktioniert?

Der QR Code Leser wertet zb folgende Zeichen aus und schreibt dann in den db:
'Autos$00$00$00$00$00" 243 bis 247 = Autos, ]248] bis [253] = $00
In der CSV Datei als string steht aber nur 'Autos' ohne die $00

nun würde ich ja 'Autos' (aus der csv datei gelesen) mit 'Autos$00$00$00$00$00' vom QR Code vergleichen und somit kein VKE=1 erhalten.

Ich möchte nicht alle Namen in der CSV Datei künstlich auf 10 Zeichen verlängern mit $00 oder anderen Platzhaltern.

Ich hoffe ich hab das einigermaßen verständlich erklärt worin das Problem ist.:shock:

Das weitere Problem ausser den $00 und kürzeren Zeichen ist, dass er 'Auto' nicht bei 'Autos' oder 'Automatik' erkennen soll

danke für Hilfe


P.s. hab eben rausgefunden dass $00 = Lerrzeichen ist, das würde dann bedeuteten, dass ich oben viel zu kompliziert gedacht habe oder?

HTTPS /SSL Zertifikate für ILC Steuerungen

$
0
0
Hallo Forum-Mitglieder,

Aus Cyber-Security Gründen musste ich meine ILC Steuerungen für den Zugriff auf den integrierten Webserver (Visualisierungen) auf https umstellen.
Wir Ihr sicher wisst, sind auf den ILC Steuerungen keine Zertifikate vorhanden und das erschwert nun den Zugriff auf die Visualisierungen mit dem Browser im internen Netzwerk (langsam und umständlich, da nicht sicher).
Laut Phoenix Contact gibt es aktuell keine Möglichkeit selbst generierte Zertifikate für den internen Gebrauch auf die Steuerungen zu laden.

Ich möchte gerne die https Verbindungen zu den Steuerungen sicher machen und somit Zertifikate für den internen Gebrauch (internes Netzwerk) auf die Steuerungen laden.

Weiss jemand wie man dieses Problem lösen könnte oder kennt jemand eine andere Möglichkeit den Zugriff trotz Https zu erleichtern?

Vielen Dank für eure Antworten...

Freundliche Grüsse

BisR87

HEIDENHAIN Messtaster an Raspberry mit CoDeSys V3

$
0
0
Hallo Comunity,

ich bin aktuell dabei für ein neuen Projekt zu planen, leider bin ich im Bereich Bussysteme/ interface zum Raspberry nicht wirklich fit und hoffe hier kann mir dabei geholfen werden.

Zum Projekt:
Ich würde gerne an einem Raspberry 3b (sobald CoDeSys V3 für den Zero verfügbar ist evtl. der) 2 (bzw. 4) HEIDENHEIN Messtaster http://www.heidenhain.de/fileadmin/p...staster_de.pdf, 1 Drucksensor bis 1500Bar und ein paar IOs auswerten.

Das größte Problem hierbei scheint mir die Übertragung der Signale von den Messtastern an den Pi und in CoDeSys.
Die Messtaster sind erhältlich mit folgenden Interfaces:
-Absolut-messung mit EnDat
-Invremental-messung mit 5V TTL oder 1Vss
Hierfür bräuchte ich eine art adapter/Interface, kennt hier jmd. was fertiges?
Bei dem Drucksensor komme ich günstig an welche mit 4-20mA, daher bräuchte ich dann noch einen A/D wandler, kann hier jemand einen empfehlen?

Danke schon mal für die Hilfe
MfG Christoph
Angehängte Grafiken

TIA ET 200SP DQ 8X24VDC/0,5A ST V1.4 HSP Gesucht

$
0
0
Hallo Leute,

Ich suche für meine ET 200SP DQ 8X24VDC/0,5A ST V1.1.4 das HSP für TIA V13. Ich finde leider nix.

Danke

Scheduler Array nach eigenen Wünschen benennen

$
0
0
Hallo alle zusammen,

ich hoffe mir kann jemand bei einem kleinem Problem, wenn dies umzusetzen ist, helfen.

Ich würde gerne das fest definierte Array welches sich beim Programmieren des Funktionsbausteins "FbScheduler" erstellt, nach meinen Wünschen benennen.
Damit meine ich, wenn ich die erste Zeile per erstellte Visu von Scheduler (zInternal_TableSchedulerWeekly) auf meine Gewünschte Zeit einstelle, damit z.B. die Brunnenpumpe jeden Tag um 08:00 Uhr angeht und um 09:00 Uhr ausgeht, eine "1" als Zeilenbenennung entsteht.
Jetzt weiß jedoch niemand was bei einer umstellen der Zeit gesteuert wird.
Anstelle der "1" würde ich jedoch gerne die Benennung des zu steuernden Objekts drine stehen haben. In diesem Fall wäre das "Brunnenpumpe".
Der Programmcode der bei mir im Programm hinterlegt ist um ein TRUE Signal für die "erst erstellte Zeiteinstellung" ausgibt, ist wie folgt:

Schedule.typScheduler.aScheduleWeekly[1].xActivate

Hierzu müsste man die [1] nun so definieren, dass diese als Brunnenpumpe deklariert wird.
Leider weiß ich nicht wie dies funktioniert.

P.S.: Dies soll Analog für weitere Arrayfelder umgesetzt werden.
Denke es könnte am Schluss so in der Art aussehen:

Schedule.typScheduler.aScheduleWeekly[1].xActivate := Brunnenpumpe;
Schedule.typScheduler.aScheduleWeekly[2].xActivate := Brunnenlicht;
Schedule.typScheduler.aScheduleWeekly[3].xActivate := Brunnenpumpe_2;
usw.



Gruß
Lex

eCockpit Byte / IEC Adressierung?

$
0
0
Hi,

in Codesys v2.3 waren die Controller im Word orientierten IEC-Adressierungsmodus zu programmieren.

d.H. wenn eine Variable deklariert wird z.B. xy AT %MX0.8 (und diese TRUE setzt), steht in MW0 die Zahl 256.

Im eCockpit müsste man die selbe Adresse aber mit MX1.0 ansprechen, da es anscheinend Geräte mit "Byteadressierungsmodus" gibt.


In der Hilfe von eCockpit steht folgendes:
Zitat:

Eine entscheidende Rolle spielen die aktuell verwendete Gerätekonfiguration und -einstellungen (Hardwarestruktur, Gerätebeschreibung, E/A-Einstellungen). Beachten Sie hier besonders die Unterschiede in der Interpretation von Bit-Adressen, die es zwischen den Geräten mit "Byteadressierungsmodus" und denen mit word-orientiertem "IEC-Adressierungsmodus" gibt: Beispielweise spricht das erste Element der Bit-Adresse %IX5.5 in einem byteadressierenden Gerät Byte 5 an, während es in einem word-adressierenden Gerät Word 5 erreicht. Dagegen ist die Adressierung mit Word- oder Byteadresse unabhängig vom Gerätetyp: Mit %IW5 wird immer Word 5 angesprochen und mit Byteadresse %IB5 immer Byte 5.



Kann man die Adressierungsart irgendwo im eCockpit Einstellen?




Zitat:

den Geräten mit "Byteadressierungsmodus" und denen mit word-orientiertem "IEC-Adressierungsmodus"
Erkennt man die beiden Unterschiede irgendwo in der Hardwarekonfiguration / "Produktkatalog" ?

Hardwareendschalter Störung quittieren

$
0
0
Guten Tag miteinander

Ich muss an einem G120 und einer 315 eine Positionierung programmieren.

Es funktionier alles, bis auf das Quittieren des Hardwareenschalters wenn der Lift in diesen gefahren ist. Laut Siemens muss man für einen Zyklus die Hardwareendschalter deaktivieren und danach wieder aktivieren und den SINA_POS Baustein quittieren.

Kann das so sein? Hat da jemand Erfahrung damit?

Vielen Dank schonmal

Opc ua c#

$
0
0
Hallo,
hat hier schon jemand Erfahrungen mit OPC UA und .net C#.
Versuche einen Client zu programmieren. Komme aber nicht vorwärts. Leider fehlen Tutorials im Netz.
Hab diverse Beispiele angeschaut. Folgendes hab ich herausgefunden:
Folgende Verweise sind nötig:

using Opc.Ua.Client;
using Opc.Ua.Client.Controls;
using Opc.Ua.Configuration;

Diese findet man auf:
https://github.com/OPCFoundation/UA-.NET

Gerne hätti ich ein Button für die Verbindung:
private void button1_Click(object sender, EventArgs e)
{
//Verbindung aufbauen zu opc.tcp://192.168.1.53:4840
}

Zusätzlich einen für einen Wert schreiben und lesen.


Als OPC UA Server benutze ich ein Raspi mit CoDeSys (geile Sache!)

Viellicht hat mir jemand einen "einfachen" Sample Code. beispiele im Netz sind sehr komplex für mein Verständnis.

Biete: Siemens- Schütze, teilweise unbenutzt

$
0
0
Hallo zusammen,

ich habe aus einer Lagerauflösung eine Kiste mit Schützen vor der Verschrottung gerettet. Es handelt sich größtenteils um noch originalverpackte Schütze.
Ich kann sowas nicht wegfliegen sehen... Wegschmeißen wäre eine Schande. Daher habe ich das Zeug spontan käuflich erworben. Ein Teil des Kartons ist in meine Test-SPS zum Programmieren reingewandert, den Rest biete ich nun hier an.
Das Zeug war größtenteils als Muster und lag in einem trockenen und sauberen Raum.
Schütz 3RT2015-2KB42 3x in OVP, wohl nie eingebaut
Schützsockel 3RV2927-7AA00 7x, in OVP
3RT1015-1BB41 2x aus Versuchsaufbau (BMK ist beschriftet) in OVP
3RTH1122-1BB40 1x, mit einem Feinliner beschriftet in OVP
3RH1122-1KB40 2x, anscheinend nie eingebaut

Jedes Schütz 5€, alle 7 Sockel auch 5€. Dann liegt hier noch ein Moeller PKZM0-1.6SC und ein Siemens 3RV1011-1BA10 rum, auch je 5€, alles VB. Garantie kann ich keine drauf geben, aber bis auf die Motorschutzschalter ist alles in OVP von daher sollte nichts dran sein.

Auch noch im Karton lagen ein paar sehr gut erhaltene Murr MBV-P u.ä.- bei Interesse einfach melden dann suche ich die Bezeichnungen mal raus. Die scheinen so selten zu sein dass es auf eBay keine vergleichbaren Auktionen gibt. Wer also solche Dinger einsetzt- einfach eine PM.

Schönes Wochenende!

Step 7 Vmware, Simatic-Manager und S7-Lan - keine Kommunikation

$
0
0
Ich habe das Problem, dass ich ein S7-Lan habe, dieses auch außerhalb der Vmware ansprechen kann, aber nicht von der VMware. Ping funktioniert. Busaddresse einstellen ebenso. Aber sobald ich versuche mit dem Simatic-Manager eine Verbindung aufzubauen, sagt mir die S7-Software, dass es zwar das Adapter gefunden hat, aber sie kann die Busparameter nicht auslesen.
VMware steht auf Bridged. Ips sind kontrolliert und haben keine Kollision.
Außerhalb der VMware ist alles kein Problem. Ich habe dies mit mehreren VMs getestet und immer das gleiche Erscheinungsbild.
Ich habe schon einen Netzwerk-Spezialisten hinzu gezogen, der war einfach platt und hat keine Erklärung.
Jetzt kommt das lustige: bis vor 4 Monaten hat das funktioniert. Dann kam das Problem. Ich habe auf dem Host Kaspersky und dort alles geöffnet, was diese Software angeht und extra noch die IP-Adresse des S7-Lans als besondere Ausnahme deklariert. Alles ohne Erfolg.
Ich habe darauf gewettet, dass das S7-Lan einen Defekt hat, aber wie kann ich das beweisen?
Viewing all 49912 articles
Browse latest View live


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