#0
by askharlov
Возникла новая задача: Необходимо затягивать данные в 1С с COM-порта. Кто знает как работать с RS232 в 1С отзовитесь. Скажите пожалуйста с чего начать копать задачу. П.С.: внешнее устройство не кассовый аппарат (горнолыжный хронометр)
#2
by vudo
Вот только такая работа со стороны 1С может быть проблематичной, т.к. будут критические задержки в обработке сигнала и ответах. Может не получится из-за этого реализовать протокол обмена с хронометром...
#4
by askharlov
Скачал vk_rs232.dll. Но там описание по созданию объекта и открытию порта для 7-ки. Как это делать в 8-ке? Есть у кого готовый фрагмент кода как подключить компоненту, подключить порт, открыть его и принять данные?
#5
by askharlov
Подключить компоненту и открыть порт вроде получилось (по крайней мере для других программ он заблокирован), но вот как принять данные???? Сделал как было в примере: КонецПроцедуры Пускаю данные с внешнего девайса на КОМ-порт, а в ответ тишина. И также вопрос как потом закрыть КОМ-порт. Написал rs232.ЗакрытьПорт, 1С не ругается, но для других проограмм порт остается недоступным.
#8
by vudo
В форме в которой ОбработкаВнешнегоСобытия в свойствах формы ссылка на эту процедуру есть?
#9
by askharlov
Остался еще один вопрос: При передаче данных с хронометра на КОМ-порт у меня за одну передачу несколько раз инициализируется внешнее событие. И каждый раз в переменную "Данные" дописывается информация Вот пример: Внешнее событие: Источник=rs232 Событие=StringДанные=ID 02021 01A2 DS 04 00 START - FINISH 0637 AN 23 1 M1 20:26:45.29100 4265 06A5 AC 2 Внешнее событие: Источник=rs232 Событие=StringДанные=ID 02021 01A2 DS 04 00 START - FINISH 0637 AN 23 1 M1 20:26:45.29100 4265 06A5 AC 24 2 M1 20:27:00.06500 4265 0693 AN 25 3 M1 20:27:30.97800 4265 06B0 AN 23 1 M4 20:2 Внешнее событие: Источник=rs232 Событие=StringДанные=ID 02021 01A2 DS 04 00 START - FINISH 0637 AN 23 1 M1 20:26:45.29100 4265 06A5 AC 24 2 M1 20:27:00.06500 4265 0693 AN 25 3 M1 20:27:30.97800 4265 06B0 AN 23 1 M4 20:27:33.94900 4265 06B0 RR 0 23 48.65800 04F6 AN 25 2 M4 20:27:48.22400 4265 06A Внешнее событие: Источник=rs232 Событие=StringДанные=ID 02021 01A2 DS 04 00 START - FINISH 0637 AN 23 1 M1 20:26:45.29100 4265 06A5 AC 24 2 M1 20:27:00.06500 4265 0693 AN 25 3 M1 20:27:30.97800 4265 06B0 AN 23 1 M4 20:27:33.94900 4265 06B0 RR 0 23 48.65800 04F6 AN 25 2 M4 20:27:48.22400 4265 06AB RR 0 25 17.24600 04ED AC 26 4 M1 20:27:55.63700 4265 06A6 DE 04 010D Можно как-то побороть чтоб на одну передачу по КОМ-порту было одно внешнее событие?
#12
by Serginio1
Пишешь public void ПодключитьСканер(int НомерПорта) { где Берешь отсюда ВК Исходник ВК которая загружает Объект Автоматизации поддерживающий ITypeInfo и выполняет все его свойства и методы через IlanguageExtender
#13
by vudo
Скорее всего он от тебя ждет контрольного байта о получении пакета... А раз его нету, то продолжает долбить. Описание протокола обмена есть?
#15
by vudo
Скорее всего там 1 байт подтверждения. Попробуй в цикле различными байтами подолбить в ответ на пакеты. Если не выйдет, то только описание протокола обмена искать...
#16
by vudo
+ Правда есть еще вероятность, что ты во временной интервал ожидания ответа попасть не сможешь. Так что дело будет геморройное...
#17
by askharlov
Решил иначе: заня, что последняя строка начинается с DE анализирую Данные и когда встречается DE, тогда понимаю, что передача завершена и запускаю обработку полученных данных
#19
by vudo
Если посмотреть на данные из , так такое впечатление, что передача порвалась как минимум 3 раза... Может и твое DE 04 - это только часть пакета?
#22
by mzelensky
ТУПНЯК! я тоже так сперва хотел, но отказался. Проще взять Делфяк и внести изменение в библиотеку (добавить 1 строчку)!
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Как проиграть звуковой файл в 1С?
- v7: По команде Эксель.Quit() закрываются даже те xls-файлы, которые я не открывал
- Изменить ведомость по расчетам с контрагентами
- 1с Запрос в иерархии
- v8: ConfStat для 1с 8
- Canon iR 2520 и Network ScanGear как подружить?
- Создание колонок в цикле
- 8.2 Вывод данных в таблицу значений внешней обработки используя СКД
- ЗУП 2.5 Начисление страховых взносов.
- УТ, РКО, Заявка на расходование денежных средств
- Отчет "Комплектация номенклатуры" в УПП
- Запрос. Выбрать максимальное значение из таблицы. Как?
- Штрих-ФР-К
- Как вывести значение функции в список документа?
- Активизация строки табличного поля
- Событие при активации элемента в форме
- v7: Сбой в базе, что делать?
- Как включить и выключить IR порт на КПК?
- ЗУП 8.2 Расчет среднего заработка по премии
- Обмен УНФ <-> БП: настройка расписания.