UTOI – Konverze celého čísla bez znaménka na celé číslo se znaménkem

Symbol blokuPotřebná licence: STANDARD
PIC

Popis funkce
Blok chápe vstupní (kladné) číslo jako celé číslo se znaménkem v reprezentaci dvojkový doplněk, tj. běžná reprezentace v procesorech. Například číslo -1 je v 8-bitové reprezentaci je stejné s číslem 255 a v 16-bitové reprezentaci s číslem 65535. Kolika bitová reprezentace se předpokládá určuje parametr bits.

Hlavní použití tohoto bloku je situace, kdy hodnota z ovladače obsahuje více signálů, které se získávají vymaskováním (typicky blokem INTSM nebo BITOP). Výstupem tohoto vymaskování je vždy kladné číslo, ale pokud je význam signálu z ovladače číslo se znaménkem, použije s k získání správné hodnoty tento blok.

Protože procesory vyskytující se na trhu ukládají vícebajtová čísla různě (obvyklejší je tzv. little-endian, kde na nižší adrese je výynamnější bajt, ale vyskytují se i procesory s tzv. big-endian formátem, kde je to maopak), blok umožňuje i prohodit pořadí bajtů, pokud to není ošetřeno v ovladači. K tomu slouží parametr SWAP.

POZOR!!! Prohození pořadí bajtů (tj. nastavit SWAP=on) řeší problém s rozdílným pořadí bajtů v procesoru obvykle jen pro případ bits=16 nebo bits=32.

Vstup

u

Vstupní signál bez znaménka   -9.22337E+18  9.22337E+18

Large (I64)

Parametry

bits

Počet platných bitů ve vstupním signálu   2  64 16

Long (I32)

SWAP

Otočení pořadí bajtů vstupu

Bool

Výstup

i

Zkonvertovaný (se znaménkem) vstupní signál

Large (I64)

2023 © REX Controls s.r.o., www.rexygen.com