PLC - Programovatelné logické automaty | ||
PLC-AUTOMATIZACE - DATA - KÓDOVÁNÍ / DEKÓDOVÁNÍ - BCD KÓDOVÁNÍ | Provoz webu zajišťuje: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
BCD KÓDOVÁNÍCharakteristikaBCD (Binary Code Decimal) - binárně kódované decimální číslo. Ve výpočetní technice a elektronických systémech se často používá binární kódování desítkového čísla tak, že každá desítková číslice má přiřazen pevný počet bitů, obvykle 4 Bity (výjimečně 8 Bitů, dříve i např. 6 Bitů). Principielně se jedná o "oříznutý" kód hexadecimální soustavy v rozsahu 4 bity, kdy bitové kombinace, které neodpovídají číslicím 0-9, tedy hodnoty 10-15, jsou buď zakázány nebo mohou být použity pro vyjádření znaménka, chyby, přetečení, polohy desetinné čárky. Kódování BCD nepatří mezi kódování, které poskytuje zabezpečení kódu. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PoužitíBCD kódován se používá v Bytově nebo slovně (word) orientovaných systémů (tj u počítačů a výpočetní technice). Pokud se jedná o nekomprimovaný BCD kód, předpokládá se, že celý Byte eventuelně slovo (word) je použit pro jednu číslici jako takovou, při použití specielního znaku i pro znaménko. Komprimovaný kód BCD je úspornější v tom smyslu, že minimalizuje počet nutných bitů pro zápis jedné číslice, tj. 4 bity (Nibble) pro vyjádření číselné hodnoty 0-9. V tomto případě je možno do jednoho Byte uložit dvě číslice - dekády, tj. dekadicky 00-99, při použití slova (word) až číslice (dekády) čtyři, tj. dekadicky 0000-9999. Praktický způsob kódování se může u různých aplikací lišit (např. při použití doplňku +3). U PLC systémů je BCD kód využíván pro zadávání jednoduchých číselných hodnot (předvolby) nebo pro číselnou indikaci stavu tam, kde není nutno použít modernější prostředky vizualizace nebo kdy z hlediska obsluhy stroje je toto řešení uživatelsky jednoduché a nenáročné viz obrázek 1.
Pokud jsou číslicové přepínače používány samostatně, každý pro jinou funkci (jednomístná volba), je jejich připojení k digitálním vstupům omezeno pouze pořadím bitů podle jejich váhy a správným zpracováním v programu PLC. Pokud jsou číslicové přepínače použity pro nastavení hodnoty s více číslicemi, více dekád, je nutno zachovat pořadí Nibblů tak, jak je uvedeno, aby bylo možno provést relevantní konverzi z kódu BCD na binární. Výstupní informace je podle obrázku vyjádřena taktéž v kódu BCD, v tomto případě se předpokládá, že digitální výstupy jsou připojeny sedmisegmentové jednotky obsahují dekodér, který převádí kód BCD na indikační segmenty zobrazovače. Výhody a nevýhodyVýhodou kódování BCD je přesná reprezentace hodnoty, kdy nedochází k chybě při zaokrouhlování nebo ztrátě nejnižších řádů jako u typu Real. Další předností je snadná konverze do čitelné reprezentace (dřívější displeje). Ačkoliv je BCD kód relativně nehospodárný z hlediska využití bitů pro reprezentaci velkých čísel, přináší výhodu v úspoře propojovacích signálů u číslicových předvoleb. Podle obrázku 1 je patrné, že pro 4 dekády je potřeba pouze 4 x 4 signálových vodičů a tím i pouze 16 vstupů. V případě číslicových přepínačů s přímým polohovým výstupem, by bylo potřeba 4 x 10 signálových vodičů a tím i 40 digitálních vstupů, což by bylo nehospodárné a je nutno zajistit složitější dekódování hodnoty při zpracování. Stejný princip úspory platí i pro stranu výstupů. Nevýhodou kódování BCD je velká náročnost (nehospodárnost) na objem bitů při použití nekomprimovaného kódu BCD (i když se snadněji zpracovává) a ani při použití komprimovaného kódu BCD nelze dosáhnout maximálního využití kombinací na daném počtu bitů. Složitější je také zpracování výpočtů ve výpočetní technice než při použití binární soustavy. Hazardní stavyHazardní stav může nastat v případě, že ke vstupům PLC jsou připojeny například číslicové přepínače (0-9), které poskytují binární kódování stavu (polohy natočení). K hazardu dochází při přechodu mezi číslicemi 7 - 8, kdy může dojít k vygenerování hodnoty vyšší než 9 nebo naopak hodnoty 0, a přechod 9 - 0. Toto je způsobeno vlivem nepřesnosti dělícího kotouče, viz obrázek 2. Tyto stavy je nutno ošetřit programově.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Základní vyjádření BCDZákladná vyjádření kódování BCD obsahuje číslice, resp. hodnoty v rozsahu 0 - 9. Jedná-li se komprimovaný kód BCD, je možno v rámci jednoho Byte vyjádřit dvě číselné pozice (viz tabulka 1), resp. u slova (word) pozice čtyři.
Tabulka 1
Vyjádření číslic v kódování BCD a porovnání s hexadecimální a binární soustavou |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Modifikace a doplňky kódu BCDDesetinná čárkaV roce 1960 zavedla společnost IBM u sálových počítačů modifikaci kódu tak, aby bylo možno určit polohu desetinné čárky v reálném čísle, kdy byl nejvyšší Nibble ze skupiny n Byte vyhrazen pro určení polohy desetinné čárky, tedy poloha čárky + 7 číslic. Alternativou k tomuto řešení je použití pevné desetinné čárky, kdy odpadá nutnost vyjádření její polohy, protože je předem dána. Záporná čísla v BCDDále byly zavedeny znaky pro kladné a záporné číslo odvozené od platebních karet; Chex (credit) (1100bin), tedy kladné (+) a Dhex (debet) (1101bin), tedy záporné (-), pro čísla bez znaménka pak znak Fhex (1111bin). Tyto znaky se ukládají do nejnižšího Nible skupiny n Byte. V systému ILE PRG byl však pro vyjádření kladného čísla použit znak Fhex (1111bin) a Dhex (1101bin) pro záporná čísla. Aby těchto kombinací nebylo málo, lze konverzi čísla Integer na BCD vyjádřit i tak, že nejvyšší Nibble v BCD, stejně jako nejvyšší bit Integer, bude rezervován pro znaménko, potom nejvyšší Niblle obsahuje hodnotu 0hex (0000bin) pro kladné číslo a hodnotu Fhex (1111bin) pro číslo záporné. Těchto modifikací existuje celá řada podle výrobce a i podle aplikace. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Konverze BCDKonverze BCD na číslo nebo čísla na BCD není nijak obtížná, je však třeba mít na paměti následující:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Příklady zápisu čísel v BCD
Tabulka 2
Vyjádření číslic v kódování BCD pro různé případy použití specielních znaků. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PLC-AUTOMATIZACE - DATA - KÓDOVÁNÍ / DEKÓDOVÁNÍ - BCD KÓDOVÁNÍ |
|
|