Access common (part program) variable using API

Hardware: Okuma OSP-P200L
API Version:
How can I read and write the values of common variables?
I found the example code in the help file, but it doesn't explain how to set the current sub system. Also I am confused about the difference between AddCommonVariableValue() and SetCommonVariableValue() Could someone please give a clear example / explanation?

Me.varValue.Text = objVariables.GetCommonVariableValue(CInt(Me.varCommonVarNumber.Text))

objVariables.SetCommonVariableValue(CInt(Me.varCommonVarNumber.Text), Dbl(Me.varValueUpdate.Text))


  • Example (VB.NET):

    Private Sub UpdateCommonVariable(ByVal iIndex As Integer, _
                                     ByVal enSubSystem As Okuma.CLDATAPI.Enumerations.SubSystemEnum)
            ' Assumptions:  iIndex = 1
            ' Current Value of Common Variable 1 is 0
            ' enSubSystem = Okuma.CLDATAPI.Enumerations.SubSystemEnu.NC_AL, 
            '    which is Left Spindle, A-Turret
            ' return Type from a Common Variable is always a Double
            Dim _dCommonVariableValue As Double
            ' declare 
            Dim _cVariables As New Okuma.CLDATAPI.DataAPI.CVariables
            ' this sets the current SubSystem on the cVariable object
            ' and this gets the value currently held by the Common Variable at the 
            ' speicified Index, in the specified SubSystem
            _dCommonVariableValue = _cVariables.GetCommonVariableValue(iIndex)
            ' the return is a Double, with value of 0
            ' these add a specified value to the value already held by the specified 
            '    Common Variable
            _cVariables.AddCommonVariableValue(iIndex, 1.5)
            ' the value at Common Variable 1 += 1.5, or = 1.5
            Dim _addValue As Double = 0.001
            _cVariables.AddCommonVariableValue(iIndex, 0.001)
            ' the value at Common Variable 1 += .001, or = 1.501
            ' SetCommonVariableValue
            _cVariables.SetCommonVariableValue(iIndex, 1.0)
            ' the value at Common Variable 1 is set to 1.0, overriding all 
            '     previous edits 
            Dim _setValue As Double = 12345.001
            _cVariables.SetCommonVariableValue(iIndex, _setValue)
            ' the value at Common Variable 1 is set to 12345.001, overriding all
            '     previous edits
        Catch ex As Exception
        End Try
    End Sub