hallo,
ein Oberstufler an unserer schule kann alle Lichtschalter, das Lautsprechersystem, elektrische Rollläden, usw. vom laptop aus kontrollieren
wisst ihr da was drüber, gibts da ein bestimmtes Programm oder so?
uLki
hallo,
ein Oberstufler an unserer schule kann alle Lichtschalter, das Lautsprechersystem, elektrische Rollläden, usw. vom laptop aus kontrollieren
wisst ihr da was drüber, gibts da ein bestimmtes Programm oder so?
uLki
Hi,
dafür muss die Elektronik im Haus dementsprechend ausgelegt sein.
Einfach so geht das natürlich nicht.
So long,
Mega
ja schon klar aber es muss doch ein Programm oder so geben mit dem man das steuern kann
vll gibts das ja bei jemand anderem in der Schule/Arbeit der da was drüber weiß
Da gibt es einige Programme, alle mehr oder weniger bekannt.
Offizell gibt es den sogenannten EIB-BUSSYTEM mit dem EIB fähige Geräte an eine 2 drätige Steuerleitung angeschlossen werden.
Das ist nur alles recht teuer, Grafische Schnittellen gibt es dafür auch genug, z.B. für den WEB Browser.
Bei Conrad Elektronik gibt es ein System für die Hausautomatisierung.
Man kann das ganze auch mit einer SPS realisieren, aber auch hier ist eine Grafische Oberfläche nur mit großem Aufwand zu integrieren.
Nachgedacht habe ich auch schon mal darüber mit Autoit eine Haussteuerung zu realisieren. Zumindest wäre man ja völlig frei was die Programierung angeht, das macht das ganze reizfoll.
Das wichtigste wäre ein Interface zu haben mit möglichst vielen ein und Ausgängen.
Kennt da jemand etwas braucbares ?
Z.B soll ein Lichtschalter ja auch weiterhin das Licht einschalten können, zusätzlich sollte das über eine Oberfläche machbar sein, wobei eine Web-Oberfläche natürlich von überall einsetzbar wäre.
Also auf Ideen kommen die Leute!!!
LOL sicher is das zukunftsorientiert, aber ich persönlich möchte mein Haus nicht von meinem PC abhängig machen, ausserdem denke ich , das das ein rießiger Aufwand ist, wenn man das im Nachinein verlegt, vlt wenn man sein Haus baut, aber auch dann würde ich es defintiv nicht machen!!!
Zum Programm was man dafür bräuchte, das ist bestimmt realisierbar, aber ich denk mal das ist kompliziert musst ja die schnittstellen ansprechen!!
Also es is für mich schlicht sinnlos so etwas zu realisieren, theoretisch es in einem Modell zu planen hat bestimmt einen enormen Lerneffekt aber in einem Haus ist es für mich Blödsinn, stell dir mal vor jmd hackt deinen Rechner, na dann viel spass....
Das wars
Carsten
Dann musste am besten dein Virenprogramm in deine
Steuerung integrieren.
Wenn du dann mal weg bist (auf Klo / inner Dusche )
und sich dein PC n Virus einfängt,
schickt dir deine Steuerung ne Nachricht
per "Lampen - Morse - Code" xD
Naja, ne klasse Idee, aber ich denke sehr schwierig,
mit dem verlegen der Kabel....
aber bestimmt machbar, wenn ich dann ma n eigenes
Haus baue werd ich das mit einbeziehen
Stellt euch ma vor, ihr sitzt aufm Klo und auf einma
Morst euch das Virenprog:
"Tut mir Leid, deine Festplatte wird gerade
formatiert und ich kann nichts dage ..... " klack,
alle Lichter aus ...
Geiles Feeling, oder? xD :teufel:
Das Haus der Gegenward, sponsered by Bill Gates.
Hallo,
habe folgenden Vorschlag:
bei e-Bay gibt es eine Relais-Karte die man über LPT an PC anschließen kann, über Autoit (DLL befehle) ist es sehr einfach diese Karte zu steuern.
Eine einfache art Inputs zu erstellen ist: man nimmt eine billig-Tastatur auseinander, verbindet per Zufall zwei Kontakte und es kommt zu einer Eingabe. diese Eingabe dann im AutoIt Script also Hotkey und schon hat man für unter 30 Euro In/Outputs.
Habe es schon selbst ausprobiert. Funktioniert!
Diese Lösung ist zwar etwas nooblike, aber wenn man nicht viel Geld zum ausgeben hat, ist das eine einfache Lösung!
Freu mich auf eure Kommentare
Gruß Julzk
hi hi !!
also hab auch schon von anfang an immer versucht autoIT mit der WELT zu verbinden ..
angefangen von GP über LPT bis RS232 ..
jetz bin ich bei USB hängengeblieben ..
gibt von der firma vellemann ein USB EXPERIMENT INTERFACE BOARD
kann man komplett über dll call ansprechen ..
kostet im conrad.de versand nur 25€ als bausatz ..
hat 5 DI und 8 DO ... 2 AI und 2 AO
..
hab auch mal n udf im netz gefunden .. weis aber nicht mehr woher. war aber bei einem befehl mit fehlern behaftet ..
hier meine überarbeitete version
;;Private Declare Function OpenDevice Lib "k8055d.dll" (ByVal CardAddress As Integer) As Integer
Func USBOpenDevice($CardAddress)
$result = DLLCall("k8055d.dll", "int", "OpenDevice", "int", $CardAddress)
Return $result[0]
EndFunc
;;Private Declare Sub CloseDevice Lib "k8055d.dll" ()
Func USBCloseDevice()
$result = DLLCall("k8055d.dll", "none", "CloseDevice")
Return ;;$result[0]
EndFunc
;;Private Declare Function ReadAnalogChannel Lib "k8055d.dll" (ByVal Channel As Integer) As Integer
Func USBReadAnalogChannel($Channel)
$result = DLLCall("k8055d.dll", "int", "ReadAnalogChannel", "int", $Channel)
Return $result[0]
EndFunc
;;Private Declare Sub ReadAllAnalog Lib "k8055d.dll" (ByRef Data1 As Integer, ByRef Data2 As Integer)
;;; Cannot convert to DLLCall syntax. If i remember correctly, you cannot pass things by reference.
;;Private Declare Sub OutputAnalogChannel Lib "k8055d.dll" (ByVal Channel As Integer, ByVal Data As Integer)
Func USBOutputAnalogChannel($Channel, $Data)
$result = DLLCall("k8055d.dll", "none", "OutputAnalogChannel", "int", $Channel, "int", $Data)
EndFunc
;;Private Declare Sub OutputAllAnalog Lib "k8055d.dll" (ByVal Data1 As Integer, ByVal Data2 As Integer)
Func USBOutputAllAnalog($Data1, $Data2)
$result = DLLCall("k8055d.dll", "none", "OutputAllAnalog", "int", $Data1, "int", $Data2)
EndFunc
;;Private Declare Sub ClearAnalogChannel Lib "k8055d.dll" (ByVal Channel As Integer)
Func USBClearAnalogChannel()
$result = DLLCall("k8055d.dll", "none", "ClearAnalogChannel")
EndFunc
;;Private Declare Sub SetAllAnalog Lib "k8055d.dll" ()
Func USBSetAllAnalog()
$result = DLLCall("k8055d.dll", "none", "SetAllAnalog")
EndFunc
;;Private Declare Sub ClearAllAnalog Lib "k8055d.dll" ()
Func USBClearAllAnalog()
$result = DLLCall("k8055d.dll", "none", "ClearAllAnalog")
EndFunc
;;Private Declare Sub SetAnalogChannel Lib "k8055d.dll" (ByVal Channel As Integer)
Func USBSetAnalogChannel($Chanel)
$result = DLLCall("k8055d.dll", "none", "SetAnalogChannel", "int", $Channel)
EndFunc
;;Private Declare Sub WriteAllDigital Lib "k8055d.dll" (ByVal Data As Integer)
Func USBWriteAllDigita($Data)
$result = DLLCall("k8055d.dll", "none", "WriteAllDigital", "int", $Data)
EndFunc
;;Private Declare Sub ClearDigitalChannel Lib "k8055d.dll" (ByVal Channel As Integer)
Func USBClearDigitalChannel($Channel)
$result = DLLCall("k8055d.dll", "none", "ClearDigitalChannel", "int", $Channel)
EndFunc
;;Private Declare Sub ClearAllDigital Lib "k8055d.dll" ()
Func USBClearAllDigital()
$result = DLLCall("k8055d.dll", "none", "ClearAllDigital")
EndFunc
;;Private Declare Sub SetDigitalChannel Lib "k8055d.dll" (ByVal Channel As Integer)
Func USBSetDigitalChannel($Channel)
$result = DLLCall("k8055d.dll", "none", "SetDigitalChannel", "int", $Channel)
EndFunc
;;Private Declare Sub SetAllDigital Lib "k8055d.dll" ()
Func USBSetAllDigital()
$result = DLLCall("k8055d.dll", "none", "SetAllDigital")
EndFunc
;;Private Declare Function ReadDigitalChannel Lib "k8055d.dll" (ByVal Channel As Integer) As Boolean
;Func USBReadDigitalChannel($Channel)
;$result = DLLCall("k8055d.dll", "bool", "ReadDigitalChannel", "int", $Channel)
;Return $result[0]
;EndFunc
func USBReadDigitalChannel($sellect)
dim $channel[6]
$channel[1] = 0
$channel[2] = 0
$channel[3] = 0
$channel[4] = 0
$channel[5] = 0
$alldigit = DLLCall("K8055D.DLL", "int", "ReadAllDigital")
$wert = $alldigit[0]
;MsgBox(0,"",$alldigit[0] & " " & $wert)
Select
Case $wert = 0
$channel[1] = 0
$channel[2] = 0
$channel[3] = 0
$channel[4] = 0
$channel[5] = 0
Case $wert = 1
;I1
$channel[1] = 1
Case $wert = 2
;I2
$channel[2] = 1
Case $wert = 3
;I1 + I2
$channel[1] = 1
$channel[2] = 1
Case $wert = 4
;I3
$channel[3] = 1
Case $wert = 5
;I3 + I1
$channel[1] = 1
$channel[3] = 1
Case $wert = 6
;I3 + I2
$channel[2] = 1
$channel[3] = 1
Case $wert = 7
;I3 + I2 + I1
$channel[1] = 1
$channel[2] = 1
$channel[3] = 1
Case $wert = 8
;I4
$channel[4] = 1
Case $wert = 9
;I4 + I1
$channel[1] = 1
$channel[4] = 1
Case $wert = 10
;I4 + I2
$channel[2] = 1
$channel[4] = 1
Case $wert = 11
;I4 + I2 + I1
$channel[1] = 1
$channel[2] = 1
$channel[4] = 1
Case $wert = 12
;I4 + I3
$channel[3] = 1
$channel[4] = 1
Case $wert = 13
;I4 + I3 + I1
$channel[1] = 1
$channel[3] = 1
$channel[4] = 1
Case $wert = 14
;I4 + I3 + I2
$channel[2] = 1
$channel[3] = 1
$channel[4] = 1
Case $wert = 15
;I4 + I3 * I2 + I1
$channel[1] = 1
$channel[2] = 1
$channel[3] = 1
$channel[4] = 1
Case $wert = 16
;I5
$channel[5] = 1
Case $wert = 17
;I1
$channel[1] = 1
$channel[5] = 1
Case $wert = 18
;I2
$channel[2] = 1
$channel[5] = 1
Case $wert = 19
;I1 + I2
$channel[1] = 1
$channel[2] = 1
$channel[5] = 1
Case $wert = 20
;I3
$channel[3] = 1
$channel[5] = 1
Case $wert = 21
;I3 + I1
$channel[1] = 1
$channel[3] = 1
$channel[5] = 1
Case $wert = 22
;I3 + I2
$channel[2] = 1
$channel[3] = 1
$channel[5] = 1
Case $wert = 23
;I3 + I2 + I1
$channel[1] = 1
$channel[2] = 1
$channel[3] = 1
$channel[5] = 1
Case $wert = 24
;I4
$channel[4] = 1
$channel[5] = 1
Case $wert = 25
;I4 + I1
$channel[1] = 1
$channel[4] = 1
$channel[5] = 1
Case $wert = 26
;I4 + I2
$channel[2] = 1
$channel[4] = 1
$channel[5] = 1
Case $wert = 27
;I4 + I2 + I1
$channel[1] = 1
$channel[2] = 1
$channel[4] = 1
$channel[5] = 1
Case $wert = 28
;I4 + I3
$channel[3] = 1
$channel[4] = 1
$channel[5] = 1
Case $wert = 29
;I4 + I3 + I1
$channel[1] = 1
$channel[3] = 1
$channel[4] = 1
$channel[5] = 1
Case $wert = 30
;I4 + I3 + I2
$channel[2] = 1
$channel[3] = 1
$channel[4] = 1
$channel[5] = 1
Case $wert = 31
;I4 + I3 * I2 + I1
$channel[1] = 1
$channel[2] = 1
$channel[3] = 1
$channel[4] = 1
$channel[5] = 1
Case Else
$channel[1] = 0
$channel[2] = 0
$channel[3] = 0
$channel[4] = 0
$channel[5] = 0
EndSelect
If $Channel[$sellect] = 1 Then
; MsgBox(0,"","return 1")
Return 1
Else
; MsgBox(0,"","return 0")
Return 0
EndIf
EndFunc
;;Private Declare Function ReadAllDigital Lib "k8055d.dll" () As Integer
Func USBReadAllDigital()
$result = DLLCall("k8055d.dll", "int", "ReadAllDigital")
Return $result[0]
EndFunc
;;Private Declare Function ReadCounter Lib "k8055d.dll" (ByVal CounterNr As Integer) As Integer
Func USBReadCounter()
$result = DLLCall("k8055d.dll", "int", "ReadCounter")
Return $result[0]
EndFunc
;;Private Declare Sub ResetCounter Lib "k8055d.dll" (ByVal CounterNr As Integer)
Func USBResetCounter($count)
$result = DLLCall("k8055d.dll", "none", "ResetCounter", "int", $count)
EndFunc
;;Private Declare Sub SetCounterDebounceTime Lib "k8055d.dll" (ByVal CounterNr As Integer, ByVal DebounceTime As Integer)
Func USBSetCounterDebounceTime($count, $detime)
$result = DLLCall("k8055d.dll", "none", "SetCounterDebounceTime", "int", $count,"int", $detime)
EndFunc
hier der link auf die herstellerhomepage http://www.velleman.be/ot/en/product/view/?id=351346
und die artikelnummer für conrad.de : Artikel-Nr.: 191003 - RT
funktioniert echt klasse ..
bis zu 4 dieser board's kann man gleichzeitig betreiben ..
die dll gibt's beim hersteller .. oder im lieferumfang, wenn man's im conrad kauft ...
beispielcode
DllOpen ( "k8055d.dll" )
#include <k8055.au3>
$o = USBOpenDevice (0 )
USBSetDigitalChannel (1)
USBSetDigitalChannel (2)
USBSetDigitalChannel (3)
USBSetDigitalChannel (4)
USBSetDigitalChannel (5)
$var = InputBox("clearchannel","welcher port?")
USBClearDigitalChannel($var)
sleep(1000)
exit
viel spaß !!
bye
Meine Control-Gui: [Blockierte Grafik: http://img-up.net/img/zimmerconthrd8o.JPG]
Ich habe das zusammen mit einem Freund gebaut. Über ein, wie schon oben genanntes, Usb-Interface-Board und Relais. Wobei ich selbst mich mehr mit dem Programmierteil befasst habe und den Rest meinen Freund machen lassen hab
Alles anzeigenhi hi !!
also hab auch schon von anfang an immer versucht autoIT mit der WELT zu verbinden ..
angefangen von GP über LPT bis RS232 ..
jetz bin ich bei USB hängengeblieben ..
gibt von der firma vellemann ein USB EXPERIMENT INTERFACE BOARD
kann man komplett über dll call ansprechen ..
Hi, ist zwar schon ne weile her, aber ich habe da mal ne Frage.
Bist Du damit immer noch Zugange und zufrieden ?
HI "wolkenloser"
zu deiner Frage:
also die USB-Board'S sind klasse ..
gibt nur ein Problem, musste mir, da ich 2 Board's gleichzeitig ansprechen will ( brauch mehr ein aus ausgänge)
n kleines work arround basteln, ....
wenn du dich mal näher befasst, verstehst du sicher das problem... man kann mit der einen DLL NUR ein board ansprechen.
( obwohl man's ja jumpern kann ) "adresse 0-3"
... so wenn man jetzt aber gleichzeitig .. auf die dll zugreifen will.... um z.b. 2 Ausgänge verschiedener board's gleichzeitig anzusprechen.... TERROR !!
na egal .. schicksal ...
also als singel Lösung .. absolut GEIL !!
.. mit meinem workarround klappt's auch schon recht gut mit 2 .. aber irgend wie .. macht windows da glaub ich nicht mit...
kenn mich leider zu wenig mit dll's aus.. als dass ich mir da selber was basteln könnte..
bräuchte da profesionellere hilfe..
wenn du fragen hast , kannst mich auch gerne direkt anschreiben ..
BYE
Zitat.. mit meinem workarround klappt's auch schon recht gut mit 2 .. aber irgend wie .. macht windows da glaub ich nicht mit...
Na hast du ein Workaround oder nicht? Würde mich interessieren.
also meine kleine *.au3 für folgende dll..
http://www.vellemanusa.com/downloads/file…ll_rev3_0_2.zip
direkte downloadseite des Herstellers. ( velleman ... dll V 3.02 )
und hier meine include ..
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.0.0
Author: vivus
Script Function:
handles the k8055d.dll 2009.10.19
NOTE RENAME the k8055d.dll in k8055D_multi.dll
#ce ----------------------------------------------------------------------------
Func USB_DLLOpen()
DllOpen(@ScriptDir & "\" & "k8055D_multi.dll") ; öffnen der DLL
EndFunc ;==>USB_DLLOpen
;----------------------------------------------------------------------------
Func USB_DLLClose()
DllClose(@ScriptDir & "\" & "k8055D_multi.dll") ; öffnen der DLL
EndFunc ;==>USB_DLLClose
;----------------------------------------------------------------------------
Func initial_board($address)
Local $begin, $result, $dif
$begin = TimerInit()
Do
$result = USBOpenDevice($address)
Sleep(250)
$dif = TimerDiff($begin)
If $dif > "4000" Then ExitLoop
Until $result = 1
ClearAllDigital($address)
Sleep(250)
SetDigitalChannel($address, "8")
If $result = 1 Then
Return "1"
Else
MsgBox(0, "ERROR", "fehler bei initialisierung des USB board's " & $address)
MsgBox(0, "ERROR", "Programm wird beendet! mit " & $result)
Exit
Return "0"
EndIf
EndFunc ;==>initial_board
;----------------------------------------------------------------------------
Func USBOpenDevice($address)
Local $result
$result = DllCall("k8055D_multi.dll", "long", "OpenDevice", "long", $address)
If $result[0] = $address Then
Return "1"
Else
;exit
Return "0"
EndIf
EndFunc ;==>USBOpenDevice
;---------------------------------------------------------------------------
Func CloseAllDevice()
Local $result
$result = DllCall("k8055D_multi.dll", "none", "CloseDevice")
USB_DLLClose()
EndFunc ;==>CloseAllDevice
;---------------------------------------------------------------------------
Func SearchDevices()
Local $result
$result = DllCall("k8055D_multi.dll", "long", "SearchDevices")
Return $result[0]
EndFunc ;==>SearchDevices
;---------------------------------------------------------------------------
Func USBCloseDevice($address)
Local $result
SetCurrentDevice($address)
$result = DllCall("k8055D_multi.dll", "none", "CloseDevice")
;Return ;;$result[0]
EndFunc ;==>USBCloseDevice
;---------------------------------------------------------------------------
Func ClearAllDigital($address)
Local $result
SetCurrentDevice($address)
$result = DllCall("k8055D_multi.dll", "int", "ClearAllDigital")
EndFunc ;==>ClearAllDigital
;----------------------------------------------------------------------------
Func SetCurrentDevice($address)
Local $result, $begin, $dif
$begin = TimerInit()
Do
$result = DllCall("k8055D_multi.dll", "long", "SetCurrentDevice", "int", $address)
;ToolTip($address&"="&$result[0],0,0)
$dif = TimerDiff($begin)
If $dif > "4000" Then ExitLoop
Until $address = $result[0]
;ToolTip("",0,0)
If $address = $result[0] Then
;nix
Else
MsgBox(0, "", "adresse = " & $address & " result = " & $result[0])
EndIf
EndFunc ;==>SetCurrentDevice
;----------------------------------------------------------------------------
Func SetDigitalChannel($address, $channel)
SetCurrentDevice($address)
DllCall("k8055D_multi.dll", "none", "SetDigitalChannel", "int", $channel)
EndFunc ;==>SetDigitalChannel
;---------------------------------------------------------------------------
Func ClearDigitalChannel($address, $channel)
SetCurrentDevice($address)
DllCall("k8055D_multi.dll", "none", "ClearDigitalChannel", "int", $channel)
EndFunc ;==>ClearDigitalChannel
;---------------------------------------------------------------------------
Func ReadAnalogChannel($address, $channel)
Local $result
SetCurrentDevice($address)
$result = DllCall("k8055D_multi.dll", "int", "ReadAnalogChannel", "int", $channel)
Return $result[0]
EndFunc ;==>ReadAnalogChannel
;---------------------------------------------------------------------------
Func ReadAllDigital($address)
Local $result, $alldigit
SetCurrentDevice($address)
$alldigit = DllCall("k8055D_multi.dll", "int", "ReadAllDigital")
Return $alldigit[0]
EndFunc ;==>ReadAllDigital
;---------------------------------------------------------------------------
Func ReadDigitalChannel($address, $sellect)
Local $wert
Local $channel[6]
$channel[1] = 0
$channel[2] = 0
$channel[3] = 0
$channel[4] = 0
$channel[5] = 0
$wert = ReadAllDigital($address)
;MsgBox(0,"",$alldigit[0] & " " & $wert)
Select
Case $wert = 0
$channel[1] = 0
$channel[2] = 0
$channel[3] = 0
$channel[4] = 0
$channel[5] = 0
Case $wert = 1
;I1
$channel[1] = 1
Case $wert = 2
;I2
$channel[2] = 1
Case $wert = 3
;I1 + I2
$channel[1] = 1
$channel[2] = 1
Case $wert = 4
;I3
$channel[3] = 1
Case $wert = 5
;I3 + I1
$channel[1] = 1
$channel[3] = 1
Case $wert = 6
;I3 + I2
$channel[2] = 1
$channel[3] = 1
Case $wert = 7
;I3 + I2 + I1
$channel[1] = 1
$channel[2] = 1
$channel[3] = 1
Case $wert = 8
;I4
$channel[4] = 1
Case $wert = 9
;I4 + I1
$channel[1] = 1
$channel[4] = 1
Case $wert = 10
;I4 + I2
$channel[2] = 1
$channel[4] = 1
Case $wert = 11
;I4 + I2 + I1
$channel[1] = 1
$channel[2] = 1
$channel[4] = 1
Case $wert = 12
;I4 + I3
$channel[3] = 1
$channel[4] = 1
Case $wert = 13
;I4 + I3 + I1
$channel[1] = 1
$channel[3] = 1
$channel[4] = 1
Case $wert = 14
;I4 + I3 + I2
$channel[2] = 1
$channel[3] = 1
$channel[4] = 1
Case $wert = 15
;I4 + I3 * I2 + I1
$channel[1] = 1
$channel[2] = 1
$channel[3] = 1
$channel[4] = 1
Case $wert = 16
;I5
$channel[5] = 1
Case $wert = 17
;I1
$channel[1] = 1
$channel[5] = 1
Case $wert = 18
;I2
$channel[2] = 1
$channel[5] = 1
Case $wert = 19
;I1 + I2
$channel[1] = 1
$channel[2] = 1
$channel[5] = 1
Case $wert = 20
;I3
$channel[3] = 1
$channel[5] = 1
Case $wert = 21
;I3 + I1
$channel[1] = 1
$channel[3] = 1
$channel[5] = 1
Case $wert = 22
;I3 + I2
$channel[2] = 1
$channel[3] = 1
$channel[5] = 1
Case $wert = 23
;I3 + I2 + I1
$channel[1] = 1
$channel[2] = 1
$channel[3] = 1
$channel[5] = 1
Case $wert = 24
;I4
$channel[4] = 1
$channel[5] = 1
Case $wert = 25
;I4 + I1
$channel[1] = 1
$channel[4] = 1
$channel[5] = 1
Case $wert = 26
;I4 + I2
$channel[2] = 1
$channel[4] = 1
$channel[5] = 1
Case $wert = 27
;I4 + I2 + I1
$channel[1] = 1
$channel[2] = 1
$channel[4] = 1
$channel[5] = 1
Case $wert = 28
;I4 + I3
$channel[3] = 1
$channel[4] = 1
$channel[5] = 1
Case $wert = 29
;I4 + I3 + I1
$channel[1] = 1
$channel[3] = 1
$channel[4] = 1
$channel[5] = 1
Case $wert = 30
;I4 + I3 + I2
$channel[2] = 1
$channel[3] = 1
$channel[4] = 1
$channel[5] = 1
Case $wert = 31
;I4 + I3 * I2 + I1
$channel[1] = 1
$channel[2] = 1
$channel[3] = 1
$channel[4] = 1
$channel[5] = 1
Case Else
$channel[1] = 0
$channel[2] = 0
$channel[3] = 0
$channel[4] = 0
$channel[5] = 0
EndSelect
If $channel[$sellect] = 1 Then
; MsgBox(0,"","return 1")
Return 1
Else
; MsgBox(0,"","return 0")
Return 0
EndIf
EndFunc ;==>ReadDigitalChannel
;----------------------------------------------------------------------------
wichtig .. die original dll MUSS umbenannt werden .. weil's anderst nicht funktioniert ..
aber fragt mich bitte nicht warum ..
VIEL spaß !!