ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы.



 

Часть 2

                   РУКОВОДСТВО ПО SCANJET HP
    
          Запрос номера модели HP                ESC*s3E
          
       Scanjet  всегда возвращает значение 9190A в ответ на этот 
запрос.
    Scanjet+ возвращает значение 9195A. Для совместимости, можно 
сделать
    проверку всех 5 цифр. Проверка первых 3х цифр дает уверенност
ь, что
    это сканер семейства HP Scanjet. Заметим, что в HP введена об
ратная
    совместимость семейства настольных сканеров Scanjet.
       Пример:
              Scanjet возвращает ESC*s3dW9195A, что показывает,
              что это Scanjet+.
              
          Запрос даты производства               ESC*s4E
          
       Эта ESC - последовательность заставляет сканер выдать 4 ци
фровое
    число, которое явл-ся кодом даты производства фирменного - - 
- - -
    ПО HP - соглашению для кодов дат, первые 2 цифры явл-ся годом
 после
    1960 и 2 другие цифры явл-ся неделей года, начиная с 01 для п
ервой
    недели года. Например, неделя, начинающаяся с 6 янв 1986, буд
ет
    представлена как 2602.
       Сканер возвращает ESC*s4d4W????, где ???? - это ASCII - пр
едставление
       кода даты как описано выше.
          
          Запрос состояния                       ESC*s5E
                                            (только для Scanjet+)
                                            
       Эта команда возвращает 7-байтовую строку состояния, содерж
ащую
    результаты последнего самотестирования. Формат строки возврат
    "ESC*s5d7Wxxxxxxx", где каждый x представляет "P" для "Pass" 
или
    "F" для "Fail" так
        Байт 1: CPU CHIP
             2: CPU ROM
             3: CPU & GAMMA RAM
             4: CALIBRATION RAM
             5: NRP and RAC CHIPs
             6: HOME POSITION
             7: LAMP
             
                   КОМАНДЫ СООбЩЕНИЯ ОБ ОШИБКАХ
                   
          Введение
          
       Когда условие ошибки замечено устр-вом SCL, то целый номер
 ошибки
    вырабатывается и заносится в стек ошибок (типа "последний - в
ошел -
    первый - вышел"), который может читаться компьютером. Scanjet
 осущ-ет
    подмножество такой возможности, где стек ошибок содержит толь
ко самые
    свежие номера ошибок. Будущие сканеры могут поддерживать боль
шие стеки.
      
          Запрос max глубины стека ошибок        ESC*s256E
          
       Эта команда заставляет Scanjet вернуть значение "1".
       Scanjet всегда возвращает ESC*s256d1V, показывающую, что м
ожет
    храниться только одна ошибка в стеке ошибок.
    
          Запрос текущей глубины стека ошибок    ESC*s257E
               
       Когда Scanjet получает эту команду, он выдает "1", если по
лучается
    ошибка со времени последнего "Сброса оборудования" или "Чистк
и ошибок".
    Иначе "0".
       Если Scanjet имеет ошибку в стеке ошибок, возвращает ESC*s
257d1V.
       
          Чтение номера текущей ошибки           ESC*s259E
    
       Эта команда заставляет устр-во вернуть N текущей ошибки. И
спользование
    этой команды не вызывает очистки ошибок или не обращзает лини
ю "Ошибка"
    на интерфейсе в "ложь". Если "тек. глубина стека" = 0, (т.е. 
нет ошибок
    с последнего "Сброса оборудования" или "Чистки ошибок"), нуле
вой ответ
    будет возвращен (ESC*s259dN). "Тек. номер ошибки" м.б. очищен
 со
    "Сбросом оборудования" или "Чисткой ошибок".
       Сканер возвращает ESC*s259d#V, где # - ASCII - представлен
ие
    значения номера ошибки. Если тек. номер ошибки - 1024, это ук
азывает
    на заклинивание бумаги в ADF.
    
          Чтение старейшей ошибки                ESC*s261E
          
       Эта команда заставляет устройство выдать "Старейший номер 
ошибки".
    Исполнение этой команды не вызывает чистку ошибок или "ложь" 
на линии
    интерфейса. Ошибка: Чистка "старейшего номера ошибки" происхо
дит со
    "Сбросом оборудования" или "Чисткой ошибок". Если не было оши
бки со
    времени, когда была последняя чистка ошибок, устройство возвр
ащает
    0-ответ. Если "Старейший номер ошибки" - 3 (неверное окно), т
огда сканер
    вернет ESC*s261d3V.
          Чистка ошибок                          ESC*soE
          
       Эта команда вызывает следующие действия, если уже не сущес
твует
    ошибки, требующей вмешательства оператора или обслуживающего 
персонала,
    для которой должные действия еще не предприняты:
       1. Чистка стека ошибок.
       2. Сброс "текущей глубины стека" в 0.
       3. Сброс "старейшего номера ошибки".
       4. Установка линии интерфейса "Ошибка" в "ложь".
    Замечание: Эта команда не чистит ошибку отсутствия положения 
"домой".
               Эта ошибка показывает сбой оборудования, который д
.б.
               исправлен, чтобы быть очищенной.
               
          ОСНОВНАЯ ИНФОРМАЦИЯ О ЯЗЫКЕ УПРАВЛЕНИЯ СКАНЕРОМ (SCL)
         
                   ФОРМАТ ESC-ПОСЛЕДОВАТЕЛЬНОСТЕЙ
                              
                            Введение
                            
       Эта глава описывает обобщенный формат ESC-последовательнос
тей,
    используемых Scanjet и Scanjet+.
    
                 2 символа ESC-последовательностей
                
       2 символа ESC-последовательностей имеют вид ESCX, где X - 
это символ
    из ASCII-таблицй в пределах от 30H до 7EH (0 до ~). Если полу
чен символ
    от 21H  до 2FH (! до /), то ESC-посл-ть параметризуется и инт
ерпрети-
    руется, как будет обсуждено позднее в этой секции.
                                                      
                         Неверный синтаксис
                         
       Если получен символ от 0H до 20H (NUL до Пробел), 7FH (DEL
) или
    80H до FFH (после ESC), то эта последовательность неверна и б
удет
    выработана ошибка команды формата. Неверный символ в этом слу
чае д.б.
    обработан на высшем уровне грамматического разбора ESC-посл-т
и. Высший
    уровень грамматического разбора ESC-посл-ти - это уровень, на
 котором
    символ обрабатывается как независимый символ или код управлен
ия (т.е.
    независимый от предыдущих символов.
    
             Нераспознанные 2 символа ESC-последовательности
             
       Для HP9190 единственная поддерживаемая двухсимвольная ESC-
посл-ть -
    ESCE. Следовательно, если любой символ от 30H до 7EH, отличны
й от
    45H(E), следует за 'ESC', будет выработана "Нераспознанная ко
мандная
    ошибка".
    
             Параметризированные ESC-последовательности
             
       Имеют форму: ESC P g # t1 # t2 # t3 ... #Tn [данные],
                    где g, #, ti и [данные] являются функциональн
ыми.
                P - параметризированный символ - это символ из
                    ASCII-таблицы в пределах от 21H до 2FH (! до 
/).
                    Цель этого символа - показать, что эта ESC-по
сл-ть
                    параметризирована. Единственный параметризиро
ванный
                    символ, узаконенный для Scanjet - это '*' (2A
H).
                g - групповой символ - символ из ASCII-таблицы в 
пределах
                    60H - 7EH (' до ~). Цель - определить группу 
или тип
                    выполняемого управления.
                # - поле значения - группа символов, определяющих
 численное
                    значение. Численные значения содержат символы
 от 20H до
                    3FH (Пробел до ?).
               ti - символ параметра - любой символ ASCII-таблицы
 от 60H до
                    7EH (' до ~). Этот символ указывает параметр,
 к которому
                    применяется предыдущее поле значения. Символ 
параметра
                    м.б. функционально заменен его соот. верхне-ш
ифтовым
                    символом, означающим завершение ESC-последова
тельности.
               Tn - завершающий символ - любой символ из ASCII-та
блицы от
                    40H до 5EH (@ до ^). Этот символ определяет п
араметр,
                    к которому применяется поле предыдущего значе
ния. Этот
                    символ завершает ESC-последовательность и исп
ользуется
                    вместе с ti.
         [данные] - данные - относятся к порогизированным данным.
 Порогизи-
                    рованные данные - это 8-битовые данные, связа
нные с
                    ESC-последовательностью, которая не интерпрет
ируется
                    грамматическим разбором ESC-посл-ти.
                    
                          ПОЛЕ ЗНАЧЕНИЯ
                        
       Оно может содержать только числовое значение. Числовое зна
чение
    представляется как ASCII-строка цифр ('0' до '9'), которой мо
жет
    предшествовать знак унарной операции ('+' или '-'), и за кото
рой следует
    обозначение дробной части через использование десятичной точк
и ('.').
    Предполагается, что поле - целое, если не указано иное в опре
делении
    ESC-последовательности. Если поле значения отсутствует и ожид
ается '1',
    то предполагается значение '0'.
       Основание числового значения поля - десятичное. Ведущие ну
ли и пробелы
    игнорируются. Величина значения поля д.б. не более 32767. Есл
и определено
    значение > 32767, соответствующий параметр устанавливается на
 граничное
    значение (32767 для беззнаковых или положительных чисел и -32
767 для
    отрицательных.
       Десятичные цифры от '0' до '9' и '.' начинают поле числово
го значения.
    Если поле числового значения уже начато, пробелы действуют ка
к завершение,
    закрывающее это поле числового значения.
       Для HP9190 допустимы числа справа от десятичной точки, одн
ако исполь-
    зуются только целые части чисел.
    
                      Завершающий символ
                   
       Он (Tn) действительно является символом-параметром последн
его параметра
    в командной последовательности. Однако, чтобы различать Tn-фо
рмы от пред-
    шествующих параметрических символов (ti), последний ti изменя
ется до Tn
    вычитанием 20H из его ASCII-кода. Например, ESC*f1L и ESC*f1l
300F оба
    включают свет сканера, но второй также управляет положением э
лемента
    сканера.
       Замечание: Параметрический символ и его соот. верхне-шифто
вой завер-
    шающий символ являются той же самой функцией.
       Параметрический символ дает пользователю возможность связа
ть ESC-
    посл-ти из той же самой группы. Завершающий символ заканчивае
т ESC-
    посл-ть и м.б. использован вместо парам. символа.
    
                       Исполнение команд
                      
       Выполняемые команды исполняются так, как они декодируются.
 М.б.
    отдельные случаи, в которых порядок параметров может иметь зн
ачение.
    
                       Неверный синтаксис
                       
       Если неверный символ получен в пределах ESC-последовательн
ости
    (т.е. синтаксис неверен), обработка этой ESC-посл-ти завершае
тся, и
    вырабатывается "Ошибка формата команды". Неверный символ инте
рпретируется
    независимо от предыдущих символов для сохраненных данных (т.е
. обрабо-
    танных на "верхнем" уровне, независимо от предыдущих символов
).
       Замечание: Неверный синтаксис применим только для пользова
тельских
                  данных, устройство интерпретирует и игнорирует 
все данные,
                  добавленные к пользовательскому потоку для целе
й протокола
                  (т.е. "ENQ" для последоват. ENQ/ACK - протокола
,...).
                  
                Нераспознанные параметризированные ESC-посл-ти
         
       Любая параметризированная ESC-посл-ть (или порция из нее),
 правильная
    синтаксически, однако нераспознанная Scanjet, игнорируется. S
canjet
    возвращает ошибку нераспознанной команды.
                
            Параметризированная ESC-посл-ть с неверными пар-ми
     
       Любая распознанная ESC-посл-ть, которая содержит значения 
неверных
    параметров, вырабатывает "Ошибку параметра". Однако, запрошен
ный параметр
    не игнорируется. Сканер пытается выбрать поддерживаемый парам
етр, близкий
    к запрашиваемому, если удается.
                
             Отношение запроса значения поля к параметру
             
       Значение поля, которое соответствует каждому отдельному па
раметру,
    это функция символов в ESC-посл-ти, используемых, чтобы устан
овить
    параметр.
       Формула следующая:
        
       Значение = (P - '''') * 1024 + (G - 'a') * 32 + (T - 'A')
       
    где ESC-посл-ть, устанавливающая параметр вида ESCPG#T, как у
казано
    ранее в этой главе.
       Если поле значения в команде запроса не распознано, будет 
возвращен
    0-й ответ, но ошибка не вырабатывается. Если компьютер посыла
ет сканеру
    любую команду после команды запроса, но перед чтением ответа 
на запрос
    ответ будет потерян. Далее описываются формат данных, которые
 посылают-
    ся из Scanjet в компьютер.
      
                   Формат ответов Сканера на запросы
                   
       Введение.
       
       Ответы на запросы о состоянии выдаются в виде ESC-посл-ти 
с командами
    запроса в первой части ответа. Глава 1 суммирует отдельные от
веты о
    состояни, поддерживаемые Scanjet-ом.
       
       Ответы на запрос о численных параметрах.
       Основная форма их такова:
       
       ESC * s <Ид-р запроса> <завершение 1> <значение> V
       
       <Идент-р запроса>: Поле значения соотв-го запроса.
                          Это уникальный номер-идент-р, назначенн
ый
                          к каждому пар-ру, который можно читать.
                          
       <завершение 1>:    "p" - для ответов на запросы в форме ES
C*s#R,
                          показывающей, что следует параметр.
                          "d" - для ответов на запросы вида ESC*s
#E,
                          показывающих, что следуют данные.
       
       <значение>:        ASCII - представление реализуемого знач
ения
                          параметра. В случае пар-ра, который м.б
. установлен
                          прямо с SCL ESC-посл-ю, значение нах-ся
 в тех же
                          самых единицах, что и поле значения, ис
пользуемого,
                          чтобы установить параметр. Смысл того, 
что это
                          "реализуемое" значение, в том, что любо
е округление
                          или усечение (в случае размерностей), к
оторое было
                          сделано сканером, д.б. отражено в возвр
ащенном
                          значении. Возвращаемые значения в децит
очках будут
                          округляться до следующего высшего целог
о значения,
                          чтобы компенсировать усечение, которое 
случается
                          внутри сканера, когда бывают получены з
начения в
                          дециточках, которые нельзя точно переве
сти в целое
                          число отсчетов устройств.
                          
                        Строковые  параметры
                        
       Основная форма ответов на запрос для строковых значений:
       
       ESC*s <Иден-р запроса> d <счетчик байтов> W <строка данных
       
       <Иден-р запроса>:  Поле значения соответствующего запроса.
                          Имеется уникальный N идетификатора, наз
наченный
                          каждому пар-ру, который можно читать.
                          
       <счетчик байтов>:  Значение, которое явл-ся числом байтов 
строки
                          данных, которое следует за завершающим 
символом.
                          
       <строка данных>:   Строковый параметр, который был затребо
ван запро-
                          сом.
                          
                     Нулевой  ответ
                     
       Scanjet возвращает ответ на любой запрос состояния, которы
й плучен
    из компьютера. Запрос - это любая ESC-посл-ть формата:
    
                   ESC*s# <завершение>
       Если Scanjet получает запрос о параметре, который не подде
рживается,
    будет возвращен 0-й ответ, но ошибка не вырабатывается.
       Формат 0-го ответа:
       
           ESC*s <Ид-р запроса> <завершение 1> N
           
    где <Ид-р запроса> и <завершение 1> как выше.
      
              Формат данных, возвращаемых сканером
              
              Введение.
              
       Данные из Scanjet возвращаются как единый блок двоичных да
нных
    без заголовка или сопровождающей информации. Так как чтение д
анных
    сканера обычно включает передачу большого количества даннех н
    относительно высокой скорости, важно не сдерживать компьютер,
    чтобы не потерять данных при чтении. След-но, SCL-стандарт дл
    передачи незакодированных данных. Это то, что данные не включ
ают
    контроля, вставленного в данные.
       Все строки сканирования в данном сканировании содержат оди
наковое
    число байтов и представляют собой одинаковое число отсчетов.
    
            Формат "однобитовых-на-отсчет" данных
            
       Эти данные включают в себя выводные типы порогизированных,
    растрированных, черных и белых данных. Первый отсчет данных
    для любой строки сканирования начинается в наиболее значащем 
бите
    первого байта данных для этой строки сканирования, соседний
    отсчет представлен  следующим наиболее значащим битом и.т.д.
    Каждый байт представляет данные для 8-отсчетов,кроме последне
го
    байта строки сканирования, который добавляется информацией,
    если необходимо завершить передачу строки сканирования на цел
ом
    числе байтов. Добавочные биты являются даннными изображения.
    
          Формат данных серой шкалы
          
    Вывод Scanjet-а упаковывает данные серой шкалы, используя 4 и
ли 8
    битов на отсчет.(8 битов поддерживаются только Scanjet+). Упа
кованные
    данные серой шкалы не дополняются информацией между данными д
ля отдельных
    отсчетов на данной строке сканирования. Наиболее значащий бит
 первого
    байта данных, возвращаемых в компьютер, является наиболее зна
чащим
    битом значения серой шкалы для первого отсчета строки сканиро
вания.
    Наиболее значащий бит каждого значения серой шкалы соседствуе
    с наименее значащим битом пере......щего отсчета. Как и в дан
ных
    "один-бит-на-отсчет", последний байт дополняется данными
    изображения, если нужно, чтобы достичь целого числа байтов в 
строке
    сканирования.
    
           Ошибки параметра
           
           Введение
           
    Эта глава описывает условия, которые вызывают параметрированн
ые
    ESC-последовательность, если вырабатываются "ошибки параметра
".
    
            Шаги, предшествующие обработке
            
    Когда HP9190 получает распознанную параметризированную команд
у,
    значение параметра предворительно обрабатывается по следующим
    шагам:
    1. Если значение не указано, предполагается 0.
    2. Отрицательные значения усекаются в отрицательные целые.
    3. Положительные значения усекаются в положительные целые.
    4. Если значение меньше -32767, оно заменяется на -32767.
    
    5. Если значение больше 32767, оно заменяется на 32767.
       
       Следующая таблица иллюстрирует эти шаги и показывает
    какие значения вызывают "ошибку пар-ра"
    Шаг       Значение запроса         Модифицир. значение    Ощи
бка пар-ра
    1         никакого                 0                      нет
    2         -abc.xyz...              -abc                   нет
    3         abc.xyz...               abc                    нет
    4         <-32767                  -32767                 ест
    5         >32767                    32767                 ест
    
    
                       Ошибки сообщений
     
       Когда условие ошибки, замеченной SCL-устройством, вырабаты
вается
    целый номер ошибки и опускается в стек ошибки ("последний при
шел -
    первый вышел"), который может читаться компьютером. Scanjet о
существляет
    подмножество этой возможности, когда стек ошибок содержит тол
ько наиболее
    свежий номер ошибки. Пользователь Scanjet м. читать наиболее 
свежую и
    самую старую ошибку со времени последнего сброса.
       Единицы данных, поддерживаемых Scanjet, включают следующие
       
       Стек ошибок - номер наиболее свежей ошибки. Scanjet поддер
живает
                     только одну позицию в стеке, но будущие SCL-
устр-ва м.
                     поддерживать возможность хранения нескольких
 ошибок в
                     стеке.
       Сообщение старейшей ошибки - номер ошибки, которая случила
сь самой
                     первой. Этот номер может также быть записан 
в "стек
                     ошибки", но может читаться без воздействия "
текущей
                     глубины стека ошибок". Эта единица может быт
ь очищена
                     только со "Сбросом оборудования" или "Чистко
й ошибок".
       Текущая глубина стека - она = '1', если ошибка записана в 
стек, или
                     '0', если ошибок не было со времени последне
го "Сброса
                     оборудования" или "Чистки ошибок".
       
       Шаги, которые делает Scanjet, когда замечает ошибку, следу
ющие:
       
       1. Вырабатывается номер ошибки.
       2. Если "текущая глубина стека" имеет значение '0', новый 
номер ошибки
          записывается как "сообщение о старейшей ошибки".
       3. Если "текущая глубина стека" = 1, наиболее свежая ошибк
а убирается
          из "стека ошибок".
       4. Новый номер ошибки вводится в "стек ошибок", и "текущая
 глубина
          стека" устанавливается в 1.
       5. Бит ОШИБКА в интерфейсе Центроникс устанавливается в "и
стину".
       
       Следующая секция описывает команду для манипуляций и чтени
я единиц
    данных. См. рисунок 4 для обзора команд и сообщений.
    


Яндекс цитирования