{"text_format":"3","workbook":"xls","n_sheets":3,"sheets":["GC-GW_1","GC-GW_2","GC-GW_3"],"not_rendered":{"external_links":1},"read":"whole","date_system":"1900","formulas":"cached_only"}

{"sheet":"GC-GW_1","index":0,"n_rows":114,"n_cols":5,"rows_kept":114,"merged":[[0,0,0,9],[1,0,1,9],[2,0,2,9],[3,0,3,9],[4,0,4,9],[38,4,38,6],[39,4,39,6],[40,4,40,6],[41,4,41,6],[42,4,42,6],[43,4,43,6],[44,4,44,6],[45,4,45,6],[46,4,46,6],[47,4,47,6],[48,4,48,6],[49,4,49,6],[50,4,50,6],[51,4,51,6],[52,4,52,6],[53,4,53,6],[54,4,54,6],[55,4,55,6],[56,4,56,6],[57,4,57,6],[58,4,58,6],[59,4,59,6],[60,4,60,6],[102,3,102,8],[103,3,103,8],[104,3,104,8],[105,3,105,8],[106,3,106,8]],"flags":["formulas_cached_only"]}
["GC9300 - Gateway"]
[]
["Erstellt von: MHe"]
["Erstellt am: Stand 02.09.2013"]
[]
[]
["Skizze"]
{"$rows_empty":16}
["Notizen"]
[]
["+ Master: Möglichkeit zur \"Anmeldung\" der Slaves, damit diese getriggert werden können"]
["+ Master: Soll erkennen und Alarm ausgeben, wenn ein GC - Slave ausgefallen ist"]
["+ Slave: Alle Daten müssen \"normal\" in den Archiven und Protokollen verfügbar sein"]
["+ Slave: Auswahlmöglichkeit Datenempfang (S1 und / oder S2, …)"]
["+ Slave: Soll erkennen und Alarm ausgeben, wenn GC - Master ausgefallen ist"]
["+ Slave: Einstellung Sekundärer Master nicht möglich, da an dem GC - Slave keine Verkabelung zu den Ventilen des Messwerks besteht!"]
["+ Master / Slave: Matrix abändern: zus. Bits in mtx.tab einbauen oder zweite mtx.tab und dann struct matrixSlave in MTX_MTRX.agh generieren, gctab anpassen"]
["+ Master / Slave: Neues GC - Protokoll"]
["+ Master / Slave: LAN1: Messwerk, GC - Master, GC - Slave(s), LAN2: offen für Kunde"]
[]
[]
["GC - Matrix"]
[]
["Aktuell",null,"Zukunft",null,"Kommentar"]
["Nummer",null,"Nummer",null,"Nicht verwendet"]
["Flag",null,"Flag",null,"Var-Eigenschaft, die unverändert bleibt"]
["userc",null,"userc",null,"Var-Eigenschaft, die unverändert bleibt"]
["usert",null,"usert",null,"Var-Eigenschaft, die unverändert bleibt"]
["Version",null,"Version",null,"Nicht verwendet"]
["bmeichamtlich",null,"bmeichamtlich",null,"Var-Eigenschaft, die unverändert bleibt"]
["VarTyp",null,"VarTyp - Master",null,"Var-Eigenschaft, die sich ändern kann"]
[null,null,"VarTyp - Slave",null,"Var-Eigenschaft, die sich ändern kann"]
["Makroname",null,"Makroname",null,"Var-Eigenschaft, die unverändert bleibt"]
["Min",null,"Min",null,"Var-Eigenschaft, die unverändert bleibt"]
["Max",null,"Max",null,"Var-Eigenschaft, die unverändert bleibt"]
["Default",null,"Default",null,"Var-Eigenschaft, die unverändert bleibt"]
["MB-Reg",null,"MB-Reg",null,"Var-Eigenschaft, die unverändert bleibt"]
["Reserve",null,"Reserve",null,"Nicht verwendet"]
["dsfg",null,"dsfg",null,"Nicht verwendet"]
["Treepos",null,"Treepos - Master",null,"Var-Eigenschaft, die unverändert bleibt"]
[null,null,"Treepos - Slave",null,"Var-Eigenschaft, die unverändert bleibt"]
["ArrayIdx",null,"ArrayIdx",null,"Var-Eigenschaft, die unverändert bleibt"]
["Datentyp",null,"Datentyp",null,"Var-Eigenschaft, die unverändert bleibt"]
["Einheit",null,"Einheit",null,"Var-Eigenschaft, die unverändert bleibt"]
["Format",null,"Format",null,"Var-Eigenschaft, die unverändert bleibt"]
["Langtext",null,"Langtext",null,"Var-Eigenschaft, die unverändert bleibt"]
[]
[]
["Folgende AGHs werden 'doppelt' angelegt, einmal mit den Eigenschaften des GC-Masters und einmal mit denen des GC-Slaves:"]
["- MTX_TAB.agh    + MTX_TAB_GW.agh"]
["- MTX_MB.agh      + MTX_MB_GW.agh"]
["- MTX_VAR.agh    + MTX_VAR_GW.agh"]
["- MTX_XVAR.agh + MTX_XVAR_GW.agh (Komplett neue AGH)"]
[]
["Diese AGHs werden im Programm in gcvars.h eingebunden."]
[]
[]
["Möglichkeiten für Umschaltung der beiden Varianten:",{"$nulls":3},"Möglichkeiten für Auswahl der AGH-Varianten:"]
["- Während Laufzeit per Matrixelement",{"$nulls":3},"- Entweder in der Lage sein Dateien abhängig von Auswahlkriterium einzeln einzubinden"]
["- Per Dil-Switch einmal bei Geräteneustart",{"$nulls":3},"und zu verwenden."]
["- Während Laufzeit per Matrixelement + sofortiger Geräteneustart",{"$nulls":3},"- Oder zwei *.exe auf SD-Karte ablegen mit jeweils einer eingebundenen Variante und"]
[{"$nulls":4},"diese dann verwenden."]
[]
[]
["GC - Protokoll"]
["+ Master / Slave: Neues GC - Protokoll: Slaves kommunizieren nur noch über neues Protokoll und Modbus wird deaktiviert"]
["(Variante 1)","+ Telegramme Master > Slave:"]
[null,null,"+ ereignisorientiert: Analyse fertig inkl. Daten (m_SWMesswerte)"]
[null,null,"+ ereignisorientiert: Alarm kommt / geht (ausser eigene IOs)"]
[null,null,"+ zyklisch: Zeitsync"]
[null,null,"+ zyklisch: Messwerksstatus (m_SWStatus, m_SWChannelStatus)"]
[null,null,"+ zyklisch: CurrentRunningTime"]
[null,null,"+ zyklisch: Slave noch da?"]
[null,"+ Telegramme Slave > Master:"]
[null,null,"+ ereignisorientiert: Antwort auf Slave noch da?"]
["+ Master / Slave: Neues GC - Protokoll: Slaves erhalten Messwerkdaten weiterhin per Modbus und nur die zus. benötigten Daten per GC - Protokoll"]
["(Variante 2)","+ Telegramme Master > Slave:"]
[null,null,"+ ereignisorientiert: Alarm kommt / geht (ausser eigene IOs)"]
[null,null,"+ zyklisch: Zeitsync"]
[null,null,"+ zyklisch: CurrentRunningTime"]
[null,null,"+ zyklisch: Slave noch da?"]
[null,"+ Telegramme Slave > Master:"]
[null,null,"+ ereignisorientiert: Antwort auf Slave noch da?"]
[]
[]
["GC - Protokoll - Details (Variante 2)"]
[]
[null,"Startzeichen","char (8 bit)","0x21 == '!' "]
[null,"Telegrammtyp","char (8 bit)","0x00 == Master > Slave: Alarm kommt / geht\n0x01 == Master > Slave: Zeitsync\n0x02 == Master > Slave: CurrentRunningTime\n0x04 == Master > Slave: Slave noch da?\n0x10 == Slave > Master: Antwort auf Slave noch da?"]
[null,"Stream","char (8 bit)","0x00 == S1\n0x01 == S2 \n0x02 == S3 \n0x03 == S4 \n0x04 == Ref \n0x05 == Kal \n0x06 == Skip"]
[null,"Daten \n","short (16 bit) + char (8 bit)\nlong (64 bit)\nshort (16 bit)\nchar (8 bit)\nchar (8 bit)","0x0000 - 0xFFFF == Alarm-Nr.; 0x01 / 0x00 == Alarm kommt/geht\n0x0000000000000000 - 0xFFFFFFFFFFFFFFFF == Datum und Uhrzeit in Sekunden seit 1970\n0x0000 - 0xFFFF == Zeit in Sekunden\n0x00 == NULL\n0x01 == Ja"]
[null,"Prüfsumme","short (16 bit)","0x0000 - 0xFFFF == CRC-12 wie RMGBus und DSfG, ohne Startzeichen"]
[]
[null,"Beispiel:"]
[null,"0x21                       0x00                                                         0x05             0x0064            0x01            CRC"]
[null,"Startzeichen       Master > Slave: Alarm kommt       Kal-Gas       Alarm-Nr.       Kommt       CRC"]
[]
[null,"Max.-Länge:"]
[null,"Startzeichen (8 bit) + TTyp (8 bit) + Stream (8 bit) + Daten (64 bit) + CRC (16 bit) = 104 bit / 13 byte (bei Variante 1 deutlich länger!)"]

{"sheet":"GC-GW_2","index":1,"n_rows":69,"n_cols":6,"rows_kept":69,"merged":[[35,1,35,4],[49,1,49,10],[52,0,52,3],[53,0,53,9],[69,1,69,10],[72,1,72,10]],"flags":["formulas_cached_only"]}
[]
["Matrixänderungen"]
[]
["KAPITEL","MAKRO","NAME","CTRL XS","GW XS"]
["HEAD_1","GCMode","Betriebsart","b ","a"]
[null,"MSMode","Multistream Modus","e","a"]
[null,"MSList_0","Stream-1 Skip","e","a"]
[null,"MSList_1","Stream-1 Messungen","e","a"]
[null,"MSList_2","Stream-2 Skip","e","a"]
[null,"MSList_3","Stream-2 Messungen","e","a"]
[null,"MSList_4","Stream-3 Skip","e","a"]
[null,"MSList_5","Stream-3 Messungen","e","a"]
[null,"MSList_6","Stream-4 Skip","e","a"]
[null,"MSList_7","Stream-4 Messungen","e","a"]
[null,"RefMaxCount","Maximale Anzahl","e","a"]
[null,"CalStartCount","Mittlung ab","e","a"]
[null,"CalMaxCount","Anzahl Kalibrierläufe","e","a"]
["HEAD_12","CalMode","Tag oder Spanne","e","a"]
[null,"CalSpan","Intervall (Tage)","e","a"]
[null,"CalHour","Stunde","e","a"]
[null,"RFNeopentane","RF für neo-Pentan","e","a"]
[null,"MeasureNeopentane","Messung neo-Pentan","e","a"]
[null,"RFHelium","RF für Helium","e","a"]
["HEAD_14","CpIPAddress","IP Adresse","e","a"]
[null,"ColumnMode","Säulenbetriebsart","e","a"]
[null,"ColumnEnable_0","Säulenfreigabe-1","e","a"]
[null,"ColumnEnable_1","Säulenfreigabe-2","e","a"]
[null,"ColumnEnable_2","Säulenfreigabe-3","e","a"]
[null,"FixedValve","Ventil Vorgabe","e","a"]
[null,"WaitForPressure","Druck Einschwingzeit","e","a"]
[null,"MaxRunTime","Max. Messperiode","e","a"]
[null,"MaxPauseTime","Max. Pausezeit","e","a"]
[null,"MessMethDownload","Download Messmethode","e","a"]
[null,"MessMethUpload","Upload Messmethode","e","a"]
["HEAD_17","InterfaceGCProtokoll","GC-Protokoll","e (NEU)","e (NEU)","// GC-Protokoll (AUS / LAN1 / LAN2 / BEIDE)"]
["HEAD_19","Alle UserDefines_xxx-Dummies entfernen oder unsichtbar machen"]
[null,"AllGCSlaveAdrs *","Alle GC - Slave Adressen","e (NEU)","a (NEU)","// Hier können alle GC-GWs im GC-CTRL bekannt gemacht werden, bei GC-GW \"-\""]
[null,"MyGCSlaveAdr","Eigene GC - Slave Adresse","a (NEU)","e (NEU)","// Eigene GC-GW-Adresse, bei GC-CTRL \"-\""]
[null,"ArchiveS1","Archiviere Stream1","a (NEU)","e (NEU)","// Soll GC-GW S1 archivieren? (JA / NEIN), bei GC-Master immer JA"]
[null,"ArchiveS2","Archiviere Stream2","a (NEU)","e (NEU)","// Soll GC-GW S2 archivieren? (JA / NEIN), bei GC-Master immer JA"]
[null,"ArchiveS3","Archiviere Stream3","a (NEU)","e (NEU)","// Soll GC-GW S3 archivieren? (JA / NEIN), bei GC-Master immer JA"]
[null,"ArchiveS4","Archiviere Stream4","a (NEU)","e (NEU)","// Soll GC-GW S4 archivieren? (JA / NEIN), bei GC-Master immer JA"]
[null,"ArchiveRef","Archiviere Refgas","a (NEU)","e (NEU)","// Soll GC-GW Kal archivieren? (JA / NEIN), bei GC-Master immer JA"]
[null,"ArchiveKal","Archiviere Kalgas","a (NEU)","e (NEU)","// Soll GC-GW Ref archivieren? (JA / NEIN), bei GC-Master immer JA"]
[null,"ArchiveSkip","Archiviere Skip","a (NEU)","e (NEU)","// Soll GC-GW SKIP archivieren? (JA / NEIN), bei GC-Master immer JA"]
["HEAD_29","GCVariante","GC Variante","e (NEU)","e (NEU)","// Auswahl, ob CTRL oder GW, Default immer CTRL"]
[null,"GasAnalyzerTyp","Messwerk Typ","e","a"]
[null,"GasAnalyzerNo","Messwerk Nr.","e","a"]
[]
[null,"* - Mit AllGCGWAdrs kann auch geprüft werden, ob mehrere Master (mit Adresse \"-\") zusammgeschlossen wurden > Alarm ausgeben\n   - Max. 26 GC-GWs (a - z) + 1 GC-CTRL (\"-\")"]
[]
[]
["Folgende Servicefunktionen bei GW -Variante entfernen:"]
["   - Download ERRORLOG.TXT von Messwerk\n   - Messwerk ausheizen"]
[]
[]
["Config - Dateien:"]
[]
["Getrennte Config - Dateien (CTRL / GW) ablegen?"]
["Denn bei jedem Neustart mit jeweils andere Variante gehen die Einstellungen verloren und die Defaultwerte werden geladen, da sich die Datentypen der Matrixelemente "]
["teilweise ändern."]
[{"$nulls":3}," "]
["Variante 1): Verlust der  Einstellungen akzeptieren bei Variantenwechsel"]
[]
["Variante 2): Alle Config - Dateien duplizieren und abhängig von Variante die entsprechenden verwenden"]
[]
["Variante 3): Für xVars neues Config - File anlegen. Somit können alle anderen Config - Files gemeinsam von beiden Varianten verwendet werden. "]
[null,"Variante 3.1): Auch hier Möglichkeit Verlust der XVars zu akzeptieren bei Variantenwechsel"]
[null,"Variante 3.2): Nur XVars - Config duplizieren und entsprechende Variante verwenden."]

{"sheet":"GC-GW_3","index":2,"n_rows":62,"n_cols":4,"rows_kept":62,"merged":[[52,1,52,10],[54,1,54,10]],"flags":["formulas_cached_only"]}
[]
["Projektaufteilung - Projekterstellung"]
{"$rows_empty":32}
["Hinweise:"]
["   - gcGW.vcproj ist identisch zu gc.vcproj + Präprozessordefinition GCGW"]
["   - DsfgGW.vcproj ist identisch zu Dsfg.vcproj + Präprozessordefinition GCGW"]
{"$rows_empty":24}
[{"$nulls":3}," "]