Giter Site home page Giter Site logo

venusos-modbustcp's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

oliossi

venusos-modbustcp's Issues

Range in ModbusOperation

Die Range der Rückgabe muss bei der ModbusOperation berücksichtigt werden.
Also das Ergebnis an die range anpassen:
Wenn range -32000 bis 32000 und der Wert 5000 ist, muss noch 32000 drauf addiert werden oder?

GUI für Backend

einfach GUI für Backend erstellen

  • jgoodies einbinden
  • einfache Oberfläche:
    -- Droppdown für Operation
    -- read/write
    -- JTextArea für Rückgabe

Special Unit Case for units

The value is correct, but after that the whole unit gets displayed i.e. "Absorption 0=Absorption;1=...."
Maybe show it in paratheses

Delete doesnt work when multible rows are the same

When there are Several rows with the same data, the delete doesnt function correctly.
Sometimes the "-" is missing and the last element cant be deleted.

Probably is because all row are the same and it cant be distinguished between them

DBusUnit als Java Objekt umsetzen

DBusUnit nicht mehr als Enum sondern als Java Objekt umsetzen.
Dann per Vererbung immer die toString Methode überschreiben.
Dann braucht man keine extra Behandlung für alle flag 0,1,2 etc Werte.

Weiter Modbus Operationen umsetzen

Modbus Operationen mit folgenden Registern sollen umgesetzt werden laut der Excel Liste:
D:\ownCloud\DE_WO_Wolfsbau Speicher\3_Technical_offer\Modbus PLC\CCGX-Modbus-TCP-register-list-2.12 OOs.xlsx

  • 3, 6, 9, 12, 21, 22, 23, 26, 27, 29, 30, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 56 -> #22
  • 259, 261, 262, 263, 264, 266, 318, 319, 774, 775, 776, 777, 784, 789, 790 #28
  • 800, 806, 807, 808, 809, 810, 811, 812, 813, 817, 818, 819, 820, 821, 822, 840, 841, 842, 843, 844, 850, 851, 855, 860, 866, 2600, 2601, 2602, 2603, 2604, 2605, 2606, 2607, 2608, 2609, 2616, 2617, 2618, 2619, 2620, 2621, 3304 -> #29

Loading a different Excel File doesnt work

java -jar ModbusTCP.jar CCGX-Modbus-TCP-register-list-3.00.xlsx Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Datei [CCGX-Modbus-TCP-register-list-3.00.xlsx] nicht gefunden!
grafik

String bei ModbusRead

Datentyp in der Excel zeigt an wieviele Register man auslesen muss:
string[7]

Dann einfach die Werte in Character umwandeln

Korrekte Umrechnung von Registerwert auf Messwert bei Operationen mit vorzeichenrelevanten Ergebnissen.

img_20180503_162708
Wie ist die korrekte Umrechnung von Registerwert auf Messwert.
Bei Operationen die kein Vorzeichen haben muss man nur den Wert mittels des Skalierungsfaktors anpassen.

Bei Operationen mit Vorzeichen (zB GRID_L1_POWER: Register 2600) wird es etwas komplizierter.
Der mM nach korrekte Lösungsweg ist:
Messwert = Registerwert - MAX_Modbus (=65535) oder Werte in der Range der Operation (also Min = -32768, Max = 32767 und das betragsweise addiert ist auch 65535) - 1.
Also zB bei GRID_L1_POWER Messwert = 44444 - 65535 - 1 = -21092

Wenn man es sich vereinfach auf zwei Zahlenstrahls vorstellt, ist es zu verstehen, siehe Anhang.

Fehlerbehandlung, wenn Gerät nicht zur Operation passt

com.ghgande.j2mod.modbus.ModbusSlaveException: Gateway Path Unavailable
at com.ghgande.j2mod.modbus.io.ModbusTCPTransaction.execute(ModbusTCPTransaction.java:154)
at com.ghgande.j2mod.modbus.facade.AbstractModbusMaster.readMultipleRegisters(AbstractModbusMaster.java:236)
at de.ossi.wolfsbau.modbus.ModbusTCPReader.readOperationFromDeviceInternal(ModbusTCPReader.java:23)
at de.ossi.wolfsbau.modbus.ModbusTCPReader.readInternal(ModbusTCPReader.java:17)
at de.ossi.wolfsbau.modbus.ModbusReaderConnectionHandler.readOperationFromDevice(ModbusReaderConnectionHandler.java:28)

Aktuell kommt eine Exception wenn das Gerät nicht zur Operation passt.

Classes should not access their own subclasses during initialization (java:S2390)

SQ Issue java:S2390 in class DBusUnit :

When a parent class references a member of a subclass during its own initialization, the results might not be what you expect because the child class might not have been initialized yet. This could create what is known as an "initialisation cycle", or even a deadlock in some extreme cases.

To make things worse, these issues are very hard to diagnose so it is highly recommended you avoid creating this kind of dependencies.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.