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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| Imports System.Timers
Imports ABW_IO_Manager
Module Module1
'Cycle
Private CurrentCycle As BaseCycle = New CurrentCycle
Private ExecutionTimer As Timer
'InputReader / OutputWriter
Dim IOManager As IOManager = IOManager.GetInstance()
Sub Main()
Try
'Init IO
IOManager.InitInputs(CurrentCycle.FirstInput, CurrentCycle.LastInput)
IOManager.InitOutputs(CurrentCycle.FirstOutput, CurrentCycle.LastOutput)
'Init Cycle
CurrentCycle.Inputs = IOManager.Inputs
CurrentCycle.Outputs = IOManager.Outputs
CurrentCycle.Init()
'Init timer
ExecutionTimer = New Timer(1)
AddHandler ExecutionTimer.Elapsed, AddressOf Execute
'Start timer
ExecutionTimer.Enabled = True
'Stop
Console.WriteLine("Please Press any key to continue!")
Console.ReadKey()
'Deinit cycle
CurrentCycle.Deinit()
Threading.Thread.Sleep(100)
'Stop timer
ExecutionTimer.Enabled = False
Catch ex As Exception
Console.WriteLine(ex.Message)
Console.WriteLine("Please Press any key to continue!")
Console.ReadKey()
End Try
End Sub
Sub Execute()
Try
IOManager.ReadInputs()
CurrentCycle.Execute()
IOManager.WriteOutputs()
Catch ex As Exception
Console.WriteLine(ex.Message)
End Try
End Sub
End Module |