User manual

Výstupní fronta
Výstupní fronta obsahuje data, která udržují přístroj v normálním provozu.
Například, když se odešle dotaz, odpověď na dotaz se umístí do výstupní fronty.
Pokud se data umístí do výstupní fronty, nastaví se bit MAV (Message Available) v registru stavového
bitu. Po přečtení se datová zpráva z výstupního registru vymaže. Výstupní fronta se považuje za
vyčištěnou, když je prázdná a prázdná výstupní fronta vymaže MAV bit v registru stavového bitu.
Zprávu z výstupní fronty přečtete, když po odeslání patřičného dotazu adresujete multimetr 2000
k mluvení.
Chybová fronta
Chybová fronta obsahuje chybové zprávy a zprávy o stavu. Když se objeví příslušná událost, umístí
se do této fronty zpráva, která definuje danou chybu nebo stav. Fronta může obsahovat až 10 zpráv.
Když se do chybové fronty umístí data, nastaví se bit EAV (Error Available) v registru stavového bitu.
Po přečtení se datová zpráva z chybového registru vymaže. Chybová fronta se považuje za
vyčištěnou, když je prázdná a prázdná výstupní fronta vymaže EAV bit v registru stavového bitu.
Chybovou zprávu v chybové frontě přečtete, když odešlete některý z následujících dotazů a poté
adresujete multimetr 2000 k mluvení.
:systém:ERRor?
:STATus:QUEue
STATUS BYTE a SRQ
Žádost o obsluhu se řídí dvěma 8 bitovými registry: Status Byte Register a Service Request Enable
Register. Struktura registrů je uvedena na obrázku 4 – 10.
Obrázek 4 – 10: Stavový bajt a SRQ
Status Byte Register
K nastavení nebo k vyčištění příslušných bitů (B0, B2, B3, B4, B5 a B7) registru stavového bajtu
se používají souhrnné zprávy ze stavových registrů a front. Bity nemají trvalou hodnotu a jejich stav
(0, nebo 1) závisí jen na souhrnných zprávách (0, nebo 1). Například při čtení stavového registru
standardních událostí se jeho registr vyčistí a souhrnná zpráva se proto resetuje na 0, čímž se zase
vyčistí bit ESB v registru stavového bajtu.
Bit B6 v registru stavového bajtu je buď:
MSS (Master Summary Status), který se odešle jako odpověď na příkaz *STB? a indikuje stav
libovolné sady bitů s příslušnou sadou bitů splňujících podmínku.
RQS (Request for Service) – odpověď na sériové hlášení, indikující, které zařízení požádalo
o obsluhu.
Standard IEEE-488.2 používá k čtení registru stavového bajtu následující obecný dotaz: *STB?.
Bit 6 se v tomto případě volá MSS.
Při použití tohoto příkazu se nemaže žádný z bitů registru stavového bajtu.
Standard IEEE-488-1 má sekvenci sériového hlášení, která také přečte registr stavového bajtu
a lépe se hodí k detekci žádosti o obsluhu (RQS). Bit 6 se v tomto případě volá RQS.
Sériové hlášení způsobuje, že bit 6 (RQS) se resetuje.
Každá z následujících operací vynuluje všechny bity v registru stavového bajtu:
Přerušení napájení
Odeslání obecného příkazu *CLS
Poznámka: Bit MAC se může, nebo nemusí vynulovat.
Sériové hlášení (Serial Poll) a SRQ
Ve svém testovacím programu můžete pravidelně číst registr stavového bajtu a zjistit,
zda došlo k žádosti o obsluhu (SRQ) a co ji způsobilo. K vyhledávání zařízení, která požadují obsluhu,
a k získání specifických informací se obvykle používá sériové hlášení modelu 2000.
Sériové hlášení automaticky resetuje RQS registru stavového bajtu a umožňuje se tak, aby se dalšími
sériovými hlášeními sledoval bit B6 a zjišťovala se přítomnost SRQ způsobená jinými událostmi.
Po sériovém hlášení může stejná událost způsobit jinou SRQ, i když registr, který způsobil první SRQ,
nebyl vynulován.
Ukázka použití sériového volání k detekci SRQ v programu QuickBASIC 4.5
(s rozhraním KPC-488.2 a s ovladačem CECHP):
CLS
OPEN "ieee" FOR OUTPUT AS #1
OPEN "ieee" FOR INPUT AS #2
PRINT #1, "output 16; *cls" 'Clear Status Byte Register
PRINT #1, "output 16; *ese 32 'Unmask command errors
PRINT #1, "output 16; *sre 32 'Unmask event summary message
PRINT #1, "output 16; *ese" 'Error - missing parameter
SLEEP 1
PRINT #1, "SPOLL 02" 'Serial poll 2000
INPUT #2, S 'Read Status Byte Register
S=S OR 191 'OR register with a mask
IF S= 255 THEN
GOSUB srq 'Go to subroutine to acknowledge
SRQ
END IF
PRINT
END
srq:
PRINT "SRQ Has Occurred--RQS (bit B6) is set (1)"
RETURN