Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: Procesy ??? równoległość
zibi




Typ: neutral
Postów: 13
Zarejestrowany: Nov 2004
Procesy ??? równoległość

Witajcie interesuje mnie takie temat
mam program do sterowania dwoma silnikami krokowymi
z lpt1 i drugi lpt2
sterowanie silnika krokowego polega na bardzo szybkim przełączaniu cewek silnika tz podawaniu na port impulsów
jak zrobiłem sterowanie jednego silnika wszystko było ok
jak zacząłem sterować dwoma silnikamito problem
kod wykonywał listing do pierwszego silnika i po jego zakończeniu dopiero sterował drugim
a mi zależy na sterowaniu jednoczesnym
co zrobić można wyzwolić niezależne dwa procesy
coś w rodzaju równoległości ???

Private Sub Command1_Click()

ile1 = Text4.Text 'podajemy ile obrotów silnika 1
ile1 = ile1 * 4
kier1 = Text3.Text ' kierunek silnika 1 , 1 prawo 0 lewo

zz
ile = Text2.Text parametry silnika 2
ile = ile * 4
kier = Text1.Text
xx

End Sub


Private Sub Form_Load()
PortAddress = &H378 'dwa porty
PortAddress1 = &H3BC
stan = 0
tempo = 1
krok = 0
Out PortAddress, 0
j = 0
End Sub

Private Sub step()
' system sterowania pełno krokowy silń 1
        If krok = 1 Then
            Out PortAddress, 10 '10 10
        End If
        If krok = 2 Then
            Out PortAddress, 6 '9 6
        End If
        If krok = 3 Then
            Out PortAddress, 5 '5 5
        End If
        If krok = 4 Then
            Out PortAddress, 9 '6 9
        End If
Sleep tempo
End Sub


Private Sub step1() 'silnik 2
' system sterowania pełno krokowy
        If krok1 = 1 Then
            Out PortAddress1, 10 '10 10
        End If
        If krok1 = 2 Then
            Out PortAddress1, 6 '9 6
        End If
        If krok1 = 3 Then
            Out PortAddress1, 5 '5 5
        End If
        If krok1 = 4 Then
            Out PortAddress1, 9 '6 9
        End If
Sleep tempo1
End Sub


Private Sub Form_Unload(Cancel As Integer)
Out PortAddress, 0 'wyłączenie silnika
Out PortAddress1, 0

End
End Sub

Private Sub xx()

j = 0

Label1 = (sldtempo.Value)
tempo = sldtempo.Value
 
If kier = 1 Then  ' gdy prawo silnik1
        While j <> ile
        j = j + 1
        krok = krok + 1
        If krok = 5 Then
        krok = 1
        End If
        step 'wykonanie kroku
    Wend
    If j = ile Then
    j = 0
    End If
   
    End If
   
   
        If kier = 0 Then  'gdy lewo silnik1
            While j <> ile
              j = j + 1
            krok = krok - 1
            If krok < 1 Then
                krok = 4
            End If
        step 'wykonanie kroku
        Wend
       
        If j = ile Then
    j = 0
    End If
        End If
        DoEvents
  ' Loop
End Sub




Private Sub zz()

jj = 0
Label2 = (sldtempo1.Value)
tempo1 = sldtempo1.Value
   
If kier1 = 1 Then  ' sprawdzamy stan przełączania
        While jj <> ile1
        jj = jj + 1
        krok1 = krok1 + 1
        If krok1 = 5 Then
        krok1 = 1
        End If
        step1 'wykonanie kroku
    Wend
    If j = ile Then
    j = 0
    End If
   
    End If
   
 
        If kier1 = 0 Then  ' sprawdzamy stan przełączania
            While j <> ile
              j = j + 1
            krok1 = krok1 - 1
            If krok1 < 1 Then
                krok1 = 4
            End If
        step1 'wykonanie kroku
        Wend
       
        If jj = ile1 Then
    jj = 0
    End If
        End If
        DoEvents
  ' Loop
End Sub

22-12-2004 22:05
Pokaż profil zibi  Wyślij email do zibi   
karolinavb




Typ: neutral
Postów: 468
Zarejestrowany: Jan 2003

Proszę może wykorzystać koncepcję  serwera  COM  ActiveX.exe  (ActiveX EXE Component - out-of-process component).

Przykład tworzenia ("u samego źródła" ):

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon98/html/vbconcreatingoleserver.asp

"Topiki" na tej stronie prowadzą krok po kroku.

VB zawiera 3 przykładowe projekty, chyba musisz je prześledzić

Coffee2.vbp, CoffWat2.vbp, MTCoffee.vbp

[Post edytowany dnia 23-12-2004 00:14 przez karolinavb]


_____________________________________________
Karolina

22-12-2004 23:21
Pokaż profil karolinavb  Wyślij email do karolinavb   
Wszystkich odpowiedzi: 1 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1