Ach könnte nicht Weihnachten sein

Verbesserungsvorschläge zum Revolution Pi? Immer her damit!
Post Reply
User avatar
Ingo
Posts: 266
Joined: 10 Nov 2016, 21:56
Answers: 1
Location: Luth.Wittenberg

Ach könnte nicht Weihnachten sein

Post by Ingo »

Hallo liebes Kunbus Team,

ich weiß Ihr habt viel um die Ohren, aber das was ich euch nun Fragen möchte wird euch vieleicht an eure Grenzen bringen.
Grund für das meinige Anliegen ist einfach zu erklären. Ich wünsche mir ganz Dringend ein Virtuelles Modul mit 32Bit als 8 Eingänge und vieleicht noch eins mit 64 Bit 4 Eingänge.

Der Hintergrund des ganzen ist: Ich habe, dadurch, das ich ja wie Ihr wisst mit einem OnWire Modul arbeite, dort aber auch alles nutzen möchte/können, würden sich solche Module anbieten.

Ich weiß Ihr würdet jetzt wieder sagen es gibt doch Pyhton, aber genau da liegt das Problem. Pyhton ist einfach zu langsam für das Auslesen. Desweiteren habe ich mittlerweile 2 Pyhton Programme am laufen und zusätlich noch den RTS-Loader wo ich das System zum Obergau geführt habe.
1. Pyhton - Auslesen des OnWire Busses
2. Phyton Webvisualisierung ausslesen der gesammten zustände.
3. RTS-Loader
Punkt 2. nicht Aktiv, da sonst Obergau.

Auch wäre es für mich besser da ich einen ZeitStamp mit laufen lassen könnte um zu loggen was die Maschiene getan hat oder welcher Zustand an Tag/Zeit YX gewesen ist. Das geht nun leider nur mit 32/64bit.
Da ich bekanntlich mit LogCad3 arbeite und dies sehr gut funktioniert wäre das mit diesen Modulen Optimal zu nutzen.
Vieleicht habt Ihr ja etwas in der schublade und bringt es demnächst raus. Genauso wie das Pi3 Modul.

So das wars ersteinmal.
User avatar
volker
Posts: 1046
Joined: 09 Nov 2016, 15:41
Answers: 1

Re: Ach könnte nicht Weihnachten sein

Post by volker »

Hallo Ingo,
wenn Du noch ein wneig besser beschreibst, was du mit "32 Bit 8 Eingänge" meinst, wäre die Chance auf ein vorgezogenes Weihnachtsfest beser. Meinst Du 8 Prozesswerte á 32 bit? Soll logi.cad3 diese Werte einlesen können oder beschreiben können? (Hintergrund ist der, dass "Eingänge" ein relativer Begriff ist, bei dem es immer auf den Standpunkt der Betrachtung ankommt). Und willst du tatsächlich 4 Prozessswerte á 64 bit? Das wäre dann der Typ LINT. LREAL oder LWORD in ST? Was misst denn Deine Analogdatenerfassung so extrem genau, dass 64 bit Variablen erforderlich sind?
Ich hab noch gar nicht ausprobiert, ob logi.cals die LINT / LREAL / LWORD überhaupt implementiert hat, weil das so selten benötigt wird. Ob PiCtory die Datentypen kann muss ich morgen auch mal klären.
Unser RevPi Motto: Don't just claim it - make it!
User avatar
Ingo
Posts: 266
Joined: 10 Nov 2016, 21:56
Answers: 1
Location: Luth.Wittenberg

Re: Ach könnte nicht Weihnachten sein

Post by Ingo »

klar volker ich versuche es

derzeit haben die Virtuellen Geräte ja nur 16Bit oder 32 BYTE pro eingang, wenn ihr es schaft diese auf 32bit zu erhöhen würden dann noch 8 eingänge bezw. 4 eingänge bei 64 bit bleiben. Oder liege ich da falsch?
User avatar
volker
Posts: 1046
Joined: 09 Nov 2016, 15:41
Answers: 1

Re: Ach könnte nicht Weihnachten sein

Post by volker »

Ich befürchte, da geht jetzt einiges durcheinander. Aktuell hat das virtuelle device 32 Eingangswerte á 8 bit (= 1 Byte) also 32 Byte sowie 32 Ausgangswerte á 1 Byte. Ich weiß deshalb nicht, wo du die Angaben mit "16bit" her hast. Wir haben bei dem virtuellen Geräte ja keine Bool Eingänge (= 1 Bit) sondern nur Byte Eingänge. darum muss ich wissen, ob was du denn eigentlich für Deine treiber benötigst:
Wieviele Prozesswerte und von welchem Datentyp die sein sollen (also Bool, Byte, Word/INT oder DWORD/DINT oder LWORD/LINT). Und ja, wenn Du tatsächlich 64bit Prozesswerte (= 8 Byte) hast, dann würden die aktuell tatsächlich vom virtuellen Gerät nur 4 Stück von abgedeckt werden. Aber Deine geräte werden sicher keine 64 bit Prozesswerte (also LINT oder LWORD Typen) sein, oder? Darum schreib doch einfahc mal auf, welche Typen und jeweils wieveil davon Du in Deinem virtuellen Gerät benötigst. denn Du willst sie dann sicher gerne auch genau so als Variablentypen in die ST Deklaration reinkopieren.
Außerdem noch einmal die Frage: Brauchst Du nur Werte, die von logi.cad gelesen werden sollen oder brauchst du auch Werte, die logi.cad beschreiben soll (=Ausgänge aus der sicht von logi.cad)?

EDIT: Ach so, ich glaube ich ahne wo das Missverständnis her kommt. Das Gerät kann als Variante im Varianten >Drop Down statt mit 32 Eingängen á 1 Byte auch als Gerät mit 16 Eingängen á 1 WORD (= 2 byte) angelegt werden. Das ändert aber nichts an der Gesamtlänge des Eingangsbereichs gemessen in Bytes.
Unser RevPi Motto: Don't just claim it - make it!
User avatar
RevPiModIO
KUNBUS
Posts: 322
Joined: 20 Jan 2017, 08:44
Answers: 0
Contact:

Re: Ach könnte nicht Weihnachten sein

Post by RevPiModIO »

Python ist alles andere als "langsam" Oo

Punkt Zwei funktioniert nicht, da sowohl der RTS-Loader und RevPiModIO "exklusiven" Zugriff auf das Prozessabbild haben wollen. Bzw. beide sicherstellen, dass die Outputs die im Programm einen bestimmten Status haben, den selben Status auf auf dem Prozessabbild haben wollen.

Wenn bei logiCAD ein Output gesetzt wird, will logiCAD, dass der Output auch im Prozessabbild gesetzt ist, wenn dann ein zweites Programm kommt und den Output auf einen anderen Status setzt, findet logiCAD das (richtigerweise) blöd, und stellt den, für logiCAD, richtigen Status wieder her, wenn das dass andere Programm das wieder merkt, setzt es den Status aber wieder so wie es in dem anderen Programm sein soll... Und so weiter... hin und her...

Den Punkt zwei arbeite ich momentan dran - und auslesen ist gar kein Problem. Das SCHREIBEN wird aber, wie oben beschrieben evtl. NICHT funktionieren... Wir werden sehen...

Gruß, Sven
python3-RevPiModIO - https://revpimodio.org/ || Der RevPi ist das Beste, was passieren konnte!
User avatar
Ingo
Posts: 266
Joined: 10 Nov 2016, 21:56
Answers: 1
Location: Luth.Wittenberg

Re: Ach könnte nicht Weihnachten sein

Post by Ingo »

#hallo Sven,

nix gegen Phyton, aber wie du weisst arbeite ich hier ja mit ONEWire und einem IButton. Und da sind die Zeiten bis ich die werte bekomme einfach zu lange
laut konfiguration sollen mir die ausgelesenen Daten alle 10s übergeben werden das hatten wir durch den schlüssel aber auf 1 sec runtersetzen müssen und genau an dieser stelle stellt pyhton dann den dienst ein und übergibt keine daten mehr da wo der zyklus länger brauch als ich die daten anforderer.
beim ersten test stellten ich fest das es bis zu 40 sec dauert bis der schlüssel gelesen wurde. in der Conf. von Esera und der wert alle 10 sec übergen wurde. nur wenn ich dies über das script mache dauert es eben bis zu 40 sec bei dem schlüssel. bei den Temparaturwerten schaut das wieder anders aus die haben schon die neuen werte 2x übergeben aber der schlüssel selber hängt noch immer am lesegerät bis sich was tut.

Ich muss aber sicherstellen können das ich die Werte der schlüssel jede sec einlesen kann was derzeit noch nicht geht.

und wegen der anderen geschichte mit den 2 scripten und den RTS. wenn ich das programm dazu bringe das es ein Retain geschrieben wird passiert das

Code: Select all

 TIDb62d8470: RTS: Resource: Stopping Application Tasks...
TIDb62d8470: RTS: Resource: Application Tasks stopped
TIDb62d8470: RTS: Resource: Waiting for Application Tasks...
TIDb62d8470: RTS: Resource: Application Tasks finished
TIDb62d8470: RTS: Resource: performing cold init
TIDb62d8470: RTSS_PERSISTENCE: Persistent data for retain variables collected
TIDb62d8470: IOSS: 54 inputs, 33 outputs initialized
TIDb62d8470: RTS: Resource: Starting Application Tasks...
TIDb62d8470: RTS: scaling thread priority 38229 to [0,65535]
TIDb62d8470: RTS: Resource: Application Tasks started
Segmentation fault
Daher bin ich nicht so der Freund mehrer unterschiedliche sachen am laufen zu haben die sich dann gegenseitig um den Vorrang streiten wer darf was. Aber Notgedrungen muss ich das machen da es noch keine Alternative dazu gibt.

Ist nicht Böse gemein oder anderes. Aber wenn du zichmal alles neu starten musst um wieder den Zustand zu bekommen der war und das rausfinden woran es nun gelegen hat das warum, ist es auf dauer schon nervlich und Frustriert.

gruß
Ingo
User avatar
volker
Posts: 1046
Joined: 09 Nov 2016, 15:41
Answers: 1

Re: Ach könnte nicht Weihnachten sein

Post by volker »

Hallo Ingo,
bitte nicht vergessen, ich hatte konkrete Fragen dazu gestellt, ohne deren Antworten wir wenig dazu sagen können.

wegen der Webvisualisierung:
Es gibt dazu eine Menge sehr eleganter Lösungen. IN ein paar Wochen zum Beispiel werden wir die Lösung auf dem shop anbieten, die wir schon auf der embedded world gezeigt haben: PROCON WEB IoT. Das ist eine sehr professionelle HMI Lösung, die auf dem Webserver des RevPi läuft. Wenn man möchte kann man sogar über Teamviewer den sicheren zugriff über das Internet ermöglichen.
Auch Spider Control werden wir zur Hannovermesse kommende Woche dann endlich stabil und schnell genug laufend demonstrieren und dann auch im Shop anbieten.

Sehen wir uns eigentlich an der Hannovermesse? ich bin die ganze Woche am Stand.
Unser RevPi Motto: Don't just claim it - make it!
User avatar
Ingo
Posts: 266
Joined: 10 Nov 2016, 21:56
Answers: 1
Location: Luth.Wittenberg

Re: Ach könnte nicht Weihnachten sein

Post by Ingo »

Hallo Volker.

Da ich ja gerne mit den IButton oder einem etwas sicherem System am One Wire arbeiten möchte ist das Problem eben das diese die werte nur im 32Bit ausgeben werden bedingt durch die Seriennummer der schlüssel.
Klar es gibt wege das man diese in 2x16 abfragen könnte aber was dann wiederum etwas schwer zu lösen währe für mich. Wenn ich aber die möglichkeit hätte das gleich in 32bit zu verarbeiten macht es die Sache erheblich einfacher. Daher auch die Frage ob es möglich ist mit 32 oder 64 bit. Kann ja auch sein das ich gleich auf eine bis zu 64bit verschlüsselung gehe möchte.
Es geht dabei nur um zugangsberechtigungen im Hausautomationsbereich. (Zutrittskontrolle)
Ich hoffe du verstehst jetzt was ich damit meine.

Wegen der Webvisu nochmal.
Klar gibt es Lösungen an Software für diese geschichte, aber es kommt immer darauf an wie es am ende ausschaut.
Nur soviel was wir vorhaben.
Wir wollen das ganze auch über eine Weboberfläche zugänglich machen und das auch von jeden Gerät, zur Oberfläche, hat halt was von LCARS47.
Für eine Demo ist es noch zu früh, wenn es soweit ist werd Ihr die ersten sein die So etwas dann zu sehen bekommen.
Aber so in Etwa Link:http://2.bp.blogspot.com/-OvG4bCfj-Eo/U ... ARS_UI.jpg

Wegen der Messe kann ich dir noch nicht genau sagen ob ich da erscheinen kann, es hängt immer damit zusammen wo ich gerade bin. Ab Morgen z.b bin ich schon wieder nach Dänemark unterwegs. Sowas ändert sich bei uns immer laufend, du weisst nie genau wo du in 2 oder 3 Wochen bist. Werde aber sehen wie es Passt.

gruß
upss. doch schon etwas Veraten*fg
User avatar
volker
Posts: 1046
Joined: 09 Nov 2016, 15:41
Answers: 1

Re: Ach könnte nicht Weihnachten sein

Post by volker »

Hi Ingo,
au ja, das sieht doch richtig fein aus, in dem Link. Aber genau so etwas kann man auch sehr gut mit PROCON machen und dann würde das 1:1 mit unseem Prozessabbild laufen (also keine Programmierung nötig). Man muss nur lernen mit dem Editor umzugehen. Der Vorteil ist, dass Du mit dem Tool extrem viel Möglichkeiten hast: Du kannst sogar übergänge von Farben oder Positionen animieren (also nicht nur an/aus oder rot/grün, sondern einen sanften Übergang mit voll konfigurierbarem zeitverlauf etc.).

zu Deinem Wunsch: Also verstehe ich das richtig: Du würdest gerne ein Device haben mit N x 32bit plus M x 64bit EINGÄNGEN (aus Sicht von logi.cad). Wie groß soll denn N und M sein? Und brauchst du denn wirklich keine Ausgänge? Willst Du nicht auch Aktoren über den Bus ansteuern? Wirklich nur Sensoren?
Unser RevPi Motto: Don't just claim it - make it!
User avatar
Ingo
Posts: 266
Joined: 10 Nov 2016, 21:56
Answers: 1
Location: Luth.Wittenberg

Re: Ach könnte nicht Weihnachten sein

Post by Ingo »

Hallo Volker,

nein Ausgänge brauche ich keine, sind nur Eingänge die gelesen werden. Also nur Sensorwerte auslesen . Schreibe keine Werte in den Bus.
Wenn ich so grob überschlage komme ich mit 6x32 und 2x64bit hin.

Wegen dem PROCON, das kenne ich noch nicht. Daher hatte ich mich damit noch nicht beschäfftigt. Da die Badezeit ja bald losgeht muss ich da schon etwas tun damit es auch fertig ist und Frauchen dann auch sieht was los ist
Wasserwerte Temparatur u.s.w*gg
Und Spider Control ist vom Tisch. Nichts gegen die Software aber Ansichtssache.

gruß
Post Reply