Hi all,
I have a major problem with my Flexpendant program (version 5.07)
My program has a timer_tick event of every 1 sec. Every 1 sec it is calling a subroutine that makes connection with the controller, get/write some data, dispose it etc. I’ve also read the disposing on the user forum and i dispose the rapid data before the controller.
My problem is that every minute the memory of the FP is dropping about 100KB. The available memory is about 23MB, so after a while the FP restarts itself. There’s no memory leaking problem message showing. The code is as follows.
Dim AController As Controller 'connect with robot controller
Dim ARapid As Rapid 'connect with rapiddata
Dim rbt_rdPickpoint As RapidData ’ Temp data
Dim rbt_rdtPickpoint As RapidDataType ’ Temp data Type
Dim rbt_udPickpoint(1) As UserDefined ’ Userdefined structure
Dim rbt_rdPattern As RapidData ’ Temp data
Dim rbt_rdtPattern As RapidDataType ’ Temp data Type
Dim rbt_udPattern(1) As UserDefined ’ Userdefined structure
AController = New Controller ’ assign new class controller
ARapid = AController.Rapid ’ assign new class rapid data
’ – read data,
rbt_rdPickpoint = ARapid.GetRapidData(“MAINTASK”, “GLOBAL”, “Pickpoint”) ’ Get data
rbt_rdtPickpoint = ARapid.GetRapidDataType(“MAINTASK”, “GLOBAL”, “tPickpoint”) ’ Get data structure
rbt_Pickpoint(1) = New tPickpoint(rbt_rdtPickpoint) 'define new tmp structure, 1ste pp
rbt_Pickpoint(1).FillFromString((DirectCast(rbt_rdPickpoint.ReadItem(1), UserDefined)).ToString()) ’ set data in the right var
rbt_udPickpoint(1) = DirectCast(rbt_rdPickpoint.ReadItem(1), UserDefined)
rbt_rdPattern = ARapid.GetRapidData(“MAINTASK”, “GLOBAL”, “Pattern”) ’ Get data
rbt_rdtPattern = ARapid.GetRapidDataType(“MAINTASK”, “GLOBAL”, “tPattern”) ’ Get data structure
rbt_Pattern(1) = New tPattern(rbt_rdtPattern) 'define new tmp structure
rbt_udPattern(1) = DirectCast(rbt_rdPattern.ReadItem(1), UserDefined)
rbt_Pattern(1).FillFromString((DirectCast(rbt_rdPattern.ReadItem(1), UserDefined)).ToString()) ’ set data in the right var
’ Pickpoint
If Not rbt_rdPickpoint Is Nothing Then
rbt_rdPickpoint.Dispose()
rbt_rdPickpoint = Nothing
End If
If Not rbt_rdtPickpoint Is Nothing Then
rbt_rdtPickpoint.Dispose()
rbt_rdtPickpoint = Nothing
End If
’ Pattern
If Not rbt_rdPattern Is Nothing Then
rbt_rdPattern.Dispose()
rbt_rdPattern = Nothing
End If
If Not rbt_rdtPattern Is Nothing Then
rbt_rdtPattern.Dispose()
rbt_rdtPattern = Nothing
End If
If Not ARapid Is Nothing Then
ARapid.Dispose()
ARapid = Nothing
End If
’ dispose variables
If Not AController Is Nothing Then
AController.Dispose()
AController = Nothing
End If
Is there something wrong with my code or with RAB5.07. Can anyone help me?