Сообщение | Название сообщения | WPARAM | LPARAM | Версия Хромос |
---|---|---|---|---|
ChromosStartMessage | Начало анализа | номер прибора | номер канала | 2.13.29 |
ChromosStopMessage | Завершение анализа | номер прибора | номер канала | 2.13.29 |
ChromosReadyMessage | Готовность прибора | номер прибора | 0 не готов 1 готов | 2.13.29 |
ChromosConnectMessage | Подключение/отключение прибора | номер прибора | 0 отключён 1 подключён -3 ошибка подключения | 2.23.17 |
ChromosSignalMessage | Рассылка значения сигнала в детекторе | номер прибора - старший байт, номер канала - младший байт | сигнал детектора (float 4 байта) | 2.17.43 |
ChromosSequenceMessage | Ответ на запрос запуска серии на канале | номер прибора - старший байт, номер канала - младший байт | количество анализов в серии -1 для бесконечного цикла -2 анализ по данному каналу уже идёт -3 невозможно подключиться к данному прибору -4 нет такого прибора -5 нет такого канала -6 на канале не выбран метод -7 канал отключен | 2.17.43 |
ChromosStreamMessage | Ответ на команду переключения входного потока | номер прибора - старший байт, младший байт - не используется | номер заданного потока -3 невозможно подключиться к данному прибору -4 нет такого прибора -8 прибор не поддерживает переключение потоков -9 номер потока слишком большой -10 конфигурация названий Т.Зон не верна -11 нет сопротивления 820 Ом в зоне Клапан-1 | 2.19.34 |
ChromosDeviceModeMessage | Режим прибора | номер прибора | номер режима | 2.21.2 |
ChromosMethodMessage | Ответ на запрос установки метода на канал | номер прибора - старший байт, номер канала - младший байт | индекс метода (вычисленная контрольная сумма по алгоритму CRC32 от имени метода) -1 Прибор не найден -2 Прибор не подключен -3 Неправильный номер канала -4 Канал занят -5 Название метода не найдено -6 Ошибка чтения метода | 2.19.48 2.25.7 |
ChromosErrorMessage | Сообщение об ошибках | номер прибора | номер ошибки | |
ChromosAtmospherePressureMessage | Рассылка значения атмосферного давления | номер прибора | атмосферное давление кгс/м2 (float 4 байта) | 2.23.12 |
ChromosReadParamMessage | Значение параметра от ГХ-1000 | номер прибора - старший байт, адрес параметра - средний байт номер параметра - 2 младшие байта | значение параметра или ошибка 0xfffffffe - нет такого параметра | 2.25.4 |
ChromosFlapMessage | Команда на переключения клапана на ПУК | номер прибора - старший байт, номер клапана - младший байт | состояние клапана 0 включен 1 отключен -1 Прибор не найден -2 Прибор не подключен -3 Неверный тип прибора -4 Плата клапанов не найдена -5 Неверный номер клапана -6 Клапан на ПУК используется для проведения анализа -7 Не верно задано состояние клапана -8 Клапан на ПУК не доступен | 2.25.1 2.25.7 |
ChromosKeyMessage | Ответ на запрос статуса регистрации | 0 | Cтатус регистрации 0 Демо-режим 1 Зарегистрированная версия | 2.25.2 |
ChromosMethodAssayTimeMessage | Ответ на запрос времени метода | номер прибора | Время метода в секундах -1 Метод не найден -2 Ошибка чтения метода | 2.25.7 |
ChromosVersionMessage | Ответ на запрос версии ПО Хромос | 0 | Мажорная версия - старший байт, минорная версия - младший байт | 2.25.37 |
Сообщение | Название сообщения | WPARAM | LPARAM | Версия Хромос |
ChromosPrepareMessage | Перевод прибора в начальное состояние и запрос состояния готовности | номер прибора | 2.13.29 | |
ChromosConnectRequestMessage | Команда на подключение/отключение прибора | номер прибора | 0 отключить 1 подключить | 2.19.14 |
ChromosStartRequestMessage | Запуск канала на запись без проверки прибора на готовность | номер прибора | номер канала | 2.15.8 |
ChromosSignalRequestMessage | Запрос сигнала детектора | номер прибора | номер канала | 2.17.43 |
ChromosSequenceRequestMessage | Запуск серии на канале | номер прибора - старший байт, номер канала - младший байт | количество анализов в серии или -1 для бесконечного цикла | 2.22.29, 2.23.17 |
ChromosStreamRequestMessage | Переключение входного потока | номер прибора - старший байт, младший байт = 0 | 0 - обычная работа 1 - поток 1 (калибровка) 2 - поток 2 | 2.19.34 |
ChromosMethodRequestMessage | Команда на установку метод на канал | номер прибора - старший байт, номер канала - младший байт | индекс метода (вычисленная контрольная сумма по алгоритму CRC32 от имени метода) | 2.19.48 |
ChromosAtmospherePressureRequestMessage | Запрос атмосферного давления | номер прибора | 2.23.12 | |
ChromosReadParamRequestMessage | Запрос чтения параметра ГХ-1000 | номер прибора - старший байт, адрес параметра - средний байт номер параметра - 2 младшие байта | 0 | 2.25.4 |
ChromosFlapRequestMessage | Команда на переключения клапана на ПУК | номер прибора - старший байт, номер клапана - младший байт | 0 включить 1 отключить | 2.25.1 |
ChromosKeyRequestMessage | Запрос статуса регистрации | 0 | 0 | 2.25.2 |
ChromosMethodAssayTimeRequestMessage | Запрос времени метода | номер прибора | индекс метода (вычисленная контрольная сумма по алгоритму CRC32 от имени метода) | 2.25.7 |
ChromosChannelStreamRequestMessage | Команда на задание № потока на канал (для включения в паспорт) | номер прибора - старший байт, номер канала - младший байт | номер потока | 2.25.27 |
ChromosVersionRequestMessage | Команда на запрос версии ПО Хромос | 0 | 0 | 2.25.37 |
Номер прибора и номер канала считаются от нуля.
При первоначальном запуске дополнительного приложения необходимо один раз подать ПО Хромос сообщение ChromosPrepareMessage.
После подачи сообщения ChromosPrepareMessage программа Хромос всегда отвечает сигналом о неготовности, а затем происходят проверки состояния прибора.
И только через некоторое время прибор выходит в режим готовности, посылая соответствующий сигнал готовности ChromosReadyMessage.
Устаревшее Для запуска канала без проверки на готовность можно использовать сообщение WM_COMMAND со специальным значением WPARAM=40020+device*10+channel.
UINT sm = RegisterWindowMessage(_T("ChromosStartRequestMessage")); ::PostMessage(HWND_BROADCAST, sm, 0, 1);
UINT m_rq = RegisterWindowMessage(_T("ChromosConnectMessage")); BOOL CChromosApp::PreTranslateMessage(MSG* pMsg) { ... if(pMsg->message==m_rq) { // Что-то сделать return TRUE; } ... return CWinApp::PreTranslateMessage(pMsg); }
import win32api message = win32api.RegisterWindowMessage("ChromosStartRequestMessage") win32api.PostMessage(65535,message,0,0)
Подробнее: RegisterWindowMessage PostMessage PreTranslateMessage