Springen naar inhoud


- - - - -

VelBus

Velleman Velbus RS232

  • Log in a.u.b. om te beantwoorden
Er zijn 50 reacties in dit onderwerp

#1 Pieter

Pieter

    Starting Developer

  • Leden
  • 20 berichten
    Laatst bezocht 16 mei 2012 10:45

Geplaatst op 06 april 2012 - 12:00

Hallo allen,

ik ben nieuw hier, maar heb wel al vele tutorials uitgetest: gewoon geweldig!!!

Wat mij het meest bijgebleven is, is de serial port tutorial.
Ik heb thuis een volledige installatie van Velbus, domoticasysteem van Velleman.
Zou dit mogelijk zijn om dit te visualiseren en/of bedienen via VB2010 en zoja kan er dan iemand een "VB-leek" een stukje op weg helpen.
Ik maak verbinding via RS232 en de enige info dat ik heb is http://www.velleman....ocol_vmb1rs.pdf
Zelf snap ik er nog niet zo veel van :? maar wil mij daar wel in verdiepen(met mss wat hulp)

Alvast bedankt,
Pieter

edit: heb er nog een link bij vergeten te zetten:  http://www.velleman....s/velbuslib.zip
dit zou een voorbeeld zijn, maar kan dit niet openen/opstarten in VB.

Veranderd door pascalbianca, 07 april 2012 - 06:15.


#2 pascalbianca

pascalbianca

    Webmaster/Admin

  • Webmaster
  • 4382 berichten
    Laatst bezocht 05 feb 2020 07:09
  • LocatieSusteren, Nederland, Midden Limburg.
Inzender

Geplaatst op 06 april 2012 - 21:40

Hallo Pieter,

Alles van Velleman is voor 99.9% ook met VB.Net te programmeren.
Vrijwel iedere Velleman kit heeft libraries erbij zitten en die zou je normaal zonder enige problemen in VB.Net kunnen gebruiken.
Kijk maar eens in deze link >> http://www.vbib.be/i...-velleman-kits/
Hier kom je van alles tegen van Velleman in combinatie met VB.Net.

Maar welke hardware's gebruik exact van Velleman?
In de bijlage heb ik de werkende voorbeeld demo voor je geplaatst, hier werkt hij wel, tevens zitten daar die libraries ook in verworven van Velleman zag ik.

M.v.g. Pascal.

Bijlage  VelbusLib.rar   301,33K   12 downloads

#3 Pieter

Pieter

    Starting Developer

  • Leden
  • 20 berichten
    Laatst bezocht 16 mei 2012 10:45

Geplaatst op 06 april 2012 - 21:57

Hallo,

ik gebruik drukknop ingangsmodule's, ingangsmodule's , uitgangsmodule's, rolluikmodule's en een seriële interface
ik kan de bestanden wel openen maar kan niets uitvoeren of heb ik het totaal mis?

Mvg

#4 pascalbianca

pascalbianca

    Webmaster/Admin

  • Webmaster
  • 4382 berichten
    Laatst bezocht 05 feb 2020 07:09
  • LocatieSusteren, Nederland, Midden Limburg.
Inzender

Geplaatst op 06 april 2012 - 22:13

Ik kan het helaas niet testen want die hardware heb ik niet.
Maar normaal zouden die demo files wel moeten werken.

Ik zal vanavond c.q. vannacht eens in die hardware van jou verdiepen, ben toch al 19 uur wakker , dus dat beetje kan ook wel erbij :P

#5 pascalbianca

pascalbianca

    Webmaster/Admin

  • Webmaster
  • 4382 berichten
    Laatst bezocht 05 feb 2020 07:09
  • LocatieSusteren, Nederland, Midden Limburg.
Inzender

Geplaatst op 07 april 2012 - 06:36

Heb je het al getest eigenlijk want in VB heb je een soort play knop , als je daarop drukt start hij het programma en zou je een schermpje moeten krijgen met start knopje.
Hij zou moeten werken maar wat hij dan gaat doen weet ik helaas niet want heb die hardware niet.

#6 Pieter

Pieter

    Starting Developer

  • Leden
  • 20 berichten
    Laatst bezocht 16 mei 2012 10:45

Geplaatst op 07 april 2012 - 08:51

Dit is het net. Alles wat ik kan openen in VB kan ik niet opstarten (play) of geeft een foutmelding.
Ik zal als ik thuis ben even een screenshot van nemen en laten zien. Ofwel moet ik een oudere versie van VB installeren.

edit: Het enige dat ik in Visual Basic 2010 Express kan openen is "Velbus.sln" en dan krijg ik een foutmelding dat het de juiste versie niet is van VB.

Veranderd door Pieter, 07 april 2012 - 09:29.


#7 pascalbianca

pascalbianca

    Webmaster/Admin

  • Webmaster
  • 4382 berichten
    Laatst bezocht 05 feb 2020 07:09
  • LocatieSusteren, Nederland, Midden Limburg.
Inzender

Geplaatst op 07 april 2012 - 10:37

Ik gebruik hier de ultimated versie, maar zou normaal geen probleem moeten opleveren zover ik weet.
Ik wacht wel eens wat jou snapshots zeggen.

#8 pascalbianca

pascalbianca

    Webmaster/Admin

  • Webmaster
  • 4382 berichten
    Laatst bezocht 05 feb 2020 07:09
  • LocatieSusteren, Nederland, Midden Limburg.
Inzender

Geplaatst op 07 april 2012 - 10:40

Wil je eens 1 dingetjes proberen, kijk eens in de hieronder bijlage en start die exe file eens.
Bijlage  Release.rar   27,9K   14 downloads

#9 Pieter

Pieter

    Starting Developer

  • Leden
  • 20 berichten
    Laatst bezocht 16 mei 2012 10:45

Geplaatst op 07 april 2012 - 12:41

Als ik op send klik knipperen er 3 LED's op mijn interface ==> RS232C Ontvangst, VelBus Ontvangst en VelBus Zend maar verder gebeurt er niets :-(


Dit zijn de Error's die ik krijg

Bijlage  error 11.png   26,2K   19 downloads   Bijlage  error 21.png   8,29K   18 downloads

#10 pascalbianca

pascalbianca

    Webmaster/Admin

  • Webmaster
  • 4382 berichten
    Laatst bezocht 05 feb 2020 07:09
  • LocatieSusteren, Nederland, Midden Limburg.
Inzender

Geplaatst op 07 april 2012 - 15:43

Dat die leds knipperen is dus correct want dan reageert de hardware en de software samen correct.
Het vreemde alleen is dat jij een melding krijgt dat je VB dit project niet krijgt geopend.
Ik weet niet of iemand anders eens zou willen kijken die dezelfde versie VB heeft als jij of die het project wel krijg geopend, als dat wel zo is denk ik dat die van jouw niet in orde is.

#11 Eviltwin

Eviltwin

    Professional Developer

  • Leden
  • PipPipPipPip
  • 299 berichten
    Laatst bezocht 09 mei 2014 15:22
  • LocatieKampen, Nederland

Geplaatst op 07 april 2012 - 18:41

Ik heb net als pascalbianca VS ultimate (10.0.90319.1) en hier werkt het...

#12 pascalbianca

pascalbianca

    Webmaster/Admin

  • Webmaster
  • 4382 berichten
    Laatst bezocht 05 feb 2020 07:09
  • LocatieSusteren, Nederland, Midden Limburg.
Inzender

Geplaatst op 07 april 2012 - 19:28

Ah fijn te horen dat het bij jouw wel lukt, kijken of iemand nog wilt testen die ook Visual Basic 2010 Express heeft.

#13 Pieter

Pieter

    Starting Developer

  • Leden
  • 20 berichten
    Laatst bezocht 16 mei 2012 10:45

Geplaatst op 07 april 2012 - 19:32

Bericht bekijkenEviltwin, op 07 april 2012 - 18:41, zei:

Ik heb net als pascalbianca VS ultimate (10.0.90319.1) en hier werkt het...
en welke bestand(en) open je dan juist?

#14 pascalbianca

pascalbianca

    Webmaster/Admin

  • Webmaster
  • 4382 berichten
    Laatst bezocht 05 feb 2020 07:09
  • LocatieSusteren, Nederland, Midden Limburg.
Inzender

Geplaatst op 07 april 2012 - 19:36

Deze wat in rood staat.

Bijlage  velbus.png   22,9K   15 downloads

#15 Pieter

Pieter

    Starting Developer

  • Leden
  • 20 berichten
    Laatst bezocht 16 mei 2012 10:45

Geplaatst op 07 april 2012 - 21:28

Dat is ook het enige bestand dat ik kan openen, met de daarbijhorende fouten. :-(

Wat gebeurt er juist in dat exe-bestand als ik vragen mag?

#16 pascalbianca

pascalbianca

    Webmaster/Admin

  • Webmaster
  • 4382 berichten
    Laatst bezocht 05 feb 2020 07:09
  • LocatieSusteren, Nederland, Midden Limburg.
Inzender

Geplaatst op 07 april 2012 - 22:36

Wat in de code bij die demo word gedaan is het volgende geciteerd.:

Citeren

// Prepare a packet that will switch on the relays
// of a VMB4RY module (see: p.17 of the VMB4RY manual) and then
// Be sure to close the bus so everything
// can be cleaned up properly */

In de bijlage wat ik hierbij heb gezet is die andere wat erbij zit asyn.
Citatie uit de opmerking wat erbij staat.:

Citeren

/* Send out module type request to each possible address. These
* packets are useful for scanning purposes, since modules will react
* to them. */
  // loop over all possible addresses
// and send out our scan packet
/* Since the input/output operations for asynchronous IO occur on
* a secundary thread, we need to synchronize it with our GUI thread.
* This is the same method as if you would use the SerialPort component */
Log and write operation and then cleanup properly

Bijlage  asyndemo.rar   25,37K   4 downloads

#17 Vic

Vic

    Professional Developer

  • Leden
  • PipPipPipPip
  • 424 berichten
    Laatst bezocht 29 nov 2014 21:33

Geplaatst op 08 april 2012 - 09:36

Bericht bekijkenPieter, op 07 april 2012 - 12:41, zei:

Als ik op send klik knipperen er 3 LED's op mijn interface ==> RS232C Ontvangst, VelBus Ontvangst en VelBus Zend maar verder gebeurt er niets :-(


Dit zijn de Error's die ik krijg

Bijlage error 11.png   Bijlage error 21.png

Je kunt met de VB.Net Express versie enkel VB bestanden openen. De solution die je probeert te openen bevat C# bestanden (.csproj). Indien de solution enkel en alleen C# bestanden bevat kun je de Visual C# 2010 Express gaan downloadenen die gebruiken in de plaats van VB.Net Indien het echter een solution is die zowel VB als C# bestanden bevat, kun je het enkel en alleen Visual Studio gaan openen.

Mvg, Vic

#18 guest_chrissie1_*

guest_chrissie1_*
  • Gasten
    Laatst bezocht

Geplaatst op 08 april 2012 - 09:58

Of als je een gratis alternatief voor Visual studio wilt dan kan je ook Sharpdevelop gebruiken.

#19 Pieter

Pieter

    Starting Developer

  • Leden
  • 20 berichten
    Laatst bezocht 16 mei 2012 10:45

Geplaatst op 08 april 2012 - 11:46

Als ik scan krijg ik van 24 adressen feedback.
Ik heb wel degelijk 25 toestellen ,wat klopt wat adres 1 is overgeslagen in asyndemo ;)
Bij Velleman zijn de adressen Hexadecimaal
maar het belangrijkste is HET WERKT !!

edit: oja, en sorry voor het mis posten van mijn vraag. staat nu bij algemeen.

Veranderd door Pieter, 08 april 2012 - 11:58.


#20 pascalbianca

pascalbianca

    Webmaster/Admin

  • Webmaster
  • 4382 berichten
    Laatst bezocht 05 feb 2020 07:09
  • LocatieSusteren, Nederland, Midden Limburg.
Inzender

Geplaatst op 08 april 2012 - 18:46

hmm welke vraag of bedoel je deze?
PS als je wilt kijken welke mogelijkheden je met die dll-file kunt gebruiken zou je die dll-file kunnen inlezen in .NET Reflector.
Daar kun je dan alle mogelijke functie's bekijken die mogelijk zijn met die dll file.

M.v.g. Pascal.

#21 Pieter

Pieter

    Starting Developer

  • Leden
  • 20 berichten
    Laatst bezocht 16 mei 2012 10:45

Geplaatst op 08 april 2012 - 18:47

Bericht bekijkenpascalbianca, op 08 april 2012 - 18:46, zei:

hmm welke vraag of bedoel je deze?
ja, deze vraag.
ik had het bij VB.Net 2010 geplaatst

#22 pascalbianca

pascalbianca

    Webmaster/Admin

  • Webmaster
  • 4382 berichten
    Laatst bezocht 05 feb 2020 07:09
  • LocatieSusteren, Nederland, Midden Limburg.
Inzender

Geplaatst op 08 april 2012 - 19:02

ah oke ;)

#23 Pieter

Pieter

    Starting Developer

  • Leden
  • 20 berichten
    Laatst bezocht 16 mei 2012 10:45

Geplaatst op 09 april 2012 - 11:25

Het is mij al gelukt om met 2 drukknoppen 1 lamp te laten uitgaan ( 1 drukknop aan en 1 drukknop uit). Het volgende is om met 1 drukknop te toggelen. Zal waarschijnlijk met een vareabel zijn om de vorige stand te onthouden.

Het uitlezen van een relay lukt mij nog niet(gisterenavond/nacht mee zitten testen maar geen succes).

Kheb nog veel werk voor de boeg

#24 pascalbianca

pascalbianca

    Webmaster/Admin

  • Webmaster
  • 4382 berichten
    Laatst bezocht 05 feb 2020 07:09
  • LocatieSusteren, Nederland, Midden Limburg.
Inzender

Geplaatst op 09 april 2012 - 15:11

Over die knop die je wilt togglelen, kun je onderstaande code proberen, geen mooie code maar hij werkt.
Plaats een knop op je form en plaats in de code gedeelte.:

Visual Basic Code:
Public Class Form1
	Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
		Button1.Text = "Uit"
	End Sub

	Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
		If Button1.Text = "Uit" Then
			Button1.Text = "Aan"
			'hier even de code die moet reageren op de aan knop.
		ElseIf Button1.Text = "Aan" Then
			Button1.Text = "Uit"
			'hier even de code die moet reageren op de uit knop.
		End If
	End Sub
End Class


#25 Pieter

Pieter

    Starting Developer

  • Leden
  • 20 berichten
    Laatst bezocht 16 mei 2012 10:45

Geplaatst op 09 april 2012 - 21:23

Mijn programma is in C# geschreven.
onderstaande code is om een relais in te schakelen.
Er wordt wel altijd verbinding gemaakt en verbroken bij het indrukken van een knop. Wat mss niet zo slecht is.
Code:
// Create a new SerialBus object, and connect to the
			// specified port
			SerialBus bus = new SerialBus("COM1");
			bus.Open();
			// Prepare a packet that will switch on the relays
			// of a VMB4RY module (see: p.17 of the VMB4RY manual)
			Packet packet = new Packet();
			packet.Address = 0x51;				  // change this address to reflect your setup
			packet.Priority = PacketPriority.High;  // high priority command
			packet.DataSize = 2;					// 2 data bytes
			packet.Command = 0x02;				  // Command "Switch relay ON"
			packet[1] = 0x08;					   // We want to switch on relay 4
			// Issue the command!
			bus.SendBlocking(packet);
			// Be sure to close the bus so everything
			// can be cleaned up properly */
			bus.Close();

Wat is eigenlijk makkelijker voor een leek als ik?
C# of VB
Kan ook alles wat in C# geschreven is vertaald worden naar VB en omgekeerd? of kan je met het ene meer dan met het andere?

Mvg. Pieter

#26 Eviltwin

Eviltwin

    Professional Developer

  • Leden
  • PipPipPipPip
  • 299 berichten
    Laatst bezocht 09 mei 2014 15:22
  • LocatieKampen, Nederland

Geplaatst op 09 april 2012 - 23:10

Hallo,

Ik ben zelf jaren geleden begonnen met VB.net omdat dat ze dat opschool verwachte (elektronica opleiding) en heb daar een beetje basis mee gelegd.
Vervolgens heb ik een tijd niet meer geprogrammeerd en ben later als nog begonnen met een opleiding tot applicatie ontwikkelaar, hier begonnen we met PHP en vervolgens nog wat talen.

Toen ik weer terug ging naar MS windows form applicaties vond ik C# een stuk fijner dan vb.net omdat je in C#  ifjes en elsejes met haakjes () en accolades {} schrijft wat ik ondertussen ook van uit PHP aangeleerd had.


Verder is C# een stukje minder tollerand.
Doe je in VB  een int naar een textbox met textbox1.text = getal1, dan pikt deze dat gewoon
Probeer je dit in C# dan krijg je gegarandeerd een melding dat je een variabel die geen string is, in een string property probeerd te plaatsen.
Aan de andere kant las ik van de week op vbib, dan je met strict on in VB aardig het zelfde voor elkaar krijgt.

Ik zou persoonlijk kiezen voor C#, dit is iets moeilijker om te leren, maar je leert wel beter na te denken met wat je doet omdat niet zomaar alles wordt accepteerd.
Mocht je later naar een andere taal overstappen, dan is het verschil ook wat kleiner.


Wat wel een belangrijk punt is voor beginners: De grootste meerderheid op VBIB is VB.net waardoor je vaak voorbeelden en ondersteuning voor handen hebt.

Op de vraag van het omzetten van VB naar C# en vise versa, dan kun je met de volgende tool heel erg ver komen:

http://www.vbib.be/i...and-c-to-vbnet/


Groeten,

Eviltwin

#27 pascalbianca

pascalbianca

    Webmaster/Admin

  • Webmaster
  • 4382 berichten
    Laatst bezocht 05 feb 2020 07:09
  • LocatieSusteren, Nederland, Midden Limburg.
Inzender

Geplaatst op 10 april 2012 - 04:38

Het is inderdaad wat Evilwin eigenlijk al zegt, het is meer een voorkeur welke van die 2 je neemt, de een vind C# beter om mee te werken de ander meer VB.
Die tool van Eviltwin noemt is inderdaad een fijn hulp middel om je op weg te helpen.
Als ik bv jouw C# code zou omzetten naar VB zou je iets krijgen van.:

Visual Basic Code:
' Create a new SerialBus object, and connect to the
' specified port
Dim bus As New SerialBus("COM1")
bus.Open()
' Prepare a packet that will switch on the relays
' of a VMB4RY module (see: p.17 of the VMB4RY manual)
Dim packet As New Packet()
packet.Address = &H51
' change this address to reflect your setup
packet.Priority = PacketPriority.High
' high priority command
packet.DataSize = 2
' 2 data bytes
packet.Command = &H2
' Command "Switch relay ON"
packet(1) = &H8
' We want to switch on relay 4
' Issue the command!
bus.SendBlocking(packet)
' Be sure to close the bus so everything
' can be cleaned up properly */
bus.Close()


#28 Pieter

Pieter

    Starting Developer

  • Leden
  • 20 berichten
    Laatst bezocht 16 mei 2012 10:45

Geplaatst op 11 april 2012 - 22:11

Hallo,

ik ben al aardig op weg met mijn programma, maar heb nog enkele vragen.

in bijlage staat mijn voorlopige werkende programma.

1. als je op de connectknop drukt maakt die verbinding en komt de knop van rood naar groen en veranderd de tekst naar Disconnect. Achter die disconnect zou ik graag de actieve compoort hebben te staan :
C Code:
btnConnect.Text = "Disconnect";
en hierachter de actieve poort.

2. Moet ik per knop (Eetplaats, Living, Keuken en Aanrecht) telkens de volledige code schrijven om een relay te sturen of kan ik op een of andere manier enkel de waarde's aanpassen en naar een "submenu" springen. Of is dit te onoverzichtelijk/omslachtig
C Code:
Packet packet = new Packet();
				packet.Address = 0x51;			  
				packet.Priority = PacketPriority.High;
				packet.DataSize = 2;				
				packet.Command = 0x01;  
				packet[1] = 0x08;
			  
				// Issue the command!
				m_Bus.SendBlocking(packet);

3. Als ik nog geen verbinding heb gemaakt met een compoort en ik klik nu op een van de 4 knoppen geeft die en error (logisch want poort is nog gesloten)
Kan ik hier zo'n messagebox krijgen en OK knop om terug te keren?

Alvast bedankt voor de hulp !!




#29 Eviltwin

Eviltwin

    Professional Developer

  • Leden
  • PipPipPipPip
  • 299 berichten
    Laatst bezocht 09 mei 2014 15:22
  • LocatieKampen, Nederland

Geplaatst op 12 april 2012 - 12:52

Hallo Pieter,

Ik heb hier zo geen VS bij de hand, dus even uit de lossehand:

Op je eerste vraag even een gokje.  m_bus.name  ? of m_bus.address

even op internet gekenen:
Visual Basic Code:
For Each p As String In IO.Ports.SerialPort.GetPortNames
			Dim sp As New IO.Ports.SerialPort(p, 9600, IO.Ports.Parity.None, 8, IO.Ports.StopBits.One)
			sp.ReadTimeout = 1000
			sp.Open()
			sp.WriteLine("FOO")
			Try
				sp.ReadLine()
				'good port here
				Stop
			Catch ex As TimeoutException
				Stop
			End Try
			sp.Close()
		Next

Vraag 2:
Maak de knoppen die nodig zijn en roep in het click event telkens de zelfde functie aan waarin het adres van het relais wordt meegeven:

Visual Basic Code:
'Adres is nummer van het relais, tweede getal is bijv. 1 of 0 voor aan of uit
schakelRelais(adres, 1)

Probeer de code eens in een try & cath te zetten:

voorbeeld tutorialtje:
http://www.homeandle...et/nets5p4.html


Mocht je er niet uitkomen, laat het dan even weten. Dank kijk ik thuis even met VS voor copy & paste code ;)

Groeten,

Eviltwin

#30 Eviltwin

Eviltwin

    Professional Developer

  • Leden
  • PipPipPipPip
  • 299 berichten
    Laatst bezocht 09 mei 2014 15:22
  • LocatieKampen, Nederland

Geplaatst op 13 april 2012 - 17:46

Hey Pieter,

Ik zag net dat ik VB code had geplaatst terwijl je met C# bezig was, sorry daar voor (zal vast geen probleem zijn, je hebt tenslotte de link naar de converter al).

Hier mijn versie van jouw programma in C# :)

Er staat in commentaar uitgelegt wat er gebeurd.

Groeten,

Eviltwin

Bijgevoegde Bestanden







Ook met taq Velleman, Velbus, RS232 voorzien

0 gebruiker(s) lezen dit onderwerp

0 lid(leden), 0 bezoeker(s), 0 anonieme gebruikers

Inloggen


Untitled 1

Met dank aan Jürgen voor de jarenlange inzet van visualbasic.be (anno dec 2000)
Met dank aan Mike en Ronneke voor de jarenlange inzet van vbib.be (anno dec 2010)
Met dank aan PascalBianca voor de jarenlange inzet van vbib.be (anno dec 2016)