BeneluxSpoor.net forum

Vraag en antwoord => Elektronica en analoog => Topic gestart door: olaf99 op 31 August 2016, 20:43:29

Titel: Visual Studio community 2015: VB.NET : compoort aansturen
Bericht door: olaf99 op 31 August 2016, 20:43:29
Hallo

Ik ben bezig met mijn modelbaan besturing. Ik wil mijn Atmel aansturen met een adres byte en een data byte.  De software wil ik in Visual basic doen en ik gebruik de compoort.
De Atmel maakt alleen gebruik van de TXD en de RXD compoort lijn.
Mijn eigen programma kan ik niet aan de praat krijgen. Ben vervolgens gaan testen met het programma MicroRidge (compoort test programma) en daar kan ik mijn Atmel wel mee aansturen.  Dus ik weet dat de hardware het wel doet.

De bedoeling is dus bij de atmel dat hij een adres (bijvoorbeeld 6 ) en de daarbij behorende data (bijvoorbeeld 4) krijgt. De Atmel schakelt dan het relais met de decimale waarde 4 aan. Tevens leest de Atmel de ingangen bij het geselecteerde adres in en stuurt die door naar de pc.

Met het compoort analyse programma PortMon zie ik wel verschillen.
Met mijn programma:
  * decimaal 6 versturen = 36 met de HEX instelling in Portmon
  * decimaal 6 versturen = 6 met de ASCII instelling in Portmon

Met Microridge:
  * decimaal 6 versturen = 06 met de HEX instelling in Portmon
  * decimaal 6 versturen =  .   met de ASCII instelling in Portmon

Hieronder het Visual basic programma:
(https://4.bp.blogspot.com/-eE4bIIwh2gQ/V8cgi--HcmI/AAAAAAAADb8/cjyzgDs1g4oTe2F1Cyt1EZWYcY0A8WAaQCPcB/s800/VBprog.jpg)
https://4.bp.blogspot.com/-eE4bIIwh2gQ/V8cgi--HcmI/AAAAAAAADb8/cjyzgDs1g4oTe2F1Cyt1EZWYcY0A8WAaQCPcB/s1600/VBprog.jpg

Hieronder een uitdraai van portmon. En je ziet dat ik meerdere bytes heb verzonden. :
compoorttest31-8-16   eigen programma werkt niet.


0.00006761 compoort-test29 IRP_MJ_CREATE Serial0 SUCCESS Options: Open
0.00000307 compoort-test29 IOCTL_SERIAL_GET_PROPERTIES Serial0 SUCCESS
0.00000363 compoort-test29 IOCTL_SERIAL_GET_MODEMSTATUS Serial0 SUCCESS
0.00000140 compoort-test29 IOCTL_SERIAL_GET_BAUD_RATE Serial0 SUCCESS
0.00000140 compoort-test29 IOCTL_SERIAL_GET_LINE_CONTROL Serial0 SUCCESS
0.00000140 compoort-test29 IOCTL_SERIAL_GET_CHARS Serial0 SUCCESS
0.00000112 compoort-test29 IOCTL_SERIAL_GET_HANDFLOW Serial0 SUCCESS
0.00000140 compoort-test29 IOCTL_SERIAL_GET_BAUD_RATE Serial0 SUCCESS
0.00000112 compoort-test29 IOCTL_SERIAL_GET_LINE_CONTROL Serial0 SUCCESS
0.00000112 compoort-test29 IOCTL_SERIAL_GET_CHARS Serial0 SUCCESS
0.00000140 compoort-test29 IOCTL_SERIAL_GET_HANDFLOW Serial0 SUCCESS
0.00000810 compoort-test29 IOCTL_SERIAL_SET_BAUD_RATE Serial0 SUCCESS Rate: 9600
0.00000391 compoort-test29 IOCTL_SERIAL_SET_RTS Serial0 SUCCESS
0.00000419 compoort-test29 IOCTL_SERIAL_CLR_DTR Serial0 SUCCESS
0.00000307 compoort-test29 IOCTL_SERIAL_SET_LINE_CONTROL Serial0 SUCCESS StopBits: 1 Parity: NONE WordLength: 8
0.00000168 compoort-test29 IOCTL_SERIAL_SET_CHAR Serial0 SUCCESS EOF:1a ERR:0 BRK:0 EVT:1a XON:11 XOFF:13
0.00000587 compoort-test29 IOCTL_SERIAL_SET_HANDFLOW Serial0 SUCCESS Shake:0 Replace:40 XonLimit:1024 XoffLimit:1024
0.00000140 compoort-test29 IOCTL_SERIAL_GET_BAUD_RATE Serial0 SUCCESS
0.00000112 compoort-test29 IOCTL_SERIAL_GET_LINE_CONTROL Serial0 SUCCESS
0.00000112 compoort-test29 IOCTL_SERIAL_GET_CHARS Serial0 SUCCESS
0.00000140 compoort-test29 IOCTL_SERIAL_GET_HANDFLOW Serial0 SUCCESS
0.00000838 compoort-test29 IOCTL_SERIAL_SET_BAUD_RATE Serial0 SUCCESS Rate: 9600
0.00000419 compoort-test29 IOCTL_SERIAL_SET_RTS Serial0 SUCCESS
0.00000391 compoort-test29 IOCTL_SERIAL_CLR_DTR Serial0 SUCCESS
0.00000279 compoort-test29 IOCTL_SERIAL_SET_LINE_CONTROL Serial0 SUCCESS StopBits: 1 Parity: NONE WordLength: 8
0.00000140 compoort-test29 IOCTL_SERIAL_SET_CHAR Serial0 SUCCESS EOF:1a ERR:0 BRK:0 EVT:1a XON:11 XOFF:13
0.00000251 compoort-test29 IOCTL_SERIAL_SET_HANDFLOW Serial0 SUCCESS Shake:0 Replace:40 XonLimit:1024 XoffLimit:1024
0.00000419 compoort-test29 IOCTL_SERIAL_CLR_DTR Serial0 SUCCESS
0.00000140 compoort-test29 IOCTL_SERIAL_GET_BAUD_RATE Serial0 SUCCESS
0.00000112 compoort-test29 IOCTL_SERIAL_GET_LINE_CONTROL Serial0 SUCCESS
0.00000112 compoort-test29 IOCTL_SERIAL_GET_CHARS Serial0 SUCCESS
0.00000112 compoort-test29 IOCTL_SERIAL_GET_HANDFLOW Serial0 SUCCESS
0.00000782 compoort-test29 IOCTL_SERIAL_SET_BAUD_RATE Serial0 SUCCESS Rate: 9600
0.00000419 compoort-test29 IOCTL_SERIAL_CLR_RTS Serial0 SUCCESS
0.00000419 compoort-test29 IOCTL_SERIAL_CLR_DTR Serial0 SUCCESS
0.00000251 compoort-test29 IOCTL_SERIAL_SET_LINE_CONTROL Serial0 SUCCESS StopBits: 1 Parity: NONE WordLength: 8
0.00000112 compoort-test29 IOCTL_SERIAL_SET_CHAR Serial0 SUCCESS EOF:1a ERR:0 BRK:0 EVT:1a XON:11 XOFF:13
0.00000559 compoort-test29 IOCTL_SERIAL_SET_HANDFLOW Serial0 SUCCESS Shake:0 Replace:0 XonLimit:1024 XoffLimit:1024
0.00000419 compoort-test29 IOCTL_SERIAL_CLR_RTS Serial0 SUCCESS
0.00000168 compoort-test29 IOCTL_SERIAL_SET_TIMEOUTS Serial0 SUCCESS RI:-1 RM:-1 RC:-2 WM:0 WC:0
0.00000307 compoort-test29 IOCTL_SERIAL_SET_WAIT_MASK Serial0 SUCCESS Mask: RXCHAR RXFLAG CTS DSR RLSD BRK ERR RING
0.00000168 compoort-test29 IOCTL_SERIAL_SET_QUEUE_SIZE Serial0 SUCCESS InSize: 1000 OutSize: 1000
37.80507243 compoort-test29 IOCTL_SERIAL_WAIT_ON_MASK Serial0 SUCCESS
0.00002235 compoort-test29 IRP_MJ_WRITE Serial0 SUCCESS Length 1: 36 <= portmon op HEX
0.00001956 compoort-test29 IRP_MJ_WRITE Serial0 SUCCESS Length 1: 34 <= portmon op HEX
0.00000391 compoort-test29 IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
11.97564551 compoort-test29 IOCTL_SERIAL_WAIT_ON_MASK Serial0 SUCCESS
0.00003185 compoort-test29 IRP_MJ_WRITE Serial0 SUCCESS Length 1: 6 <=portmon op ASCII
0.00002291 compoort-test29 IRP_MJ_WRITE Serial0 SUCCESS Length 1: 4 <=portmon op ASCII
0.00000419 compoort-test29 IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
13.64046883 compoort-test29 IOCTL_SERIAL_WAIT_ON_MASK Serial0 SUCCESS
0.00002822 compoort-test29 IRP_MJ_WRITE Serial0 SUCCESS Length 1: 4 <=portmon op ASCII
0.00002989 compoort-test29 IRP_MJ_WRITE Serial0 SUCCESS Length 2: 64 <=portmon op ASCII
0.00000391 compoort-test29 IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
4.86393829 compoort-test29 IOCTL_SERIAL_WAIT_ON_MASK Serial0 SUCCESS
0.00002375 compoort-test29 IRP_MJ_WRITE Serial0 SUCCESS Length 1: 6 <=portmon op ASCII
0.00000363 compoort-test29 IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
0.69714922 compoort-test29 IOCTL_SERIAL_WAIT_ON_MASK Serial0 SUCCESS
0.00002989 compoort-test29 IRP_MJ_WRITE Serial0 SUCCESS Length 2: 15 <=portmon op ASCII
0.00000391 compoort-test29 IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
26.03316008 compoort-test29 IOCTL_SERIAL_WAIT_ON_MASK Serial0 SUCCESS
0.00000978 compoort-test29 IRP_MJ_FLUSH_BUFFERS Serial0 SUCCESS
0.00001537 compoort-test29 IOCTL_SERIAL_SET_WAIT_MASK Serial0 SUCCESS Mask:
0.00000475 compoort-test29 IOCTL_SERIAL_CLR_DTR Serial0 SUCCESS
0.00000168 compoort-test29 IRP_MJ_FLUSH_BUFFERS Serial0 SUCCESS
0.00000307 compoort-test29 IOCTL_SERIAL_PURGE Serial0 SUCCESS Purge: RXABORT RXCLEAR
0.00000168 compoort-test29 IOCTL_SERIAL_PURGE Serial0 SUCCESS Purge: TXABORT TXCLEAR
0.00000251 compoort-test29 IRP_MJ_CLEANUP Serial0 SUCCESS
0.00031037 compoort-test29 IRP_MJ_CLOSE Serial0 SUCCESS


**************************************************************************************************************************
*************************************************************************************************************************

MicroRidge    **** met programma doet hij wel. ******

0.00006090 ComTestSerial.e IRP_MJ_CREATE Serial0 SUCCESS Options: Open
0.00000838 ComTestSerial.e IOCTL_SERIAL_SET_QUEUE_SIZE Serial0 SUCCESS InSize: 65536 OutSize: 65536
0.00000168 ComTestSerial.e IOCTL_SERIAL_SET_TIMEOUTS Serial0 SUCCESS RI:-1 RM:0 RC:0 WM:0 WC:0
0.00000112 ComTestSerial.e IOCTL_SERIAL_GET_BAUD_RATE Serial0 SUCCESS
0.00000112 ComTestSerial.e IOCTL_SERIAL_GET_LINE_CONTROL Serial0 SUCCESS
0.00000140 ComTestSerial.e IOCTL_SERIAL_GET_CHARS Serial0 SUCCESS
0.00000140 ComTestSerial.e IOCTL_SERIAL_GET_HANDFLOW Serial0 SUCCESS
0.00000838 ComTestSerial.e IOCTL_SERIAL_SET_BAUD_RATE Serial0 SUCCESS Rate: 9600
0.00000419 ComTestSerial.e IOCTL_SERIAL_SET_RTS Serial0 SUCCESS
0.00000447 ComTestSerial.e IOCTL_SERIAL_SET_DTR Serial0 SUCCESS
0.00000279 ComTestSerial.e IOCTL_SERIAL_SET_LINE_CONTROL Serial0 SUCCESS StopBits: 1 Parity: NONE WordLength: 8
0.00000168 ComTestSerial.e IOCTL_SERIAL_SET_CHAR Serial0 SUCCESS EOF:d ERR:ff BRK:ff EVT:ff XON:11 XOFF:13
0.00000838 ComTestSerial.e IOCTL_SERIAL_SET_HANDFLOW Serial0 SUCCESS Shake:1 Replace:80000040 XonLimit:100 XoffLimit:100
0.00000223 ComTestSerial.e IOCTL_SERIAL_SET_WAIT_MASK Serial0 SUCCESS Mask: RXCHAR TXEMPTY
0.00000363 ComTestSerial.e IOCTL_SERIAL_GET_MODEMSTATUS Serial0 SUCCESS
0.00000475 ComTestSerial.e IOCTL_SERIAL_SET_DTR Serial0 SUCCESS
0.00000503 ComTestSerial.e IOCTL_SERIAL_SET_RTS Serial0 SUCCESS
0.00001006 ComTestSerial.e IOCTL_SERIAL_GET_MODEMSTATUS Serial0 SUCCESS
0.00000196 ComTestSerial.e IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS

0.00000279 ComTestSerial.e IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
0.00000698 ComTestSerial.e IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
0.00002319 ComTestSerial.e IRP_MJ_WRITE Serial0 SUCCESS Length 1: .   <= portmon op ASCII
0.00000754 ComTestSerial.e IOCTL_SERIAL_GET_MODEMSTATUS Serial0 SUCCESS
0.00000223 ComTestSerial.e IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS

0.00002067 ComTestSerial.e IRP_MJ_WRITE Serial0 SUCCESS Length 1: .   <= portmon op ASCII
0.00000419 ComTestSerial.e IOCTL_SERIAL_GET_MODEMSTATUS Serial0 SUCCESS
0.00000223 ComTestSerial.e IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
0.00000196 ComTestSerial.e IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
0.00000419 ComTestSerial.e IRP_MJ_READ Serial0 SUCCESS Length 1: .   <= portmon op ASCII
0.00000698 ComTestSerial.e IOCTL_SERIAL_GET_MODEMSTATUS Serial0 SUCCESS
0.00000307 ComTestSerial.e IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS

0.00000251 ComTestSerial.e IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
0.00000251 ComTestSerial.e IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
0.00001928 ComTestSerial.e IRP_MJ_WRITE Serial0 SUCCESS Length 1: 06   <= portmon op HEX
0.00000391 ComTestSerial.e IOCTL_SERIAL_GET_MODEMSTATUS Serial0 SUCCESS
0.00000168 ComTestSerial.e IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS

0.00001983 ComTestSerial.e IRP_MJ_WRITE Serial0 SUCCESS Length 1: 04    <= portmon op HEX
0.00000643 ComTestSerial.e IOCTL_SERIAL_GET_MODEMSTATUS Serial0 SUCCESS
0.00000251 ComTestSerial.e IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
0.00000140 ComTestSerial.e IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
0.00000419 ComTestSerial.e IRP_MJ_READ Serial0 SUCCESS Length 1: 00   <= portmon op HEX
0.00000531 ComTestSerial.e IOCTL_SERIAL_GET_MODEMSTATUS Serial0 SUCCESS
0.00000196 ComTestSerial.e IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS

0.00002179 ComTestSerial.e IRP_MJ_WRITE Serial0 SUCCESS Length 1: 06    <= portmon op HEX
0.00000335 ComTestSerial.e IOCTL_SERIAL_GET_MODEMSTATUS Serial0 SUCCESS
0.00000168 ComTestSerial.e IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS

0.00002011 ComTestSerial.e IRP_MJ_WRITE Serial0 SUCCESS Length 1: 02   <= portmon op HEX
0.00000391 ComTestSerial.e IOCTL_SERIAL_GET_MODEMSTATUS Serial0 SUCCESS
0.00000168 ComTestSerial.e IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
0.00000140 ComTestSerial.e IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS
0.00000307 ComTestSerial.e IRP_MJ_READ Serial0 SUCCESS Length 1: 00 <= portmon op HEX
0.00000391 ComTestSerial.e IOCTL_SERIAL_GET_MODEMSTATUS Serial0 SUCCESS
0.00000223 ComTestSerial.e IOCTL_SERIAL_GET_COMMSTATUS Serial0 SUCCESS


Dus zou iemand weten waardoor Microridge wel doet met het versturen van dezelfde decimale getallen als mijn programma?

Mijn dank zal groot zijn.

Olaf

Titel: Re: Visual basic compoort aansturen
Bericht door: Robert E op 31 August 2016, 21:10:10
Die write functie zonder overload (kent Visual Basic dat) is volgens mij puur string based...

https://msdn.microsoft.com/en-us/library/y2sxhat8(v=vs.110).aspx

Je zult even wat moeten prutsen met buffers zo te zien

https://msdn.microsoft.com/en-us/library/system.io.ports.serialport.write(v=vs.110).aspx

Citaat
Ik wil mijn Atmel aansturen met een adres byte en een data byte.

En wat als je een karakter verliest om welke reden dan ook?
Zou een simple protocol maken, iets met STX / ETX en daartussen de data als ASCII verzenden...

Op de Atmel dan evt met s(s)canf (vreet wel geheugen) adres en data byte eruit halen...

Mvg

Robert

Titel: Re: Visual basic compoort aansturen
Bericht door: jowi op 31 August 2016, 21:10:39
Zo te zien moet je die '6' dus als hex sturen en niet als decimaal zoals je nu doet.
Probeer dus eens:
Byte data = &H06
ipv Byte data = 6

En waarschijnlijk moet je het adres en de waarde in 1x sturen, dus maak een byte array zoals in dit voorbeeld:

Dim bytes() As Byte = { &H06, &H04 }
serialport.Write(bytes, 0, bytes.Length)
Titel: Re: Visual basic compoort aansturen
Bericht door: jjg koopmans op 31 August 2016, 21:24:18
Die opmerking wilde ik ook maken. Er is nogal een verschil tussen de waarde 6 in een byte, de 2-bit en de 4-bit samen, en het getal of teken voor 6 dat je probeert te sturen en heel andere bits gaat geven.
Mvrgr
Koopmans
Titel: Re: Visual basic compoort aansturen
Bericht door: Timo op 31 August 2016, 22:59:35
Iets als "decimaal sturen" bestaat dan ook helemaal niet. Als je echt de decimale waarde 6 verstuurt (wat in hex ook gewoon 6 is (vaak geschreven als 0x06), of 0b110 in binair). Maar het lijkt er inderdaad op dat niet de waarde 6 verstuurt wordt maar 6 als ASCII character waarde (54 decimaal ofwel 36 in hex).

Decimaal, binair, hexadecimaal, octaal etc zijn alleen verschillende schrijfwijzes van een getal.

ASCII is een ogelijke interpretatie van een waarde (en de standaard als het om tekst op een embedded systems gaat). Maar het zou net zo goed gewoon een getal kunnen zijn of een commando. Het is aan de programmeur de waarde goed te interpreteren :)


Timo
Titel: Re: Visual basic compoort aansturen
Bericht door: ivanzon op 31 August 2016, 23:12:52
Je kan een byte array van een string maken, maar dan moet je wel naar ASCII converteren, anders krijg je UTF tekens over de lijn, waar je dan op de ontvanger weer problemen mee kan krijgen.
Titel: Re: Visual basic compoort aansturen
Bericht door: olaf99 op 01 September 2016, 21:42:28
Hallo

Allemaal bedankt voor jullie input.  (y)

Het werkt nu.  :laugh: 15 naar kaart 4 en 64 naar kaart 6.  Kaart telling trouwens van rechts naar links....

(https://s15.postimg.org/vwcx1tptn/IMG_5438.jpg)

Het lag dus aan mijn manier van declaratie noteren. Verder moeten ook die "()" en de "{}" toegevoegd worden anders werkt het niet. Ik had trouwens al met HEX een poging gedaan maar ik had dan de () en de {} vergeten.

enkele byte verzenden werkt wel met:

Dim data() As Byte = {&H4}
SerialPort2.Write(data, 0, 1)

werkt ook met:
Dim data() As Byte = {&H4}
SerialPort2.Write(data, 0, data.Length)

***************************************
2 bytes verzenden werkt met:
 
Dim bytes() As Byte = {&H6, &H4}
SerialPort2.Write(bytes, 0, bytes.Length)

***********************************

Zo nu kan ik eindelijk verder met programmeren.

Olaf
Titel: Re: Visual basic compoort aansturen
Bericht door: jowi op 01 September 2016, 22:37:29
Google eens op visual basic arrays... en probeer wat meer van de taal te begrijpen. Nog beter, stap over op c# of vb.net...

Die schrijfwijze met accolades etc stelt een array voor, een "lijst" van bytes. Dat heb je nodig als je meerdere bytes in 1x wilt sturen.

Wat jij nu doet met:
Dim data() As Byte = {&H4}

is een array van 1 byte aanmaken... dat kan wel maar is niet zo zinvol. Kun je beter vervangen door:
Byte data = &H04
Titel: Re: Visual basic compoort aansturen
Bericht door: olaf99 op 02 September 2016, 19:10:11
Hallo

Ik werk nu met vb.net => microsoft visual studio community 2015.
11 jaar geleden was ik dit project begonnen en toen heb ik gewerkt met visual basic 6 samen met het boek van de elektuur "elektronica en visual basic". Bij dat boek zat een cd met een dll file waarmee je de compoort mee kon aansturen. Gewoon met commando's zoals sendbyte en readbyte.
Dat project heeft dus jaren lang stil gelegen en nu heb ik een baan met meer rails dus pak ik het project weer op. Ik heb inderdaad nog veel te leren kwa programmeren. Ik merk ook dat er wel wat veranderd is kwa programmeer instructies. Op internet veel gezocht en ik kom veel voorbeelden tegen die stammen uit het visual basic 6 tijdperk.

Ik ga maar eens aan het programmeren.  ;D

Bedankt voor je hulp.
Olaf
Titel: Re: Visual basic compoort aansturen
Bericht door: jowi op 02 September 2016, 19:23:19
Ah ja nu zie ik het, ik was even onder de indruk dat je zelf ook nog met VB6 bezig was :)
Titel: Re: Visual basic compoort aansturen
Bericht door: ivanzon op 02 September 2016, 19:53:20
UIt ervaring: Je kan een groot deel van de c# voorbeelden bijna rechtstreeks overnemen. VB.NET is een soort schil over de basis (c#)
Titel: Re: Visual basic compoort aansturen
Bericht door: olaf99 op 02 September 2016, 20:00:43
Hallo

Bedankt voor je tip. Wellicht kan ik nog wat stukjes code gebruiken.

Olaf
Titel: Re: Visual basic compoort aansturen
Bericht door: Bert Sprinter op 05 September 2016, 13:32:47
Dat ziet er toch niet uit als Visual Basic, meer Visual Studio of .NET? Hoe zit dat nou? Ik heb Visual Basic 6.0 en kan daarmee zonder special DLL bestand geen USB poort aansturen.

Iemand enig idee hoe je dat met VB 6.0 kan doen?
Titel: Re: Visual basic compoort aansturen
Bericht door: jowi op 05 September 2016, 13:41:44
Dit is dus de programmeertaal VB.Net. ".NET" is de naam v/h framework, "Visual Studio" is de naam van Microsoft voor een verzameling programmeertalen en tooling, om het maar even simpel te houden.

Mocht je nog met VB6 werken, ik zou daar mee ophouden en minstens overgaan op VB.NET (beter nog, C#). VB6 wordt niet meer ondersteund en is dramatisch ouderwetsch.

Voor VB6 heb je de MsComm Control component nodig: https://msdn.microsoft.com/en-us/library/aa259393(v=vs.60).aspx
Titel: Re: Visual basic compoort aansturen
Bericht door: NTeering op 05 September 2016, 13:47:45
Hallo Bert,

Stuur even een mail naar Mardec@ziggo.nl
Dan krijg je een zip file retour met een VB6 voorbeeldprojekt

(https://images.beneluxspoor.net/bnls/VB6Com.jpg) (https://images.beneluxspoor.net/bnls/VB6Com.jpg)

Nico

Titel: Re: Visual basic compoort aansturen
Bericht door: Bert Sprinter op 05 September 2016, 16:17:20
Ja jowi, kan wel ouderwets zijn, maar werkt nog steeds hardstikke goed met 64 bit hoor.  Het heeft een heleboel tekortkomingen, maar ik heb geen geld om een volledige versie van VB.NET of C++ te kopen.  :'(

Ik kan zo 1-2-3 niet eens een adres vinden waar deze te koop zijn.  Gratis versies kan je niks mee compileren, is alleen om te leren. Wel gratis Windows 10 maar gratis developer tools, ho maar.
 
Titel: Re: Visual basic compoort aansturen
Bericht door: NTeering op 05 September 2016, 16:29:07
Het enige nadeel is dat de VB6 IDE niet werkt onder Windows Vista, 7, 8 en 10
Daarom gebruik ik een virtuele Windows XP (VMWare) waar VB6 in draait.

Nico
Titel: Re: Visual basic compoort aansturen
Bericht door: jowi op 05 September 2016, 16:31:10
Eeeh nee VB werkt niet als 64 bits ;) dat het wel draait op een 64 bits OS is niet hetzelfde, maar dat is een technisch detail ;)

Overigens... Visual Studio Community 2015 Edition, met o.a. VB.NET, is gratis, en kun je gewoon compileren hoor, weet niet waar je dat vandaan hebt  (y)
https://www.visualstudio.com/en-us/products/visual-studio-express-vs.aspx
Titel: Re: Visual basic compoort aansturen
Bericht door: jowi op 05 September 2016, 16:33:35
Het enige nadeel is dat de VB6 IDE niet werkt onder Windows Vista, 7, 8 en 10
Oh jawel, dat werkt wel hoor!
Ik gebruik het heel af en toe voor legacy systemen hier. Gewoon onder Windows 8.
Titel: Re: Visual basic compoort aansturen
Bericht door: NTeering op 05 September 2016, 16:41:55
Citaat
Oh jawel, dat werkt wel hoor!

Echt niet:

(https://images.beneluxspoor.net/bnls/VB6Win7.jpg) (https://images.beneluxspoor.net/bnls/VB6Win7.jpg)

Heb je soms een andere VB6?
Titel: Re: Visual basic compoort aansturen
Bericht door: jowi op 05 September 2016, 16:54:43
Echt wel:

(https://images.beneluxspoor.net/bnls/vbwin8.jpg) (https://images.beneluxspoor.net/bnls/vbwin8.jpg)
Titel: Re: Visual basic compoort aansturen
Bericht door: NTeering op 05 September 2016, 17:02:35
Echt niet (windows 7)

(https://images.beneluxspoor.net/bnls/VB6setup.jpg) (https://images.beneluxspoor.net/bnls/VB6setup.jpg)
Titel: Re: Visual basic compoort aansturen
Bericht door: jowi op 05 September 2016, 17:28:35
Tja je kan aan de gang blijven maar het kan dus wel werken. Ook onder Win7.
Google maar naar hoe je dat moet doen.

Hoe dan ook, beter de stap naar VB.Net maken als je zonodig in VB wilt blijven.
Titel: Re: Visual Studio community 2015: compoort aansturen
Bericht door: olaf99 op 05 September 2016, 19:17:48
Hallo

Ter info: ik heb de titel even aangepast naar de juiste naam.  ;)

Olaf
Titel: Re: Visual basic compoort aansturen
Bericht door: Bert Sprinter op 05 September 2016, 21:09:34
Het enige nadeel is dat de VB6 IDE niet werkt onder Windows Vista, 7, 8 en 10
Daarom gebruik ik een virtuele Windows XP (VMWare) waar VB6 in draait.

Nico

Nee hoor, ik gebruik VB 6.0 met XP, Vista en Win 7, geen enkel probleem. Werkt gewoon met 64-bit.  (y) Windows 8 en 10 heb ik niet, dus kan ik niks over zeggen, maar aan andere posts te oordelen doet ie het ook met 8 en 10. Ik heb er een aantal grote projecten mee gedaan, werkt perfect. Ook geen problemen met compileren. Heb je mijn email nog ontvangen? Ben wel nieuwsgierig, je bent nooit te oud om te leren  ;)

En ik ben hier weg, ik ga Olav's draadje niet verder vervuilen  ;D
Titel: Re: Visual Studio community 2015: VB.NET : compoort aansturen
Bericht door: ivanzon op 05 September 2016, 21:18:17
Als je op simpele wijze naar een echte exe wilt compilen kan je het beste sharpdevelop gebruiken, die kan de msbuild scripts genereren die je nodig hebt daarvoor.

Praktisch gezien heb je genoeg aan de Windows SDK en de commandoprompt, maar dat is voor complexere projecten nogal onhandig
Titel: Re: Visual Studio community 2015: VB.NET : compoort aansturen
Bericht door: jowi op 05 September 2016, 22:02:45
Huh? Uit welk tijdperk kom jij? ;D raar verhaal, en zeker niet simpel... eerder bizar complex wat  je voorstelt.

Gewoon de exe builden vanuit de IDE. Niks sharpdevelop en cmd prompts...
En dat kon ook al gewoon in VB6.
Titel: Re: Visual Studio community 2015: VB.NET : compoort aansturen
Bericht door: ivanzon op 05 September 2016, 22:50:39
Hierboven beweert iemand dat hij geen release build kon maken... Dus vandaar de suggestie.

En commando regel builds is wel degelijk een deel van het officiële cursus materiaal. Maar misschien is dat er nu uitgehaald...

Ik heb het in het verleden een paar keer moeten doen...