Test 2021-02-10
authorBenjamin Braatz <benjamin.braatz@graph-it.com>
Wed, 10 Feb 2021 13:18:41 +0000 (14:18 +0100)
committerBenjamin Braatz <benjamin.braatz@graph-it.com>
Wed, 10 Feb 2021 13:18:41 +0000 (14:18 +0100)
conf.json
schaltschrank/websocket.py
setup.py
web/index.html

index ed75b0dfc2180672766820f676d6ad4b721fe698..fa5cf6da8c9cb975a7b18421a9b56d5cdff77000 100644 (file)
--- a/conf.json
+++ b/conf.json
@@ -3,7 +3,7 @@
       "type": "output",
       "address": 56,
       "pins":
-      [ [ "A1-1", "T1-1" ], [ "A1-2", "T1-2" ],
+      [ [ "A1-1", "T1-1", "Motorschütz" ], [ "A1-2", "T1-2" ],
         [ "A1-3", "T1-3", "Zentralschmierung" ], [ "A1-4", "T1-4", "Ölpumpe" ],
         [ "A1-5", "T1-5" ], [ "A1-6", "T1-6" ],
         [ "A1-7", "T1-7" ], [ "A1-8", "T1-8" ] ] },
@@ -20,8 +20,8 @@
       "address": 32,
       "interrupt pin": 4,
       "pins":
-      [ [ "E1-1", "T1-18" ], [ "E1-2", "T1-19" ],
-        [ "E1-3", "T1-20" ], [ "E1-4", "T1-21" ],
+      [ [ "E1-1", "T1-18", "Motorschütz Rückmeldung" ], [ "E1-2", "T1-19" ],
+        [ "E1-3", "T1-20", "Zentralschmierung Rückmeldung" ], [ "E1-4", "T1-21", "Ölpumpe Rückmeldung" ],
         [ "E1-5", "T1-22" ], [ "E1-6", "T1-23" ],
         [ "E1-7", "T1-24" ], [ "E1-8", "T1-25", "Schwungrad" ] ] },
     { "name": "E2",
         [ "E4-3", "T2-11" ], [ "E4-4", "T2-12" ],
         [ "E4-5", "T2-13" ], [ "E4-6", "T2-14" ],
         [ "E4-7", "T2-15" ], [ "E4-8", "T2-16" ] ] } ],
+  "andpins":
+  [ { "name": "Okay",
+      "pins":
+      [ "Zentralschmierung Rückmeldung", "Ölpumpe Rückmeldung",
+        "Schwungrad", "Öldruck", "Bruchplatte Einzug" ] } ],
   "modbus":
   { "serial device": "/dev/serial0",
-    "slave id": 1 } }
+    "slave id": 1 },
+  "statemachines":
+  [ { "name": "Schmierung",
+      "states":
+      { "notaus":
+        { "commands":
+          [ { "name": "setpin",
+              "pin": "Zentralschmierung",
+              "value": false },
+            { "name": "setpin",
+              "pin": "Ölpumpe",
+              "value": false } ].
+          "events":
+          [ { "name": "pinstate",
+              "pin": "Notaus",
+              "value": false,
+              "state": "aus" } ] },
+        "aus":
+        { "commands":
+          [ { "name": "setpin",
+              "pin": "Zentralschmierung",
+              "value": false },
+            { "name": "setpin",
+              "pin": "Ölpumpe",
+              "value": false } ].
+          "events":
+          [ { "name": "pinstate",
+              "pin": "Notaus",
+              "value": true,
+              "state": "notaus" },
+            { "name": "pinstate",
+              "pin": "Schmierung",
+              "value": true,
+              "state": "an" },
+            { "name": "motoran",
+              "state": "motoran" } ] },
+        "an":
+        { "commands":
+          [ { "name": "setpin",
+              "pin": "Zentralschmierung",
+              "value": true },
+            { "name": "setpin",
+              "pin": "Ölpumpe",
+              "value": true } ].
+          "events":
+          [ { "name": "pinstate",
+              "pin": "Notaus",
+              "value": true,
+              "state": "notaus" },
+            { "name": "pinstate",
+              "pin": "Schmierung",
+              "value": true,
+              "state": "aus" },
+            { "name": "motoran",
+              "state": "motoran" } ] },
+        "motoran":
+        { "commands":
+          [ { "name": "setpin",
+              "pin": "Zentralschmierung",
+              "value": true },
+            { "name": "setpin",
+              "pin": "Ölpumpe",
+              "value": true } ].
+          "events":
+          [ { "name": "pinstate",
+              "pin": "Notaus",
+              "value": true,
+              "state": "notaus" },
+            { "name": "motoraus",
+              "state": "an" } ] } },
+      "init": "aus" },
+    { "name": "Motor",
+      "states":
+      { "notaus":
+        { "commands":
+          [ { "name": "motorstop" },
+            { "name": "setpin",
+              "pin": "Motorschütz",
+              "value": false },
+            { "name": "setpin",
+              "pin": "Öllampe",
+              "value": false } ],
+          "events":
+          [ { "name": "pinstate",
+              "pin": "Notaus",
+              "value": false,
+              "state": "nichtokay" } ] },
+        "nichtokay":
+        { "commands":
+          [ { "name": "motorstop" },
+            { "name": "setpin",
+              "pin": "Motorschütz",
+              "value": true },
+            { "name": "setpin",
+              "pin": "Öllampe",
+              "value": false },
+            { "name": "getpin",
+              "pin": "Öldruck" } ],
+          "events":
+          [ { "name": "pinstate",
+              "pin": "Notaus",
+              "value": true,
+              "state": "notaus" },
+            { "name": "pinstate",
+              "pin": "Okay",
+              "value": true,
+              "state": "tippenokay" } ] },
+        "tippenokay":
+        { "commands":
+          [ { "name": "motorstop" },
+            { "name": "setpin",
+              "pin": "Motorschütz",
+              "value": true },
+            { "name": "setpin",
+              "pin": "Öllampe",
+              "value": true },
+            { "name": "getpin",
+              "pin": "Tippen" } ],
+          "events":
+          [ { "name": "pinstate",
+              "pin": "Notaus",
+              "value": true,
+              "state": "notaus" },
+            { "name": "pinstate",
+              "pin": "Okay",
+              "value": false,
+              "state": "nichtokay" },
+            { "name": "pinstate",
+              "pin": "Tippen",
+              "value": false,
+              "state": "dauerokay" },
+            { "name": "pinstate",
+              "pin": "Vorlauf",
+              "value": true,
+              "state": "tippenvor" },
+            { "name": "pinstate",
+              "pin": "Rücklauf",
+              "value": true,
+              "state": "tippenrück" } ] },
+        "tippenvor":
+        { "commands":
+          [ { "name": "tippenvor" } ],
+          "events":
+          [ { "name": "pinstate",
+              "pin": "Notaus",
+              "value": true,
+              "state": "notaus" },
+            { "name": "pinstate",
+              "pin": "Okay",
+              "value": false,
+              "state": "nichtokay" },
+            { "name": "tippenfertig",
+              "state": "tippenokay" } ] },
+        "tippenrück":
+        { "commands":
+          [ { "name": "tippenrück" } ],
+          "events":
+          [ { "name": "pinstate",
+              "pin": "Notaus",
+              "value": true,
+              "state": "notaus" },
+            { "name": "pinstate",
+              "pin": "Okay",
+              "value": false,
+              "state": "nichtokay" },
+            { "name": "tippenfertig",
+              "state": "tippenokay" } ] },
+        "dauerokay":
+        { "commands":
+          [ { "name": "motorstop" },
+            { "name": "setpin",
+              "pin": "Motorschütz",
+              "value": true },
+            { "name": "setpin",
+              "pin": "Öllampe",
+              "value": true },
+            { "name": "getpin",
+              "pin": "Tippen" } ],
+          "events":
+          [ { "name": "pinstate",
+              "pin": "Notaus",
+              "value": true,
+              "state": "notaus" },
+            { "name": "pinstate",
+              "pin": "Okay",
+              "value": false,
+              "state": "nichtokay" },
+            { "name": "pinstate",
+              "pin": "Tippen",
+              "value": true,
+              "state": "tippenokay" },
+            { "name": "pinstate",
+              "pin": "Vorlauf",
+              "value": true,
+              "state": "dauervor" } ] },
+        "dauervor":
+        { "commands":
+          [ { "name": "dauervor" } ],
+          "events":
+          [ { "name": "pinstate",
+              "pin": "Notaus",
+              "value": true,
+              "state": "notaus" },
+            { "name": "pinstate",
+              "pin": "Okay",
+              "value": false,
+              "state": "nichtokay" },
+            { "name": "pinstate",
+              "pin": "Stop",
+              "value": true,
+              "state": "dauerokay" } ] } },
+      "init": "nichtokay" } ] }
index bc99e9852266badc61e956e52b3c87dfaae050d9..df2eb601c75ef5b7ed8ce59ac2f3fb8fbdc1bc75 100644 (file)
@@ -21,48 +21,6 @@ async def event_handler(websocket, queues):
         event = await queue.get()
         message = json.dumps(event)
         await websocket.send(message)
-        # To move:
-        if event['event'] == 'pinstate':
-            okay = ( pins['Zentralschmierung'].value and
-                     pins['Ölpumpe'].value and
-                     pins['Schwungrad'].value and
-                     pins['Öldruck'].value and
-                     pins['Bruchplatte Einzug'].value )
-            pins['Öllampe'].value = okay
-            if not okay:
-                active = await fu.inverter_active
-                if active:
-                    await fu.stop_inverter()
-            if event['changed'] and event['value']:
-                if event['pin'] == 'Notaus':
-                    await fu.stop_inverter()
-                    pins['Zentralschmierung'].value = False
-                    pins['Ölpumpe'].value = False
-                elif event['pin'] == 'Stop':
-                    await fu.stop_inverter()
-                elif event['pin'] == 'Schmierung':
-                    pins['Zentralschmierung'].value = True
-                    pins['Ölpumpe'].value = True
-                elif event['pin'] == 'Vorlauf':
-                    if pins['Öllampe'].value:
-                        if pins['Tippen'].value:
-                            #await fu.set_parameters()
-                            await fu.set_frequency(25)
-                            await fu.start_inverter()
-                            await asyncio.sleep(0.15)
-                            await fu.stop_inverter()
-                        else:
-                            #await fu.set_parameters()
-                            await fu.set_frequency(50)
-                            await fu.start_inverter()
-                elif event['pin'] == 'Rücklauf':
-                    if pins['Öllampe'].value:
-                        if pins['Tippen'].value:
-                            #await fu.set_parameters()
-                            await fu.set_frequency(-25)
-                            await fu.start_inverter()
-                            await asyncio.sleep(0.15)
-                            await fu.stop_inverter()
         queue.task_done()
 
 
index 374dc70e5c295deeeb50c9c303105efe466ff54b..453b97878dcf824f19300ee759ab86b2f0e3d221 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -5,7 +5,7 @@ with open("README.md", "r") as readme_file:
 
 setuptools.setup(
     name="schaltschrank",
-    version="0.1.0",
+    version="0.2.0",
     author="Graph-IT GmbH",
     author_email="info@graph-it.com",
     description="Main Module for Machine Control Pi",
index 83e97bc68942104ef31ac17b9ed2476533d73083..837110bcf95c5a1390252d8538503867e14dd3e4 100644 (file)
                 ws.send(JSON.stringify({name: 'getpin', pin: 'Rücklauf'}))
                 ws.send(JSON.stringify({name: 'getpin', pin: 'Öllampe'}))
                 ws.send(JSON.stringify({name: 'getpin', pin: 'Zentralschmierung'}))
+                ws.send(JSON.stringify({name: 'getpin', pin: 'Zentralschmierung Rückmeldung'}))
                 ws.send(JSON.stringify({name: 'getpin', pin: 'Ölpumpe'}))
+                ws.send(JSON.stringify({name: 'getpin', pin: 'Ölpumpe Rückmeldung'}))
                 ws.send(JSON.stringify({name: 'getpin', pin: 'Schwungrad'}))
                 ws.send(JSON.stringify({name: 'getpin', pin: 'Takt'}))
                 ws.send(JSON.stringify({name: 'getpin', pin: 'Öldruck'}))
                 ws.send(JSON.stringify({name: 'getpin', pin: 'Bruchplatte'}))
                 ws.send(JSON.stringify({name: 'getpin', pin: 'Bruchplatte Einzug'}))
+                ws.send(JSON.stringify({name: 'getpin', pin: 'Motorschütz'}))
+                ws.send(JSON.stringify({name: 'getpin', pin: 'Motorschütz Rückmeldung'}))
             })
         </script>
         <h1>ControlPi</h1>
         <section>
             <h2>Schütze</h2>
             <div id="Zentralschmierung">Zentralschmierung</div>
+            <div id="Zentralschmierung Rückmeldung">Zentralschmierung Rückmeldung</div>
             <div id="Ölpumpe">Ölpumpe</div>
+            <div id="Ölpumpe Rückmeldung">Ölpumpe Rückmeldung</div>
+            <div id="Motorschütz">Motorschütz</div>
+            <div id="Motorschütz Rückmeldung">Motorschütz Rückmeldung</div>
         </section>
         <section>
             <h2>Sensoren</h2>
@@ -73,6 +81,7 @@
             <div id="Öldruck">Öldruck</div>
             <div id="Bruchplatte">Bruchplatte</div>
             <div id="Bruchplatte Einzug">Bruchplatte Einzug</div>
+            <div id="Okay">Okay</div>
         </section>
     </body>
 </html>