Realtime Werte mit ADS-Protokol

td97

Level-1
Beiträge
3
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich übergebe mit Hilfe eines ADS Befehls einen von mir ermittelten Messwert an mein VB Programm.Im Moment bekomme Ich meinen Messwert nur angezeigt ,wenn ich einen Schalter betätige.Ich möchte diesen aber immer angezeigt bekommen, sobald er sich ändert.Habe unten mein Programm stehen wer kann mir sagen wie ich es anpassen kann?
Public Class Form1
Dim hSwitch As Long
Dim hVar As Integer

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call AxAdsOcx1.AdsCreateVarHandle("Main.Start_Messung", hSwitch)
Call AxAdsOcx1.AdsCreateVarHandle("MAIN.Vakuum", hVar)
End Sub
Private Sub Form_Unload(ByVal Cancel As Integer)
Call AxAdsOcx1.AdsDeleteVarHandle(hSwitch)
Call AxAdsOcx1.AdsDeleteVarHandle(hVar)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Start_Messung As Boolean
Dim VBVar As Integer
'SPS-Variable switch auf TRUE setzen
Start_Messung = True
Call AxAdsOcx1.AdsSyncWriteBoolVarReq(hSwitch, 2&, Start_Messung)
Call AxAdsOcx1.AdsSyncReadIntegerVarReq(hVar, 4&, VBVar)
Label1.Text = VBVar
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim Start_Messung As Boolean
'SPS-Variable switch auf False setzen
Start_Messung = False
Call AxAdsOcx1.AdsSyncWriteBoolVarReq(hSwitch, 2&, Start_Messung)
End Sub

End Class
 
Hmm... in der DotNet Komponente gibt es Notifications, die dir automatisch bei Änderungen immer den aktuellsten Wert senden, jedoch hab ich diese Funktion nicht für AdsOcx gefunden.

Dann musst du wohl einen Timer benutzen, der zyklisch einen ReadBefehl macht.
 
Zurück
Oben