 |
|
|
|
| Автор |
Сообщение |
DL36 Живет здесь... (>100)

Зарегистрирован: 04.10.2006 Сообщения: 192 Откуда: Херсон
|
Добавлено: 20 Окт 2006, 10:00 Заголовок сообщения: Обратите внимание на Форт |
|
|
Я натыкался на реализацию языка Форт для PIC.
http://ru.wikipedia.org/wiki/Forth посмотрите сюда, интерпритатор, думаю на Форт следует обратить внимание. |
|
| Вернуться к началу |
|
 |
lexand Знатный посетитель (>20)

Зарегистрирован: 30.11.2006 Сообщения: 24 Откуда: Украина, г. Белая Церковь
|
Добавлено: 30 Ноя 2006, 23:36 Заголовок сообщения: |
|
|
Я тож долго думал - но всеж решил если и буду то только CAN.
Решать коллизии на радио включая ZeegBee трудновато будет.
Радио интерфейс в крайнем случае или там гед провод не совсем целесообразно.
X10 отбросил почти сразу
S10 чуть погодя но тоже отбросил
EIB (Siemens/Merten/...) - заинтересовал, но стоимость
ходил на семинары, но бросил времени не хватало
LON - круто. по стоимости сравнимо с EIB (местами дешевле)
Хотя именно то что мне нужно было (то что придумалось) не реализовывалось даже в LON. |
|
| Вернуться к началу |
|
 |
AndryG Модератор
Зарегистрирован: 24.07.2006 Сообщения: 411 Откуда: Helios-3
|
Добавлено: 01 Дек 2006, 8:50 Заголовок сообщения: |
|
|
Физический интерфейс пока не обдумывал... можно использовать простой WAKE, положив его на RS-485.
Другой вопрос сейчас интересен.
Допустим у нас есть главное "кольцо" программы (неважно на какой языке написано, С или своя виртуальная машина) ... кольцо должно прокручиваться как максимум за 1 сек. Как организовать здесь отправку пакетов по сети, прием/передачу ИК-команд?
В сети я предполагаю для простоты одного ведущего, ведомые сами не "говорят" - только отвечают. Если после каждой посылки пакета ждать ответ, то основное кольцо и за минуту не прокрутится?
Получается нужно организовать буферы для отправляемых/принимаемых данных... а потом "вне кольца" принимать ответы и их обрабатывать их... получается капут.
Может кто идеи подскажет? _________________ AndryG |
|
| Вернуться к началу |
|
 |
Alexx Знатный посетитель (>20)


Зарегистрирован: 25.09.2006 Сообщения: 49 Откуда: Украина, Киев
|
Добавлено: 01 Дек 2006, 9:53 Заголовок сообщения: |
|
|
| AndryG писал(а): |
В сети я предполагаю для простоты одного ведущего, ведомые сами не "говорят" - только отвечают. Если после каждой посылки пакета ждать ответ, то основное кольцо и за минуту не прокрутится?
Получается нужно организовать буферы для отправляемых/принимаемых данных... а потом "вне кольца" принимать ответы и их обрабатывать их... получается капут.
Может кто идеи подскажет? |
Зачем так сложно. Не проще ли ввести разумный таймаут ожидания.. |
|
| Вернуться к началу |
|
 |
AndryG Модератор
Зарегистрирован: 24.07.2006 Сообщения: 411 Откуда: Helios-3
|
Добавлено: 01 Дек 2006, 10:26 Заголовок сообщения: |
|
|
Даже если принять время одного сеанса "отправка пакета - его обработка ведомым - прием ответа" раным 100 мСек, то за секунду полйчаем 10 сеансов. И это просто на сеансы... на "кольцо" времени совсем нет.
Опять же мысль. Если в колце каждую прокрутку будет посылаться/запрашивать больше десятка команд переферии (при условии таймаута 100 мс), то система и при бесконечном буфере повиснет - отслываться будет меньше пакетов, чем в буфер ложится.
Фигня полная. _________________ AndryG |
|
| Вернуться к началу |
|
 |
Alexx Знатный посетитель (>20)


Зарегистрирован: 25.09.2006 Сообщения: 49 Откуда: Украина, Киев
|
Добавлено: 01 Дек 2006, 10:54 Заголовок сообщения: |
|
|
| AndryG писал(а): | Даже если принять время одного сеанса "отправка пакета - его обработка ведомым - прием ответа" раным 100 мСек, то за секунду полйчаем 10 сеансов. И это просто на сеансы... на "кольцо" времени совсем нет.
Опять же мысль. Если в колце каждую прокрутку будет посылаться/запрашивать больше десятка команд переферии (при условии таймаута 100 мс), то система и при бесконечном буфере повиснет - отслываться будет меньше пакетов, чем в буфер ложится.
Фигня полная. |
В общем случае, как я понимаю, основной задачей ведущего является опрос N-го количества информационных входов (датчики и т.п.) на много реже прийдется отправлять команду управления выходами (реле и т.п.)
Если так, то предлагается следующий вариант.
В программе Ведущего создается т.н. таблица опроса, в соответствии с которой посылаются запросы на удаленные контроллеры, принимаются ответы, результаты выкладываются в организованный буфер состояния системы. Этот процесс является фоновым (работа по прерываниям)
Основной процесс ("кольцо", как вы его называете) постоянно мониторит состояние буфера и принимает решение о необходимости управления каким-либо оборудованием, каковое реализуется следующим образом:
1) Приостановка циклического опроса
2) Отправка команды - прием подтверждения (результат - ошибка или ОК)
3) Возобновление циклического опроса
| lexand писал(а): |
Решать коллизии на радио включая ZeegBee трудновато будет.
|
О каких коллизиях Вы говорите?
У каждого контроллера свой уникальный адрес, слышат все, отвечает адресуемый! Откуда коллизии? |
|
| Вернуться к началу |
|
 |
AndryG Модератор
Зарегистрирован: 24.07.2006 Сообщения: 411 Откуда: Helios-3
|
Добавлено: 01 Дек 2006, 11:22 Заголовок сообщения: |
|
|
Идея с фоном хороша ... вот только есть же устройства. которые можно и раз в сутки, допустим, опросить ... ну да ладно это мы можем еще где-нить описать.
А вот отправка с прерыванием цикла ... не есть хорошо.
Получается уперлись мы в стену .. кажется мне, что нужно здесь кардинально методу менять... но на какую?
Еще загвоздка. Постоянная моя проблема - обработка ошибок. Что делать с ошибками? Как себя должна вести система при возникновении ошибок? Ведь это не игрушка - вывалилась- перегрузились и дальше играем, а система должна работать постоянно. _________________ AndryG |
|
| Вернуться к началу |
|
 |
Alexx Знатный посетитель (>20)


Зарегистрирован: 25.09.2006 Сообщения: 49 Откуда: Украина, Киев
|
Добавлено: 01 Дек 2006, 12:57 Заголовок сообщения: |
|
|
| AndryG писал(а): |
А вот отправка с прерыванием цикла ... не есть хорошо.
|
Что Вас смущает???
| AndryG писал(а): |
Получается уперлись мы в стену .. кажется мне, что нужно здесь кардинально методу менять... но на какую?
|
В стену искусственно созданную. Думается сначала надо определиться с количеством и номенклатурой удаленных контроллеров, а затем создавать (или не создавать ) себе проблему |
|
| Вернуться к началу |
|
 |
AndryG Модератор
Зарегистрирован: 24.07.2006 Сообщения: 411 Откуда: Helios-3
|
Добавлено: 01 Дек 2006, 13:27 Заголовок сообщения: |
|
|
время отправки сообщения с приемом ответа - 1/10 кольца - вот это и не нравится. _________________ AndryG |
|
| Вернуться к началу |
|
 |
Alexx Знатный посетитель (>20)


Зарегистрирован: 25.09.2006 Сообщения: 49 Откуда: Украина, Киев
|
Добавлено: 01 Дек 2006, 13:33 Заголовок сообщения: |
|
|
| AndryG писал(а): | | время отправки сообщения с приемом ответа - 1/10 кольца - вот это и не нравится. |
Думаю, настало время Вам огласить, что же вы собираетесь делать "в кольце".
Поподробнее, пожалуйста! |
|
| Вернуться к началу |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете добавлять вложения в этом форуме Вы можете просматривать вложения в этом форуме
|
|