icmInspector – kontrola jakości, przeglądy, audyty, serwis, QMS, CMMS, 5S, BHP, HACCP, ISO

icmScript - język programowania w icmInspector

Język icmScript jest językiem programowania systemu icmInspector i umożliwia za pomocą prostego kodu rozszerzenie funkcjonalności systemu w zakresie:

Deklaracja wykorzystania icmScript

Włączenie obsługi języka icmScript realizowane jest przez deklarację:

[icmScript]

Deklaracja musi zostać wpisana do pola API KEY nagłówka formularza ankiety.

Brak dodania deklaracji w nagłówku formularza pomimo uzupełnienia pozostałych elementów nie włączy interpretera języka icmScript dla danego formularza.

Zmienne

Zmienne w języku icmScript tworzymy za pomocą deklaracji:

[icmScriptVar]NAZWA_ZMIENNEJ[/icmScriptVar]

Wymagania:

Przykład:

[icmScriptVar]WYMIAR_A[/icmScriptVar]

Deklaracja wzoru w icmScript

Wzory operacji matematycznych w języku icmScript wprowadza się za pomocą deklaracji:

[icmScript] WZOR [/icmScript]

Wyliczona wartość wzoru zostanie wstawiona jako odpowiedź na pytanie, w którym zdefiniowano wzór:

lub

[icmScriptOutputQuestion] WZOR [/icmScriptOutputQuestion] 

Wynik zostanie wstawiony do treści pytania pytania w miejsce tagu [icmScriptOutput], w przypadku braku tego tagu wynik zostanie zignorowany.

lub

[icmScriptOutputQuestionAnswer] WZOR [/icmScriptOutputQuestionAnswer] 

Wynik zostanie wstawiony zarówno do odpowiedzi, jak i do treści pytania w miejsce tagu [icmScriptOutput]

Wymagania:

Wyniki operacji 

[icmScriptOutput]

Wymagania:

Przykład:

Dodatkowe operacje

Do podstawowych działań matematycznych (dodawanie, odejmowanie, mnożenie i dzielenie) dostępne są dodatkowe funkcje takie jak: wartość bezwzględna, funkcja MIN/MAX, funkcja IF, pierwiastkowanie oraz zaokrąglanie wyników działań.

Funkcje mogą być zagnieżdżane wewnątrz siebie, ale z dwoma warunkami:

  1. Nie można zagnieżdżać wewnątrz siebie funkcji MIN i MAX w żadnej konfiguracji - ze względu na problem z określeniem, które wartości dotyczą której funkcji,
  2. Nie można zagnieżdżać funkcji IF wewnątrz innej funkcji IF - z podobnego powodu jak powyżej

Ważne, dla powyższych funkcji wykorzystujemy nawiasy klamrowe "{ }", dla definicji wzoru kwadratowe "[ ]"

  1. Wartość bezwzględna - wartość bezwzględna z wyrażenia, wyrażeniem może być liczba, zmienna, albo wzór.
    Przykład wykorzystania:
[icmScript]
{abs}
zmienna_1 + zmienna_2 * zmienna_3
{/abs}
[/icmScript]

Wzór rozpoczynamy o deklaracji wzoru [icmScript]/[icmScriptOutputQuestion]/ [icmScriptOutputQuestionAnswer] następnie dodajemy wybraną funkcję w nawiasie klamrowym {abs} przed rozpoczynającym się działaniem matematycznym. Ważne, aby rozpoczętą funkcję zawsze zamknąć {/abs},

2. Funkcja MIN/MAX

Przykład wykorzystania
MIN - zwraca najniższą wartość liczbową w zbiorze wartości. Zmienne/wzory oddzielamy za pomocą średnika ";"

[icmScript]
  {min}
    zmienna_1 + zmienna_2 ; 
    {abs}zmienna_3 - zmianna_2{/abs} ; 
    (zmienna_3 - zmienna_2)*3 
  {/min}
[/icmScript]

MAX - zwraca najwyższą wartość liczbową w zbiorze wartości. Zmienne/wzory oddzielamy za pomocą średnika ";"

[icmScript]
  {max}
    zmienna_1 + zmienna_2 ; 
    zmienna_3 ; 
    {abs}(zmienna_3 - zmienna_2)*3 {/abs}
  {/max}
[/icmScript]

3. Funkcja IF - funkcja składa się ze znaczników “{if} warunek {then} - wartość jeżeli prawda {else} - wartość jeżeli fałsz {/if}” - wszystkie tagi muszą być dodane we wzorze. Obsługiwane są następujące operatory porównania: =, <, >, <=, >=, != Dodatkowo można używać operatory logiczne AND (&&) oraz OR (||).

Ograniczenia: Nie można zagnieżdżać funkcji {if} wewnątrz innej funkcji {if}

Przykład wykorzystania:

[icmScript] 

{if} 
zmienna_1- zmienna_2 >= zmienna_3+ 10 
{then} 
zmienna_1+ zmienna_2;
zmienna_3; 
zmienna_3- zmienna_2; 
{else} 
zmienna_2- zmienna_1 

{/if} 
[/icmScript]

{print} - wyświetla wartość podaną jako argument. Można używać wartości i zmiennych zarówno liczbowych, jak i tekstowych. W przypadku wartości tekstowej musi być ona umieszczona pomiędzy znakami cudzysłowu. Funkcja nie posiada ograniczeń jeśli chodzi o zagnieżdżanie w innych funkcjach. Funkcja dostępna od wersji 1.0.199

{print} zmienna_liczbowa {/print}
{print} zmienna_tekstowa {/print}
{print} 15 {/print}
{print} “Tekst do wyświetlenia“ {/print}

Przykład wykorzystania

[icmScript]
{if}
a1 = a2 || (a1 > 0 && (a1 > 3 || a2 > 3) && (a1 + a2) < 6)
{then}
{print} "Wynik prawidłowy" {/print}
{else}
{print} "Błędny wynik" {/print}
{/if}
[/icmScript]

W tej funkcji należy zwrócić szczególnie uwagę na zakończenia wykorzystanych funkcji {/abs}/ {/sqrt}/ {/print}/{/if}

4. Pierwiastek - funkcję rozpoczynamy od {sqrt} a kończymy {/sqrt}

Przykład wykorzystania

[icmScriptOutputQuestion]   
{sqrt} 
    zmienna_1 - zmienna_2
  {/sqrt}
[/icmScriptOutputQuestion] 

5. Zaokrąglanie uzyskanych wyników - za pomocą tej funkcji określamy do ilu miejsc po przecinku należy zaokrąglić wynik. Funkcję konfigurujemy dla konkretnego wzoru, nie jest to funkcja obowiązkowa.
Funkcję rozpoczynamy od {round}, a kończymy po wzorze |x {/round} gdzie x - to ilość miejsc po przecinku w wyniku

Przykład wykorzystania:

 [icmScript]
{round}
  {sqrt} 
    {abs} zmienna_1 - zmienna_2 {/abs}
  {/sqrt}
|1 {/round}
[/icmScript]

Powrót

Kontakt

Jesteśmy do Twojej dyspozycji

Napisz do nas

Wyślij

Producent

icMobile System sp. z o. o.
Al. J. Piłsudskiego 46
33-300 Nowy Sącz
+48 694 412 203
icmobile@icmobile.pl

Zostań naszym partnerem!

Jeżeli Twoja firma dostarcza rozwiązania dla podmiotów zajmujących się produkcją spożywczą lub przemysłową z przyjemnością nawiążemy współpracę partnerską! Więcej o modelu współpracy znajdziesz w sekcji Dla partnerów.

Napisz do nas: partners@icmobile.pl


Sprzedaż
Dołącz do społeczności

Bądź na bieżąco z nowościami w icmInspector oraz materiałami dotyczącymi digitalizacji i automatyzacji w zarządzaniu jakością!

Podaj swój adres e-mail ...