muss ein Pythonskript bei ControlDesk NG Ausführen. Muss erst eine Excell-Tabelle mit variablename und wert erstellen und in meinen Skript aufrufen. Wie folgt datei = "Value.csv".
Es muss auch ein Event für die Variable , die ich ändert will konfuguiert werden (in Layout).
Ich habe einen MatlabModel und will den Parameter Zeitschritt [Name:dSPACE StaticText Control_3/ Wert: dSPACE NumericInput Control] Hilfe meines Skriptes ändert.
Ich weiße leider nicht genau , was in meinen Skript geschrieben wird.
Habe vorher gar nichts zu tun mit Python , versuch einfach aus internet zu lesen.
Hat jemand schon sowas gemacht?
Ich brauche bitte Hilfe, ich habe bis jetzt keinen gefunden, der mir helfen kann.
Hier was ich geschrieben habe, aber scheint nicht logich.
Code: Alles auswählen
#import com_error
#import cdautomationlib
#import tempfile
#import os
#import exceptions
#import string
datei = "Value.csv"
namen = [] #parameter-Namen werden hier geschrieben
zahlenwerte = [] #Zahllenwerte werden hier geschrieben
liste = [] #eine liste wird erstellt
liste.append('Zeitschritt [s]') # parameter werden Hinzugefügt
index1 = liste.index('Zeitschritt [s]') # variablenzuweisung
obj = open(datei,"r") #CSV-datei wird geöffnet r =read(lesen)
for zeile in obj: #for-schleife für jede einzelne zeile in Dateiobjekt
zeile = zeile.rstrip("\n") #rstrip, gib eine Kopie der Zeile ohne(nächste Zeile) zurück
i = 0
while i < len(liste):
if liste[i] in zeile: # falls vorhanden wird folgende ausgeführt
teile = zeile.split(';') #die zeile wird geteilt mittels ";" 'linken=Name mit Einheit', 'rechten=zahlenwert'
namen.append(str(teile[0])) #link stehen namen mit Einheit
zahlenwerte.append(float(teile[1])) # recht stehen zahlenwerte
i = i+1
obj.close() # deteiObjet mit der methode "close()"schliessen
a = Application.ActiveProject.ActiveExperiment.Platforms.Item('ds1006')
b = a.ActiveVariableDescription.DataSets.WorkingDataSet.Parameter.Item('Model Root/Timestep/Value')
indexb = namen.index(liste[index1])
b.Value = zahlenwerte[indexb]