<?xml version="1.0" encoding="utf-8"?> Specifikace XML, vždy na prvním řádku 1 Kořenový element <configuration> Seznam sekcí a skupin sekcí <configsections> Definice sekce <section name="tp.va.mcs.sys" type="tp.va.mcs.mcssysconfigurationsection, McsSys" name.. název sekce (bude existovat sekce tp.va.mcs.sys) type.. název třídy a assembly která sekci zpracovává Definice sekce <section name="tp.va.mcs.svc" type="tp.va.mcs.mcssvcconfigurationsection, McsSvc" name.. název sekce (bude existovat sekce tp.va.mcs.svc) type.. název třídy a assembly která sekci zpracovává Definice sekce <section name="tp.va.tcpauthorize" type="tp.va.authorize.tcpauthorizeconfigurationsection, TcpAuthorize, Version=1.0.2. 3, Culture=neutral, PublicKeyToken=afd1d405b4550ca4" name.. název sekce (bude existovat sekce tp.va.tcpauthorize) type.. název třídy a assembly která sekci zpracovává </configsections> Sekce tp.va.mcs.sys - konfigurace jádra systému MCS <tp.va.mcs.sys> Element libraries - definice knihoven prvků systému MCS <libraries> Element add - přidává knihovnu prvků systému MCS - možno aplikovat kolikrát je potřeba <add assembly="mcslib, Version=1.0.0.5, Culture=neutral, PublicKeyToken= afd1d405b4550ca4" assembly.. úplný název knihovny prvků </libraries> Element serializer - nastavení serializeru/deserializeru dat <serializer culture="*" culture.. nastavení kultury ("*".. dle systemu, "".. invariant, "cs".. česká kultura, "cs-cs".. kultura-region ) Element optimizer - nastavení optimizeru komunikací <optimizer level="10" diffsizelevel="1" level.. úroveň optimalizace komunikací (0.. žádná, 1.. jen počet komunikací, 2.. počet komunikací a velikost dat (hloubka rekurze = 1), 3.. počet komunikací a velikost dat (hloubka rekurze = 2),.. ) diffsizelevel.. max. počet bloků z různou délkou za sebou (doporučuji 0, jinak zpomaluje komunikace) </tp.va.mcs.sys> Sekce tp.va.mcs.svc - konfigurace služeb jádra systému MCS <tp.va.mcs.svc> Element services - definice služeb systému MCS <services> Element add - přidává službu systému MCS - možno aplikovat kolikrát je potřeba <add displayname="ts_k1_m1" mcsfile="c:\!vasil\mcs\@data\ts_k1_m1.mcs" mcxpath="c:\!
Vasil\Mcs\@Data\Ts_K1_M1\*.mcx" <add displayname="ts_k1_m2" mcsfile="c:\!vasil\mcs\@data\ts_k1_m2.mcs" </services> name.. zobrazovaný název služby systému MCS (skutečný je v souboru *.MCS) mcsfile.. úplná cesta k souboru *.MCS mcnfile.. úplná cesta k souboru *.MCN (pokud se od *.MCS liší jen příponou, není nutno uvádět) mcxpath.. úplná cesta k souborům *.MCX (nepovinné, možno zadat jen adresář, např. "C:\!Vasil\Mcs\@Data\Ts_K1_M1\", pak je automaticky doplněno "*.mcx") Pokud není zadán MCS soubor, je nutné zadat MCN soubor, pro název služby se použije displayname. </tp.va.mcs.svc> Sekce tp.va.tcpauthorize - konfigurace autorizačního modulu protokolu TCP <tp.va.tcpauthorize> Element identity - nastavení identity klienta <identity authorizedgroup="useracs" localservice="true" authorizedgroup.. název skupiny systému windows, pouze klient v této skupině se může k serveru připojit localservice.. povoluje připojení z účtu LOCALSERVICE, tedy všem místním službám </tp.va.tcpauthorize> Konfigurace komunikací mezi aplikacemi a službami <system.runtime.remoting> Konfigurace aplikace <application name="mcssrv"> name.. název aplikace - brán jako název adresáře v URL Publikace služeb <service> Publikace třídy - režim SAO singleton (jedna instance pro všechny) <wellknown mode="singleton" type="tp.va.mcs.mcssrv, McsSvc" objecturi="mcs.rem" mode.. režim aktivace objektu (Singleton, SingleCall) type.. název třídy a assembly která je publikována objecturi.. URI objektu - brán jako název souboru v URL </service> Definice a nastavení komunikačních kanálů <channels> Přidání a konfigurace kanálu IPC <channel ref="ipc" displayname="ipc MCS" priority="9" portname="ipc.mcssrv" secure="true" impersonate="false" exclusiveaddressuse="false" authorizedgroup="useracs" tokenimpersonationlevel="identification" connectiontimeout="2000" ref.. odkaz na systémem definovaný kanál IPC-server+client displayname.. jeho název pro tuto aplikaci priority.. priorita použití kanálu portname.. název portu na kterém server poslouchá (named pipe) secure.. zabezpečení kanálu impersonate.. povolení zosobnění/delegace exclusiveaddressuse.. povolení maximálně jedné instance serveru authorizedgroup.. název skupiny systému windows, pouze klient v této skupině se může k serveru připojit (nutné) tokenimpersonationlevel.. úroveň zosobnění - pouze identifikace (Identification, Impersonation, Delegation) connectiontimeout.. timeout pro připojení [ms], vlastní komunikace pak používá nekonečný timeout <channel 2
ref="tcp" displayname="tcp MCS" priority="1" port="20141" secure="true" impersonate="false" protectionlevel="sign" authorizationmodule="tp.va.authorize.tcpauthorize, TcpAuthorize, Version=1.0.2.3, Culture=neutral, PublicKeyToken=afd1d405b4550ca4" tokenimpersonationlevel="identification" timeout="30000" username="tester" password="2411" ref.. odkaz na systémem definovaný kanál TCP-server+client displayname.. jeho název pro tuto aplikaci priority.. priorita použití kanálu port.. číslo portu na kterém server poslouchá (TCP server) secure.. zabezpečení kanálu impersonate.. povolení zosobnění/delegace protectionlevel.. úroveň zabezpečení (None, Sign, EncryptAndSign) authorizationmodule.. název třídy a assembly která provádí autorizaci (nepovinné, konfigurace v samostatné sekci) tokenimpersonationlevel.. úroveň zosobnění - pouze identifikace (Identification, Impersonation, Delegation) timeout.. timeout pro komunikaci [ms], používá se jak pro připojení tak i pro vlastní komunikaci username.. název účtu uživatele kterým se chci k serveru přihlásit (jen pokud nechci aktuální) password.. heslo účtu (jen pokud nechci aktuální) </channels> Nastavení časů a timeoutů <lifetime leasetime="5m" renewoncalltime="2m" sponsorshiptimeout="2m" leasemanagerpolltime="10s" leasetime.. počáteční čas existence objektu (po vytvoření) renewoncalltime.. čas existence objektu po použití sponsorshiptimeout.. timeout na odpověď od sponzora pronájmu leasemanagerpolltime.. perioda kontroly časů Pozn: Třída Tp.Va.Mcs.McsSrv z assembly McsSrv bude tedy publikována na následujících adresách: ipc://ipc.mcssrv/mcssrv/mcs.rem tcp://localhost:20141/mcssrv/mcs.rem Oba kanály jsou zabezpečené - vyžadují autorizaci - skupina UserACS, zosobnění/ delegace je zakázáno, u tcp je vyžadován digitální podpis. Počáteční čas existence objektu bude 5 min, při každémm použití se nastaví alespoň na 2 min, kontrola se provádí každých 10 sec. </application> Nastavení ladění <debug loadtypes="true" loadtypes.. načíst všechny třídy Nastavení chybových hlášení <customerrors mode="off" mode.. hlásit uživatelské chyby (On, Off, RemoteOnly) </system.runtime.remoting> Nastavení diagnostiky <system.diagnostics> Definice sdílených posluchačů událostí (společných cílů událostí), automaticky je přidán Default bez filtrů <sharedlisteners> Přidání a konfigurace posluchače (cíle událostí) typu FileLog <add name="filelog" 3
type="microsoft.visualbasic.logging.filelogtracelistener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" initializedata="filelogwriter" traceoutputoptions="threadid, DateTime" logfilecreationschedule="daily" delimiter="; " maxfilesize="20000000"> name.. název cíle type.. název třídy a assembly která provádí zpracování událostí initializedata.. název??? traceoutputoptions.. volby logování (logovat i ThreadId a DateTime) logfilecreationschedule.. kdy vytvářet nové soubory (na každý den samostatný soubor) delimiter.. jako oddelovač položek použít ; (lze pak načíst do Excelu) maxfilesize.. maximální délka souboru za den Definice filtru událostí <filter type="system.diagnostics.eventtypefilter" initializedata="warning" type.. název třídy a assembly která provádí filtrování událostí initializedata.. úroveň filtrace zpráv (filtrem projde Warning, Error, Critical) </add> Přidání a konfigurace posluchače (cíle událostí) typu EventLog <add name="eventlog" type="system.diagnostics.eventlogtracelistener" initializedata="svcmcssrv"> name.. název cíle type.. název třídy a assembly která provádí zpracování událostí initializedata.. název služby (neměnit) Definice filtru událostí <filter type="system.diagnostics.eventtypefilter" initializedata="error" type.. název třídy a assembly která provádí filtrování událostí initializedata.. úroveň filtrace zpráv (filtrem projde Error, Critical) </add> </sharedlisteners> Nastavení globálního zdroje trasování <trace autoflush="true" indentsize="4"> autoflush.. automatický zápis na disk indentsize.. velikost odsazení ve výpisu Seznam dříve definovaných posluchačů událostí kam budou informace z tohoto zdroje zapisovány, automaticky je přidán Default Přidání posluchače události se jménem name <add name="filelog" <add name="eventlog" </trace> Seznam uživatelských zdrojů informací (trasovaní a ladění) <sources> Definice a nastavení uživatelského zdroje <source name="mcssvc" switchvalue="all"> switchvalue.. úroveň filtrace zpráv (filtrem projde vše) Seznam dříve definovaných posluchačů událostí kam budou informace z tohoto zdroje zapisovány, automaticky je přidán Default Přidání posluchače události se jménem name <add name="filelog" <add name="eventlog" Definice a nastavení uživatelského zdroje 4
<source name="mcssys" switchvalue="all"> switchvalue.. úroveň filtrace zpráv (filtrem projde vše) Seznam dříve definovaných posluchačů událostí kam budou informace z tohoto zdroje zapisovány, automaticky je přidán Default Přidání posluchače události se jménem name <add name="filelog" <add name="eventlog" Definice a nastavení uživatelského zdroje <source name="mcscom" switchvalue="information"> switchvalue.. úroveň filtrace zpráv (filtrem projde Information, Warning, Error, Critical) Seznam dříve definovaných posluchačů událostí kam budou informace z tohoto zdroje zapisovány, automaticky je přidán Default Přidání posluchače události se jménem name <add name="filelog" <add name="eventlog" Definice a nastavení uživatelského zdroje <source name="modbus" switchvalue="information"> switchvalue.. úroveň filtrace zpráv (filtrem projde Information, Warning, Error, Critical) Seznam dříve definovaných posluchačů událostí kam budou informace z tohoto zdroje zapisovány, automaticky je přidán Default Přidání posluchače události se jménem name <add name="filelog" <add name="eventlog" Definice a nastavení uživatelského zdroje <source name="tcpauthorize" switchvalue="warning" > switchvalue.. úroveň filtrace zpráv (filtrem projde Warning, Error, Critical) Seznam dříve definovaných posluchačů událostí kam budou informace z tohoto zdroje zapisovány, automaticky je přidán Default Přidání posluchače události se jménem name <add name="filelog" <add name="eventlog" </sources> Seznam přepínačů pro trasovaní a ladění <switches> Přidání přepínače name s hodnotou value <add name="tracedata" value="true" <add name="tracetcpauthorize" value="false" Podporované položky: name value - - - - - - - - - - - - - - - TraceData vypisovat data posílaná do ModBus TraceTcpAuthorize podrobný výpis přihlašování v modulu TcpAuthorize (filtr musí být Verbose) </switches> </system.diagnostics> 5
</configuration> 6