====== Nápověda pro Project Generator ====== ===== Použití generator.mervis.info ===== Na stránce [[https://generator.mervis.info]] lze vygenerovat Mervis SCADA projekt podle zadaných parametrů a volitelně s využitím mapovacího souboru ve formátu ''XLSX''. Parametry lze definovat jako jednotlivé hodnoty v textovém poli, nebo mohou být uloženy v textovém souboru (např. ''params.txt'') a vybrány z vašeho počítače. Dále lze využít tzv. mapovací soubor ve formátu ''XLSX'', ve kterém mohou být definovány jednotlivé datové body. V tomto souboru je možné transformovat vstupní hodnoty (klíče a hodnoty) na nové, čímž lze vytvořit vlastní datovou strukturu pro výsledný projekt. Níže jsou popsány jednotlivé dostupné možnosti. Na stránce [[cs:mervis-scada:70-generator:30-examples|]] jsou uvedeny konkrétní praktické příklady použití. ===== Nastavení ===== ===== Konfigurace Projektu ===== ==== Identita Projektu ==== === Parametry === * ''%%--projId 5eee5946-293c-4753-9495-d6b11f73d670%%'' Jedinečný GUID jako identifikátor projektu * ''%%--projName ExampleProject%%'' Srozumitelný název projektu * ''%%--projTimeZone Europe/Prague%%'' Časové pásmo projektu ==== Konfigurace Výstupu ==== === Parametry === * ''%%--outputDirectory 5eee5946-293c-4753-9495-d6b11f73d670%%'' Adresář pro generované soubory ==== Mapovací soubor ==== === Parametry === * ''%%--mdbKeyMappingTable [filepath]%%'' Excelový soubor s direktivami pro zpracování dat. Podporuje více cest k souborům oddělených čárkou. ==== Řízení časového razítka ==== === Parametry === * ''%%--forceTimestamp [value]%%'' Vynutit konkrétní časové razítko pro všechny generované hodnoty (výchozí: min) * Možnosti: ''%%'min'%%'' (0001-01-01T00:00:00), ''%%'current'%%'' (aktuální UTC), nebo explicitní ISO formát např. ''%%'2025-03-25T14:30:00.000'%%'' ===== Konfigurace zdroje dat ===== ==== Výběr typu zdroje ==== === Parametry === * ''%%--sourceType [MervisDb|DataHub|SharkPlc]%%'' Určuje typ zdroje dat ==== Konfigurace MervisDb ==== === Parametry === * ''%%--mdbConnStr [connection_string]%%'' Připojovací řetězec MervisDb – formát: ''%%rcwaredb://user_name:password@host:port/?protocol=http,endpoint=MervisDbAcces,uriaccess=MervisDbAcces%%'' * ''%%--mdbSourceKeys [keys]%%'' Páry klíč–hodnota, které se mají zahrnout do generování * ''%%--mdbSourceKeysSkip [keys]%%'' Páry klíč–hodnota, které se mají z generování vynechat ==== Konfigurace Data Hubu ==== === Parametry === * ''%%--pmUrl [url]%%'' URL správce projektu – formát: http://localhost:5123/ * ''%%--dataHubUrl [url]%%'' URL datového hubu – formát: http://localhost:5005/hub/data/ * ''%%--dataHubLogin [username]%%'' Uživatelské jméno pro přihlášení k Data Hubu * ''%%--dataHubPass [password]%%'' Heslo k Data Hubu * ''%%--dataNodeIds [ids]%%'' Konkrétní ID datových uzlů ke zpracování * ''%%--dataHubUpdatePeriod [seconds]%%'' Interval aktualizace čtecí skupiny z Data Hubu v sekundách (výchozí: 2) * ''%%--pmPropFilter [filter]%%'' Filtrování vlastností PM ==== Konfigurace SharkPLC ==== === Parametry === * ''%%--connectionType [Tcp|Proxy|CloudAccess]%%'' Typ připojení k SharkPLC * ''%%--host [hostname]%%'' Adresa hostitele SharkPLC * ''%%--port [number]%%'' Port SharkPLC * ''%%--ssl [true|false]%%'' Použít připojení TLS/SSL * ''%%--validateCertificate [true|false]%%'' Ověřit SSL certifikáty * ''%%--plcAddr [number]%%'' Adresa zařízení (výchozí: 1) * ''%%--plcUser [username]%%'' Uživatelské jméno pro autentizaci PLC * ''%%--plcPassword [password]%%'' Heslo pro autentizaci PLC * ''%%--readTimeout [timespan]%%'' Časový limit pro čtecí operaci * Používá se s typem připojení **Proxy**: * ''%%--proxyId [id]%%'' Identifikátor proxy pro připojení přes proxy * Používá se s typem připojení **CloudAccess**: * ''%%--caChannelId [id]%%'' Identifikátor kanálu CloudAccess * ''%%--caUser [username]%%'' Uživatelské jméno CloudAccess * ''%%--caPassword [password]%%'' Heslo CloudAccess ===== Konfigurace zpracování dat ===== ==== Filtrování podle časového rozsahu ==== === Parametry === * ''%%--mdbFrom [ISO_datetime]%%'' Zahrnout pouze proměnné novější než zadaný čas * ''%%--mdbTo [ISO_datetime]%%'' Zahrnout pouze proměnné starší než zadaný čas ==== Pojmenování datových bodů ==== === Parametry === * ''%%--mdbDpNameKey [key_name]%%'' Klíč použitý pro názvy datových bodů * Podporuje přímé názvy klíčů: ''%%Name%%'' * Podporuje seznam oddělený čárkami: ''%%Name,Description%%'' * Podporuje šablony: ''%%{Name}%%'' * Podporuje regulární výrazy: ''%%"{Name, '([^\:]):(.)', $2} ({Guid})"%%'' ==== Hierarchická struktura ==== === Parametry === * ''%%--mdbTreeLevelKeys [path]%%'' Klíče pro hierarchické uspořádání * Příklad: ''%%Level1/Level2/Level3%%'' * Podporuje syntaxi regulárních výrazů na každé úrovni * Viz také ''%%--mdbDpNameKey%%'' pro použití šablon ==== Řazení a uspořádání ==== === Parametry === * ''%%--sortBy [keys]%%'' Řadit datové body podle zadaných klíčů (příklad: ''%%"Level1,Level2,myLevel3,Name"%%'') * ''%%--notSortDataPoints [true|false]%%'' Zakázat abecední řazení datových bodů (výchozí: false) * ''%%--keepEmptyFolders [true|false]%%'' Zachovat prázdné skupiny ve výstupu (výchozí: false) ==== Filtrování dat ==== === Parametry === * ''%%--mdbExportOnlyIdKeys [true|false]%%'' Exportovat pouze ID klíče jako parametry ovladače (výchozí: false) ==== Komunikace ==== === Parametry === * ''%%--driverDataUpdatePeriod [milliseconds]%%'' Interval aktualizace čtení proměnných z ovladače (výchozí: 100) * ''%%--dataHubTimestampValidityLimit [timespan]%%'' Limit platnosti časového razítka. Při překročení limitu je vyvolána chyba komunikace. (výchozí: žádný), (příklad: ''P1DT4H30M'') * ''%%--mdbUrl [url]%%'' Volitelné. Vynutit, aby URL databáze v datovém souboru byla nahrazena touto hodnotou ==== Desetinná místa ==== === Parametry === * ''%%--dpVisualDecimals 3%%'' nastavení počtu desetinných míst pro všechny numerické datové body === Mapovací soubor === * **SetTransformation** {"type":"linear","unit":"°C","decimalPlaces":1,"params":{"k":0.1, "q":0}} definuje počet desetinných míst pro konkrétní datový bod ==== Jednotky ==== === Parametry === * ''%%--mdbUnitKey FixedUnit%%'' určuje klíč použitý pro nastavení jednotky === Mapovací soubor === * **SetTransformation** {"type":"linear","unit":"°C","decimalPlaces":1,"params":{"k":0.1, "q":0}} definuje jednotky pro konkrétní datový bod ==== Nastavení databáze ==== === Parametry === * ''%%--dbWriteModeOn [true|false]%%'' Povolit režim zápisu při přístupu k databázi (výchozí: false) * ''%%--dbWriteModeDecimals [number]%%'' Počet desetinných míst při zápisu do databáze (výchozí: 2) * ''%%--dbWriteModeNoTriggers [true|false]%%'' Zakázat spouštěče při zápisu do databáze (výchozí: false) * ''%%--dbWriteModeSamplingInterval [seconds]%%'' Interval vzorkování pro zápis do databáze * ''%%--useDbV2 [true|false]%%'' Použít vlastnosti databáze verze 2 (výchozí: false) * ''%%--dbEnableWriteFromDriver [true|false]%%'' Povolit zápis z ovladače MervisDb (výchozí: false) * ''%%--dbUseSourcePropertyTimestampForSave [true|false]%%'' Při ukládání do DB použít časové razítko zdrojové vlastnosti (výchozí: false) * ''%%--mdbDataSpecification [specification]%%'' Specifikace pro získávání dat (výchozí: MaxTimestamp) * Možnosti: ''%%MinTimestamp%%'', ''%%MaxTimestamp%%'', ''%%FirstLessThanReferenceDateTime%%'', ''%%FirstLessThanOrEqualThanReferenceTime%%'', ''%%FirstGreaterThanReferenceDateTime%%'', ''%%FirstGreaterThanOrEqualThanReferenceTime%%'', ''%%MaxGoodThroughTime%%'' * ''%%--mdbDateTimeShift [timespan]%%'' Časový posun pro načítání dat (příklad: ''-PT1H30M'') * ''%%--mdbWriteValueDbSaveInterval [timespan]%%'' Interval ukládání pro zápisové operace (výchozí: 1H, příklad: ''P1DT1H30M'') * ''%%--mdbCommErrorIntervalMultiple [number]%%'' Chyba komunikace, pokud je poslední hodnota starší než zadaný násobek intervalu (0 = zakázáno) ====== Specifikace mapovacího souboru ====== ==== Obecná specifikace záhlaví sloupců ==== === Záhlaví pro zpracování datových bodů === * ''%%dataPointId%%'' – Explicitní GUID datového bodu * Určuje pevný GUID pro datový bod * Používá se pro explicitní definice datových bodů * Musí být ve formátu platného GUID * ''%%dataPointType%%'' – Základní typ datového bodu * Určuje základní typ datového bodu * Možnosti: ''%%DiscreteInput%%'', ''%%DiscreteOutput%%'', ''%%AnalogInput%%'', ''%%AnalogOutput%%'', ''%%StringInput%%'', ''%%StringOutput%%'', ''%%DateTimeInputOutput%%'', ''%%PlanningCalendarForBasicTpg%%'', ''%%BasicTpg%%'', ''%%AlarmPoint%%'' * ''%%dataPointSourceType%%'' – Vynucený typ zdrojových dat * Přepisuje automatickou detekci typu * Možnosti: ''%%Bool%%'', ''%%Int64%%'', ''%%Double%%'', ''%%String%%'', ''%%DateTime%%'' * ''%%getKey[index]%%'' – Definice klíče podmínky pro porovnání řádku * Určuje, který klíč musí odpovídat, aby byl řádek aplikován * Index umožňuje více klíčů podmínek (např. ''%%getKey1%%'', ''%%getKey2%%'') * ''%%getValue[index]%%'' – Definice hodnoty podmínky pro porovnání řádku * Určuje hodnotu, která musí odpovídat příslušnému getKey * Podporuje regulární výrazy, pokud hodnota začíná znakem '^' nebo končí '$' * Index odpovídá indexu klíče getKey * ''%%setKey[index]%%'' – Nastavení nebo úprava názvu klíče * Určuje, který klíč má být nastaven nebo upraven, pokud jsou splněny podmínky * Index umožňuje více úprav klíčů na řádek * ''%%setValue[index]%%'' – Nastavení nebo úprava hodnoty klíče * Určuje hodnotu, která bude přiřazena příslušnému setKey * Podporuje šablonové nahrazení pomocí syntaxe ''%%{keyname}%%'' * Index odpovídá indexu setKey * ''%%setIsId[index]%%'' – Označení klíče jako identifikátoru * Boolean hodnota (true/false nebo 1/0) určující, zda je klíč součástí unikátního identifikátoru * Index odpovídá indexu setKey * ''%%setTagKey[index]%%'' – Definice názvu tagu * Určuje název tagu, který bude přidán k datovému bodu * Index umožňuje více tagů na řádek * ''%%setTagValue[index]%%'' – Definice hodnoty tagu * Určuje hodnotu pro příslušný setTagKey * Podporuje šablonové nahrazení pomocí syntaxe ''%%{keyname}%%'' * Index odpovídá indexu setTagKey * ''%%setTagType[index]%%'' – Definice typu hodnoty tagu * Určuje datový typ hodnoty tagu * Možnosti: ''%%string%%'' (výchozí), ''%%bool%%'', ''%%number%%'' * Index odpovídá indexu setTagKey * ''%%setTransformation%%'' – Aplikace transformace dat * JSON specifikace pro transformace datových bodů * Používá se pro mapování hodnot, škálování nebo jiné zpracování dat * ''%%setMetadata%%'' – Alternativní název pro setTransformation * Alias pro typ sloupce ''%%setTransformation%%''. Stejná funkcionalita a syntaxe jako setTransformation * ''%%setAlarm%%'' – Konfigurace alarmu * JSON specifikace pro nastavení alarmu * Definuje podmínky, limity a chování alarmu * ''%%[custom][index]%%'' – Sloupce generátoru dokumentace * Jakýkoliv název sloupce, který neodpovídá výše uvedeným vzorům, se stává generátorem dokumentace * Používá se pro vlastní nastavení vlastností a konfigurace * Příklady: ''%%setProperties1%%'', ''%%Driver%%'', ''%%setCALayer%%'' === Syntaxe šablonového nahrazení === * ''%%{keyname}%%'' – Nahrazuje se hodnotou zadaného klíče * Podporuje vnořená nahrazení a složité výrazy * Dostupné ve sloupcích setValue, setTagValue a generátorech dokumentace * Klíče jsou vyhodnoceny z dvojic klíč-hodnota aktuálního řádku === Speciální funkce tagů === * ''%%*tagname%%'' – Předpona hvězdičky pro povolení duplicitních tagů * Bez hvězdičky: uchovává se pouze poslední hodnota pro daný název tagu * S hvězdičkou: povoluje více hodnot pro stejný název tagu === Sloupce generátoru dokumentace (vlastní dokumenty) === * ''%%setBlock%%'' – Konfigurace blokování pro datové body * JSON formát pro funkční a alarmové blokování * Parametry: ''%%kind (typ blokování)%%'', ''%%propRef%%'' (referenční vlastnost), ''%%propBlockValue%%'' (hodnota, která aktivuje blokování) * Typy blokování: ''%%PermanentFunctionBlock%%'', ''%%PermanentAlarmBlock%%'', ''%%ConditionalFunctionBlock%%'', ''%%ConditionalAlarmBlock%%'' * ''%%setProperties%%'' – Definice vlastností datového bodu * JSON formát pro nastavení vlastních vlastností datových bodů * Podporované typy vlastností: ''%%ReferenceValueProperty%%'', ''%%DoubleValueProperty%%'', ''%%Int64ValueProperty%%'', ''%%BoolValueProperty%%'', ''%%StringValueProperty%%'', ''%%DateTimeValueProperty%%'' * Příklad: {properties: [{name:"PropName", type: "doubleValueProperty", value: "123.45", unit: "°C"}]} * ''%%setGroupRights%%'' – Konfigurace přístupových práv * JSON formát pro definici oprávnění uživatelů/skupin. Pokud je vyplněno, vytvoří se skupina pro daný datový bod a přiřadí se jí zadaná oprávnění. Pokud skupina již existuje, přidají se práva. Pokud má entita již práva, dojde k jejich rozšíření (nic se neodebírá). * Možnosti: - type: User/Group - access: R/RA/RW - R – pouze pro čtení - RA – čtení a akce s alarmy - RW – čtení/zápis * Struktura: {group_name: "GroupName", rights: [{type: "Group", name: "GroupName", access: "rw"}]} * ''%%Driver%%'' – Typ komunikačního driveru * Určuje typ driveru pro komunikaci datového bodu * Možnosti: ''%%SSCP%%'', ''%%MERVISDB%%'', ''%%MODBUS%%'', ''%%AMITWEBSOCKET%%'', ''%%INSPECTOR%%'', ''%%SOFTPLCLINK%%'' * Spouští nastavení specifická pro daný driver * ''%%DriverChannelParameters%%'' – Parametry konfigurace driveru * JSON konfigurace komunikačních parametrů driveru * Obsahuje parametry připojení specifické pro daný driver (host, port, přihlašovací údaje atd.) * Používá se ve spojení se sloupcem Driver * Příklady podle typu driveru: ''%%SSCP%%'': {"pauseBetweenTelegrams": 2000, "host": "localhost", "port": 12346, "user": "admin", "password": "rw", "proxyId": "PRX232232", "ssl": false, "slaveId": 0 } ''%%MervisDb%%'': {"pauseBetweenRequestCycles": "PT10S", "writeValueDbSaveInterval": "PT1H", "readRequestVariableCount": 1000, "url": "http://localhost:9876/RcWareDbAccess", "user": "rc_user", "password": "rc_user", "dataSpecification": 0, "dateTimeShift": "PT15M" } ''%%Modbus%%'': { "host": "localhost", "port": 502, "useCloudAccess": "true", "cloudAccess": { "host": "cloudaccess.mervis.info", "port": 23000, "ssl": "true", "channelId": "chxxxxxxx", "user": "uxxxxxxxx", "password": "pxxxxxxxx" } } Pokud je specifikována část cloudAccess, bude použita pro komunikaci. ''%%AmitWebSocket%%'': { "host": "amitws.mervis.info", "port": 80, "useCloudAccess": "false", "cloudAccess": { "host": "cloudaccess.mervis.info", "port": 23000, "ssl": "true", "channelId": "chxxxxxxx", "user": "uxxxxxxxx", "password": "pxxxxxxxx" } } ''%%SoftPlcLink%%'': Bez CloudAccess: {"host": "hostname", "port": portnumber, "user": "user", "password": "password"} S CloudAccess: {"host": "localhost", "port": portnumber, "user": "user", "password": "password", "useCloudAccess": "true", "cloudAccess": {"host": "host", "port": portnumber, "ssl": "true/false", "channelId": "channel", "user": "user", "password": "password"}} === Dokumenty pro plánovací kalendář === * ''%%setCALayer%%'' – Definice vrstvy plánovacího kalendáře * JSON formát pro definici vrstev událostí kalendáře * Vytváří vlastnost PlanningCalendarValueProperty s daty vrstvy událostí * ''%%setCADefaultValue%%'' – Výchozí hodnota kalendáře * Celé číslo určující výchozí stav plánovacího kalendáře * Nastavuje výchozí hodnotu pro datové body kalendáře * ''%%setCAEmailForNotifications%%'' – Nastavení e-mailových notifikací * E-mailové adresy pro notifikace z kalendáře * Nastavuje příjemce notifikací pro události * ''%%setCANotificationBlacklist%%'' – Seznam vyloučení notifikací * Seznam vyloučených e-mailových adres nebo podmínek * Zabraňuje odesílání notifikací na zadané adresy * ''%%setCASumLayer%%'' – Vrstva souhrnu kalendáře * Podobné jako setCALayer, ale pro souhrnná/agregovaná data * Vytváří souhrnnou vrstvu plánovacího kalendáře * ''%%setCATPGDefinition%%'' – Definice TPG pro kalendář * Definuje nastavení TPG (Time Profile Generator) * Propojuje plánovací kalendář s komunikací PLC * ''%%setCATPGSetup%%'' – Konfigurace TPG nastavení * JSON formát parametrů TPG * Zahrnuje položky, metadata, min/max hodnoty a typy * Příklad struktury: {items: [...], max: 100, min: 0, type: "Planning", noExceptions: false} * ''%%setCAType%%'' – Specifikace typu kalendáře * Celé číslo určující typ chování kalendáře * Určuje funkci plánování vs. blokování ==== Záhlaví specifická pro drivery ==== === Sloupce pro Modbus driver (používá se s Driver: MODBUS) === * ''%%ModbusDeviceAddress%%'' – Adresa Modbus zařízení (hodnota v bajtech) * ''%%ModbusReadFunctionCode%%'' – Čtecí funkční kód Modbus * ''%%ModbusWriteFunctionCode%%'' – Zapisovací funkční kód Modbus * ''%%ModbusStartingAddress%%'' – Počáteční adresa registru * ''%%ModbusQuantity%%'' – Počet registrů ke čtení * ''%%ModbusVariableType%%'' – Typ proměnné (Bit, UInt16, SInt16, Float32 atd.) * ''%%ModbusByteOrder%%'' – Konfigurace pořadí bajtů Viz stránka [[cs:mervis-scada:70-generator:30-examples|]] pro příklad se specifikací Modbus. === Sloupce pro SSCP driver (používá se s Driver: SSCP) === * ''%%SSCPCOMMUID%%'' – Komunikační UID (povinné) * Nezáporné celé číslo (uint), identifikující komunikační prvek * Používá se pro adresování konkrétních paměťových oblastí v PLC * Musí být platná hodnota uint * ''%%SSCPOFFSET%%'' – Offset v paměti (povinné) * Nezáporné celé číslo (uint), určující bajtový posun v paměti PLC * Výchozí pozice pro čtení/zápis dat * Musí být platná hodnota uint * ''%%SSCPLEN%%'' – Délka dat (povinné) * Nezáporné celé číslo (uint), určující počet bajtů pro čtení/zápis * Definuje velikost datového prvku * Musí být platná hodnota uint * ''%%SSCPELEMENTTYPE%%'' – Datový typ prvku (povinné) * Enum hodnota určující způsob interpretace dat * Možnosti: BYTE, WORD, DWORD, FLOAT, DOUBLE atd. * Určuje způsob zpracování surových bajtů * ''%%SSCPTIMEISSYSTEMRTC%%'' – Příznak systémového RTC (volitelné) * Boolean hodnota (true/false) * Pokud je true, používá se systémové RTC místo paměti PLC * Používá se pro synchronizaci časových razítek * Výchozí hodnota je false, pokud není zadána * ''%%SSCPTPGSPECS%%'' – Specifikace TPG (volitelné) * JSON formát pro nastavení Time Profile Generator * Struktura: {ExceptionLength: int, ExceptionOffset: int, HasExceptions: bool, ItemType: enum} * Používá se pro plánovací kalendář a řízení na základě času * Při zpracování se vytváří objekt TpgV1_0Specs === Sloupce pro SoftPLC Link driver (používá se s Driver: SOFTPLCLINK) === * ''%%SPLCID%%'' – ID prvku SoftPLC (povinné) * GUID identifikující konkrétní proměnnou v SoftPLC * Musí být platný GUID * Používá se pro adresování a identifikaci proměnných * ''%%SPLCNAME%%'' – Název proměnné (povinné) * Řetězec – název proměnné v SoftPLC * Identifikátor datového prvku pro uživatele * Používá se spolu s ID pro vyhledání proměnné * ''%%SPLCDATETIMEISEPOCH%%'' – Příznak epochy pro DateTime (volitelné) * Boolean hodnota (true/false) * Pokud je true, DateTime hodnoty jsou ve formátu Unix epoch timestamp * Pokud je false, používá se standardní formát DateTime * Výchozí hodnota je false, pokud není specifikováno === Sloupce pro SCADA Inspector driver (používá se s Driver: INSPECTOR) === * ''%%INSPECTORTARGET%%'' – Cílový selektor (povinné) * Enum hodnota určující typ kontrolovaného cíle * Určuje, jak inspektor najde cíl ke sledování * ''%%INSPECTORDATAID%%'' – Identifikátor dat (povinné) * Řetězec identifikující konkrétní datový prvek ke kontrole * Používá se pro přesné vyhledání datového bodu v cíli * Musí odpovídat dostupným ID ve sledovaném systému * ''%%INSPECTORDIRECTTARGET%%'' – Přímý odkaz na cíl (povinné) * Řetězcový odkaz na konkrétní objekt cíle * Používá se, pokud je INSPECTORTARGET nastaven na DirectTarget * Mapuje se na existující instance driveru v projektu === Sloupce pro AMiT WebSocket driver (používá se s Driver: AMITWEBSOCKET) === * ''%%AMITWEBSOCKETVARIABLEID%%'' – Identifikátor proměnné (povinné) * ID proměnné v systému AMiT * Jedinečný identifikátor pro datový prvek * Používá se pro adresování v komunikaci přes WebSocket * ''%%AMITWEBSOCKETVARIABLETYPE%%'' – Typ proměnné (povinné) * Enum hodnota určující typ proměnné v AMiT systému * Možnosti: BOOL, INT, REAL, BYTE, WORD, DWORD atd. * Určuje interpretaci datového typu a použitý komunikační protokol * ''%%AMITWEBSOCKETVARIABLEMATRIXROW%%'' – Index řádku matice (volitelné) * Celé číslo určující index řádku pro proměnné typu matice/pole * Používá se pro přístup ke konkrétním prvkům v matici * Výchozí hodnota je 0, pokud není zadáno * ''%%AMITWEBSOCKETVARIABLEMATRIXCOL%%'' – Index sloupce matice (volitelné) * Celé číslo určující index sloupce pro proměnné typu matice/pole * Používá se pro přístup ke konkrétním prvkům v matici * Výchozí hodnota je 0, pokud není zadáno * ''%%AMITWEBSOCKETVARIABLETPGTYPE%%'' – Typ TPG (volitelné) * Enum hodnota pro typ Time Profile Generator v AMiT * Možnosti: BOOL, INT, REAL, BYTE, WORD, DWORD, UNKNOWN * Používá se pro konfiguraci plánovacího kalendáře a řízení podle času * Automaticky nastavuje TPG vlastnosti pro datové body typu BasicTpg * ''%%AMITWEBSOCKETVARIABLETPGMIN%%'' – Minimální hodnota TPG (volitelné) * Číselná hodnota určující minimální rozsah pro proměnné TPG * Používá se s typem TPG pro validaci rozsahu * Aplikuje se na jádra datových bodů typu BasicTpgInputOutput * ''%%AMITWEBSOCKETVARIABLETPGMAX%%'' – Maximální hodnota TPG (volitelné) * Číselná hodnota určující maximální rozsah pro proměnné TPG * Používá se s typem TPG pro validaci rozsahu * Aplikuje se na jádra datových bodů typu BasicTpgInputOutput === Poznámky k použití driverů === * Všechny sloupce specifické pro driver se používají ve spojení se sloupcem Driver, který určuje typ driveru * Konfigurace driveru se zadává ve sloupci DriverChannelParameters (formát JSON) * Volitelné sloupce mají rozumné výchozí hodnoty, pokud nejsou zadány * Všechny hodnoty podporují šablonové nahrazení pomocí syntaxe {keyname} z klíčů a hodnot daného řádku