Вот я и добрался до самого интересного – протокола обмена между устройствами….
Почитал про протокол ModBus, ProfBus – получилось что все они сложные для восприятия человеком…. Вернее чтобы человек спокойно мог написать команду не прибегая к переводу между десятичной, шестнадцатеричной и двоичной системой невозможно. По этому решил просто передавать команды в ANSI текстовыми символами и используя десятичную систему исчислений. Для команд будут использоваться большие буквы латиницы "A", "B", "C", "D" и так далее, а все числа будут иметь формат "001".
Предлагаю использовать такой протокол обмена:
UNIT 001 START CH 001 <BR> - команда модулю №1 на запуск канала №1.
Прежде всего идет обращение к конкретному модулю.
UNIT 000 - Выбираем модуль с которым работаем
Заканчивается посылка символом <BR> - перенос строки - это нажатие клавиши "ENTER" в программе ТЕРМИНАЛ.
Вот такие команды должен выполнять модуль
Запуск каналов:
START CH 000 Запуск запала №ХХХ
Тестирование и проверка:
TEST CH 000 Проверка запала №ХХХ
TEST V Проверка напряжения питания
TEST T Проверка температуры
PING Отклик (PING)
BEEP Подача звукового сигнала
FLASH Подача светового сигнала
Установка внутренних параметров:
SET ID 000 Установка номер модуля
SET START 000 Установка импульса тока для запала, в миллисекундах.
SET BEEP 000 Установка импульса звукового сигнала, в миллисекундах.
SET BEEP 000 Установка импульса звукового сигнала, в миллисекундах.
В будущем для программирования самого модуля (Прошивка сценария работы в модуль):
1. Синхронизация времени с ПК
2. Старт программы
3. Стоп программы
4. Задать время 00:00.00 (минуты : секунды . долисекунды) для воспламенения канала.