# Programmieren lernen



## Bilo57 (28 Februar 2019)

Hallo Community,

bin ziemlich neu in dieser Branche und würde gerne von euch wissen, wie ich SPS Programmierung am besten lernen kann.

Bin für jede hilfe dankbar.


----------



## DeltaMikeAir (28 Februar 2019)

Na da wäre halt die Angabe wichtig, welches Systeme ( Beckhoff, Siemens.... ), welche Programmiersprachen, evtl. HMI...


----------



## Bilo57 (28 Februar 2019)

Hauptsächlich Siemens Step 7 und TIA. 
Programmiersprachen FUP KOP und SCL


----------



## DeltaMikeAir (28 Februar 2019)

> wie ich SPS Programmierung am besten lernen kann.


Ok, bist du noch in der Ausbildung, gibt es bei euch intern keine Möglichkeiten?


----------



## Bilo57 (28 Februar 2019)

Ich habe den Elektrotechniker gemacht (Grundlagen Programmierung) habe ich gelernt.
Die Anlagen in der Realität sind natürlich viel komplexer..
Die Möglichkeiten bekomme ich erst nach der Probezeit... bis dahin würde ich gerne selber dazu lernen.


----------



## wollvieh (28 Februar 2019)

Für die Autodidakten ganz nette Seite :
https://www.sps-lehrgang.de/


----------



## MFreiberger (28 Februar 2019)

Moin Bilo57,

wenn Du autodidaktisch TIA S7 lernen möchtest, aber keine Möglichkeit hast das TIA-Portal und eine Steuerung gestellt zu bekommen,
würde ich mir ein günstiges Starter-Kit 1200 kaufen.

https://mall.industry.siemens.com/mall/de/b1/Catalog/Product/6AV6651-7HA01-3AA4

Da wäre sogar ein kleine HMI dabei. Zum lernen ist das nicht schlecht.

Ein paar Euronen müsstest Du halt investieren, dafür kannst Du die Steuerung auch gut zu Hause verwenden, da sie für 230VAC  geeignet ist...

VG

MFreiberger


----------



## Bilo57 (28 Februar 2019)

Ich habe alle Programme am Laptop und kann auch damit arbeiten.
Bräuchte nur evtl. Bücher wo alles drin steht wie man am besten programmieren kann und natürlich auch alles beschrieben wird.


----------



## winnman (28 Februar 2019)

na dann arbeite dich doch einfach mal durch die Übungen von https://www.sps-lehrgang.de und wenn da alles Klar ist versuch eine Kopie von Projekten bei euch in der Firma laufen und versuch halt da mal zu analysieren was da so passieren soll, . . .


----------



## sps4you (3 März 2019)

Hallo Bilo57,

ich kann dir meine SPS-Online-Kurse empfehlen. (www.spskurs.de)

Viele Informationen, praxisnah und schonend für den Geldbeutel. ;-)

Sieh dir doch einfach ein paar Kapitel auf meinem Youtube-Channel an und schau ob das was für dich ist.

youtube channel sps4you <- hier klicken

Bei Fragen kannst du mich jederzeit kontaktieren.

Gruß Florian


----------



## Bilo57 (4 März 2019)

Hallo sps4you,

deine Videos habe ich bereits gesehen..
die Grundlegenden Sachen sind mir bekannt.
ich brauch etwas für fortgeschrittene, damit ich Terminals, Scanner etc. programmieren und anbinden kann.

Gruß Bilo


----------



## sps4you (4 März 2019)

Hallo Bilo,

welche "Terminals" meinst du genau?

Scanner sind ein eher spezielles Thema. Mir ist kein Kurs dazu bekannt. Es gibt profinetfähige Scanner. Die sind relativ easy einzubinden. Sitzen die Grundlagen von Profibus/Profinet schon?

Als SPS-Programmierer muss man sich viel selbst beibringen. Es vergeht keine Woche in der ich nicht irgendein Datenblatt oder eine Bedienungsanleitung durchlese oder eben mit Herstellern in Kontakt treten muss. Daran musst du dich gewöhnen.

Gruß Florian


----------



## hucki (4 März 2019)

Bilo57 schrieb:


> bin ziemlich neu in dieser Branche und würde gerne von euch wissen, wie ich SPS Programmierung am besten lernen kann.
> 
> Bin für jede hilfe dankbar.





Bilo57 schrieb:


> die Grundlegenden Sachen sind mir bekannt.
> ich brauch etwas für fortgeschrittene, damit ich Terminals, Scanner etc. programmieren und anbinden kann.


Wäre ich (wie jeder andere hier sicher auch) ja auch sofort drauf gekommen...


----------



## Bilo57 (5 März 2019)

Hallo Florian,

Es sind ads-tec Terminals verbaut mit Produktverfolgung.
Ich bin gerade dabei mich über Profibus/Profinet zu informieren.

Danke für die Informationen.

Gruß Bilo


----------



## Bilo57 (5 März 2019)

Hallo,

kann mir das jemand erklären was da genau passiert?

Gruß Bilo


----------



## volker (5 März 2019)

dprd_dat liest konsitenz die daten von einem teilnehmer. an laddr stht die hw_id des teilnehmers.
welcher dies ist findest du unter plc-variablen und dort unter systemkonstanten.
die daten werden abgelegt in dem bereich der bei record angegeben ist.

getio liest das prozessabbild des am inputs angegebenen bereichs. im status findest du die fehlerinformationen.

ein klick auf den baustein und dann f1 bringt dir weitere infos zum baustein.


----------



## Bilo57 (6 März 2019)

Hallo volker,

erstmal danke für deine Antwort.
werden die Werte unter systemkonstanten automatisch definiert oder muss ich es definieren?


----------



## Credofire (6 März 2019)

Die Systemkonstanten werden dir vom System so eingestellt. Da brauchst/kannst du nichts selbst einstellen.
Du must dir nur die entsprechnde Hardware aussuchen, und du bekommst die vom System vergebene HW_ID, oder was auch immer grad gebraucht wird.


----------



## Bilo57 (8 März 2019)

Hallo Leute,

Ich kann in TIA 15 den Baustein GETIO nicht hinzufügen..
könnt ihr mir da weiterhelfen?

Gruß Bilo


----------



## DeltaMikeAir (8 März 2019)

> Ich kann in TIA 15 den Baustein GETIO nicht hinzufügen..



Warum denn nicht? Findest du ihn nicht, erscheint eine Fehlermeldung? Was für eine Steuerung?


----------



## Bilo57 (8 März 2019)

Steuerung: S7-1200 CPU 1214C

Es kommt keine Fehlermeldung garnichts.
Ich habe es gefunden nur kann ich es nicht Hinzufügen..


----------



## Bilo57 (8 März 2019)

Bei dem ersten Bild kann man es rechts unten sehen, dass GETIO grau geschrieben ist.
im zweiten bild siehst du die CPU


----------



## DeltaMikeAir (8 März 2019)

Deine Firmware wird zu alt sein:
Das gibts erst ab FW4.02.00




Siehe hier auf Seite 16:
https://cache.industry.siemens.com/...260_S7-1200_CPU_firmware_overview_v1d2_de.pdf


----------



## Bilo57 (8 März 2019)

Was muss ich da machen, dass es klappt?


----------



## DeltaMikeAir (8 März 2019)

> Was muss ich da machen, dass es klappt?



Wenn möglich, Firmwareupdate ??


----------



## Bilo57 (8 März 2019)

Ich habe alles erst vor paar Monaten installiert und alle updates durchgeführt..


----------



## DeltaMikeAir (8 März 2019)

> Ich habe alles erst vor paar Monaten installiert und alle updates durchgeführt


Ja, kein Update deines PC´s sondern der 1200ér Steuerung. Was ist es denn genau für eine ( Bestellnummer und installierte Firmware )


----------



## DeltaMikeAir (8 März 2019)

Verstehst du, du hast eine Steuerung projektiert, welche diese Funktion nicht unterstützt ( siehe mein Link ).
Es gibt jetzt wenn du Glück hast, die Möglichkeit, ein FW-Update durchzuführen. Aber nicht alle 1200ér können auf
die FW4.x hochgerüstet werden


----------



## Bilo57 (8 März 2019)

es muss nicht unbedingt eine 1200er Steuerung sein. Ich will nur den Scanner programmieren und es simulieren.
Würde es bei einer 1500er klappen?


----------



## DeltaMikeAir (8 März 2019)

> Würde es bei einer 1500er klappen?


Liest du eigentlich, was ich schreibe?



> Verstehst du, du hast eine Steuerung projektiert, welche diese Funktion nicht unterstützt


Klicke auf deine CPU links im Projektbaum, sag Gerätetyp tauschen und wähle dann deine CPU mit der >= *Firmware 4.02.0 *aus.
Dann sollte es gehen.


----------



## Bilo57 (11 März 2019)

Hallo DeltaMikeAir,

sry war am freitag nicht mehr im büro...
aber es hat funktioniert danke für deine hilfe.

Gruß
Bilo


----------



## DeltaMikeAir (11 März 2019)

Freut mich,
weiterhin viel Erfolg


----------



## Bilo57 (11 März 2019)

Danke..
eine kurze frage noch.. 
ich finde die Funktion LEN nicht Steuerung ist jetzt 1212C DC/DC/Rly TIA 15

Gruß
Bilo


----------



## DeltaMikeAir (11 März 2019)

Sollte eigentlich unter "Erweiterte Anweisungen" zu finden sein.


----------



## Bilo57 (11 März 2019)

Perfekt.. Danke für alles!


----------



## DeltaMikeAir (11 März 2019)

Damit du dir bei solchen Kleinigkeiten selber helfen kannst,

drücke einfach F1, gebe deinen Befehl ein und dann kann man eigentlich alles ganz gut nachlesen, auch wo man den Befehl findet:


----------



## Bilo57 (11 März 2019)

Ich finde schon alles wenn ich F1 drücke, aber wie ich es hinzufügen kann stehet z. B. nicht..

S_COMP finde ich z.B. auch nicht...


----------



## DeltaMikeAir (11 März 2019)

Steht alles in der Hilfe,

S_Comp gibt es nur auf der 1500ér


----------



## DeltaMikeAir (11 März 2019)

Hier kannst du nachschauen, welche Befehle/Funktionen auf welcher Steuerung verfügbar sind:
https://cache.industry.siemens.com/..._940843/v1/s7_1500_compare_table_de_mnemo.pdf


----------



## Bilo57 (11 März 2019)

Danke Delta.

Ich habe gerade herausgefunden, dass die Scanner auf 300er SPS'n laufen sollen..
könnte ich dann Probleme bei der Programmierung für die Keyence Scanner haben?


----------



## DeltaMikeAir (11 März 2019)

> könnte ich dann Probleme bei der Programmierung für die Keyence Scanner haben?


Probleme gibts immer 

Aber prinzipiell geht das natürlich schon


----------



## Bilo57 (11 März 2019)

Da hast du recht Delta :smile:
 in der 300er SPS gibt es den Datentypen HW_SUBMODULE nicht soweit ich es gelesen habe.
wie kann ich das denn anders umsetzen?

Gruß 
Bilo


----------



## DeltaMikeAir (11 März 2019)

> in der 300er SPS gibt es den Datentypen HW_SUBMODULE nicht soweit ich es gelesen habe.



Kannst du dies einmal genauer erklären?


----------



## Bilo57 (11 März 2019)

Um die HW-Erkennung für die Scanner zu gewährleisten habe ich Variablen mit den Datentypen HW_submodule hinzugefügt.

und mit diesen Variablen habe ich programmiert.
	

		
			
		

		
	




Aber da es in der 300er SPS den Datentypen HW_Submodule nicht gibt müsse ich es irgendwie anders umsetzen..


----------



## DeltaMikeAir (11 März 2019)

Ja, kann ich jetzt nicht sagen. Vielleicht direkt an den Hersteller wenden und fragen, ob er ein kleines GettingStarted Projekt für die 300ér hat.


----------



## Bilo57 (11 März 2019)

Ich habe ein GettingSarted Projekt nur für Simatic manager gefundene.. aber ich werde da mal nachfragen.

für die 300er SPS gibt es auch die Funktionen S_Move, Chars_to_Strg nicht müsste ich auch irgendwie ersetzen..


----------



## Bilo57 (13 März 2019)

Hallo,

das ist mein GettinStarted Projekt für 1200er SPS..
ich muss es noch in eine Anlage implementieren können.
Was muss ich da noch machen bzw. beachten, dass es läuft?

Gruß
Bilo


----------



## Bilo57 (15 März 2019)

Hallo Leute,

Ich habe eine 1212er CPU und würde gern die Funktion S_COMP hinzufügen aber anscheinend unterschtützt die CPU diese Funktionalität nicht könnt ihr mir da weiterhelfen bitte.


----------



## Ph3niX (17 März 2019)

DeltaMikeAir schrieb:


> Steht alles in der Hilfe,
> 
> S_Comp gibt es nur auf der 1500ér
> Anhang anzeigen 44802



Siehe hier


----------



## volker (17 März 2019)

ein paar zeilen code tun es auch.


```
gelöscht weil der code nicht funktioniert
```


----------



## Heinileini (17 März 2019)

Und wenn die beiden Strings unterschiedlich lang sind?
Sorry - vergiss es - Du vergleichst ja zuerst die LängenAngaben!


----------



## PN/DP (17 März 2019)

volker schrieb:


> ein paar zeilen code tun es auch.


Die paar Zeilen Code liefern immer das Ergebnis "gleich", weil EXIT nicht so funktioniert wie das vermutlich gemeinte RETURN. Außerdem liefert String[1] das erste Zeichen des Strings und nicht dessen Länge.

Ich habe jetzt kein TIA verfügbar, doch eigentlich müsste ein Stringvergleich in SCL viel einfacher sein. Etwa so:

```
FUNCTION "EQ_String" : BOOL
VAR_INPUT
  S1 : String;
  S2 : String;
END_VAR

BEGIN
  "EQ_String" := #S1 = #S2;  //kann das TIA-SCL das?

//alternativ etwa so:
  "EQ_String" := LEN(IN:=#S1) = LEN(IN:=#S2) AND (LEN(IN:=#S1) = 0 OR FIND(IN1:=#S1, IN2:=#S2) = 1);
END_FUNCTION
```

Harald


----------



## Bilo57 (20 März 2019)

Ich habe es nun mit CMP== programmiert weiß nicht ob es so auch hinhaut.

Ich habe ein Simatic Multi Panel das schon an die CPU angebunden ist.
habe versucht über erreichbare teilnehmer die Richtige HMI zu finden aber es klappt nicht..
wisst ihr wie ich den Panel bei Geräte & Netze hinzufügen kann?


----------



## PN/DP (20 März 2019)

Bilo57 schrieb:


> Ich habe es nun mit CMP== programmiert


Ahhh da hat Siemens nun den Stringvergleich "versteckt", und deswegen gibt es kein S_COMP ...



Bilo57 schrieb:


> weiß nicht ob es so auch hinhaut.


Na, das ist doch ruckzuck simuliert+getestet



Bilo57 schrieb:


> Ich habe ein Simatic Multi Panel das schon an die CPU angebunden ist.
> habe versucht über erreichbare teilnehmer die Richtige HMI zu finden aber es klappt nicht..
> wisst ihr wie ich den Panel bei Geräte & Netze hinzufügen kann?


Im Projektbaum ganz oben "Neues Gerät hinzufügen" > HMI > dein Panel auswählen und hinzufügen
oder das Panel aus dem Originalprojekt des Panels in Dein Projekt kopieren
Wozu willst Du das Panel unter "Erreichbare Teilnehmer" finden? Die Projektierung kann nicht aus dem Panel herausgeladen werden. (außer das Projekt wurde extra auf einer Speicherkarte am Panel hinterlegt)

Harald


----------



## Bilo57 (20 März 2019)

Ich weiß leider nicht welches Panel es ist kann den Typen nicht ermitteln weil es festgeschraubt ist..


----------



## PN/DP (20 März 2019)

Läuft das Panel noch? Du könntest in das Control Panel gehen, da kann man sehr wahrscheinlich den Typ lesen.
Irgendjemand sollte das Originalprojekt haben.
Weiters sollte ein Schaltplan existieren, wo mit Glück der Typ drin steht.
Hat das Panel Netzwerkanschluß? Ist evtl. ein HTML-Server/HTML-Seiten aktiviert? Dann könntest Du mit einem Browser auf die HTML-Seiten gehen.
Wie sieht das Panel denn aus (Foto)?
Wenn es keine verläßlichen Infos zum Typ gibt dann halt den Kasten öffnen/aufschrauben, wo das Panel eingebaut ist.

Ohne ein garantiert aktuelles Voll-Backup (notfalls selber erzeugen) oder die garantierte Zusage, daß der Inhalt des Panels unwiederbringlich gelöscht werden darf, würde ich an dem Panel nichts anfassen oder gar eine eigene Projektierung draufladen.

Harald


----------



## Bilo57 (20 März 2019)

Das Panel läuft.. kann es leider nicht aufschrauben...
Es ist ein Simatic Multi Panel mit Netzwerkanschluss.
mir wurde die Test SPS zugestellt, deswegen muss ich nichts berücksichtigen.


----------



## Bilo57 (20 März 2019)

Was es für ein Device ist weiß ich aber ich kann es in TIA nicht finden....

MP277 10'' Touch

da finde ich nur Mobile Panel 277 10'' aber das was ich hier habe ist ja kein Mobile Panel


----------



## DeltaMikeAir (20 März 2019)

Also ich kann es bei mir einfügen ( V14 ). Was hast du denn für eine TIA Version ( Basic?? )


----------



## Bilo57 (20 März 2019)

Ich habe TIA Portal V15 Advanced


----------



## Bilo57 (20 März 2019)

Habe es auf TIA V14 gefunden.. kann ich mein projekt von v15 auf v14 runterrüsten?


----------



## DeltaMikeAir (20 März 2019)

> Die folgenden Bediengeräte werden ab TIA Portal V15 nicht mehr unterstützt:
> 
> 
> 
> ...



Das ist der Grund dafür. MP277 10" geht nur bis V14


----------



## DeltaMikeAir (20 März 2019)

Bilo57 schrieb:


> Habe es auf TIA V14 gefunden.. kann ich mein projekt von v15 auf v14 runterrüsten?



Soweit ich weiß nicht. Aber dein Programm wird ja nicht all zu groß sein. So könntest du ja händisch kopieren.


----------



## Bilo57 (20 März 2019)

Muss ich wohl oder übel so machen.. 
danke für die Informationen.


----------



## Heinileini (20 März 2019)

Bilo57 schrieb:


> da finde ich nur Mobile Panel 277 10'' aber das was ich hier habe ist ja kein Mobile Panel


. . . weil jemand die Mobilität enorm eingeschränkt hat durch Festschrauben? Aber oben an dem Lochblech, an dem es angeschraubt ist, befindet sich immerhin ein TrageGriff.
Und, wenn ich mich richtig erinnere, gehören Schrauben zur Gattung der lösbaren Probleme - pardon - Verbindungen. 

Gruss, Heinileini


----------



## Bilo57 (21 März 2019)

Hallo Leute,

Normalerweise wenn man die Simulation startet, sieht man doch wie die Bausteine Aktiv geschalten werden und die Bausteine werden gestrichelt angezeigt.

Bei mir ist es leider nicht so.. ich weiß auch nicht warum... habt ihr sowas schon mal gehabt?


----------



## DeltaMikeAir (21 März 2019)

Wir denn der Baustein irgendwo aufgerufen?? CPU in RUN?


----------



## Bilo57 (21 März 2019)

Hab vergessen die Bausteine im OB aufzurufen....

Danke.
Gruß Bilo


----------



## Bilo57 (4 April 2019)

Guten Morgen,

mein Scanner Programm läuft momentan, aber es scannt nur einen Barcode.
Der Scanner müsste aber mehrere Barcodes scannen.. 
ich habe nun versucht es in TIA V14 zu programmieren aber es klappt nicht.
Im DB habe ich 3 Typen festgelegt und definiert. Nur wie ich den Vergleich machen kann ist mir noch nicht bewusst.

Gruß
Bilo


----------



## DeltaMikeAir (4 April 2019)

Bilo57 schrieb:


> Guten Morgen,
> 
> mein Scanner Programm läuft momentan, aber es scannt nur einen Barcode.
> Der Scanner müsste aber mehrere Barcodes scannen..
> ...



Beschreibe mal genauer was dein Problem ist? Möchtest du 3 Barcodes hintereinander scannen und es geht nicht?
Wie sieht dein Code aus ( Screenshots )


----------



## Bilo57 (4 April 2019)

Ich muss verschieden Labels scannen, wo die Barcodes anders positioniert sind.
Also müssen die Barcodes nicht gleichzeitig gescannt werden.
Die Bereiche habe ich im AutoID Network eingestellt..
Aber hab es nicht geschafft die verschiedenen Barcodes zu programmieren, sodass die Anlage einen vergleich macht, welches Barcode gelesen wird und ob es mit dem angewählten Typ(Sollscan) übereinstimmt.


Label ist nur ein Beispiel!


----------



## Elektrofan20 (9 September 2020)

Hallo auch von mir, ich wäre auch sehr dankbar für Einsteiger-Tipps


----------



## zako (20 September 2020)

Elektrofan20 schrieb:


> Hallo auch von mir, ich wäre auch sehr dankbar für Einsteiger-Tipps


Am besten konkrete Aufgabe und dann einen fähige Kollegen der bei sinnvollen Fragen unterstützt.
Aber Motivation und grundlegende Kenntnisse musst Du schon mitbringen.
Aber wenn Du Deine Fragen auch im Kollegenkreis so allgemein formulierst wie hier diese, dann wird es schwer - auch mit den Kollegen.


----------

