FULL-C: program upload

Tato stránka popisuje programovací jazyk FULL-C, který je dostupný na vybraných zařízeních SDS. 
Některá zařízení používají SDS-C, pro který máme návody jinde na této WiKi.

Způsoby nahrání vašeho FULL-C programu do SDS

FULL-C program zapíšete, a zpracujete (přeložíte) v aplikaci FULLC.EXE (stáhněte si vždy tu aktuální z této wiki).

Zpracovaný program je možné:

1. přímo ve FULLC.exe nahrát do zařízení SDS

2. uložit (pomocí FULLC.exe) do souboru .FC pro pozdější využítí (znovuotevření ve FULLC.exe, nebo nahrání do SDS např. pomocí SDSLOAD.exe)

3. uložit (pomocí FULLC.exe) do souboru .FCB pro pozdější nahrání do SDS


Pokud pouze a jenom nahráváte své SDS přímo z FULLC.exe, není pro vás dále zbytek této stránky podstatný.

Alternativní možnosti jsou k dispozici, zejména pokud chcete realizovat nahrávání (a konfiguraci) SDS svou vlastní aplikací.


Soubor .FC

Tento soubor obsahuje jeden nebo více prvků, které si sami vyberete.

Každý prvek může nebo nemusí být do .FC vložen: 1. zdrojový kód FULL-C programu 2. přeložený FULL-C program (pro nahrání do SDS) 3. UserWEB project 4. obsah User DF 5. textová poznámka (pro identifikaci obsahu .FC)

Soubor .FC lze vytvořit ve FULLC.exe, a lze jej ve FULLC.exe také načíst; nebo jej lze načíst a použít i v aplikaci SDSLOAD.exe.

Soubor .FC je jako celek samostatně symetricky šifrován, a uživatel má možnost zvolit si heslo (je-li použito, nelze bez něj pak .FC otevřít).

Soubor .FCB

Soubor .FCB obsahuje jen a pouze přeložený FULL-C program. Soubor .FCB existuje z důvodu potřeby implementace (vašich vlastních) skriptovaných metod nahrávání hotového FULL-C programu do SDS.

Soubor .FCB obsahuje čistý výstup z překladu provedeného FULLC.exe, který je sám o sobě šifrovaný. Další dodatečné šifrování .FCB tak není prováděno (není potřeba).

Obsah .FCB lze přímo 1:1 nahrát do SDS, viz popis protokolů dole na této stránce.


Soubor .UWB

Soubor .UWB obsahuje přeložený UserWEB project. Soubor .UWB existuje z důvodu potřeby implementace (vašich vlastních) skriptovaných metod nahrávání hotového UserWEB projektu do SDS.

Obsah .UWB lze přímo 1:1 nahrát do SDS, viz popis protokolů dole na této stránce.


Komunikační protokoly pro nahrání FULL-C programu do SDS

Existují dva protokoly:

1. prostřednictvím UDP (8081) s proprietárním symetrickým šifrováním přenosu (unikátní klíč pro každé spojení)

Tento programovací UDP protokol je využit na všech SDS, nicméně interně se různě odlišuje (v detailech) podle Produktové Řady.

Tento protokol je dostupný jedině a pouze přes aplikaci FULLC.exe a SDSLOAD.exe

Na SDS-BIG-512 lze programování přes tento protokol zakázat.


2. prostřednictvím HTTP/HTTPS POST protokolu (REST API) (unikátní salt pro každé spojení)

Přenásí se obsah .FCB nebo .UWB souboru (nebo také další funkce, jako je IP konfigurace).

Tento protokol je k dispozici na SDS-BIG / SDS-STSW / a dalších - a to primárně z důvodu potřeby zákazníků skriptovat nahrávání a konfiguraci svých SDS (např. vlastním python skriptem).

Uživatel je nejprve autorizován (průmyslový standard: dvojitý SHA-256 hash vůči unikátnímu Salt, který je vždy jiný pro každé nové spojení), a poté je provedeno smazání původního programu a nahrání nového (klient pošle sekvenci příkazů a obsah svého souboru .FCB nebo .UWB).

Detaily tohoto protokolu jsou popsány zde: SDS: POST upload

Vzorová aplikace FCB_LOADER.exe je k dispozici na dotaz, i se zdrojovými kódy.


Proč tento způsob ?

  • Protože UDP protokol (8081) je proprietární a není možné jeho specifikaci běžně veřejně uvolnit.
  • Protože implementace autorizované komunikace přes HTTPS POST je průmyslovým standardem a je velmi snadné provést jeho skriptování v různých jazycích