Archie,
Thanks for your help with this it works perfectly a lot smoother than the timer I stepped up the poll rate just to see response until I get actually running in the next couple of weeks. I posted the complete code for anybody that might use it for reference in the future.
Private lastValue As Single
Private currentValue As Single
Private vesselFillRate As Single
Private Sub DataSubscriber3_DataReturned(sender As Object, e As Drivers.Common.PlcComEventArgs) Handles DataSubscriber3.DataReturned
Me.currentValue = e.values(0)
vesselFillRate = (Me.currentValue - Me.lastValue) * 6
Me.BasicLabel4.Value = vesselFillRate 'This you could change to CInt(vesselFillRate) to get round value
Me.lastValue = Me.currentValue
End Sub
End Class