Не получается опросить устройство считывающее данные с термоподвесок. Необходимо отправить запрос типа 1Ah 30h 32h 31h 32h 30h 39h 30h 35h 32h 33h 3Fh 0D 0A , не могу найти где это прописывать в орс сервере. Помогите люди добрые) Имеется описание протокола:
Код HTML:1.1. Структура посылки команды от ЭВМ к БИ для измерения температуры датчика 1Ah<десятки номера силкорпуса><единицы номера силкорпуса><десятки номера шкафа><единицы номера шкафа><десятки номера подвески><единицы номера подвески><десятки номера датчика><единицы номера датчика><тип подвески><MSB_ CRC><LSB_CRC><CR><LF> Где: 1Ah – (HEX) метка распознавания посылки команды для измерения температуры датчика Все следующие за этой меткой байты кроме 2х байт CRC передают в ASCII формате, те. 0=30h, 1=31h, 2=32h … 9=39h. <тип подвески>- если подвеска 50 Ом то передаём – 31h, 53 Ом – 32h, цифровая – 33h, 50 Ом(Ж) – 34h, 53 Ом(Ж) – 35h. <CR><LF> – конец события в шестнадцатиричном виде имеют значения <0D> и <0A> <MSB_ CRC>, <LSB_CRC> – контрольная сумма формируется следующим образом: 1. Считается 8-ми битовая сумма (XOR) ASCII всех символов посылки кроме: метки распознавания , байт самой контрольной суммы и конца события <CR><LF> 2. Берём старшую тетраду этой суммы и складываем с 30h, получаем <MSB_ CRC> 3. Берём младшую тетраду этой суммы и складываем с 30h, получаем <LSB_ CRC> Пример: получили CRC = 2Ah. После преобразования 32h, 3Ah Пример посылки: передадим команду на измерение 2 силкорпус, 12 шкаф, 9 подвеска, 5 датчик, подвеска 53 Ом. Посылка имеет вид: 1Ah 30h 32h 31h 32h 30h 39h 30h 35h 32h 33h 3Fh 0D 0A 1.2. Структура посылки команды от ЭВМ к БИ для измерения уровня 1Eh<десятки номера силкорпуса><единицы номера силкорпуса><десятки номера шкафа><единицы номера шкафа><десятки номера подвески><единицы номера подвески><MSB_ CRC><LSB_CRC><CR><LF> 1.3. Структура посылки ответа от БИ К ЭВМ следующая 1Ch <8 байт ASCII коды ответа><MSB_ CRC><LSB_CRC><CR><LF>, если ответ меньше 8 байт то оставшиеся байты забиваем пробелом (20h) 1.3.1. Если посылка от ЭВМ принята без ошибки, то БИ отвечает: 1Ch <OK! ><MSB_ CRC><LSB_CRC><CR><LF>, ЭВМ её принимает и переходит к ожиданию основного ответа. Время ожидания для всех ответов не более 5 сек. Если время вышло ЭВМ повторно выдаёт команду к БИ, максимальное кол-во повторов в случае ошибки =3, если не прошло то в данную ячейку температуры или уровня пишется «ошибка2» 1.3.2. Ответ БИ по температуре, пример: 1Ch <T=+123.7><MSB_ CRC><LSB_CRC><CR><LF> или 1Ch <T=-23.7 ><MSB_ CRC><LSB_CRC><CR><LF> или 1Ch <T=К.З ><MSB_ CRC><LSB_CRC><CR><LF> или 1Ch <T=ОБРЫВ ><MSB_ CRC><LSB_CRC><CR><LF> 1.3.3. Ответ БИ по уровню, пример: 1Ch <H=23.78 ><MSB_ CRC><LSB_CRC><CR><LF> или 1Ch <H=ОШИБКА><MSB_ CRC><LSB_CRC><CR><LF> 1. Если в ответе не совпадает посчитанный и принятый CRC, в этом случае ЭВМ повторно выдаёт команду к БИ, максимальное кол-во повторов в случае ошибки =3, если не прошло, то в данную ячейку температуры или уровня пишется «ошибка3» 2. В ответах БИ только слова «ОШИБКА», «ОБРЫВ», «К.З.» в русском регистре 1.4. Структура посылки команды на получение сведений о системе передаёт ЭВМ: 1Dh <COM01><MSB_ CRC>, <LSB_CRC><CR><LF> 1.5. Структура ответа на команду п.7.5. : 1Dh<ASCII текстовая строка> <*><MSB_ CRC>, <LSB_CRC><CR><LF> Если не получаем ответа в течении 5 сек с первой попытки , то делаем повторную попытку, после третьей попытки на экране монитора выскакивает жирная надпись «НЕПОЛАДКИ В СИСТЕМЕ» и начинает мигать красным. Для прекращения мигания надписи нажимаем «enter» 1.6. Алгоритм функционирования протокола: Алгоритм работает по принципу: один запрос – один ответ Запросы всегда отдаёт ЭВМ ЭВМ – всегда ВЕДУЩИЙ, БИ – ВЕДОМЫЙ Ведущий дал запрос – ведомый должен выдать один ответ через min 0,1 сек max через 5 сек, иначе – ошибка




Ответить с цитированием