====== Příklady ======
===== Modbus TCP klient pomocí CloudAccess =====
{{:en:mervis-scada:70-generator:modbus_excel.png?direct&800|}}
* Je potřeba vytvořit správně naformátovaný soubor s mapováním.
* Stáhnout příklad: {{ :en:mervis-scada:70-generator:ca_modbus.xlsx |}}
* **Důležité**
* Používejte unikátní GUID.
* Online generátor: https://guidgenerator.com/online-guid-generator.aspx
* Když rozšiřujete tento příklad o Driver a DriverChannelParameters, nepoužívejte veřejnou IP adresu pro komunikaci. Místo toho použijte službu [[cs:mervis-cloudaccess:|CloudAccess]].
* Přejděte na https://generator.mervis.info, vyberte mapovací soubor a vložte parametry (nebo vyberte .txt soubor).
* **Důležité**
* Pro nový projekt použijte unikátní GUID.
* Použijte správné informace k Mervis DB:
* Funkční URL databáze
* Uživatelské jméno a heslo
* Unikátní klíč „Root“ pro každý projekt
==== Modbus ====
=== Podporované datové typy ===
| Bit |
| UInt8 |
| SInt8 |
| UInt16 |
| SInt16 |
| UInt32 |
| SInt32 |
| Float32 |
| Float64 |
| SInt48 |
| UInt48 |
| SInt64 |
| UInt64 |
=== Podporované Modbus funkce ===
^ Funkce ^ Kód ^
| ReadCoils | 1 |
| ReadDiscreteInputs | 2 |
| ReadHoldingRegister | 3 |
| ReadInputRegister | 4 |
^ Funkce ^ Kód ^
| WriteSingleCoil | 5 |
| WriteMultipleCoils | 15 |
| WriteSingleRegister | 6 |
| WriteMultipleRegisters | 16 |
==== Parametry generátoru ====
--sourceType MervisDb
--projId ecd6fa5d-78c1-4120-9b11-23521bee7688
--projName "AnyNameWouldDoModbus"
--projTimeZone "Europe/Prague"
--mdbConnStr "rcwaredb://uuuuuser:ppppasword@db.mervis.info:443/?protocol=https,endpoint=RcWareDbHttpsAccess,uriaccess=db/imports5/RcWareDbAccess"
--mdbDpNameKey {FixedName}
--mdbSourceKeys "(Root|ahoj|true)"
--mdbTreeLevelKeys Level1/Level2
--outputDirectory ecd6fa5d-78c1-4120-9b11-23521bee7688
--useDbV2
--mdbUnitKey Unit
--mdbExportOnlyIdKeys
--dbWriteModeOn
--dbWriteModeSamplingInterval 180
--dbEnableWriteFromDriver
--dbWriteModeDecimals 2
--notSortDataPoints
--dpVisualDecimals 2
--mdbReadGroupUpdateInterval 10
===== Projekt MervisDB s Datapoint Transformacemi a Alarmy =====
* Je potřeba vytvořit správně naformátovaný soubor s mapováním.
* Stáhnout příklad: {{ :en:mervis-scada:70-generator:mervisdb_example.xlsx |}}
* **Důležité**
* Používejte unikátní GUID.
* Online generátor: https://guidgenerator.com/online-guid-generator.aspx
* Nepoužívejte veřejnou IP adresu pro komunikaci. Místo toho použijte službu [[cs:mervis-cloudaccess:|CloudAccess]].
* Přejděte na https://generator.mervis.info, vyberte mapovací soubor a vložte parametry (nebo vyberte .txt soubor).
* **Důležité**
* Pro nový projekt použijte unikátní GUID.
* Použijte správné informace k Mervis DB:
* Funkční URL databáze
* Uživatelské jméno a heslo
* Unikátní klíč „Root“ pro každý projekt
==== Parametry generátoru ====
--sourceType MervisDb
--projId e519e6ab-3971-4504-ba2a-9db81c723c1e
--projName "ExampleMervisDb"
--projTimeZone "Europe/Prague"
--mdbConnStr "rcwaredb://uuuuuser:ppppasword@db.mervis.info:443/?protocol=https,endpoint=RcWareDbHttpsAccess,uriaccess=db/imports5/RcWareDbAccess"
--mdbDpNameKey {FixedName}
--mdbSourceKeys "(Root|ahoj|true)"
--mdbTreeLevelKeys Level1/Level2
--outputDirectory e519e6ab-3971-4504-ba2a-9db81c723c1e
--useDbV2
--mdbUnitKey Unit
--mdbExportOnlyIdKeys
--dbWriteModeOn
--dbEnableWriteFromDriver
--dbWriteModeDecimals 4
--dpVisualDecimals 3
===== SSCP klient s komunikací PLC =====
* Je potřeba vytvořit správně naformátovaný soubor s mapováním.
* Stáhnout příklad: {{ :en:mervis-scada:70-generator:sscp_plc_example.xlsx |}}
* **Důležité**
* Používejte unikátní GUID.
* Online generátor: https://guidgenerator.com/online-guid-generator.aspx
* Přejděte na https://generator.mervis.info, vyberte mapovací soubor a vložte parametry (nebo vyberte .txt soubor).
* **Důležité**
* Pro nový projekt použijte unikátní GUID.
* Použijte správné informace k Mervis DB:
* Funkční URL databáze
* Uživatelské jméno a heslo
* Unikátní klíč „Root“ pro každý projekt
==== SSCP ====
Informace týkající se definování sloupců ovladače SSCP v mapovacím souboru: [[https://kb.mervis.info/doku.php/cs:mervis-scada:70-generator:20-help?tns#sloupce_pro_sscp_driver_pouziva_se_s_driversscp|Sloupce pro SSCP driver (používá se s Driver: SSCP)]]
==== Parametry generátoru ====
--sourceType MervisDb
--projId ed18bc18-972a-457a-bc4b-fa96f3a14fb9
--projName "ExampleSSCP"
--projTimeZone "Europe/Prague"
--mdbConnStr "rcwaredb://uuuuuser:ppppasword@db.mervis.info:443/?protocol=https,endpoint=RcWareDbHttpsAccess,uriaccess=db/imports5/RcWareDbAccess"
--mdbDpNameKey {FixedName}
--mdbSourceKeys "(Root|ahoj|true)" # Je nepoužitý
--mdbTreeLevelKeys Level1/Level2
--outputDirectory ed18bc18-972a-457a-bc4b-fa96f3a14fb9
--useDbV2
--mdbUnitKey Unit
--mdbExportOnlyIdKeys
--dbWriteModeOn
--dbEnableWriteFromDriver
--dbWriteModeDecimals 4
--dpVisualDecimals 3
===== Klient s komunikací PLC přes Proxy s využitím metadat =====
* Project Generator se připojuje k PLC přes proxy. Projekt je generován pomocí metadat stažených z PLC.
* Přejděte na https://generator.mervis.info, vložte parametry (nebo vyberte .txt soubor).
* **Důležité**
* Pro nový projekt použijte unikátní GUID.
==== Parametry generátoru ====
--sourceType SharkPlc
--projId f6f6cfdd-7b7e-4fef-94ad-1cc573c4919f
--projName "ExamplePLC"
--projTimeZone Europe/Prague
--connectionType Proxy
--proxyId iiiiiii
--host proxy.mervis.info
--port 12349
--ssl true
--plcUser uuuuuuu
--plcPassword ppppppp
--mdbDpNameKey {VariableName}
--mdbUnitKey Unit
--outputDirectory f6f6cfdd-7b7e-4fef-94ad-1cc573c4919f
===== Amit WebSocket - integrace =====
* Po možnosti využívat DB-net prostřednictvím Mervis služby [[cs:mervis-proxy:db-net|Amit Proxy]] nabízí Amit v nejnovějších regulátorech přímo nativní podporu technologie [[cs:mervis-cloudaccess:00-start#amit_-_websocket_komunikace|Mervis CloudAccess]] a svého **WebSocket** protokolu.
* **Mervis SCADA projekt** se generuje pouze pomocí excelového mapovacího ''XLSX'' souboru, který musí obsahovat všechny potřebné údaje pro vytvoření všech datových bodů
* **Mapovací soubor** si lze nechat připravit pomocnou aplikací ''AmitWebSocketUtil.exe'' přímo z projektu, který je nahraný do PLC
* Ukázkový mapovací soubor ke stažení: [[https://drive.google.com/open?id=1090Oc1m3f8P97I7t-ls9uPD-w7iagSHc&usp=drive_fs|mapping-amit.xlsx]]
* **Postup**
* Nastavte si v PLC komunikaci na CloudAccess server: [[cs:mervis-cloudaccess:00-start#amit_-_websocket_komunikace|DetStudio - nastavení CloudAccess]]
* Vygenerujte si podle příkladu níže CSV soubor a uložte ho jako XLSX
* Soubor volitelně upravte podle vlastní potřeby
* Přejděte na https://generator.mervis.info, vložte parametry (nebo vyberte .txt soubor) a zvolte svůj XLSX mapovací soubor
==== AmitWebSocketUtil ====
* Download: [[https://drive.google.com/open?id=1090Oc1m3f8P97I7t-ls9uPD-w7iagSHc&usp=drive_fs|AmitWebSocketUtil.exe a mapping-amit.xlsx]]
.\AmitWebSocketUtil.exe ^
--host cloudaccess.mervis.info ^
--port 23000 ^
--use-cloud-access true ^
--ca-channel iiiii^
--ca-user uuuuu ^
--ca-password ppppp ^
--output-file amit_websocket_variables.csv ^
--hash-string AmitWSTest ^
--comm-params "{\"host\": \"cloudaccess.mervis.info\", \"port\": 80, \"useCloudAccess\": \"true\", \"cloudAccess\": {\"host\": \"cloudaccess.mervis.info\", \"port\": 23000, \"ssl\": \"true\", \"channelId\": \"iiiii\", \"user\": \"uuuuu\", \"password\": \"ppppp\"}"
==== Parametry generátoru ====
* použijte náhodně vygenerované Project ID (generátor: https://guidgenerator.com/online-guid-generator.aspx)
* zadejte platné ChannelID, username a password pro připojení ke CloudAccess službě
* zadejte správné jméno a heslo pro Mervis DB
--sourceType MervisDb
--projId f481fd8d-fb10-443f-9747-62458e42aaa
--projName "amit-ws-test"
--projTimeZone "Europe/Prague"
--mdbConnStr "rcwaredb://amit_ws_example:amit_password@db.mervis.info:443/?protocol=https,endpoint=RcWareDbHttpsAccess,uriaccess=db/imports4/RcWareDbAccess"
--mdbDpNameKey {FixedName}
--mdbSourceKeys "(Foo|bar|false)"
--mdbTreeLevelKeys {FixedLevel1}
--mdbExportOnlyIdKeys
--outputDirectory f481fd8d-fb10-443f-9747-62458e424aaa
--useDbV2
--mdbCommErrorIntervalMultiple 2000
--dbWriteModeOn
--dbWriteModeSamplingInterval 180
--dbWriteModeDecimals 2