Imports IobManComm Public Class Form1 Protected rwd As RedisWatchDog Protected count As Integer Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick ' preparo update sul canale di comunicazione Dim adesso As Date = Date.Now Dim currStatus As New IobWinStatus currStatus = rwd.iobStatus ' aggiorno valori, ad esempio IN da macchina, OUT verso macchina? last update = ultima comunicazione? currStatus.lastDataIn = adesso.AddSeconds(-3) currStatus.lastDataOut = adesso.AddSeconds(-2) currStatus.lastUpdate = adesso currStatus.online = chkOnline.Checked ' note libere x indicare ultimo task? currStatus.freeNotes = $"Conteggio: {count}" ' salvo e invio rwd.iobStatus = currStatus count = count + 1 End Sub Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load ' avvio i componenti... ' tipicamente è il primo arg con cui sia vvia il sw Dim codIob As String = "demo_conf" txtConf.Text = codIob + ".ini" ' valori da recuperare da ini... che dovranno corrispondere nel programma che fa partire il sw Dim tipoIob As String = "SERIAL" Dim appName As String = "CVSER" ' 14 è normalmente libero... valori ammessi 0..15) Dim redisDb As Integer = 14 ' periodo minimo x considerare il dato variato da parte del server Dim minSecDelta As Integer = 1 Dim adesso As Date = Date.Now '' preparo oggetto x gestione WathDog rwd = New RedisWatchDog(codIob, tipoIob, appName, redisDb, minSecDelta) Dim currStatus As New IobWinStatus currStatus = rwd.iobStatus currStatus.freeNotes = "starting" currStatus.online = False ' salvo e invio rwd.iobStatus = currStatus ' avvio il timer Timer1.Start() End Sub End Class