![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| DonPager |
|
|||
|
Колдырь ![]() ![]() Профиль Группа: Участник Сообщений: 327 Регистрация: 28.3.2003 Где: Воронеж Репутация: нет Всего: 2 |
Ситуация такова:
некоторое время назад мои коллеги разработали замечательное устройство, которое кроме всего прочего умеет общатся с другими ус-вами через RS232... теперь надо подружить его с компом... вродебы всё сделал, НО... есть один ньюанс: По одному проводу гонятся и данные и команды, а разделяются они посредством состояния DCD (RLSD) в текущий момент....это прекрасно работает на "голых" контроллерах и как показал опыт с реалтайм приоритетом под некоторыми линухами, а вот как заставить это работать под виндой ума не приложу.... пока что все говорят мне только забей и сделай аппаратный переходник, но может можно как нибудь программно? вот в кратце правила обмена: -Скорость Команд 38400 -Скорость данных 1200-16000 -данные передаются порциями по 24 байта -команды посылаются или при отсутствии данных или в "корыте" образовашемся из-за разницы скоростей -при передаче данных DC=1, при командах DC=0 КАК отделить мух от котлет ? Винда не успевает -------------------- кодер + лодырь = колдырь |
|||
|
||||
| Felan |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 284 Регистрация: 2.8.2007 Где: Самара Репутация: 2 Всего: 7 |
И не успеет.
Надо или делать специальный шнурок и настраивать сам виндовый драйвер, что бы это все работало аппаратно. Но то, что будет работать не факт, т.к. не совсем понял алгоритм обмена. Зачем там вообще было использовать определение несущей (DCD)? Тут можно попробовать извратиться если сделать работу с портом по событиям. Т.е. как только возникает событие (на которое будет железно заведена ваша DCD) считается, что в буфер читается команда, иначе данные. Но опять же, вопрос разделения команд и данных на программном уровне не ясен. Как-то подругому выделять команды и данные. А если есть возможность, то вообще переосмыслить ситуацию и изменить протокол. Если не свой придумать то хотя бы ModBus. -------------------- // Любая сложная система - это темный лес. Каждый в этом лесу протаптывает свои тропинки, по ним и бегает. Лишь изредка, сходя с них, мы находим много интересного, а порою и страшного. |
|||
|
||||
| DonPager |
|
||||
|
Колдырь ![]() ![]() Профиль Группа: Участник Сообщений: 327 Регистрация: 28.3.2003 Где: Воронеж Репутация: нет Всего: 2 |
так уж ребята придумали "...а что это у нас 109й провод без дела болтается ??? заюзаем его"
-------------------- кодер + лодырь = колдырь |
||||
|
|||||
| Felan |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 284 Регистрация: 2.8.2007 Где: Самара Репутация: 2 Всего: 7 |
Несовсем. В этом мега шнурке можно попробовать обойтись без электроники, просто DCD не на свое место поставить а, например, на DTR или что-то в этом роде (я сейчас уже не помню точно как там с сигналами что происходит). А драйвер порта можно настроить так, что бы он по определенному событию (например падению этого самого DTR или чего-нибудь другого) возбуждал событие. Все это естественно делается на голом WinAPI и совершенно не гарантирует результат, т.к. много вопросов с синхронизацией все равно будет... Это так, размышления на тему. ЗЫЖ Ну не предназначен COM для протоколов которые завязаны на время... -------------------- // Любая сложная система - это темный лес. Каждый в этом лесу протаптывает свои тропинки, по ним и бегает. Лишь изредка, сходя с них, мы находим много интересного, а порою и страшного. |
|||
|
||||
| ivan219 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1121 Регистрация: 19.11.2005 Где: Планета земля Репутация: 2 Всего: 12 |
DonPager, ты можешь выложить описание протокола его временную диаграмму да и вобще всё что есть.
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |