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.