03.05.2016, 13:47   
(Dieser Beitrag wurde zuletzt bearbeitet: 03.05.2016 14:59  von LazyCompany.)
				 
				
  Beitrag #1 
			 | 
		 
		
		
			
                                 
					
                                                 
				
                    
                     
                            
 
 
                       
                            LazyCompany 
 
 
                            
                                LVF-Grünschnabel 
                                  
                                
  
                            
                            
	Beiträge: 17 
	Registriert seit: Apr 2016
	
 
 
2014 
- 
EN 
 
70771 
Deutschland 
			 | 
                              
Wert aus Array für Case Selection 
				
					Hallo Zusammen! 
Ich mal wieder, mit folgendem Problem:
 
Es liegen mir serielle Messages in ein 1D-Array Byteweise vor. Die Message hat den  
Aufbau: Startkennung-Länge-Kanal-Daten-Endkennung.
 
Ich möchte aus dem seriellen Strom meine Daten herausfiltern. Kann ich eine Case Structure so programmieren das sie auf die Startkennung wartet und alles was dann bis zur Endkennung kommt in ein seperates Array speichert? Vorallem....WIE?   
Jede Idee ist willkommen   
Viele liebe Grüße, Lazy
				  
				
				
				
				
				 
			 | 
                              
                 
				
 | 
		 
		
			| 
				
			 | 
		 
	
 
	
		
			| 
				 
					03.05.2016, 13:55  
				 
				
  Beitrag #2 
			 | 
		 
		
		
			| 
                                 
				
 | 
		 
		
			| 
				
			 | 
		 
	
 
	
		
			
				
					03.05.2016, 14:03   
(Dieser Beitrag wurde zuletzt bearbeitet: 03.05.2016 14:11  von LazyCompany.)
				 
				
  Beitrag #3 
			 | 
		 
		
		
			
                                 
					
                                                 
				
                    
                     
                            
 
 
                       
                            LazyCompany 
 
 
                            
                                LVF-Grünschnabel 
                                  
                                
  
                            
                            
	Beiträge: 17 
	Registriert seit: Apr 2016
	
 
 
2014 
- 
EN 
 
70771 
Deutschland 
			 | 
                              
RE: Wert aus Array für Case Selection 
				
					Ich habe zwar ein 1D Array of unsigned Int8 aber ich glaub das is auch kein Streß das einfach in String umzuwandeln. Ich probiers mal aus   
Danke für deinen Vorschlag Freddy aber das wird wohl so leider nicht funktionieren. Ich bekomme die Daten Byte für Byte als Queue Stream Just-in-Time und das soll dan so gehen: 
"Wenn Startkennung kommt, schreibe alles danach in Array bis Endkennung kommt" - Auch hierzu einen Vorschlag? oO
				  
				
				
				
				
				 
			 | 
                              
                 
				
 | 
		 
		
			| 
				
			 | 
		 
	
 
	
		
			| 
				 
					03.05.2016, 14:31  
				 
				
  Beitrag #4 
			 | 
		 
		
		
			| 
                                 
				
 | 
		 
		
			| 
				
			 | 
		 
	
 
	
		
			| 
				 
					03.05.2016, 14:59  
				 
				
  Beitrag #5 
			 | 
		 
		
		
			
                                 
					
                                                 
				
                    
                     
                            
 
 
                       
                            LazyCompany 
 
 
                            
                                LVF-Grünschnabel 
                                  
                                
  
                            
                            
	Beiträge: 17 
	Registriert seit: Apr 2016
	
 
 
2014 
- 
EN 
 
70771 
Deutschland 
			 | 
                              
RE: Wert aus Array für Case Selection 
				 
					Start is 02 und Ende is 03 
Hier werden zwei Kanäle nacheinander geschickt, das ganze bisher mit 3k Samples/second. 
       
02 1C 01 2F 81 2D 81 03 02 1C 02 2A 81 21 81 03
				 
				
				
				
				
				 
			 | 
                              
                 
				
 | 
		 
		
			| 
				
			 | 
		 
	
 
	
		
			| 
				 
					03.05.2016, 15:12  
				 
				
  Beitrag #6 
			 | 
		 
		
		
			
                                 
					
                                                 
				
                    
                     
                            
 
 
                       
                            jg 
 
 
                            
                                CLA & CLED 
                                
                                
 
  
                            
                            
	Beiträge: 15.864 
	Registriert seit: Jun 2005
	
 
 
20xx / 8.x 
1999 
EN 
 
Franken... 
Deutschland 
			 | 
                              
RE: Wert aus Array für Case Selection 
				 
					Schon mal schlecht, das das Anfangszeichen 0x02 auch Teil der Daten sein kann. Vermutlich wird das deshalb auch beim Endezeichen 0x03 so sein. 
Gut ist, dass ein Datenblock offenbar immer dieselbe Länge von 8 Zeichen hat. 
 
Ich würde deshalb so vorgehen: 
- Im Datenstrom nach einer Abfolge 0x03 0x02 suchen. 
- Wenn gefunden, dann testen, ob 8 Zeichen später wieder die Abfolge 0x03 0x02 vorkommt. 
- Die Wahrscheinlichkeit, dass du jetzt korrekt auf den Datenstrom synchronisiert bist, ist recht hoch. 
- Ab jetzt immer 8 Zeichen zusammenfassen und auswerten. Natürlich jeweils überprüfen, ob Anfang- und Endezeichen stimmen, falls nicht, wieder von vorne anfangen. 
 
Gruß, Jens
				 
				
				
 
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci) 
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
 
Einführende Links zu LabVIEW, s.  GerdWs Signatur.  
 
				
				
				 
			 | 
                              
                 
				
 
 
				 
 | 
		 
		
			| 
				
			 | 
		 
	
 
	
		
			| 
				 
					03.05.2016, 15:17  
				 
				
  Beitrag #7 
			 | 
		 
		
		
			
                                 
					
                                                 
				
                    
                     
                            
 
 
                       
                            LazyCompany 
 
 
                            
                                LVF-Grünschnabel 
                                  
                                
  
                            
                            
	Beiträge: 17 
	Registriert seit: Apr 2016
	
 
 
2014 
- 
EN 
 
70771 
Deutschland 
			 | 
                              
RE: Wert aus Array für Case Selection 
				
					Hi Jens!  
Schonmal danke für die Antwort.
 Zitat:Schon mal schlecht, das das Anfangszeichen 0x02 auch Teil der Daten sein kann. Vermutlich wird das deshalb auch beim Endezeichen 0x03 so sein. 
Deshalb gebe ich ja nach 0x02 die Länge der Daten an inkl. der Start- und Endkennung   
Danke für deinen Input, der ist wirklich gut, die Frage ist eben nur: Wie kann ich diese Überprüfung implementieren?
 
Gruß, Lazy
				  
				
				
				
				
				 
			 | 
                              
                 
				
 | 
		 
		
			| 
				
			 | 
		 
	
 
	
		
			| 
				 
					03.05.2016, 15:25  
				 
				
  Beitrag #8 
			 | 
		 
		
		
			
                                 
					
                                                 
				
                    
                     
                            
 
 
                       
                            jg 
 
 
                            
                                CLA & CLED 
                                
                                
 
  
                            
                            
	Beiträge: 15.864 
	Registriert seit: Jun 2005
	
 
 
20xx / 8.x 
1999 
EN 
 
Franken... 
Deutschland 
			 | 
                              
RE: Wert aus Array für Case Selection 
				
					 (03.05.2016 15:17 )LazyCompany schrieb:  Deshalb gebe ich ja nach 0x02 die Länge der Daten an inkl. der Start- und Endkennung   
Dann ist dein Bsp nicht "real", 0x1C = 28, nicht 8.   
Wer hat sich dieses Binär-Protokoll einfallen lassen, bei der Start- und Endezeichen im Datenstream vorkommen können?   
Gruß, Jens
				  
				
				
 
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci) 
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
 
Einführende Links zu LabVIEW, s.  GerdWs Signatur.  
 
				
				
				 
			 | 
                              
                 
				
 | 
		 
		
			| 
				
			 | 
		 
	
 
	
		
			
				
					03.05.2016, 15:28   
(Dieser Beitrag wurde zuletzt bearbeitet: 03.05.2016 15:34  von Freddy.)
				 
				
  Beitrag #9 
			 | 
		 
		
		
			| 
                                 
				
 | 
		 
		
			| 
				
			 | 
		 
	
 
	
		
			| 
				 
					03.05.2016, 16:17  
				 
				
			 | 
		 
		
		
			
                                 
					
                                                 
				
                    
                     
                            
 
 
                       
                            LazyCompany 
 
 
                            
                                LVF-Grünschnabel 
                                  
                                
  
                            
                            
	Beiträge: 17 
	Registriert seit: Apr 2016
	
 
 
2014 
- 
EN 
 
70771 
Deutschland 
			 | 
                              
RE: Wert aus Array für Case Selection 
				
					Ich werde das mal ausprobieren    sieht schonmal ganz gut aus   
Ich nehme mal an wenn ich jetzt die Längenangabe ausm Protokollm mit einbeziehen will brauch ich nochmal nen Case und muss die Position 0x02 +1 anschauen und mir daraus ein Array aufbauen mit Kontrolle ob am Ende 0x03?   
				 
				
				
				
				
				 
			 | 
                              
                 
				
 | 
		 
		
			| 
				
			 | 
		 
	
 
 |  |