Die SPS-Programmierung unterscheidet sich in mehrfacher Hinsicht von der herkömmlichen prozeduralen Programmierung:
1) Die Relais-Kontaktplan-Logik ist eine recht primitive Sprache. Es ist schwer, so produktiv zu sein. Die meisten SPS-Programmierer verwenden keine Unterprogramme; es ist fast so, als ob die SPS-Welt eine, die die Zeit und die Softwaretechnik vergessen haben. Sie können gut arbeiten, wenn Sie einfachen Software-Engineering-Methoden, z. B. durch die Definition von Schnittstellen zwischen Codeblöcken, wenn auch nur abstrakt.
2) Ein Großteil der SPS-Programmierung hat mit booleschen Gleichungen zu tun. Wenn Sie gut sein wollen in der SPS-Programmierung sein willst, arbeite hart im Umgang mit boolescher Logik: Lernen Sie boolesche Algebra, insbesondere Dinge wie De Morgans Theorem zur Verteilung von NOT auf AND und OR (da PLCs typischerweise keine NOT-Operatoren anbieten, braucht man das viel öfter als man erwarten würde)
3) Verstehen Sie, dass es bei der SPS-Programmierung um Steuerung und Rückmeldung in Echtzeit geht. Die meisten Standardprogrammiersprachen (z. B. Java) berücksichtigen dies nur unzureichend oder gar nicht. Denken Sie sorgfältig darüber nach, dass der SPS-Code eine Logik ist, die Ausgänge steuert, und dass die mechanischen Systeme, die angetrieben werden, in Wirklichkeit "Logik" sind, die PLC-Eingänge steuert . Ich habe oft ein mechanisches System mit einer anderen SPS modelliert SPS, um mein SPS-Programm zu debuggen, ohne dass ich eine echte Fabrikmaschine steuern muss. steuern. Auf diese Weise lassen sich auch Fehler simulieren (siehe Punkt 6).
4) Ein Großteil der SPS-Programmierung besteht abstrakt aus dem Übergang von Zuständen zu Zuständen, wobei ein Zustand repräsentiert, was die SPS über die externe Welt weiß, und Übergänge Übergänge treten auf, wenn die SPS einen externen Eingang liest und feststellt, dass sich der Zustand der Welt etwas geändert hat. Lernen Sie so viel wie möglich über endliche Zustandsautomaten und die übergeordnete Steuerung diskreter Systeme. Es wird sich für Sie lohnen.
5) PLCs müssen sich oft an vergangene Ereignisse erinnern. Folglich ist ein Großteil der SPS-Logik mit dem Setzen/Rücksetzen/Testen von booleschen/numerischen Zustandsvariablen und/oder Zeitgebern zu tun. Während der Code eines SPS-Programms also oft wie reine Logik aussieht, hat er in Wirklichkeit viele Nebeneffekte, was das Nachdenken über das Programm ziemlich schwierig macht. Genauso schwierig wie das Schreiben in einer moderneren Sprache wie C oder Java.
6) Achten Sie auf den Umgang mit mechanischen Fehlern. Die meisten SPS-Programme gehen davon aus Die meisten SPS-Programme gehen davon aus, dass die gesteuerte Anlage so funktioniert, wie sie angekündigt wurde; das ist wirklich eine schlechte Praxis. In der realen Welt funktioniert die gesteuerte System nur so lange wie angekündigt, bis es kaputt geht, was es toujours tut es schließlich. Wenn Sie in Ihre SPS-Programme einen Diagnosecode einbauen, um festzustellen, was mechanisch defekt ist, brauchen Sie zwar länger zu schreiben, aber die Benutzer werden Sie lieben, denn es gibt nichts Schlimmeres als eine Fabrikmaschine, die kaputt ist, aber nicht sagt, wie. Eine stillstehende Fabrik ist ein stillstehender Geldautomat, und Fabrikmanager hassen das.