| 
	
		
			| 
					23.10.2013, 10:29  (Dieser Beitrag wurde zuletzt bearbeitet: 23.10.2013 10:30  von rc.) |  
			|  |  
			|  |  
	
		
			| 
					23.10.2013, 10:31  
				 |  
			| 
					
                                                 |   GerdW
   ______________
 
   
 Beiträge: 17.529
 Registriert seit: May 2009
 
 LV2019 (LV2021)
 1995
 DE_EN
 
 10×××
 Deutschland
 
 | RE: Massflowcontroller steuern und bei Bedarf Rampenfahren 
					Hallo rc,
 ich hatte schon ein paar Beiträge vorher angemerkt, dass man ArrayToCluster richtig parametrieren muss. Liest du auch, was ich schreibe? Liest du die Kontexthilfe zur jeweiligen Funktion?
 
 
				
				 |  |  
			|  |  
	
		
			| 
					23.10.2013, 10:44  
				 |  
			| 
					
                                                 | rc
   LVF-Gelegenheitsschreiber
 
   
 
 Beiträge: 149
 Registriert seit: Jul 2013
 
 2011, 2012
 -
 DE_EN
 
 
 Deutschland
 
 | RE: Massflowcontroller steuern und bei Bedarf Rampenfahren 
					Hallo Gerd,
 ja hattest du im Beitrag #46 schon: Dann solltest du doch 3 Werte an die FOR-Loop anschließen - und diese auch in der richtigen Reihenfolge! Und dass dann gleich als Array, welches man praktischerweise mit BuildArray erstellt...
 
 Und so habe ich die sollwerte Werte in die For-schleife geführt.
 
 Ich habe jetzt Für die Istwerte einfach Cluster-size von 9 auf 3 geändert. So geht es aber immernoch bekomme ich Error: 14001 oder 14002 also invalid Refnums.
 
				
				 |  |  
			|  |  
	
		
			| 
					24.10.2013, 07:56  
				 |  
			| 
					
                                                 | rc
   LVF-Gelegenheitsschreiber
 
   
 
 Beiträge: 149
 Registriert seit: Jul 2013
 
 2011, 2012
 -
 DE_EN
 
 
 Deutschland
 
 | RE: Massflowcontroller steuern und bei Bedarf Rampenfahren 
					Hallo Gerd, 
ok es hat sich erledigt! Ich kann die istwerte sehen. Ich hätte diese Block ( Programm for 4 Massflowcontroller ) nicht entfernen sollen. Da sind die Referenzen von sp`s und pv`s die man braucht. Vielen Dank für die Hilfe   
Jetzt versuche ich diese Beispiel mit XControl zu verstehen...
				
				
				 |  |  
			|  |  
	
		
			| 
					24.10.2013, 11:15  
				 |  
			| 
					
                                                 | rc
   LVF-Gelegenheitsschreiber
 
   
 
 Beiträge: 149
 Registriert seit: Jul 2013
 
 2011, 2012
 -
 DE_EN
 
 
 Deutschland
 
 | RE: Massflowcontroller steuern und bei Bedarf Rampenfahren 
					Hallo Gerd, Zitat: Der Cluster sollte eigentlich in einem Schieberegister der Statemachine liegen. Dieser Cluster sollte alle relevanten Daten (also auch Schleifenzähler für deine Wiederholungen etc.) enthalten. Als Beispiel dafür kann ich dir das mitgelieferte Grundgerüst für ein XControl empfehlen: auch dort hat man (quasi) eine Statemachine vorliegen, die ihre Daten mit 2 oder Schieberegistern speichert!
 THINK DATAFLOW! (hier mit einem Hauch von Ansatz von OOP...)
 Du hast einen Berg an Daten (Nutzervorgaben, interne Ist-Zustände). Diese liegen in einem Cluster vor, der in einem Schieberegister gespeichert wird. Der jeweilige State kann sich die ihn interessierenden Werte aus dem Cluster lesen und sollte die ihn betreffenden Werte aktualisieren, bevor der Cluster wieder im Schieberegister gespeichert wird...
 
Also mit MFC`s zu kommunizieren und die sp- änderungen klappen soweit. 
 Verstehe ich jetzt richtig? Ich kann alle User vorgaben ( sie sp`s für die MFC`s, Anzahl der Rampenfahreten, O2-Änderungsgeschwindigkeit und O2-Rückschrittwert) in ein Cluster packen oder je nach der Anwendung in verschiedenen Cluster und dann ins Shift-Register? Kann ich dann diese Xcontrol zu meinem Programm ( mit alle anderen SubVI`s) implementieren? Oder erstellt man da ein neues xControl?
				
				
				 |  
    |  
			|  |  
	
		
			| 
					24.10.2013, 11:38  
				 |  
			| 
					
                                                 |   GerdW
   ______________
 
   
 Beiträge: 17.529
 Registriert seit: May 2009
 
 LV2019 (LV2021)
 1995
 DE_EN
 
 10×××
 Deutschland
 
 | RE: Massflowcontroller steuern und bei Bedarf Rampenfahren 
					Hallo rc,
 das XControl war nur als Beispiel für die Nutzung von Clustern in Schieberegistern gedacht, du sollst ein XControl weder nutzen noch selbst programmieren...
 
 Ich persönlich bevorzuge einen großen Cluster, der alle relevanten Daten der Statemachine enthält!
 
 
				
				 |  |  
			|  |  
	
		
			| 
					24.10.2013, 12:48  
				 |  
			| 
					
                                                 | rc
   LVF-Gelegenheitsschreiber
 
   
 
 Beiträge: 149
 Registriert seit: Jul 2013
 
 2011, 2012
 -
 DE_EN
 
 
 Deutschland
 
 | RE: Massflowcontroller steuern und bei Bedarf Rampenfahren 
					Hallo Gerd, 
Achso Ok! 
 Zitat:Wie soll ich da den Ausgang von Select verdrahten ? 
Select erwartet einen Wert für TRUE und FALSE sowie eine boolsche Bedingung. Die Bedingung musst du programmieren, die Werte passend anschließen... 
[/quote]
 
Hierzu ist meine Bedingung die Zündung, die unterhalb des Zustandsautomas mit Hilfe von DAQmx programmiert wurde. Ist das falsch? Und die True, false Werte sind doch die beide Enums, die die Zustände 4 und 5 beschreiben. Ich habe das Gefühl, dass ich bald am Ziel bin aber weiss ich nicht wie ich da weiterprogrammieren soll. Ich bin unendlich dankbar für jede Hilfe
				
				
				 |  |  
			|  |  
	
		
			| 
					24.10.2013, 14:30  
				 |  
			| 
					
                                                 |   GerdW
   ______________
 
   
 Beiträge: 17.529
 Registriert seit: May 2009
 
 LV2019 (LV2021)
 1995
 DE_EN
 
 10×××
 Deutschland
 
 | RE: Massflowcontroller steuern und bei Bedarf Rampenfahren 
					Hallo rc, 
hier mal ein Ausschnitt aus einem meiner Programme:
   
Wichtig ist das obere Schieberegister, welches einen Datencluster enthält. 
Du siehst, wie man neue Werte in den Cluster zurückschreibt: Per Bundle(ByName). 
Rechts oben wird dann noch eine Anzeige auf dem UI aktualisiert. Andere Cases bearbeiten andere Einträge im Cluster auf die gleiche Weise: alten Wert per Unbundle lesen und neuen Wert per Bundle zurückschreiben!
				
 
				
				 |  |  
			|  |  |  |