Exemplo n.º 1
0
 def setValue(self, valueName, valueValue):
     ''' set the variable valueName to valueValue
         @param valueName: name of variable to be set
         @type valueName: string
         @param valueValue: new value
         @type valueValue: any type castable to the type of the variable valueName
     '''
     ScalarVariableReferenceVector = FMUInterface.createfmiReferenceVector(1)
     ScalarVariableReferenceVector[0] = self.description.scalarVariables[valueName].valueReference
     if self.description.scalarVariables[valueName].type.type == 'Real':
         ScalarVariableValueVector = FMUInterface.createfmiRealVector(1)
         ScalarVariableValueVector[0] = float(valueValue)
         self.interface.fmiSetReal(ScalarVariableReferenceVector, ScalarVariableValueVector)
     elif self.description.scalarVariables[valueName].type.type in ['Integer', 'Enumeration']:
         ScalarVariableValueVector = FMUInterface.createfmiIntegerVector(1)
         ScalarVariableValueVector[0] = int(valueValue)
         self.interface.fmiSetInteger(ScalarVariableReferenceVector, ScalarVariableValueVector)
     elif self.description.scalarVariables[valueName].type.type == 'Boolean':
         ScalarVariableValueVector = FMUInterface.createfmiBooleanVector(1)
         if valueValue == "true":
             ScalarVariableValueVector[0] = fmiTrue
         else:
             ScalarVariableValueVector[0] = fmiFalse
         self.interface.fmiSetBoolean(ScalarVariableReferenceVector, ScalarVariableValueVector)
     elif self.description.scalarVariables[valueName].type.type == 'String':
         ScalarVariableValueVector = FMUInterface.createfmiStringVector(1)
         ScalarVariableValueVector[0] = unicode(valueValue)
         self.interface.fmiSetString(ScalarVariableReferenceVector, ScalarVariableValueVector)
Exemplo n.º 2
0
 def setValue(self, valueName, valueValue):
     ''' set the variable valueName to valueValue
         @param valueName: name of variable to be set
         @type valueName: string
         @param valueValue: new value
         @type valueValue: any type castable to the type of the variable valueName
     '''
     ScalarVariableReferenceVector = FMUInterface.createfmiReferenceVector(
         1)
     ScalarVariableReferenceVector[0] = self.description.scalarVariables[
         valueName].valueReference
     if self.description.scalarVariables[valueName].type.type == 'Real':
         ScalarVariableValueVector = FMUInterface.createfmiRealVector(1)
         ScalarVariableValueVector[0] = float(valueValue)
         self.interface.fmiSetReal(ScalarVariableReferenceVector,
                                   ScalarVariableValueVector)
     elif self.description.scalarVariables[valueName].type.type in [
             'Integer', 'Enumeration'
     ]:
         ScalarVariableValueVector = FMUInterface.createfmiIntegerVector(1)
         ScalarVariableValueVector[0] = int(valueValue)
         self.interface.fmiSetInteger(ScalarVariableReferenceVector,
                                      ScalarVariableValueVector)
     elif self.description.scalarVariables[
             valueName].type.type == 'Boolean':
         ScalarVariableValueVector = FMUInterface.createfmiBooleanVector(1)
         if valueValue == "true":
             ScalarVariableValueVector[0] = fmiTrue
         else:
             ScalarVariableValueVector[0] = fmiFalse
         self.interface.fmiSetBoolean(ScalarVariableReferenceVector,
                                      ScalarVariableValueVector)
     elif self.description.scalarVariables[valueName].type.type == 'String':
         ScalarVariableValueVector = FMUInterface.createfmiStringVector(1)
         ScalarVariableValueVector[0] = unicode(valueValue)
         self.interface.fmiSetString(ScalarVariableReferenceVector,
                                     ScalarVariableValueVector)