Эллектронные весы
Передача данных ведется побайтово по стандарту РС-232 в режиме "ведущий-ведомый" (мастер-славе). Весы являются ведомым устройством. Формат передачи одного байта:
1 бит | 8 бит | 1 бит | 2 бита |
стартовый | информационные | чётность | стоповые |
Вид контроля по чётности - чёт (евен), скорость передачи - 4800 бит в секунду.
Для задания вида обмена информацией ККМ используют следующие команды:
"01" - обнуление веса;
"02" - предача цены от ККМ;
"03" - запрос на прием информации от весов.
Перед каждой командой ККМ передает установочный код ("00") в течение не менее 50 мс (минимум 15 посылок кода "00"). Информация передается в виде цифр, код цифры 0 - "00", 9 - "09".
При посылке команды "01" никакой дополнительной информации не передается. При посылке команды "02" ККМ дополнительно передает цену в виде 5-ти или 6-ти десятичных разрядов, начиная с младшего. Пауза в передаче между двумя последовательными разрядами не должна превышать 2 мс. При посылке команды "03" никакой дополнительной информации не передается. ККМ ожидает информацию в виде:
М6 М5 М4 М3 М2 М1 | Ц6 Ц5 Ц4 Ц3 Ц2 Ц1 | С6 С5 С4 С3 С2 С1 |
где: М6...М1 - масса (шестой разряд - старший);
Ц6...Ц1 - цена;
С6...С1 - стоимость.
Максимальное время ожидания составляет 1 сек.
ККМ - контрольно-кассовая машина.
Проблема в том, что я не могу разобраться с этим форматом передачи и реализовать это в кодах. Если кто-нибудь знает, как это реализовать, буду рад любым ответам.
Цитата:
Originally posted by narcotic
Здравствуйте. Мне нужно написать программу для отправки и приема данных с эллектронных весов. Весы подключены к цом-порту. Есть формат передачи данных на весы:
Передача данных ведется побайтово по стандарту РС-232 в режиме "ведущий-ведомый" (мастер-славе). Весы являются ведомым устройством. Формат передачи одного байта:
1 бит | 8 бит | 1 бит | 2 бита |
стартовый | информационные | чётность | стоповые |
Вид контроля по чётности - чёт (евен), скорость передачи - 4800 бит в секунду.
Для задания вида обмена информацией ККМ используют следующие команды:
"01" - обнуление веса;
"02" - предача цены от ККМ;
"03" - запрос на прием информации от весов.
Перед каждой командой ККМ передает установочный код ("00") в течение не менее 50 мс (минимум 15 посылок кода "00"). Информация передается в виде цифр, код цифры 0 - "00", 9 - "09".
При посылке команды "01" никакой дополнительной информации не передается. При посылке команды "02" ККМ дополнительно передает цену в виде 5-ти или 6-ти десятичных разрядов, начиная с младшего. Пауза в передаче между двумя последовательными разрядами не должна превышать 2 мс. При посылке команды "03" никакой дополнительной информации не передается. ККМ ожидает информацию в виде:
М6 М5 М4 М3 М2 М1 | Ц6 Ц5 Ц4 Ц3 Ц2 Ц1 | С6 С5 С4 С3 С2 С1 |
где: М6...М1 - масса (шестой разряд - старший);
Ц6...Ц1 - цена;
С6...С1 - стоимость.
Максимальное время ожидания составляет 1 сек.
ККМ - контрольно-кассовая машина.
Проблема в том, что я не могу разобраться с этим форматом передачи и реализовать это в кодах. Если кто-нибудь знает, как это реализовать, буду рад любым ответам.
Здравствуйте. Мне нужно написать программу для отправки и приема данных с эллектронных весов. Весы подключены к цом-порту. Есть формат передачи данных на весы:
Передача данных ведется побайтово по стандарту РС-232 в режиме "ведущий-ведомый" (мастер-славе). Весы являются ведомым устройством. Формат передачи одного байта:
1 бит | 8 бит | 1 бит | 2 бита |
стартовый | информационные | чётность | стоповые |
Вид контроля по чётности - чёт (евен), скорость передачи - 4800 бит в секунду.
Для задания вида обмена информацией ККМ используют следующие команды:
"01" - обнуление веса;
"02" - предача цены от ККМ;
"03" - запрос на прием информации от весов.
Перед каждой командой ККМ передает установочный код ("00") в течение не менее 50 мс (минимум 15 посылок кода "00"). Информация передается в виде цифр, код цифры 0 - "00", 9 - "09".
При посылке команды "01" никакой дополнительной информации не передается. При посылке команды "02" ККМ дополнительно передает цену в виде 5-ти или 6-ти десятичных разрядов, начиная с младшего. Пауза в передаче между двумя последовательными разрядами не должна превышать 2 мс. При посылке команды "03" никакой дополнительной информации не передается. ККМ ожидает информацию в виде:
М6 М5 М4 М3 М2 М1 | Ц6 Ц5 Ц4 Ц3 Ц2 Ц1 | С6 С5 С4 С3 С2 С1 |
где: М6...М1 - масса (шестой разряд - старший);
Ц6...Ц1 - цена;
С6...С1 - стоимость.
Максимальное время ожидания составляет 1 сек.
ККМ - контрольно-кассовая машина.
Проблема в том, что я не могу разобраться с этим форматом передачи и реализовать это в кодах. Если кто-нибудь знает, как это реализовать, буду рад любым ответам.
Было много раз. См. CreateFile(), ReadFile(), WriteFile(), CloseHandle().