Chirurgia cranio-cerebrală minim invazivă
Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne. Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale. www.neurohope.ro |
VB si RS232
Last Updated: Jun 21 2010 16:44, Started by
Wingyfeather
, Jun 18 2010 17:52
·
0
#1
Posted 18 June 2010 - 17:52
Buna
sunt student in sesiune si am de facut un proiect in care tre sa afisez turatia unui motor reglata d un regulator pid.Proiectul il fac cu un coleg..el s-a ocupat d partea hardware eu tre sa fac softul. Ca sa pot face graficul in timp real a turatiei reglate am folosit ( la cerintele profesorului) visual basic. Sunt cam incepator si m-ar interesa care e comanda unui buton pentru a trimite controllerului o informatie Mai exact - am un buton de start si cand apas p el vreau sa trimit controllerului comanda care sa imi porneasca motorul -un alt buton de stop care sa imi opreasca motorul , mentionez ca valorile trimise sunt p 8 biti...hexadecimal Private Sub BaudRate_Click() If FormLoaded Then With MSComm1 .Settings = BaudRate.Text + ",N,8,1" End With End If End Sub Private Sub Start_Click() If FormLoaded Then MSComm1.Output = Chr$(1) ' aici cum as putea sa trimit 0x5B End If End Sub Private Sub Stop_Click() If FormLoaded Then MSComm1.Output = 0x5A End If End Sub |
#2
Posted 18 June 2010 - 23:13
MSComm1.Output = Chr$(&H5B)' Asta daca nu stii cum se specifica in hexa (pui &H in fata reprezentarii hexa). |
#3
Posted 19 June 2010 - 14:17
ahaa..ma gandeam ca si asta ar fi o forma..desi cam greu cu declararea in vb
static const BYTE baEnableScan[ 1] = {0x5A}; |
#4
Posted 19 June 2010 - 14:49
si daca as avea un buton pentru a mari turatia motorului..."+"..cand apas vreau sa transmit un semnal controllerului ..pot scrie astfel codul ?
Private Sub TurPlus_Click() 'butonul de "+" If FormLoaded Then IntValue = Val(ComboValues.Text) IntValue = IntValue + 1 MSComm1.Output = Chr$(IntValue) End If ma intereseaza daca exista o alta forma d scriere a codului..gen " If "apasa buton " atunci mareste turatia decat If "incarca formular" atunci modiufica turatia " |
#5
Posted 19 June 2010 - 14:52
Ce treaba are formularul aici? E clar ca nu poti apasa pe buton cat timp nu ai form'ul incarcat.
Private Sub TurPlus_Click() MSComm1.Output = Chr(Val(ComboValues.Text)+1) End SubNu e suficient? Edited by dani.user, 19 June 2010 - 14:52. |
#6
Posted 19 June 2010 - 21:05
dani.user, on 19th June 2010, 15:52, said: Ce treaba are formularul aici? E clar ca nu poti apasa pe buton cat timp nu ai form'ul incarcat. Private Sub TurPlus_Click() MSComm1.Output = Chr(Val(ComboValues.Text)+1) End SubNu e suficient? Ai dreptate..ma luase valul mai am intrebari... pentru butonul d pornire ..start...trimit semnal controllerului apoi acesta asteapta o valoare de turatie. am un combo box cu turatia si un buton de start..vreau sa fac in asha fel incat: - ar trebui facut o chestie, ca atunci cand dau start sa nu ia in considerare alte butoane, ci sa ia doar valorile de turatie din casuta pentru ca asa cum e acum, daca apas start si pe urma stop, o sa imi seteze turatia ca fiind valoarea butonului de stop adica 0x5B |
#7
Posted 19 June 2010 - 22:05
buun.. si butonul de stop cand trebuie luat in considerare? 0x5B nu era start? sau poate dupa comanda de start trebuie trimisa imediat comanda de schimbare a turatiei?
|
#8
Posted 19 June 2010 - 22:41
#9
Posted 19 June 2010 - 23:36
pai cand apesi pe butonul ala in event handler-ul aferent, trimiti doua comenzi una dupa alta, ori independente ori le concatenezi (mscomm-ul accepta un string).
ceva in genul: MSComm1.Output = Chr(&H5B) & Chr(Val(ComboValues.Text))' sau ce combo ai tu acolo pentru viteza |
#10
Posted 20 June 2010 - 00:08
yey..da. ..scrisesem si eu cv asemanator intre timp
Next question: Cum afisez datele c vin pe serial port ? fiindca motorasul se cam opreste la turatia 20 daca dau cu "+"..o turatie mai amre introdusa merge... ASta e codul pentru comanda Public Sub MSComm1_OnComm() Buffer = "" If MSComm1.CommEvent = comEvReceive Then Buffer = Left(MSComm1.Input, 1) If Buffer <> "" And LastValue <> Buffer Then value = Asc(Buffer) Tur.Text = Str(value) LastValue = Buffer Form1.Refresh End If End If End Sub Preferabil..as vrea sa afisez undeva...ce imi recoamndati sa fac un camp d text..sau sa afisez ca mesaj datele ? si cum sa fac asta ? Va multumesc pana acum..raspunsurile voastre chiar m-au ajutat |
|
#11
Posted 20 June 2010 - 14:01
vezi ca textboxul are o proprietate multiline pe care o setezi pe true si o proprietate scrollbars pe care o pui pe vertical, dupa care redimensionezi acel textbox cat ai tu nevoie.
In timpul rularii cele doua proprietati sunt read-only deci va trebui sa le setezi valoarea in design-time. apoi in cod pui ceva de genul Tur.SelText = Str(value) & vbCrLf astfel fiecare caracter primit pe seriala va fi afisat in acel textbox pe un singur rand. |
#12
Posted 21 June 2010 - 14:53
Foarte tare !
Cum se rezolva aplicarea de butoane de maximize si minimize la form ? ...ca am incercat acest lucru (pura curiozitate) si nu mi-a iesit sa le adaug la bara d titlu. |
#13
Posted 21 June 2010 - 16:44
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users