Een aantal dagen ben ik hier mee aan het rotzooien, ooit es gemaakt op school.
Onder pascal had ik nog een test programma om het io-boxje te testen.
Nu wou ik in visual basic een programma maken die deze io-box kon aansturen.
Het probleem is dat ik in het begin geen reactie had. Na sooj opgezocht te hebben kwam ik dr achter dat je onder NT niet direct de comport kon aan spreke. zo doende andere pc gepakt en win98 drop gezet.
Het programma waar mee de io-box wel werkte is: (onder win2k & 98)
zoals je ziet moet je eerst een adres opgeven. dit is er voor omdat je de iobox kan uitbreiden met meerdere kaarten zodat je 255 kaarten kunt aansturen met 8 in / 8 out gevallen
de data out zorgt ervoor dat er 1 of meerdere relays worden geschakeld.
de code die ik zelf geprobeerd heb in VB:
het rare is, dit probeerde ik voor de mats:
mscomm1.output = chr$(1)
hij reageerde wel, relay 1 3 en 4 schakelde
ik kom dus niet erg verder
Onder pascal had ik nog een test programma om het io-boxje te testen.
Nu wou ik in visual basic een programma maken die deze io-box kon aansturen.
Het probleem is dat ik in het begin geen reactie had. Na sooj opgezocht te hebben kwam ik dr achter dat je onder NT niet direct de comport kon aan spreke. zo doende andere pc gepakt en win98 drop gezet.
Het programma waar mee de io-box wel werkte is: (onder win2k & 98)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| Program IOBOX;
uses Dos{,crt};
var A:Byte; D:Byte;
Begin
Port[$2F9]:=$00;
Port[$2FB]:=$83;
Port[$2F9]:=$00;
Port[$2F8]:=$0C;
Port[$2FB]:=$03;
Repeat
Write('adres: ');
readln(A);
write('data out: ');
readln(D);
Port[$2F8]:=A;
{Delay(1);}
Port[$2F8]:=D;
{Delay(1);}
D:=port[$2F8];
writeln('data in:',D);
writeln;
writeln;
Until(A=0);
end. |
zoals je ziet moet je eerst een adres opgeven. dit is er voor omdat je de iobox kan uitbreiden met meerdere kaarten zodat je 255 kaarten kunt aansturen met 8 in / 8 out gevallen
de data out zorgt ervoor dat er 1 of meerdere relays worden geschakeld.
de code die ik zelf geprobeerd heb in VB:
code:
1
| mscomm1.output = "1" & "123" |
code:
1
2
| mscomm1.output = "1" & vbcrlf mscomm1.output = "123" & vbcrlf |
code:
1
| mscomm1.output = "1" & vbcrlf & "123" & vbcrlf |
het rare is, dit probeerde ik voor de mats:
mscomm1.output = chr$(1)
hij reageerde wel, relay 1 3 en 4 schakelde
ik kom dus niet erg verder
[ Voor 8% gewijzigd door Verwijderd op 28-01-2004 19:57 ]