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

TIA CPU 1516-3 PN/DP Profinet X1

$
0
0
Hallo
Ich möchte zu Übungszwecken eine CPU 1516-3 PN/DP mit einem TP700 Comfort Programmieren und Visualisieren. Ich wollte das Programm via einer Ethernet-Leitung auf die SPS ziehen, und eine zweite Ethernet Leitung mit dem Touchpanel verbinden (Profinet). Nur leider (das ist auch das Problem) habe ich an der Schnittstelle X1 (also X1 P1 und X1 P2) keine Funktion. Weder gehen die Kommunikations-LEDs an der SPS an, noch findet der PC die IP der SPS (X1 hat die IP 192.168.0.1). Sobald ich den PC an X2 klemme, funktioniert alles einwandfrei, es muss also irgendwie an X1 hängen. Heisst das, dass X1 irgendwie kaputt ist? Softwaretechnisch in der HW-Konfiguration sind X1 und X2 identisch eingestellt.

Wüsste nicht, wie ich das Problem lösen kann/ob jemand ein ähnliches Problem hatte und mir helfen kann.
Ich nutze übrigens Windows 7 und TIA V13 SP1.

Step 7 Stellvertreterfehler CPU317-2dp

$
0
0
Hallo Zusammen,

CPU317 - 2DP

Disagnose1.JPGDisagnose2.JPG

kann bezüglich dieser Meldung jemand besser weiterhelfen als der SIEMENS Support bezüglich des Stellvertreterfehlers??

Ereignis-ID 16# 3842
Baugruppe ok
Baugruppentyp: Dezentrale Peripherie
Eingangsadresse: 2035
Anwenderinformation vorhanden
Diagnosealarm von Stellvertreter
Angeforderter OB: Diagnosealarm-OB (OB 82)
OB nicht vorhanden oder gesperrt oder nicht startbar im aktuellen Betriebszustand
externer Fehler, gehendes Ereignis
10:31:40.491 27.04.2018
(Kodierung: 16# 3842 FE52 C554 07F3 0063 0000)


Rückmeldung SIEMENS:
der Diagnosalarm von Stellvertreter wird vom Profibusmaster erzeugt, wenn von einem DBV0 Slave eine Diagnosemeldung vorhanden ist, aber keinen Diagnosealarm (DBV0 Norm) erzeugt.
Die CPU317 zeigt über diesen Stellvertreteralarm die Diagnoseadresse des betroffenen Slave an. Über den SFC13 können dann die Diagnosedaten des Slaves ausgelesen werden. Eventuelle herstellerspezifische Kennungen sind der Dokumentation zum Slave zu entnehmen.

16.4 Lesen der Diagnosedaten (Slave-Diagnose) eines DP-Slaves mit
der SFC 13 "DPNRM_DG"

:confused::confused::confused::confused:


Angehängte Grafiken

Siemens STARTER Hilfe öffnet nicht bzw. langsam

$
0
0
Hallo zusammen,

ich hab folgendes Problem mit STARTER das die Hilfe meistens ewig braucht um sich zu öffen. Während der Zeit kann ich nix mit Starter machen. Kennt jemand dieses Problem bzw.noch schöner die Lösung.

Starter Version 5.1.1 (aktuellste) hatte das Problem aber auch schon mit der V4.5. Neuinstallation hab ich schon gemacht.

TIA FB Bibliothekskonform

$
0
0
Hallo,

ich habe folgenden Code, abgeschrieben zur Übung aus einem Buch:
Code:

(*Trenderkennung*)

#i_Differenz := ABS(IN := #i_Messwert - #i_MWAlt); (* Vergleich Vergangenheit zu Gegenwart *)
#x_Hysterese := #i_Differenz > #i_Hysterese; (* Differenz größer als Hysterese? *)

IF #x_Hysterese THEN (* Ist die Diefferenz steigend oder fallend? *)
    IF #i_Messwert > #i_MWAlt THEN
        #x_MWSteigend := TRUE;
        #x_MWFallend := FALSE;
    ELSE
        #x_MWFallend := TRUE;
        #x_MWSteigend := FALSE;
    END_IF;
    #i_MWAlt := #i_Messwert; (* Nachführung der vergangenheit *)
END_IF;

IF #x_Reset THEN (* Löschen des Archivs *)
    #usi_Schreibpointer := 5; (* Festlegen wo das Archiv beginnt *)
    FOR #si_PointerLoesch := 5 TO #si_Arraygroesse BY 1 DO (* Löeschvorgang mit FOR *)
        #Messwerte[#si_PointerLoesch] := 0;
    END_FOR;
END_IF;

(* Schreiben bei Trendwechsel in das Archiv *)
IF (NOT #x_MWFallend AND #x_HMTRFall) OR (NOT #x_MWSteigend AND #x_HMTRSteig)
    AND NOT #x_Speichervoll THEN
    #Messwerte[#usi_Schreibpointer] := #i_Messwert;
    #usi_Schreibpointer := #usi_Schreibpointer + 1;
END_IF;

(* Nachführung der Flankenmerker *)
#x_HMTRFall := #x_MWFallend;
#x_HMTRSteig := #x_MWSteigend;

(* Setzen Bit Meldearchiv ist voll*)
#x_Speichervoll := (#usi_Schreibpointer > 24);

(* Bestimmung des MinWertes:
Hier muss noch anwendungsbezogen eine Verzögerung eingestellt werden,
 damit nicht beim Start der Wert "0" eingetragen wird  - realisiert durch FirstScan??? *)
IF NOT #x_FirstScan THEN
    #i_MinWertAk := 30000;
ELSIF
    (#i_Messwert < #i_MinWertAk) AND #x_MWFallend THEN
    #i_MinWertAk := #i_Messwert;
END_IF;

(* Bestimmung des Max-Wertes *)
IF #i_Messwert > #i_MaxWertAk THEN
    #i_MaxWertAk := #i_Messwert;
END_IF;

(* Statistik - Übertragung *)
#Messwerte[0] := #i_Messwert;
#Messwerte[1] := #i_Hysterese;
#Messwerte[2] := #i_MinWertAk;
#Messwerte[3] := #i_MaxWertAk;
#Messwerte[4] := #i_AnzMess;

(* Ausgabe Min / Max - Werte *)
#i_MinWert := #i_MinWertAk;
#i_MaxWert := #i_MaxWertAk;

unter Eigenschaften des Bausteins sagt mir TIA nun, das ich auf eine globale Variable zugreife. Meiner Meinung nach tue ich das aber nicht, ausser man zählt normale Zahlen dazu.

Könnt ihr mal bitte durchsehen und sagen welches Variablen TIA da meint?

Vielen Dank!

Array of Struct Type -> wie auf struc elemente zugreifen

$
0
0
Hi,
ich hänge gerade dabei wie ich auf einzelne Variablen einer Struc zugreifen kann wenn diese sich in einem Array befindet. (Siehe Screenshot)
Danke schonmal im Voraus für eure Hilfe.
struc_array.png
Angehängte Grafiken

Kommunikation MOVI-PLC (DHE41B) mit Buskoppler OCC11C

$
0
0
Hallo alle Freunden!

Ich möchte die Kommunikation von einem Buskoppler OCC11C (nur das Buskoppler, ohne Digitaler Eingangen) mit einem DHE41B herstellen.
Es sollte etwas einfach sein, das Ziel ist: Das OCC11C überprüfen.
Aber es scheint nicht so einfach zu sein. Mache ich etwas schon:

OCC11B:
Ich stelle die Übertragungsrate(500k) und die Modul-ID(1) mit der "DIP-Schalter" ein.

DHE41B:
Firmware Version: 1119
Ich nehme ein Beispielprogramme von CodeSamples, und folgte den Schritten auf dem Handbuch (I/O System C). Die Programme kann ich schon downloaden, aber ich konnte nicht aus dem Fehler "16515075 - E_CAN_IO_MODULE_NO_CONNECTION_DURING_INIT_SEQ" gehen.

Hier ist ein Bild von mein Leiden :???:
IO_System_C_diagnose.jpg

Kann jemanden mir bitte helfen!?
Angehängte Grafiken

TIA TP1200: Aktionen über HW-Taster ausführen

$
0
0
Guten Morgen,

hier die Ausgangslage: Ich habe ein TP1200 Comfort Panel von Siemens im TIA Portal V15 projektiert. Zusätzlich gibt es Hardware Taster am Schaltschrank, die über digitale Eingänge auf die SPS gehen.
Wenn nun ein bestimmter Taster am Schaltschrank gedrückt wird, soll auf dem Panel immer ein bestimmtes Bild angezeigt werden. Also im Prinzip soll die Aktion "AktiviereBild" ausgeführt werden - nur dass es sich eben um einen HW-Taster handelt...
Ich bin mir gerade nicht ganz sicher, wie das am einfachsten zu realisieren ist...

Vielen Dank im voraus.

Ortsveränderlicher Maschinenschaltschrank

$
0
0
Hallo Zusammen,

ich habe von einem Kunden folgende Anfrage bekommen:

Der Schaltschrank einer Bearbeitungsanlage (Rittal TS8 Schrank mit Türen vorn und hinten) kann nicht dauerhaft an dem vorgesehenen Platz stehen, sie möchten diesen auf Rollen (gibt's ja bei Rittal käuflich zu erwerben) und den Schrank näher an die Anlage zu stellen. Im Service Fall soll dieser dann ca. 1m hervorgezogen werden.

Von den Kabeln her ist dies prinzipiell machbar, allerdings stellt sich mir die Frage, ob der Kunde als Betreiber nach so einer Ortsveränderung des Schrankes Kontrollmaßnahmen wie z.B. Messung der PE Verbindung / Kontrolle aller Kabel zwischen Schrank und Maschine etc. durchführen muss, bzw. was ich als Maschinenbauer in der Doku vermerken muss ?

Hat hierzu jemand Erfahrungen?

Gruß Manuel

TIA Array mit verschiedenen Datentypen für SDO übertragung

$
0
0
Hallo zusammen,

ich bin gerade dabei eine Interroll Multicontrol Steuerung mittels WRRCE-Baustein über Profinet zu konfigurieren.
Das klappt soweit auch ganz gut wenn ich die zu übertragenden Daten einzeln einstelle.
Nun ist es so das ich eine Konfiguration der Daten vordefinieren möchte und dann alle Daten "auf einmal" mit Hilfe einer Schleife übertragen möchte.
Ich habe mir das so gedacht dass ich in einen Datenbaustein ein Art "array of struct" für den Index und die Daten definiere. (siehe Bild)
Jetzt habe ich aber das Problem das zwar der Index vom Datentyp immer gleich bleibt aber der Datentyp der einzelnen Daten unterschiedlich ist. (z.B. Sensortyp = Bool, IP-Adresse = udint)
Bei einem "array of struct" ist es aber so das der Datentyp für alle Variablen gleich ist.

Daher meine Frage: Gibt es eine Möglichkeit eine Art Array mit unterschiedlichen Datentypen zu erstellen?

Ich Hoffe das mir das mir da jemand weiterhelfen kann:)
mfg Michl

PS: Ich benutze TIA v14 und eine 1516F-3 PN/DP CPU
Angehängte Grafiken

TIA TIA Variablentabelle "Bereich einfügen"

$
0
0
Hallo!

Gibt es bei TIA in der Variablentabelle eine Funktion, mit der man einen größeren Bereich eines Datenbausteins auf einmal einfügen kann? Vgl. "Bereich einfügen" bei Step7? Oder bin ich einfach zu dumm dafür? Konnte auch bei der Forum Suche nichts dazu finden, ebenso auch nicht in der TIA Hilfe....

SG Neibeck

Sonstiges Webserver

TIA KTP 700 PLC 1215 Keine Eingabe möglich 230000

$
0
0
Hallo zusammen,
habe das Problem das ich im Panel keine Eingabe 40000 machen kann, 30000 ist möglich.
Habe auch schon an div. Stellen gesucht, ich habe keine Begrenzung oder Limit eingestellt.
gibt es noch eine versteckte Möglichkeit?
:confused:
VG Roland

230000.JPG
Angehängte Grafiken

TwinCat 2.11 Alarmtabelle

$
0
0
Moin,

ich bin gerade dabei mich in TwinCat2 einzuarbeiten, eigentlich komme ich aus der S7 Welt.
Ich spiele da zur Zeit mit der PLC Visu rum und wollte die Alarmtabelle ausprobieren. Ich habe eine eingefügt und konfiguriert, aber wie erzeuge ich jetzt einen Alarm?
Bei WinCC kann man das ja über Bits machen, aber ich habe nirgendwo ein Beispiel gefunden wie ich eine Meldung erzeuge, anzeigen lasse und quittiere. Eventuell seh ich aber auch den Wald vor lauter Bäumen nicht.

Wertänderung einer Variable auf OPC UA Server mitbekommen

$
0
0
Hallo zusammen,

es geht nun los, es wird umgestellt auf OPC-UA. Soweit OK, ich habe nur mal ein kleines Anfängerproblem, dass ich auch mit der Google-Suche bisher nicht lösen konnte.

Genutzt wird B&R AS 4.3.4.121 zur Programmierung des OPC UA Servers auf einer B&R X20 CPU

Die Clients (HMI) können nun einen bestimmten Wert auf dem Server ändern, z.B. wird die Variable "Wert" die vorher 3 war mit dem Wert 5 beschrieben.

Bekomme ich dies in der SPS, also dem Server mit? Wird dort meinetwegen automatisch ein Event-Bit gesetzt das ich auswerten kann und damit weiß das sich ein Wert geändert hat?

Oder muss ich manuell zyklisch auf allen Werten einen Neu-Alt Vergleich machen und somit die Datenstrukturen doppelt halten um vergleichen zu können?

Wie gesagt, bin neu in dem Thema, reisst mir nicht gleich den Kopf ab ;-)

Danke, Daniel

WinCC Smart Client // VNC Authentication funktioniert nicht mehr

$
0
0
Hi,
Ich arbeite mit TIA V15 und habe mein TP 1900 Panel Hochgerüstet und seit dem funktioniert der Smart Client nicht mehr. Die Einstellungen sind alle noch so wie sie vorher waren.
Das Problem:
Wenn ich den Smart Client starte, öffnet sich das Bild VNC Authentication.
Doch dort ist weder ein Thumbprint noch ein Passwort hinterlegt, was vorher der Fall war.

Kann mir jemand sagen woran das liegt?
Angehängte Grafiken

Routing einer IP-Adresse auf eine Andere IP-Adresse innerhalb Windows

$
0
0
Hallo,

ich habe folgendes Problem:
Ich habe eine SPS von Wago im Feld (IP-Adresse 192.168.1.100), die an einem VPN-Router hängt.
Über unser Firmennetz kann ich mich via VPN auf den VPN-Router verbinden und bekomme generell auch Zugriff zur Wago-SPS.
Innerhalb unseres Firmennetzes, wird aber nun leider die Wago SPS für mich unter der IP-Adresse 192.168.88.100 sichtbar, da 192.168.1.100 für andere dinge im Firmennetz verwendet wird.

Nun möchte ich aber nicht jedes mal innerhalb codesys die kommunikationsparameter auf 192.168.88.100 umstellen, sondern die 192.168.1.100 lassen.

Meine Idee war nun eine Art Routing innerhalb Windows durchzuführen, dass mir die IP-Adresse 192.168.88.100 auf 192.168.1.100 "umleitet"

weiß jemand ob das in der Konsole mit dem Befehl
"route add -p 192.168.1.100 MASK 255.255.255.0 192.168.1.100" generell funktionieren kann? (habs mal kurz ausprobiert, bin mir aber nicht sicher ob ich alles richtig gemacht hab)
Hat jemand eine andere/bessere Idee?

Danke!

Gruß Chris

1-Taster Dimmer S7-1200

$
0
0
Hallo Leute!

Ich habe in meinem Haus eine s7-1200 mit Beckhoff-Erweiterung im Einsatz. Auch die Beckhoff Dimmerklemmen.

Nun möchte ich mit einem Taster das Licht dimmen.
(im moment geht nur Licht an und aus :))

Taster kurz gedrückt > Licht voll an
Taster kurz gedrückt > Licht ganz aus

Taster lang gedrückt (wenn Licht aus) > Lampen hoch dimmen
Taster lang gedrückt (wenn Licht an) > Lampen runter dimmen
(das Dimmen der Lampen wenn sie an sind, immer im wechsel)

Irgendwie komme ich nicht auf die richtige Lösung.

Gibt es für Tia Portal eine Bibliothek für Haussteuerungen?

Kann mir da jemand weiter helfen?

MfG Schippi

Sonstiges Analogwerte von PCS7 zu WinCC übertragen?

$
0
0
Hallo zusammen,

ich simuliere gerade eine Anlage und möchte dementsprechend einen simulierten Analogwert an eine PCS7-Balkenanzeige übertragen, sodass ein Behälterfüllstand angezeigt wird.
Leider habe ich gesehen, dass zumeist nur Antriebsbausteine (oder eben Hardwareadressen, die ja bei einer Simulation keine Werte liefern) die Möglichkeit bieten, über "Bedienen & Beobachten" mit WinCC zu kommunizieren. Das gleiche Problem wird mir ebenfalls noch mit Digitalsignalen über den Weg laufen. Wie wäre es nun möglich, einen normalen Real- oder Integerwert an WinCC zu senden?
Danke schon mal an dieser Stelle.

Daniel

Nachrüstung Jalousiesteuerung mit Windalarm

$
0
0
Hallo an die Community!


Ein Bekannter von mir hat mich, da ich handwerklich und technisch keine zwei linken Hände habe, ob ich ihm denn nicht helfen könne eine Steuerung für seine Jalousie mit Windalarm zu machen. Technische Erfahrung habe ich jedoch in anderen Bereichen und noch nie etwas mit Loxone gemacht. Mich interessiert jedoch die Materie und denke, dass es durchaus machbar ist mit den nötigen Informationen


Hier ein paar Infos:
Das Haus hat bis jetzt keine Loxone, KNX, oder sonst eine automatisierende Anlage, es dreht sich hier rein darum die Jalousien so zu steuern, dass sie eben bei starkem Wind automatisch hochfährt um nicht beschädigt zu werden.


Meine Frage nun an die Community:
Welches System bzw vermutlich reichen einzelne Bausteine, eignen sich hier am besten? Welche Schritte müssten gesetzt werden?


Ich erwarte mir hier natürlich keine Step by Step Anleitung, doch wäre ein Feed aus Meinungen und Informationen sehr hilfreich! Ich bin Webentwickler von Beruf und das Thema Smart Home interessiert mich sehr doch von Elektronik habe ich noch nicht viel Ahnung, leider. Deshalb wollte ich mich an eine erfahrene Community wenden :)


Ich bedanke mich schonmal im Voraus und freue mich auf Inspiration und Information!

TIA SmartTag auslesen funktioniert nicht

$
0
0
Hallo,

ich bastle gerade an einem Bildbaustein rum.

Dort habe ich unter anderem ein symbolisches EA-Feld mit Textliste hintendran welche von außen an den BB parametriert wird.
Als weitere Eigenschaft des BB wird ein UDT übergeben. Dieser beinhaltet ein Array 0-4 of DInt.

Nun möchte ich anhand des ausgewählten Eintrags des EA-Feld den Wert des passenden Arrayeintrags in einem weiteren EA-Feld anzeigen.

Bisher habe ich es wie folgt programmiert:

Code:

'Zum testen OK, für den Einsatz nicht geeignet, da eine feste Anzahl angegeben und Prorammiert werden muss
If SmartTags("Properties\UDT_Aktor.Motor_gesteuert.Positionen.Positionsindex") = 0 Then
    diPosition = SmartTags("Properties\UDT_Aktor.Motor_gesteuert.Positionen.Positionen.Position[0]")

ElseIf SmartTags("Properties\UDT_Aktor.Motor_gesteuert.Positionen.Positionsindex") = 1 Then
    diPosition = SmartTags("Properties\UDT_Aktor.Motor_gesteuert.Positionen.Positionen.Position[1]")
   
ElseIf SmartTags("Properties\UDT_Aktor.Motor_gesteuert.Positionen.Positionsindex") = 2 Then
    diPosition = SmartTags("Properties\UDT_Aktor.Motor_gesteuert.Positionen.Positionen.Position[2]")
   
ElseIf SmartTags("Properties\UDT_Aktor.Motor_gesteuert.Positionen.Positionsindex") = 3 Then
    diPosition = SmartTags("Properties\UDT_Aktor.Motor_gesteuert.Positionen.Positionen.Position[3]")
   
ElseIf SmartTags("Properties\UDT_Aktor.Motor_gesteuert.Positionen.Positionsindex") = 4 Then
    diPosition = SmartTags("Properties\UDT_Aktor.Motor_gesteuert.Positionen.Positionen.Position[4]")
       
End If

So muss ich aber alle Indizes manuell eingeben...
Also möche ich das ganze dynamisch halten und den SmartTag zusammensetzen.
Z.B. so:

Code:

Dim test
test = SmartTags("Properties\UDT_Aktor.Motor_gesteuert.Positionen.Positionsindex")
'diPosition ist eine Variable im BB (DInt), welche auf das Ausgabe-EA-Feld gelegt wird.
diPosition = SmartTags("Properties\UDT_Aktor.Motor_gesteuert.Positionen.Positionen.Position[" & test & "]")

Dies funktioniert aber nicht und ich habe keine Ahnung weshalb.

Theoretisch kann ich es ja wie in Version 1 machen, da wenn sich die Größe des Arrays im UDT ändert, ich auch den BB aktualisieren muss.
Aber mich interessiert wieso dies nicht funktioniert.
Viewing all 49484 articles
Browse latest View live


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