Technické informace

Z Manta
Přejít na:navigace, hledání

Manta ekosystém

Tato sekce poskytuje základní technický přehled architektury, požadavků a provozních principů řešení Manta pro zákazníky a implementační partnery.

Řešení

Manta je navržena jako server–terminálové řešení, kde aplikační server zajišťuje centrální logiku a databázové operace a terminály (Android) slouží jako klientská zařízení.

Řešení je optimalizováno pro stabilní provoz ve výrobním prostředí a není extrémně náročné na výkon serveru.

Doporučené parametry aplikačního serveru

Pro standardní nasazení (do cca 50 současně aktivních zařízení):

ℹ️
  • CPU: 8+ jader
  • RAM: 16+ GB
  • Uložiště: 250+ GB SSD/NVMe
  • Síťové připojení: 1 Gbit Ethernet
  • OS: Windows Server 2019+

Všechny potřebné softwarové komponenty jsou instalovány automaticky v rámci instalačního procesu Manty.

pro funcionalitu je využíván primarně IIS (Internet Information Services).

zavislosti v IS Helios

Pro úspěšnou instalaci Manty musí být v Heliosu (platí pro inuvio) nainstalován modul: Evidence zboží na lokacích (Gatema)

Instalace Manta (Server)

  • Instalace IIS na aplikační server
  • Stažení instalačního balíčku Manty
  • Spuštění instalátoru MantaSetup.exe
  • Nastavení profilu (testovací / ostrý)
  • Spuštění volby Upgrade aplikací a databáze

Po dokončení jsou nainstalovány komponenty v Heliosu a komunikační můstek mezi serverem a terminály.

Oprazovka Instalátoru
Po spuštění Instalátoru se objeví zakladní okno pro výběr profilů.
Editace Profilu
💻
  1. Název profilu:   Necháte stejný, nebo si ho přejmnujete na svůj název
  2. Cesta k Helios.exe: Pomoci “...” vpravo si nalistujete tento soubor, tam kde ho máte  umístěný
  3. Db server: Doplní se automaticky po vyplnění “2”
  4. SQL login: Uživatelské jméno do Heliosu
  5. SQL heslo: Heslo do Heliosu
  6. Databáze: Předvyplní se automaticky po “2” . Kliknutím do pole s názvem databáze se vám zobrazí další databáze, které jsou dostupné a tu kterou chcete si vyberete.
  7. Licenční soubor: pomocí “...” vpravo si vyberete licenční soubor
  8. Uložit

Instalace Manta (Klient)

Koncové zařízení tvoří Android zařízení tablet, AIO, nebo ruční zařízení.

Nejjednodušší způsob instalace terminálů je pomocí QR kódů. Dále je možné APK soubor stáhnout v rámci webové konfigurace.

Používají se dva typy QR kódů:

  • QR kód stažení aplikace – stáhne a nainstaluje nejnovější verzi aplikace
  • QR kód přihlášení – nastaví přístupové údaje k serveru

QR kódy lze generovat:

  • v instalačním nástroji Manty
  • ve webové konfiguraci:
💻
Menu → Aplikace → Správa APK balíčků
Menu Nastavení
Nastavení lze importovat a exportovat z koncového zařízení i přes soubor *.json

Tyto možnosti jsou v ramci android aplikace v menu nastavení.

Správa APK balíčků

Ve webové konfiguraci je dostupná sekce:

💻

Menu → Aplikace → Správa APK balíčků

Slouží k:

  • správě verzí APK
  • nahrávání nových balíčků
  • generování QR kódů pro instalaci a konfiguraci terminálů

Standardně se nové APK nahrají automaticky při aktualizaci Manty.

Provoz Manty na Windows terminálech

Na některých typech zařízení může být Manta provozována prostřednictvím Android aplikace spuštěné v prostředí Windows pomocí subsystému WSA (Subsystem Windows pro Android).

⚠️
WSA již společnost Microsoft oficialně nepodporuje, nicméně i tak je možné subsystém nainstalovat a využívat

Instalace Kiosku

ℹ️
Dle doporučení dodavatele HW. se v praxi osvěčila aplikace Fully Kiosk Browser

Odkaz na googlePlay Stažení aplikace fully Kiosk Browser

QR na google Play Fully Kiosk Browser

nejprve je potřeba nainstalovat aplikaci.

K hlavnímu menu je možné přistupovat gestem Swipe (tažení prstem) z levé strany obrazovky do středu.

Vybereme možnost Settings -> Universal Launcher

Zde zaškrtnout Show Launcher on Start na true

v rámci možnosti Select Items to Show je možné vybrat aplikace přistupné uživatelům v domovské obrazovce Kiosku.

v rámci settings vybereme možnost Kiosk Mode kde je nutné zašrtnout Enable Kiosk Mode . Na této kartě je možné upravit nastavení kiosku dle potřeb uživatele.

ℹ️
Doporučujeme změnit heslo přes položku Kiosk Mode PIN a nenechávat defaultní heslo.

Tabulky pro sběr dat ze strojů

TABMANTA_Intdata    

Column_name Type Length Prec Scale Nullable Popis
Id int 4 10   0   no Vnitřní identity – vyplňuje se automaticky
HwInputId int 4 10   0   no Vazba na ID z tabulky  TABMANTA_DeviceHardwareInput
SaveSQLDate datetime 8         no Datum založení na SQL
StartDate datetime 8         no Datum a čas zahájení události
FinishDate datetime 8         yes Datum a čas ukončení události
Value numeric 9 19   6   no Hodnota (pro cyklus vždy 1, pro ostatní hodnota z převodníku )
Status bit 1         no Status  - info pro další zpracování
IntervalTime numeric 9 19   6   no Čas sepnutí
OnTime numeric 9 19   6   no Čas náběhové hrany
OffTime numeric 9 19   6   no Čas sestupné hrany
CykleTime numeric 9 19   6   no Celkový čas cyklu
Uploaded bit 1         no Info za byl záznam zpracován do ERP
Complete bit 1         no Info zda je záznam kompletní a může se zpracovat do ERP
Author nvarchar 510         yes Autor záznamu   suser_sname()
Changed nvarchar 510         yes Autor změny záznamu suser_sname()
CreateDate datetime 8         no Datum vytvoření  -- nemusí se vyplňovat má default
ChangeDate datetime 8         yes Getdate() změny záznamu
Note nvarchar -1         yes Libovolná poznámka k záznamu

TABMANTA_DeviceHardwareInput

Column_name Type Length Prec Scale Nullable Popis
Id int 4 10   0   no Vnitřní identity – vyplňuje se automaticky
Name nvarchar 256         yes Libovolné  pojmenování vstupu
HwId int 4 10   0   no Vazba na ID z tabulky TABMANTA_DeviceHardware
InputNum int 4 10   0   no Číslo vstupu
WpId int 4 10   0   no Id pracoviště (ID z ViewMANTA_workplace)
Description nvarchar 510         yes Libovolný popis HW vstupu
Author nvarchar 510         yes Autor záznamu   suser_sname()
Changed nvarchar 510         yes Autor změny záznamu suser_sname()
CreateDate datetime 8         no Datum vytvoření -- nemusí se vyplňovat má default
ChangeDate datetime 8         yes Getdate() změny záznamu
Note nvarchar -1         yes Libovolná poznámka k záznamu

TABMANTA_DeviceHardware

Column_name Type Length Prec Scale Nullable Popis
Id int 4 10   0   no Vnitřní identity – vyplňuje se automaticky
Name nvarchar 200         no Jméno zařízení   (Např.  PLC1, PLC2 …….)
IpAdress nvarchar 60         yes IP adresa zařízení
Port int 4 10   0   yes Port na kterém komunikuje
Type nvarchar 510         yes Typ zařízení   (plc)
MacAdress nvarchar 400         yes Mac adresa zařízení
LoginName nvarchar 400         yes Přihlašovací jméno
Password nvarchar 400         yes Přihlašovací heslo
Author nvarchar 510         yes Autor záznamu   suser_sname()
Changed nvarchar 510         yes Autor změny záznamu suser_sname()
CreateDate datetime 8         no Datum vytvoření -- nemusí se vyplňovat má default
ChangeDate datetime 8         yes Getdate() změny záznamu
Note nvarchar -1         yes Libovolná poznámka k záznamu


Dále musí existovat funkce pro zpracování jednotlivých záznamů  z tabulky TABMANTA_Indata.

Funkce pro zpracování stavu

Jméno: dbo.FUMANTA_AC_Status_???     (??? – libovolný sufix např. dle pracoviště )

Vstup: @WPID – id pracoviště z ViewMANTA_Workplace, @autoIdleDelay - čas po který je tolerováno nekomunikace stroje, po uplynutí tohoto času by měl být nastaven prostoj

Výstup:  @status  bit   - stav pracoviště 1=pracuje, 0=nepracuje

Vzor:

create or alter function dbo.FUMANTA_AC_Status_HST(@WPID int,@autoIdleDelay int)

returns bit

AS

BEGIN

               DECLARE @Status bit

               set @autoIdleDelay=@autoIdleDelay*-1

               IF exists(               Select IND.ID from TABMANTA_Intdata IND

                              left outer join TABMANTA_DeviceHardwareInput DI on DI.ID=IND.HwInputId

                              where DI.WPID=@WPID and Ind.SaveSQLDate > DATEADD(ss,@autoIdleDelay, getdate())) -- existuje záznam,který je vyšší než teď-konstanta

                              SET @Status=1

                  else

                              SET @status=0

               return @status

END


Funkce pro zpracování  množství

Jméno :  dbo.FUMANTA_AC_Quantity_???

Vstup:  @WPID – id pracoviště z ViewMANTA_Workplace

Výstup:  @koeficient =koeficient pro vynásobení hodnoty value z tabulky TabMANTA_Outdata

Vzor :

create or alter function dbo.FUMANTA_AC_Quantity_HST(@WPID int)

returns numeric(19,6)

AS

BEGIN

               DECLARE @koeficient numeric(19,6)

               SET @koeficient=1.0000

               return @koeficient

END


Dále musí existovat procedura na zpracování vstupů, které se periodicky spouští SQL jobem. Procedura uloží vypočítané množství kusů do tabulky událostí terminálů


Vzor jobu:

create or alter procedure SPMANTA_processorSaveQuantity  @WPId int, @IDInt int, @value numeric(19,6),@Mesg nvarchar(max) OUTPUT

AS

DECLARE @Function nvarchar(max)=NULL,@return int=0,@koeficient numeric(19,6)=1,@IDOut int

DECLARE @SQL nvarchar(max)

SELECT @Function=FunctionQuantity from VIEWMANTA_WorkPlace where ID=@WPId

IF OBJECT_ID(@Function,'FN') IS NOT NULL

BEGIN

set @SQL='select @out=' +@Function + '(' + cast(@WPId as nvarchar(30)) + ')'

DECLARE @ParmDefinition nvarchar(255)

SET @ParmDefinition = '@Out numeric(19,6) OUTPUT';  

EXEC sp_executesql @SQL,@ParmDefinition,@out=@koeficient OUTPUT

Update TABMANTA_outdata set QuantityMachine=QuantityMachine+(@value*@koeficient),QuantityMachineLive=QuantityMachineLive+(@value*@koeficient)

where ID in (SELECT ID from TABMANTA_outdata where TerminalEvent=3 and CompleteRecord=0  and WorkplaceId=@WPId)

/*zápis do vazební tabulky TABMANTA_xInOut*/

INSERT INTO TABMANTA_xInOut([inDataId],[outDataId],[Value],[Coef]) values(@IDInt,@IDOut,@value,@koeficient)

set @return=1

set @Mesg='OK'

END

  ELSE

BEGIN

set @return=0

set @Mesg='Na pracovišti id='+cast(@WPId as nvarchar(30))+ ' není uvedena procedura pro zpracování'

END

RETURN @return