From 52989ab31a754286e8c79c1df20a4c5dec384c6c Mon Sep 17 00:00:00 2001 From: Benjamin Braatz Date: Wed, 10 Feb 2021 14:18:41 +0100 Subject: [PATCH] Test 2021-02-10 --- conf.json | 224 ++++++++++++++++++++++++++++++++++++- schaltschrank/websocket.py | 42 ------- setup.py | 2 +- web/index.html | 9 ++ 4 files changed, 230 insertions(+), 47 deletions(-) diff --git a/conf.json b/conf.json index ed75b0d..fa5cf6d 100644 --- 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", @@ -51,6 +51,222 @@ [ "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" } ] } diff --git a/schaltschrank/websocket.py b/schaltschrank/websocket.py index bc99e98..df2eb60 100644 --- a/schaltschrank/websocket.py +++ b/schaltschrank/websocket.py @@ -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() diff --git a/setup.py b/setup.py index 374dc70..453b978 100644 --- 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", diff --git a/web/index.html b/web/index.html index 83e97bc..837110b 100644 --- a/web/index.html +++ b/web/index.html @@ -42,12 +42,16 @@ 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'})) })

ControlPi

@@ -64,7 +68,11 @@

Schütze

Zentralschmierung
+
Zentralschmierung Rückmeldung
Ölpumpe
+
Ölpumpe Rückmeldung
+
Motorschütz
+
Motorschütz Rückmeldung

Sensoren

@@ -73,6 +81,7 @@
Öldruck
Bruchplatte
Bruchplatte Einzug
+
Okay
-- 2.34.1