Opened 12 years ago

Closed 10 years ago

#14 closed Aufgabe (fixed)

CP4002 auf CAN-Com (COM2)

Reported by: Melanie Hermann Owned by: Melanie Hermann
Priority: langfristig Milestone:
Component: Gesamtsystem Version:
Severity: Zu prüfen Keywords:
Cc:

Description

TODO:

  • Applikation muss noch mit original Messwerk getestet werden.
  • Verhalten mit dem alten Controller vergleichen.

Change History (32)

comment:1 by Melanie Hermann, 12 years ago

Priority: mittelfristiglangfristig
Severity: VerbesserungAufgabe

comment:2 by Melanie Hermann, 12 years ago

Priority: langfristigkurzfristig

comment:3 by Melanie Hermann, 12 years ago

  • PGC9000VC wurde in Betrieb genommen
  • Methode wurde aus GC9000-Controller entnommen

comment:4 by Melanie Hermann, 12 years ago

Kommunikation mit Messwerk läuft nicht rund!

Last edited 12 years ago by Melanie Hermann (previous) (diff)

comment:5 by Melanie Hermann, 12 years ago

Änderung:

  • RecvFromCAN(): Sleep(200) eingefügt. > Keine Kommunikationsfehler mehr.

comment:6 by Melanie Hermann, 12 years ago

Änderungen:

  • RecvFromCAN(): Sleep(200) wieder entfernt.
  • Alle TRACES entfernt
  • m_bytesSollRecv (Anzahl Analysendaten) und m_recvTimeoutSec (Receive-Timeout) werden bei CP_START anhand der Runtime aus der Methode berechnet. Denn die Runtime ist variabel und nicht immer fix 70 Sekunden.
// Z.B.: 70Sec * 100Samples * 3Bytes pro Sample * 2Channels = 42000 Bytes
m_bytesSollRecv  = (AnalyseTime * Samples * 3 * 2);	

// Z.B.: 100Sec * 1000mSec + 5000mSec = 105Sec
m_recvTimeoutSec = ((SMethodBlock.sample_time*1000) + 5000);	
  • In ProcessRecvData() werden die Analysendaten auch anhand der empfangenen Anzahl kopiert. Zuvor wurde die Kopierschleife CP_RECEIVE_MAX_LEN mal durchlaufen.

Kommunikation mit Messwerk und Simulation läuft im Moment fehlerfrei!

Last edited 12 years ago by Melanie Hermann (previous) (diff)

comment:7 by Melanie Hermann, 12 years ago

Siehe auch #34.

comment:8 by Melanie Hermann, 12 years ago

CCP4002Prot und CEZChrom sind jetzt Member von CGcCM und nicht mehr von CGcApp.

comment:9 by Melanie Hermann, 12 years ago

TODO:
Woher stammen CAN-OUT Write-Queue Overloads in Diagnose-Log?

comment:10 by Melanie Hermann, 12 years ago

Summary: Mit Messwerk testenKommunikation mit Messwerk testen

comment:11 by Melanie Hermann, 12 years ago

Problem mit Timeouts besteht immer noch.

TODO: Testen mit Testversion des BIOS.

comment:12 by Melanie Hermann, 12 years ago

Nach 5 Tagen Test mit der Testversion des BIOS ist das Timeout aufgetreten.
Die Alarm-LED blinkt im 10 Sekunden Rythmus. Die Warning-LED blinkt nie.
Sieht so aus als würde das BIOS die Sendebefehle von der GC-Applikation erhalten, diese aber nicht über die Schnittstelle nach draußen geben.
Nach ca 1 Stunde ging das Timeout von alleine wieder weg.
08:11:51 04.04.2014 - 09:13:02 04.04.2014

TODO: Stephan muss in BIOS nachschauen!

Last edited 12 years ago by Melanie Hermann (previous) (diff)

comment:13 by Melanie Hermann, 12 years ago

Für Testzwecke RMGBus auf COM1 eingebaut
(allerdings RMGBus-Telegramm deaktiviert, da auf COM1 Debugausgaben von Bios)

Änderungen:

  • mtx_tab.txt: Neue Menüelement RMGBOUT für COM1
  • Bios.h: Definition von BIOS_COM1_RMGBOUT
  • InOut.cpp:
    • WriteCanQueue(): case ComMode_0_RMGBOUT eingebaut, aber return (true) = kein RMGBus-Telegramm
    • FlushCanQueue(): case ComMode_0_RMGBOUT eingebaut
    • ReadCanQueue(): case ComMode_0_RMGBOUT eingebaut
    • SetSerBiosParameter(): case ComMode_0_RMGBOUT eingebaut
    • SetComModeAndParameter(): case ComMode_0_RMGBOUT eingebaut
  • GcApp.h: m_RmgbCanCOM1 definiert
  • GcApp.cpp:
    • CGcApp(): Null-Initialisierung von m_RmgbCanCOM1
    • InitInstance(): Initialisierung von m_RmgbCanCOM1
    • ExitInstance(): Zerstören von m_RmgbCanCOM1

comment:14 by Melanie Hermann, 12 years ago

TODO: Bios-Debugausgaben interpretieren

comment:15 by Melanie Hermann, 12 years ago

BIOS läuft jetzt schon seit mehreren Tagen auf einem (ab und zu auch auf beiden) GC9300.
Aber seitdem ist kein Timeout mehr aufgetreten!

comment:16 by Melanie Hermann, 12 years ago

BIOS-TRACE: hh:mm:ss z1 z2 z3 z4 z5 z6 z7 z8

  • Uhrzeit
  • z1: Anzahl CAN-Telegramme, die von der GC-Applikation beim BIOS angekommen sind
  • z2: Anzahl Bytes, die vom BIOS in den Sendepuffer geschrieben wurden
  • z3: Gesamtzahl Bytes, die vom BIOS in den Sendepuffer geschrieben wurden
  • z4: Restart-Flag: 0 = Normalfall, 1 = Sollte nie vorkommen
  • z5: Sendeinterrupt-Flag: 1 = Sendeinterrupt wurde wieder scharf gemacht
  • z6: Anzahl, wie oft Sendeinterrupt ausgelöst wurde (Bedeutet nicht, dass etwas gesendet wurde. Puffer könnte auch leer sein.)
  • z7: Anzahl, wie oft Sendeinterrupt deaktiviert wurde
  • z8: Anzahl Bytes, die automatisch in der Sendeinterrupt-Routine gesendet wurden (passiert, wenn mehr als 1 Byte gesendet wird)

comment:17 by Melanie Hermann, 12 years ago

23.04.2014 ~ 13:00:00 Uhr:
Dauertest mit GC9300-CM + Laptop (GC9000-Simulation + Terminal) aufgebaut.
GC9300-CM macht Analysen und Terminal schreibt BIOS-Traces in Logdatei mit.

comment:18 by Melanie Hermann, 12 years ago

Am GC_Unten ist ein Timeout aufgetreten!
14:42:28 23.04.2014 - 14:55:01 23.04.2014

Auswertung BIOS-Traces:
Es konnten keine Fehler festgestellt werden.
Die Daten werden in den Sendepuffer geschrieben.

comment:19 by Melanie Hermann, 12 years ago

TODO:
Aufzeichnung des Sendesignals per Oszi.
Hier kann erkannt werden, ob tatsächlich ein Signal aus der Schnittstelle kommt oder nicht.

comment:20 by Melanie Hermann, 12 years ago

Beide GC9300 an Oszi gehängt:

  • D10 Pin 7 = GND
  • D10 Pin 9 = TxD

TODO:
Warten bis Timeout auftritt und dann Signal an Oszi überprüfen.

comment:21 by Melanie Hermann, 12 years ago

25:04.2014 ~ 10:45:00 Uhr:
Dauertest beendet, da die BIOS-Traces nicht weiterhelfen.

comment:22 by Melanie Hermann, 12 years ago

GC9300:

  • Original-BIOS: V1.34
  • GC9300-CM-App: V2.000, SVN-Rev: 554, 134
  • Oszi angeschlossen


Timeout aufgetreten!

  • Nach ~ 2 1/2 Stunden ist ein Timeout aufgetreten, das nun schon mehr als 1/2 Stunde anhält
  • GC zählt Zähler für unbeantwortete Anfragen hoch
  • Oszi zeigt, dass tatsächlich Signale ('J') raus gesendet werden! Allerdings scheint das Senden der Signale zeitversetzt also zu spät zu kommen!
    Das Signal erscheint erst 1 - 3 Sekunden nachdem der Zähler im GC hochgezählt wurde! Es sieht also so aus als ob das Timeout schon zuschlägt, bevor das Signal das Gerät tatsächlich verlässt!

comment:23 by Melanie Hermann, 12 years ago

GC9300:

  • Test-BIOS: V9.34
  • GC9300-CM-App: V2.000, SNV-Rev: 555, 134
  • Oszi angeschlossen

TODO:
Prüfen, ob TRACES synchron mit Oszi-Signal auftreten. Somit kann überprüft werden, ob das BIOS die CAN-Signale, auch während einem Timeout, sofort nach Empfang von der GC9300-App nach draussen sendet.

comment:24 by Melanie Hermann, 12 years ago

Summary: Kommunikation mit Messwerk testenCP4002 auf CAN-Com

comment:25 by Melanie Hermann, 12 years ago

Severity: AufgabeZu prüfen

comment:26 by Melanie Hermann, 12 years ago

Summary: CP4002 auf CAN-ComCP4002 auf CAN-Com (COM2)

comment:27 by Melanie Hermann, 12 years ago

05.05.2014 12:01:12 - 12:41:33: Timeout!

Während dem Timeout konnte folgendes festgestellt werden:

  • TRACES von BIOS werden ausgegeben, d.h. die Signale von der GC9300-Applikation kommen im BIOS an
  • Signal wird an Oszi angezeigt, d.h. die Signale werden auch tatsächlich aus der Schnittstelle rausgesendet
  • Trace-Ausgabe und Oszi-Signal beinahe Synchron, d.h. im BIOS selbst gibt es keine Verzögerungen, das Signal wird sofort nach Erhalten rausgesendet

Testaufbau:

  • GC9300:
    • Original-BIOS: V1.34
    • GC9300-CM-App: V2.000, SVN-Rev: 554, 134
  • Laptop CP4002-Simulation
  • Oszi angeschlossen

Was wurde getan:

  • Laptop: Simulation beendet und Terminal auf geöffnet
  • Laptop: Signale vom GC9300 kamen am Terminal an (immer 'J')
  • Laptop: Terminal beendet und Simulation wieder gestartet
  • Verbindung zwischen GC9300 und Simulation sofort wieder da, GC9300 beginnt wieder mit Analysen!


TODO:

  • Was war passiert? Hatte Simulation ein Problem und der Neustart hat es behoben?
  • Anschliessend mit realem Messwerk testen, ob dort auch Timeouts auftreten.
Last edited 12 years ago by Melanie Hermann (previous) (diff)

comment:28 by Melanie Hermann, 12 years ago

Fehler ist nun schon seit Tagen nicht mehr aufgetreten.
Test wird vorerst unterbrochen, damit der zweite GC9300 auch zum Testen der aktuellen
Software, mit Kommunikation über COM7, benutzt werden kann.

comment:29 by Melanie Hermann, 12 years ago

Priority: kurzfristigmittelfristig

comment:30 by Melanie Hermann, 12 years ago

Priority: mittelfristiglangfristig

comment:31 by Melanie Hermann, 10 years ago

CP4002 läuft nicht auf COM2, sondern auf COM7!

comment:32 by Melanie Hermann, 10 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.