diff --git a/API/__init__.py b/API/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/buffer.py b/API/buffer.py similarity index 99% rename from src/buffer.py rename to API/buffer.py index ce967b8..93f688a 100644 --- a/src/buffer.py +++ b/API/buffer.py @@ -5,7 +5,7 @@ Created on 29.01.2014 ''' from sys import stderr from socket import gethostname -from config import Config +from Config.config import Config from datetime import datetime from flask import abort diff --git a/src/favicon.ico b/API/favicon.ico similarity index 100% rename from src/favicon.ico rename to API/favicon.ico diff --git a/src/API.py b/API/service.py similarity index 96% rename from src/API.py rename to API/service.py index 9f1bee9..bb03be1 100644 --- a/src/API.py +++ b/API/service.py @@ -8,7 +8,7 @@ Created on 24.10.2013 from datetime import datetime from flask import Flask, jsonify, make_response, request from socket import gethostname -from config import Config +from Config.config import Config from ems import ems from buffer import Buffer @@ -29,14 +29,14 @@ class Request(object): self.id = req_id -def API_start(): - api = API() - print 'API-Thread:\t%s\n' % api +def REST_start(): + api = REST() + print 'REST-Thread:\t%s\n' % api api.app.run(host = conf['flask_server'], port = int(conf['flask_port'])) #debug = conf['flask_debug'] -class API(object): +class REST(object): def __init__(self): self.app = Flask(__name__) diff --git a/src/CANFilter.py b/CAN/Filter.py similarity index 100% rename from src/CANFilter.py rename to CAN/Filter.py diff --git a/Config/__init__.py b/Config/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/config.py b/Config/config.py similarity index 100% rename from src/config.py rename to Config/config.py diff --git a/Swich/__init__.py b/Swich/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/modules/database.py b/Swich/modules/database.py similarity index 100% rename from src/modules/database.py rename to Swich/modules/database.py diff --git a/src/modules/modbus.py b/Swich/modules/modbus.py similarity index 95% rename from src/modules/modbus.py rename to Swich/modules/modbus.py index 8e223fb..65266c7 100644 --- a/src/modules/modbus.py +++ b/Swich/modules/modbus.py @@ -1,41 +1,41 @@ -''' -Created on 05.12.2013 - -@author: Philipp Rauch -''' -from pymodbus.client.sync import ModbusTcpClient - -PAC01, PAC02, PAC03, PAC04 = None, None, None, None - -def setup(conf): - ### INITIALIZE ### - PAC01 = ModbusTcpClient('10.2.6.5') - PAC02 = ModbusTcpClient('10.2.6.6') - PAC03 = ModbusTcpClient('10.2.6.7') - PAC04 = ModbusTcpClient('10.2.6.8') - - ### CONNECT ### - PAC01.connect() - PAC02.connect() - PAC03.connect() - PAC04.connect() - - -def loop(cursor, item): - # PAC01.write_coil(213, 100,2) - # result = PAC01.read_coils(213,1,unit=2) - - ans = PAC01.write_registers(213,(1,0),unit=2) - print "Antwort: %s" % ans - - res = PAC01.read_holding_registers(213,4,unit=2) - print "Werte: %s" % res.registers - - # print result.bits[0] - -def close(): - ### CLOSE ### - PAC01.close() - PAC02.close() - PAC03.close() - PAC04.close() +''' +Created on 05.12.2013 + +@author: Philipp Rauch +''' +from pymodbus.client.sync import ModbusTcpClient + +PAC01, PAC02, PAC03, PAC04 = None, None, None, None + +def setup(conf): + ### INITIALIZE ### + PAC01 = ModbusTcpClient('10.2.6.5') + PAC02 = ModbusTcpClient('10.2.6.6') + PAC03 = ModbusTcpClient('10.2.6.7') + PAC04 = ModbusTcpClient('10.2.6.8') + + ### CONNECT ### + PAC01.connect() + PAC02.connect() + PAC03.connect() + PAC04.connect() + + +def loop(cursor, item): + # PAC01.write_coil(213, 100,2) + # result = PAC01.read_coils(213,1,unit=2) + + ans = PAC01.write_registers(213,(1,0),unit=2) + print "Antwort: %s" % ans + + res = PAC01.read_holding_registers(213,4,unit=2) + print "Werte: %s" % res.registers + + # print result.bits[0] + +def close(): + ### CLOSE ### + PAC01.close() + PAC02.close() + PAC03.close() + PAC04.close() diff --git a/src/switch.py b/Swich/switch.py similarity index 94% rename from src/switch.py rename to Swich/switch.py index c878537..a05c63b 100644 --- a/src/switch.py +++ b/Swich/switch.py @@ -1,82 +1,82 @@ -''' -Created on 15.11.2013 - -@author: Philipp Rauch -@version: 0.1 -''' -from threading import Thread -from Queue import Queue -from time import sleep -from config import Config - -#import Module -import database -import modbus - -MYSQL = 0 -MODBUS = 1 - -### LOAD CONFIG ### -c = Config() -conf = c.readConf() - -''' -TODO: comment :) -''' - -class Switch(Thread): - - def __init__(self, source = MYSQL): - Thread.__init__(self) - self.source = source - - def initialisiere(self): - ''' - initialize the swich with the given source and creates a queue and a query - it calls the setup method from the source module - - @return: queue and query - ''' - if self.source == MYSQL: - self.cursor = database.setup(conf) - elif self.source == MODBUS: - self.cursor = modbus.setup(conf) - - ### init Query ### - self.query = Queue() - if conf['config_debug']: - print '\tSWITCH-QUERY:\t', self.query - - ### init Queue ### - self.queue = Queue() - if conf['config_debug']: - print '\tSWITCH-QUEUE:\t', self.queue - - return self.queue, self.query - - def run(self): - ''' - The loop method of the source module is called with a parameter from the query. - Its output is written to the queue. - ''' - while True: - # Queue implementaion - # Queue contains the tablename for query - # item = query.get() #block = True - # query should be included in the result - - item = self.query.get(block = True) - - if self.source == MYSQL: - result = database.loop(self.cursor, item) - elif self.source == MODBUS: - result = modbus.loop(self.cursor, item) - - #print 'PUT:\t%s' % result - - self.queue.put(result) - self.query.task_done() - if self.source == MYSQL: - sleep(float(conf['mySQL_speed'])) - elif self.source == MODBUS: - sleep(0.1) +''' +Created on 15.11.2013 + +@author: Philipp Rauch +@version: 0.1 +''' +from threading import Thread +from Queue import Queue +from time import sleep +from Config.config import Config + +#import Module +import database +import modbus + +MYSQL = 0 +MODBUS = 1 + +### LOAD CONFIG ### +c = Config() +conf = c.readConf() + +''' +TODO: comment :) +''' + +class Switch(Thread): + + def __init__(self, source = MYSQL): + Thread.__init__(self) + self.source = source + + def initialisiere(self): + ''' + initialize the swich with the given source and creates a queue and a query + it calls the setup method from the source module + + @return: queue and query + ''' + if self.source == MYSQL: + self.cursor = database.setup(conf) + elif self.source == MODBUS: + self.cursor = modbus.setup(conf) + + ### init Query ### + self.query = Queue() + if conf['config_debug']: + print '\tSWITCH-QUERY:\t', self.query + + ### init Queue ### + self.queue = Queue() + if conf['config_debug']: + print '\tSWITCH-QUEUE:\t', self.queue + + return self.queue, self.query + + def run(self): + ''' + The loop method of the source module is called with a parameter from the query. + Its output is written to the queue. + ''' + while True: + # Queue implementaion + # Queue contains the tablename for query + # item = query.get() #block = True + # query should be included in the result + + item = self.query.get(block = True) + + if self.source == MYSQL: + result = database.loop(self.cursor, item) + elif self.source == MODBUS: + result = modbus.loop(self.cursor, item) + + #print 'PUT:\t%s' % result + + self.queue.put(result) + self.query.task_done() + if self.source == MYSQL: + sleep(float(conf['mySQL_speed'])) + elif self.source == MODBUS: + sleep(0.1) diff --git a/src/ems.py b/src/ems.py index 92c2162..c54d579 100644 --- a/src/ems.py +++ b/src/ems.py @@ -4,11 +4,10 @@ Created on 15.11.2013 @author: Philipp Rauch @version: 0.02 ''' -from threading import Thread -from switch import Switch, MYSQL -from config import Config -from time import sleep -#from API import Request +from threading import Thread +from Swich.switch import Switch, MYSQL +from Config.config import Config +#from API.service import Request ### LOAD CONFIG ### c = Config() diff --git a/src/run.py b/src/run.py index e0be685..3b25874 100644 --- a/src/run.py +++ b/src/run.py @@ -3,13 +3,13 @@ Created on 29.01.2014 @author: Philipp Rauch ''' -from config import Config -from API import API_start -from CANFilter import CAN_start +from Config.config import Config +from API.service import REST_start +from CAN.Filter import CAN_start ### LOAD CONFIG ### c = Config() conf = c.readConf() CAN_start(conf) -API_start() +REST_start() diff --git a/src/test.py b/src/test.py index 71db292..35b74b4 100644 --- a/src/test.py +++ b/src/test.py @@ -5,7 +5,7 @@ Created on 21.11.2013 ''' # import CANFilter # import Sym2Lib -from config import Config +from Config.config import Config ### LOAD CONFIG ### c = Config()