Modul LOGO für die Mikrosteuerung Siemens Logo 7/8

Begonnen von John, 18 Dezember 2014, 21:45:30

Vorheriges Thema - Nächstes Thema

moonsorrox

Zitat von: John am 19 Dezember 2014, 00:41:14
Bitte ein
cat /proc/cpuinfo

John

root@cubie:~# cat /proc/cpuinfo
Processor       : ARMv7 Processor rev 4 (v7l)
processor       : 0
BogoMIPS        : 957.05

processor       : 1
BogoMIPS        : 830.00

Features        : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xc07
CPU revision    : 4

Hardware        : sun7i
Revision        : 0000
Serial          : 0000000000000000
Chipid          : 16516601-80485172-49514848-08c0b550
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

goerdi


John

#17
Prima,
Raspi (Arm6 Befehlssatz) hab ich selber.

Wir brauchen noch jemanden der den Treiber auf dem Cubietruck (Arm7-Befehlssatz) erzeugt.

Dazu folgendes Vorgehen:
* Source-Code runterladen
* in das Verz. snap7-full-1.2.1/build/unix wechseln
hier
make -f arm_v7_linux.mk

Wenn alles gut geht wird der Treiber in "snap7-full-1.2.1/build/bin/arm_v7-linux"
zu finden sein.

John

CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

der-Lolo

Klingt gut, ich bin allerdings erst nach Weihnachten wieder im Netzwerk meiner Hardware...

John

Snap7 ist für folgende Arm-Boards getestet

Zitat
As you can see in the online documentation, Snap7 was succesfully built and tested with
- Raspberry PI (ARM V6)
- pcDuino (ARM V7)
  - BeagleBone Black (ARM V7)
  - CubieBoard 2 (ARM V7)
  - UDOO Quad (ARM V7)

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

moonsorrox

Zitat von: John am 19 Dezember 2014, 19:40:16
Wir brauchen noch jemanden der den Treiber auf dem Cubietruck (Arm7-Befehlssatz) erzeugt.

Dazu folgendes Vorgehen:
* Source-Code runterladen
* in das Verz. snap7-full-1.2.1/build/unix wechseln
hier
make -f arm_v7_linux.mk

Wenn alles gut geht wird der Treiber in "snap7-full-1.2.1/build/bin/arm_v7-linux"
zu finden sein.

mit einer genauen Anleitung würde ich das machen, wenn ich mein zweites System fertig habe.
Der Cubie kam heute erst, da ich mir mein Produktivsystem schon die Tage einige Male wegen der Logo abgeschossen habe, geht mir jetzt etwas die Muffe, da ich dann ein paar tage weg bin..
Ich hoffe das hat alles noch etwas Zeit.

Wie wird dieses Snap7 installiert..?
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

John

Es kann losgehen.
Die Installationsanleitung ist im ersten Beitrag zu finden.

Bin gespannt, ob die Plattform zu Arm7 funktioniert, die konnte ich nicht testen.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

goerdi

Hi John !

SO auf dem Pi hab icxh es mit 3en 0BA7 am laufen = Super geht INstallation hat hingehauen (ausser dem test, aber ich vermute mal das ich mit der TSAP Kombi 01.00 und 23.00 /  22.00 / 21.00 hier unterwegs bin)

zur Verbindung zur Logo folgendes.... evtl. kannst du auch den Status der CPU angeben so wie er ist sprich up and running / stopped / unreachable

zum modul LOGO_BINARY:
da waere es nicht schlecht eine moeglichkeit fuer einen trigger zu haben (wie bei charlie) ich hab bei mir diverse Eingaenge mehrfach belegt (weil ich das so vom PHC uebernommen hatte ( Betaetigung < 2 s und Betaetigung > 2 s)


ich werd heute mal das kompilieren auf dem ubuntu system durchhangeln

Gruss Gerd

John

#23
ZitatSO auf dem Pi hab icxh es mit 3en 0BA7 am laufen = Super geht INstallation hat hingehauen (ausser dem test, aber ich vermute mal das ich mit der TSAP Kombi 01.00 und 23.00 /  22.00 / 21.00 hier unterwegs bin)

Genau das Demo Program geht von TSAP 20.00 aus.

Zitatzur Verbindung zur Logo folgendes.... evtl. kannst du auch den Status der CPU angeben so wie er ist sprich up and running / stopped / unreachable
SZL gibt es bei der Logo nicht. Daher kann man den Zustand, so wie bei den S7-Steuerungen nicht auslesen.

Was verstehst du unter unreachable ? Reicht da nicht der Status mit Conneced/Disconnected?

Wenn du einen Merker fest auf 1 setzt, ist dieser im Stop-Zustand auf 0. Das wäre eine einfache Möglichkeit den Start/Stop Zustand
zu erkennen.

Zitatda waere es nicht schlecht eine moeglichkeit fuer einen trigger zu haben
verstehe ich nicht, jede Änderung eines Datenpunktes erzeugt ein Notify bzw. einen Event in FHEM. Was meinst du mit Trigger ?
Kannst du das nochmals verdeutlichen ?

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

goerdi

#24
Hi !

zum Thema Status.... ich mein gelesen zu haben das man mit Nodave den Status (stpped / running) auch bei den Logo
#s auslesen konnte.
Ich habs grad mal probiert... stoppe ich die logo sagt das modul noch huebsch "connected" was mir aber ja nix bringt weil sie eben nicht laeuft :(

zum Trigger ==> schau dir das S7 modul an... ich denke mal dort wird fuer einen FHEM Zyklus das gewaehlte Bit auf "1" gesetzt

Sorry das ich auf deine eventtypes und notifyes nicht eingehe... soweit bin ich noch nicht... => ich hab grad mit fhem angefangen

Gruss Gerd

John

ZitatIch habs grad mal probiert... stoppe ich die logo sagt das modul noch huebsch "connected" was mir aber ja nix bringt weil sie eben nicht laeuft

Ich habs auch grad probiert, meine Vorschlag mit dem 1-Merker funktioniert.

Zitat
da waere es nicht schlecht eine moeglichkeit fuer einen trigger zu haben (wie bei charlie) ich hab bei mir diverse Eingaenge mehrfach belegt (weil ich das so vom PHC uebernommen hatte ( Betaetigung < 2 s und Betaetigung > 2 s)

Das ist doch eine klassische Aufgabe für die Logo selbst und nicht für FHEM.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

goerdi

Zitat von: John am 22 Dezember 2014, 13:04:48
Ich habs auch grad probiert, meine Vorschlag mit dem 1-Merker funktioniert.

Das ist doch eine klassische Aufgabe für die Logo selbst und nicht für FHEM.

John
ja eben die Logo erkennt das ja.... nur wenn ich in der aktuellen Konfiguration mal einschalten will krieg ich das meist nicht hin weil ich fuer das Ganze klicken laenger als 2 Sekunden brauch :D

Gruss Gerd

John

Hallo Gerd,

deine 3 Stück Logo 7 laufen also bereits parallel.

Kannst du zu deinen Logos bitte ein
Zitatlist <LogoName>
sowie ein
Zitatget <logName> association

hier reinstellen.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

goerdi

Logo im Keller
Internals:
   CFGFN      cfg/10_logokg.cfg
   DEF        192.168.63.101 01.00 23.00
   IPAddress  192.168.63.101
   NAME       logokg
   NR         25
   PLCType    7
   STATE      connected
   TYPE       LOGO
   localTSAP  256
   remoteTSAP 8960
   Readings:
     2014-12-22 18:02:19   state           connected
   Helper:
     firstInitReq
     reconnectReq
     refreshReq
     registerReq
     writeQueue:
Attributes:
   LogoInterval 1
   LogoPLCType 7
   room       Heizrau


associated data points:
BEL_KLINGEL
LICHT_AUSSEN_TUERE
LICHT_BUERO
LICHT_HEIZRAUM
LICHT_VORRAUM
LICHT_WASCHRAUM
MELD_LICHTAN
SW_LICHT_AUS
SW_LICHT_BAD_2
SW_LICHT_BUERO
SW_LICHT_HAUSTUER
SW_LICHT_HEIZRAUM
SW_LICHT_VORRAUM
SW_LICHT_WASCHRAUM
SW_TUEROEFFNER
TUEROEFFNER
ZIRKULATIONSPUMPE



Logo im Erdgeschoss

Internals:
   CFGFN      cfg/10_logoeg.cfg
   DEF        192.168.63.102 01.00 21.00
   IPAddress  192.168.63.102
   NAME       logoeg
   NR         45
   PLCType    7
   STATE      connected
   TYPE       LOGO
   localTSAP  256
   remoteTSAP 8448
   Readings:
     2014-12-22 18:03:42   state           connected
   Helper:
     firstInitReq
     reconnectReq
     refreshReq
     registerReq
     writeQueue:
Attributes:
   LogoInterval 1
   LogoPLCType 7
   room       Buegelzimmer


associated data points:
LICHT_BUEGELZIMMER
LICHT_ESSEN
LICHT_KUECHE_UEBER
LICHT_KUECHE_UNTER
LICHT_SCHLAFZIMMER
LICHT_TERRASSE
LICHT_WC
STECKDOSE_AUSSEN
SW_LICHT_BUEGELZIMMER
SW_LICHT_ESSEN
SW_LICHT_KUECHE_UEBER
SW_LICHT_KUECHE_UNTER
SW_LICHT_SCHLAFZIMMER
SW_LICHT_TERRASSE
SW_LICHT_WC
SW_STECKDOSE_TERRASSE


Logo im Dachgeschoss

nternals:
   CFGFN      cfg/10_logodg.cfg
   DEF        192.168.63.103 01.00 21.00
   IPAddress  192.168.63.103
   NAME       logodg
   NR         67
   PLCType    7
   STATE      connected
   TYPE       LOGO
   localTSAP  256
   remoteTSAP 8448
   Readings:
     2014-12-22 18:04:38   state           connected
   Helper:
     firstInitReq
     reconnectReq
     refreshReq
     registerReq
     writeQueue:
Attributes:
   LogoInterval 1
   LogoPLCType 7
   room       Flur_DG


LICHT_BAD_1
LICHT_BAD_2
LICHT_DACHBODEN
LICHT_KIND_1
LICHT_KIND_2
LICHT_KIND_3
NETZ_KIND_1_EIN
NETZ_KIND_2_EIN
NETZ_KIND_3_EIN
SW_LICHT_BAD_1
SW_LICHT_DACHBODEN
SW_LICHT_KIND_1
SW_LICHT_KIND_2
SW_LICHT_KIND_3



Die Garage ist noch nicht drin....

Ab und an steht das im Log
2014.12.22 17:09:57 1: PERL WARNING: Use of uninitialized value $sdata in split at FHEM/lib/Device/LOGO/PLC.pm line 152.


Gruss Gerd


thmarx

Hallo John,

habe Dein Modul mal probiert. Installation auf Cubietruck (ARM7) nach Deiner Anleitung ohne Probleme. Zugriff auf die Vx.y Bereiche geht soweit. Allerdings nicht komplett: Auf den Bereich 923-983 meiner Logo7 kann ich damit nur zugreifen, wenn ich eine Logo8 eingestellt habe. Sicherlich ein Problem der Bereichsabfrage, ich habe die Stelle in Deinem Code aber auf die Schnelle nicht gefunden.
Mir bekannte Bereiche, auf die Zugriff möglich sein sollte:


# nur? 0BA8
# ============================================
# 984 Diagnosebit-Array                 1 Byte
# 985 "Jahr" der Echtzeituhr (RTC)      1 Byte
# 986 "Monat" der Echtzeituhr (RTC)     1 Byte
# 987 "Tag" der Echtzeituhr (RTC)       1 Byte
# 988 "Stunde" der Echtzeituhr (RTC)    1 Byte
# 989 "Minute" der Echtzeituhr (RTC)    1 Byte
# 990 "Sekunde" der Echtzeituhr (RTC)   1 Byte

# Logo! E/A-Bereich 0BA7
# ======================
# 61 Byte:
# --------
# 923-925 Input        (24 Bit)
# 926-941 AnalogInput  (8x2 Byte)
# 942-943 Output       (16 Bit)
# 944-947 AnalogOutput (2x2 Byte)
# 948-951 Merker       (27 Bit)
# 952-983 AnalogMerker (8x2 Byte)

# Logo! E/A-Bereich 0BA8
# ======================
# 446 Byte:
# ---------
# 1024-1031 Input        (64 Bit)
# 1032-1063 AnalogInput  (16x2 Byte)
# 1064-1971 Output       (64 Bit)
# 1072-1103 AnalogOutput (16x2 Byte)
# 1104-1117 Merker       (14*8 Bit)
# 1118-1245 AnalogMerker (64x2 Byte)
# NI  1246-1261  16 Bytes
# NAI 1262-1389 128 Bytes
# NQ  1390-1405  16 Bytes
# NAQ 1406-1469  64 Bytes



ZitatSZL gibt es bei der Logo nicht
Könnte man mit Zugriff über Port 10001 "nachbilden", zumindest wenn man nicht gleichzeitig mit LogoSoftComfort in der Logo drin ist.

Ich habe ein wenig bei snap7 gelesen und noch eine grundsätzliche Frage/Anmerkung/Wunsch:
Ich finde das mit dem polling ziemlich unschön - entweder man ist sparsam, kriegt Änderungen dann aber erst spät mit oder man pollt häufig, bremst aber FHEM an sich dann ganz schön aus. Snap7 kann ja nun auch einen Server darstellen. Wäre es nicht möglich dieses feature zu nutzen um sich von der Logo über Änderungen informieren zu lassen?

Gruss
Thomas