Valid Values


 

Grundlagen

Valid Values legen zulässige Werte bzw. Wertebereiche fest, die für das IUT im Test verwendet werden sollen. Damit wird vermieden, dass ein IUT mit unrealistischen (praxisfremden) Werten, die das Gerät nicht verarbeiten kann oder soll, getestet wird.

Praxisbeispiel: Verarbeitet ein IUT z.B. Werte die 0…100% abbilden sollen (Füllstände, Ladezustand etc.), dann werden die Valid Values auf 0…100 festgelegt.

Festlegen der Valid Values

Die Valid Values werden in einem Pythonscript definiert. BTF liefert bereits ein solches Beispiel im Ordner der BTF-Installation mit:

…Documentation\SampleScripts\script_templates\ValidValues.py

 

Inhalt des Templates:

# /usr/bin/python
# -*- coding: iso-8859-1 -*-
#
#        BTF
# BacnetTestFramework
#
# BTF Version 23.1.0.42
#
# Samplescript
#
# This sample script is provided to give a startpoint
# for development of BTF related scripts.
#
#
# Copyright MBS GmbH
#
#---------------------------------------------------------------------------
def modify_valid_values(propFeatures, Restrictions):
    if not isinstance(propFeatures, dict) or not isinstance(Restrictions, dict):
        raise BacTestInitError('Invalid datatype passed to function modify_valid_values(), argument is not a dictionary') 

    # list of ValidValues to be modified
    # important: all objects and properties must exist in the IUTs EPICS! 

    # SCHED, 0, Exception_Schedule
    propFeatures[(17, 0, 38)]['ValidValues'] = ['{}'] 

    # SCHED, 4711, Weekly_Schedule
    propFeatures[(17, 4711, 38)]['ValidValues'] = ['((),(),(),(),(),(),())'] 

    # setting Reliability for each single object
    # AV, 0, Reliability
    propFeatures[(2, 0, 103)]['ValidValues'] = ['0'] 

    # BV, 0, Reliability
    propFeatures[(5, 0, 103)]['ValidValues'] = ['0'] 

    # BV, 1, Reliability
    propFeatures[(5, 1, 103)]['ValidValues'] = ['0'] 

    # setting Reliability once for all objects containing this property
    for a in propFeatures:
        if a[2] == 103:
            propFeatures[a]['ValidValues'] = ['0'] 

    # setting a list of values to Reliability
    # BV, 1, Reliability
    propFeatures[(5, 1, 103)]['ValidValues'] = ['0','1','2','3']

 

Zuweisen des Skripts zum Projekt

In [Projekteigenschaften] [Daten] wird das vorher an das IUT angepasste Valid-Values-Skript dem Projekt zugewiesen.

Mit [] erfolgt die Auswahl des Skriptes.

Mit [v] Valid-Values-Skript verwenden die Aktivierung des Skripts.

 
 

Hinweis

Werte Festlegungen können auch durch editieren in den EPICS erfolgen, allerdings nur für numerische Werte, Minima und Maxima.