Hallo
Das könnte dich interessieren:
https://www.roboternetz.de/phpBB2/ze...ag.php?t=27517
oder einfach mal die Suchfunktion benutzen. (Nach K8055 suchen...)
Hallo!
Wie kann ich mit VBA die Eingänge des K8055 lesen und Zustand darstellen, z.B. mit CheckBox?
bis dann,
Nico
Hallo
Das könnte dich interessieren:
https://www.roboternetz.de/phpBB2/ze...ag.php?t=27517
oder einfach mal die Suchfunktion benutzen. (Nach K8055 suchen...)
Hallo!
Den Thread habe ich schon gesehn, nur leider werden im Beispiel nicht die Eingänge angesprochen...
Und die Suche habe ich auch schon benutzt, leider war nichts dabei...
bis dann,
Nico
Hi Nico99,
die Eingänge einzulesen ist aber genauso einfach wie das Ausgeben. Die Funktion die du suchst ist "ReadAllDigital()" ... die liefert den Status der Eingänge als Long. Auch die Funktion "ReadDigitalChannel(ByVal Channel As Long)" dürfte nützlich sein.
Ich hab mich aber nur kurz mit VB beschäfftigt, wesswegen ich nicht sagen kann, ob man die Eingänge nur im Pollingbetrieb einlesen kann oder auch irgendwie "interruptgesteuert".
Gruß,
SIGINT
Kann ich nur bestätigen, man findet sich Leicht rein habe mit Timer Funktion (neu) eine Delay Time programmiert
Du kannst sogar einen Analog Wert den Ausgängen zuordnen oder auf einen analogen Eingangswert reagieren
Danke nochmals
SIGINT
Ja, ich habe mein Problemm etwas falsch beschrieben...
Ich weiss wie ich die Werte rauskriege, weiss aber nicht wie die Anweisung ausehen soll, damit ich zum Beispiel ReadAllDigital als Wert durch ein Label in VBA darstellen kann. Oder ReadDigitalChannel durch eien Checkbox.
Sprich: ich bin ein Neuling in VBA und habe Problemme mit Syntax... Wahrscheinlich gehört dieses Posting ins VBA-Forum irgendwo
bis dann,
Nico
Achsooo,
dann kann dir einfach geholfen werden
Schau dir mal die Userforms unter VBA an.
Checkbox: Einfach Ereignis abfangen, etwa so:
Private Sub CheckBox1_Click()
.................Dein Code hier.............
End Sub
Label: entweder als MsgBox("Text") ausgeben oder einen String-Variablen mit der Value-Eigenschaft einem Textbox zuweisen. Hilfreich sind dabei die Convert-Funktionen wie Cstr,Cdec o.ä.
Aber wenn du Dein Problem etwas genauer beschreibst, kann ich es auch mal schnell schreiben.
Gruß
Z
So, ich schreibe folgendes:
Dann wird der Wert als Label auch angezeigt, aber nicht permanent, sondern wird nur beim Klick mit Maus aktualisiert...Code:Private Sub Label1_Click() Label1.Caption = ReadAllDigital End Sub
bis dann,
Nico
Ja, weil du ja auch d. _Click - Eigenschaft ansprichst. Wesentlich einfacher geht es mit einer quasi Endlosschleife, vergiss nur d. Abbruchbedingung nicht.Hier habe ich einfach i genommen, der dann hochzählt. Wird vermutlich nicht funktionieren, da dein Rechner zu schnell ist, es ging aber nur ums Verständnis.:
Dim i as integer
do while i<1000
Label1.caption=Cstr(ReadAllDigital)
i=i+1
loop
Eventuel müsste auch der _AfterUpdate Eigenschaft gehen, leider kann ich es gerade nicht prüfen,sitze grad vor einem Linux-Rechner.
Gruß
Z
Lesezeichen