From 6785c54cd5de4b3e11c0783627190c2441597784 Mon Sep 17 00:00:00 2001 From: Robert von Burg Date: Tue, 24 Mar 2020 16:27:57 +0100 Subject: [PATCH] [Project] Adding to PLC docu --- .../www.strolch.li/css/custom.css | 10 +++++++++- .../images/Strolch-PLC-Architecture.png | Bin 0 -> 34401 bytes li.strolch.website/www.strolch.li/plc.html | 9 ++++++--- 3 files changed, 15 insertions(+), 4 deletions(-) create mode 100644 li.strolch.website/www.strolch.li/images/Strolch-PLC-Architecture.png diff --git a/li.strolch.website/www.strolch.li/css/custom.css b/li.strolch.website/www.strolch.li/css/custom.css index df64a9fe2..6af83821c 100644 --- a/li.strolch.website/www.strolch.li/css/custom.css +++ b/li.strolch.website/www.strolch.li/css/custom.css @@ -7,7 +7,7 @@ */ .content { - padding: 0px 2em 3em; + padding: 0px 2em 3em; } blockquote { @@ -23,12 +23,14 @@ blockquote { .page-header { padding-top: 20px; } + .page-title { margin-top: 30px; margin-bottom: 0; font-size: 2.2em; font-weight: normal; } + .page-description { padding-top: 20px; font-size: 1.6em; @@ -37,4 +39,10 @@ blockquote { #footer { font-size: 0.8em; +} + +.image { + display: block; + margin-left: auto; + margin-right: auto } \ No newline at end of file diff --git a/li.strolch.website/www.strolch.li/images/Strolch-PLC-Architecture.png b/li.strolch.website/www.strolch.li/images/Strolch-PLC-Architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..67592f64a30164dfbeaff3c705c85784a6195a18 GIT binary patch literal 34401 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 DygzHQ literal 0 HcmV?d00001 diff --git a/li.strolch.website/www.strolch.li/plc.html b/li.strolch.website/www.strolch.li/plc.html index 436d82433..e35d1717b 100644 --- a/li.strolch.website/www.strolch.li/plc.html +++ b/li.strolch.website/www.strolch.li/plc.html @@ -67,6 +67,11 @@

Of course using the Java language as a PLC has its limitations, we have manage to use it for customers and are satisfied with the result. What follows is a description in how to set up your own Strolch based PLC.

+

Architecture

+

The Strolch PLC architecture sees the Strolch Agent as the server, managing logical devices, i.e. multiple + sensors and actors together and thus deciding

+ Strolch PLC Architecture +

Example set up

This example setup describes the movement of containers over conveyors. The conveyors have motors which can be started and stopped by a GPIO output pin controlled on a Raspberry Pi and each conveyor has a light @@ -75,9 +80,7 @@

The general idea is that the PLC notifies a Strolch agent of changes, and only turns conveyors on, when the agent gives the command. Thus the agent handles business logic and the PLC controls the I/Os.

- Strolch PLC Conveyor Example + Strolch PLC Conveyor Example