Segnetics

Вернуться   Segnetics > Форум Segnetics

Форум Segnetics Территория общения

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.02.2006, 13:22   #1
huqq
Guest
 
Сообщения: n/a
Exclamation Макрос электрического калорифера в программах с электрическим нагревом

Макрос хорошо написан, но не до конца.

Из логики макроса при сильном отклонении t от t_уст
(т.е. сигнал от PID - max) макрос включит одновременно все ступени калорифера.
Если калорифер мощный, разом будет закоммутированна слишком большая нагрузка. А этого следует избегать.
Необходимо, при одновременном включении нескольких ступеней, коммутировать их последовательно с интервалом 2-3 сек.

Вопрос:
Если ввести задержку перед включением каждой последующей ступени, калорифер сразу приобретет определенную инерционность. Время реакции системы увеличится.
Это должно отразиться на работе PID-регулятора.
А как, я пока не понимаю. Может кто объяснит? Как компенсировать увеличение инерционности системы в настройках PID-регулятора?
  Ответить с цитированием
Старый 14.02.2006, 10:37   #2
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию

Цитата
Сообщение от huqq
Макрос хорошо написан, но не до конца.

Из логики макроса при сильном отклонении t от t_уст
(т.е. сигнал от PID - max) макрос включит одновременно все ступени калорифера.
Если калорифер мощный, разом будет закоммутированна слишком большая нагрузка. А этого следует избегать.
Необходимо, при одновременном включении нескольких ступеней, коммутировать их последовательно с интервалом 2-3 сек.

Вопрос:
Если ввести задержку перед включением каждой последующей ступени, калорифер сразу приобретет определенную инерционность. Время реакции системы увеличится.
Это должно отразиться на работе PID-регулятора.
А как, я пока не понимаю. Может кто объяснит? Как компенсировать увеличение инерционности системы в настройках PID-регулятора?
Начнём по порядку.

Коммутация: ТЭНы - это резистивная нагрузка, сопротивление которой, кстати, не сильно меняется от температуры (имею ввиду обычные воздушные), поэтому сказать 'коммутируется слишком большая нагрузка' нельзя. Соответственно последовательный запуск имеет смысл делать только в случае, когда подводимой мощности хватает 'в притык'. Почти ватт к ватту Вот всякие там лампочки, открытые спирали - они да, сопротивление меняют очень сильно

Ну а насчёт ПИДа - всё просто, 2-3 секунды, умноженные даже на 5 ступеней - ничто по сравнению с временем разогрева(секунд 30)/остывания(не менее 10 сек)/задержки_переключения(180-900 сек для пускателей)/инерцией_датчика(30 сек и выше). Регулятор наверняка ничего не заметит, т.к. постоянная времени электрокалорифера уже не ниже 30 сек.
Arsie сейчас на форуме   Ответить с цитированием
Старый 01.03.2006, 16:10   #3
AlexB
Новичок
 
Регистрация: Jan 2006
Сообщения: 16
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Семисторы

У вас есть программа для управления электрическим калорифером. Нельзя ли поподробнее узнать о методах регулирования, т.е. используется ли там ШИМ.
Какие семисторные реле со входом 0..10 В вы используете на своих объектах.
Тема для нас новая, раньше работали с электричеством на ТТС.
Хотели бы использовать ваш контроллер для домашнего применения. Какие варианты настенного монтажа вы можете предложить. Возможно ли встраивание контроллеров в стены? Я имею ввиду поправки на температурные параметры...
Заранее спасибо.
AlexB вне форума   Ответить с цитированием
Старый 02.03.2006, 17:36   #4
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Семисторы

Регулирование производится несколькими способами:

1) одна секция ТЭН, управление посредством ШИМ
(твердотельное реле), регулирование быстрое и качественное.
2) одна секция ТЭН, управление посредством пускателя
(большие задержки и как следствие низкая точность
удержания температуры).
3) одна секция ТЭН, управляемая посредством ШИМ +
одна или несколько (до 4) секций, управляемых пускателями.
Такой метод позволяет быстро реагировать на изменение температуры
в расчётном диапазоне (насколько позволяет мощность секции,
управляемой ШИМ), но при этом быстрая реакция на резкие и при этом
большие скачки температуры невозможна.
4) несколько секций ТЭН, управляемых посредством пускателей.
Недостатки как в пункте (2), но менее выраженные - т.к. секций
много.
5) Как пункт (3), только все секции управляются твердотельными
реле. Регулирование быстрое и качественное, разделение на
секции позволяет уменьшить уровень помех, создаваемых
электрокалорифером.
6) контроллер выдаёт сигнал управления 0..10В для внешнего блока,
который управляет секциями ТЭН по своему усмотрению.


Для преобразования аналогового управления от регулятора существует макрос, который реализует приведённые выше схемы управления.

--------

Встраивание в стены в принципе ничем не отличается от встраивания в шкафы, лишь бы нужные требования выполнялись (температура, влажность, среда, вибрация)... Общий ответ дать сложно. По поводу настенного монтажа: info@smode.ru

Последний раз редактировалось Arsie, 02.03.2006 в 17:43
Arsie сейчас на форуме   Ответить с цитированием
Старый 17.03.2006, 10:51   #5
pitup
Guest
 
Сообщения: n/a
По умолчанию Проблемы с подключением контроллеров к RS485

Я просмотрел большое количество информации о RS485 и пришел к
выводу что наиболее правильным способом расключить контроллеры
является:

- подключение A и C (Data-, Data+) на одну витую пару через предохранители).
- подключение E на один из проводов другой витой пары (общая земля) и
подключение E на местную защитную землю через резистор 100ом.
- подключение оплетки в одной точке на защитную землю.
- установка терминаторов на крайних точках линии.

Используется кабель SFTP 5cat.
На компьютере - оптически изолированный адаптер RS485. В
адаптер встроены терминаторы и подтяжка сигналов линии (biasing).

Несмотря на следование всем рекомендациям спецификации связь очень нестабильна.
Наблюдаются крайне странные эффекты - например, если подключить
оплетку в земле в более чем одной точке, то связь улучшается.
На некоторых линиях SMLogix либо не находит контроллеров вообще, либо
сообщает что "на этой линии уже работает master", причем изменение
скорости передачи на это сообщение никак не влияет.

Может есть какие-то особенности подключения SMH к RS485? Надо ли
использовать общий провод? Стоит ли подключать его на каждом
контроллере к защитной земле? Каким все-таки образом лучше заземлять
оплетку?
  Ответить с цитированием
Старый 17.03.2006, 11:03   #6
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Проблемы с подключением контроллеров к RS485

>
> Мы просмотрели большое количество информации о RS485 и пришли
> к заключению что наиболее правильным способом расключить контроллеры
> является:
>
> - подключение A и C (Data-, Data+) на одну витую пару через
> предохранители).

Правильно.

> - подключение E на один из проводов другой витой пары (общая
> земля) и подключение E на местную защитную землю через резистор 100ом.

Лучше на пару, а не на один из проводов. Подключение к земле спорно.

> - подключение оплетки в одной точке на защитную землю.

Спорно. Очень спорно.

> - установка терминаторов на крайних точках линии.
>

Верно.

> Мы используем кабель SFTP 5cat.

Разумно.

> На компьютере используется оптически изолированный адаптер
> RS485. В адаптер встроены терминаторы и подтяжка сигналов
> линии (biasing).
>

Подтяжка может и помешать. Оправдана исключительно при большом количестве устройств.

> Несмотря на следование всем рекомендациям спецификации связь
> очень нестабильна. Наблюдаются крайне странные эффекты -
> например, если подключить оплетку в земле в более чем одной
> точке, то связь улучшается. На некоторых линиях SMLogix либо

Скорее всего у провода 'земли' сопротивление велико. У sftp вроде килоом на километр, поэтому лучше для земли выделить целую пару, а то и две.

> не находит контроллеров вообще, либо сообщает что "на этой
> линии уже работает master", причем изменение скорости
> передачи на это сообщение никак не влияет.
>

Лоджик смотрит активность линии, если активность есть - выводит это сообщение. В вашем случае помехи на линии настолько велики, что это воспринимается как активность какого-либо устройства.

> Может есть какие-то особенности подключения SMH к RS485? Надо
> ли использовать общий провод? Стоит ли подключать его на
> каждом контроллере к защитной земле? Каким все-таки образом
> лучше заземлять оплетку?
>

Общий провод нужно подключать только при использовании COM1 контроллера (он не опторазвязан), при использовании COM2 он только навредит. Экран попробуйте подключить к земле контроллера (клемма Е) как можно ближе к середине линии. Как вариант - экран подключается к земле (клемма Е) у того контроллера, который наиболее удалён от источников помех. Если у контроллеров есть COM2 rs485, то лучше подключаться ими - качество связи будет выше.

PS. Теоретически подключение экрана к каждому контроллеру (клемма Е) должно только вредить, но на практике иногда оказывается, что это не так. Поэтому попробуйте, подключите. Отключить всегда успеете
Arsie сейчас на форуме   Ответить с цитированием
Старый 17.03.2006, 11:18   #7
SMH
НЕ сотрудник Segnetics
 
Аватара для SMH
 
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Проблемы с подключением контроллеров к RS485

Пока на SMH сделали только один сетевой проект - на промышленном объекте 5 контроллеров опрашивается шестым "Мастером", протяжённость линий - до 100м, провод - FTP 5 категории, зацепили на СОМ1, экран кабеля никуда не подключали, терминаторы не ставили, всё изумительно работает на скорости 115200. Повезло, что ли?
Расширять собираемся сей проект до 10-12 контроллеров в сети. Слегка испугался...
SMH вне форума   Ответить с цитированием
Старый 17.03.2006, 11:27   #8
pitup
Guest
 
Сообщения: n/a
По умолчанию Ответ: Проблемы с подключением контроллеров к RS485

Повезло... А может все работает как раз потому что оплетку никуда не цепляли и терминаторы не ставили
  Ответить с цитированием
Старый 17.03.2006, 11:35   #9
SMH
НЕ сотрудник Segnetics
 
Аватара для SMH
 
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Проблемы с подключением контроллеров к RS485

З.Ы. То есть, и клемму "Е" контроллеров тоже никуда не подключали. И вообще, на моей практике чем меньше заморачиваешься по этому поводу, тем проблем меньше. Помню, когда только начинали работать с распределёнными системами (с модулями ICP DAS), тоже понавтыкали резисторов куда надо и не надо, так связь ваще дерьмо была, терялась всё время, что только не делали - и потенциалы выравнивали, и ОВЦЕлографом сигналы смотрели, и развязки втыкали, всё бестолку. Потом взяли и убрали все резюки. Три года без проблем. Есть примеры использования провода ШВВП для RS-485, тоже всё ОК
SMH вне форума   Ответить с цитированием
Старый 23.03.2006, 07:35   #10
skipa
Guest
 
Сообщения: n/a
По умолчанию Объём EEPROM

Хотелось бы узнать скока на борту памяти, ибо в разных источниках приводится разная информация от 4 до 512 kb. Насколько мне известно, объём EEPROM связан с версией установленного заводского ядра. На контроллере установлено ядро 02.19.0229.С+. Если можно приведите список соответствия версиий и объёма EEPROM.
  Ответить с цитированием
Старый 23.03.2006, 11:40   #11
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Объём EEPROM

Объём eeprom складывается из 2 составляющих: 32 килобита + 32 килобита, либо 32 килобита + 512 килобит. Соответственно объём равен либо 8 килобайт, либо 68 килобайт. SMLogix использует первые 4 килобайта под собственные нужды, соответственно свободными для использования остаётся либо 4 килобайта, либо 64 килобайта.

Из номера версии объём установленной памяти узнать невозможно. Знак плюса указывает на наличие двух интерфейсов rs485, буква перед ним - модель контроллера. Поддержка большого eeprom появилась в версии 2.19.0229 и выше.
Arsie сейчас на форуме   Ответить с цитированием
Старый 23.03.2006, 14:09   #12
skipa
Guest
 
Сообщения: n/a
По умолчанию Сколько циклов перезаписи у EEPROM

Возникла задача учёта времени работы насоса за сутки. Реализовал её с помощью счётчиков CTU и записью в EEPROM каждую минуту для того, чтобы при пропадании питания контроллера счётчики не обнулялись. Так вот интересует на сколько хватит этой системы?
  Ответить с цитированием
Старый 23.03.2006, 18:07   #13
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Сколько циклов перезаписи у EEPROM

Гарантировано 800000 для каждой ячейки, дальше - как повезёт
Arsie сейчас на форуме   Ответить с цитированием
Старый 31.03.2006, 11:35   #14
Vladimir_K
Guest
 
Сообщения: n/a
По умолчанию Ответ: Вопросы о контроллерах

Привет всем!
Вопрос следующий: можно ли считать программу из контроллера?

Требуется это для того, чтобы к существующей работающей системе добавить еще пару датчиков. Предыдущий разработчик исходников не оставил. А если я начну сейчас писать и впихивать свою новую программу, то производство может встать на неопределенный срок. А чтобы этого не случилось, я бы после своих экспериментов загружал старую.
  Ответить с цитированием
Старый 31.03.2006, 15:21   #15
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Вопросы о контроллерах

Нет, нельзя.

Максимум, который возможен - прямое копирование всех областей памяти исходного SMH в другой SMH той же модели.
Arsie сейчас на форуме   Ответить с цитированием
Старый 06.04.2006, 07:45   #16
SMH
НЕ сотрудник Segnetics
 
Аватара для SMH
 
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Сколько циклов перезаписи у EEPROM

Ну не каждую же минуту туда записывать! Это уже даже не насилование, а зверство!
800000/(365х24х60) = 1,5 Через полтора года в ремонт? И это при том, что батарейки хватает минимум на три года?
Флеш и еепром - разве принципиально не одно и то же?
SMH вне форума   Ответить с цитированием
Старый 06.04.2006, 10:28   #17
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Сколько циклов перезаписи у EEPROM

А это уже смотреть нужно, по какой схеме ячейки сделаны Если по интеловской, то в принципе похож на флешку. Но что-то мне говорит о том, что не так это =)

И зачем каждую секунду-то записывать? Кто заставляет писать всё в одну и ту же ячейку? Ещё можно резервирование сделать, подсчёт ресурса со сменой ячейчи 800000 циклов записи не в еемпром вообще, а в конкретную ячейку...
Arsie сейчас на форуме   Ответить с цитированием
Старый 06.04.2006, 12:13   #18
SMH
НЕ сотрудник Segnetics
 
Аватара для SMH
 
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Сколько циклов перезаписи у EEPROM

Не секунду, а минуту - автор вопроса так захотел
А насчёт смены ячейки мысль хорошая, но усложнит это проект. На мой взгляд, имеет смысл только для ОЧЕНЬ важных переменных.
SMH вне форума   Ответить с цитированием
Старый 30.04.2006, 19:42   #19
AlexG
Senior Member
 
Регистрация: Jan 2006
Сообщения: 172
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: EEPROM в SMH2010

Ресурс батареи указанный в документации считал явно очень большой оптимист, исходя из ее емкости и потребления ATmega128 в Power-save Mode батареи хватит на год отключенного состояния если очень повезет
AlexG вне форума   Ответить с цитированием
Старый 02.05.2006, 12:40   #20
Admin
Banned
 
Регистрация: Jan 2006
Сообщения: 1
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: EEPROM в SMH2010

Вот формула, по которой мы считаем время жизни батарейки:

L = C/i/8760, где С - емкость батареи = 1000mA/ч, i - ток потребления = 25мкА, 8760 - количество часов в году.
Итого получается 4,5 года.

А Вы на Лоджике программируете или на С?
Admin вне форума   Ответить с цитированием
Старый 04.05.2006, 17:28   #21
AlexG
Senior Member
 
Регистрация: Jan 2006
Сообщения: 172
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: EEPROM в SMH2010

В спящем режиме ток потребления резко возрастает раз в секунду когда контроллер просыпается по таймеру, поэтому средний потребляемый ток больше 25 мкА, проведенные повторные измерения и рассчеты дают средний ток примерно 45 мкА, т.е. 2.5 года работы. Измерения проводились с помощью осциллографа и были не очень точными - форма импульса потребляемого тока довольно сложная. Заявление о годе основано на полузабытых экспериментах годовалой давности.

Программа написана на C (контроллера с лоджиком под рукой небыло) и в части реализации спящего режима может отличаться от ядра лоджика, в частности в ваших исходниках, которые мы взяли за основу в спящем режиме использовалось деление частоты тактового генератора (XDIV) что приводит к значительному растягиванию по времени импульса потребления (видимо какие-то переходные режимы при засыпании) и значительному возрастанию среднего потребляемого тока.

Есть некоторые опасения что контроллер может в какой-то ситуации не войти в спяжий режим и разрядить батарею. Питания от батареи не хватает для запуска рабочей программы и затем корректного засыпания, у нас контроллер корректно засыпает только после отключения основного питания. Вообще я считаю резервное питание самой меги от батареи не очень удачной идеей (хотя и сам так делал), более перспективно использование отдельной микросхемы часов и питание ее от ионистора.
AlexG вне форума   Ответить с цитированием
Старый 04.05.2006, 20:27   #22
Jaffar
Сотрудник Segnetics
 
Регистрация: Jan 2006
Сообщения: 82
Благодарил(а): 4 раз(а)
Поблагодарили: 3 раз(а) в 2 сообщениях
По умолчанию Ответ: EEPROM в SMH2010

Вобщем, мы тоже не совсем довольны нашим спящим режимом. В частности, существует риск разрядить батарею, если подключить ее в разъем контроллера при отсутствии внешнего питания на Меге. Поэтому, в новых разработках мы применяем более продвинутые схемы.
Что касается тока потребелния, то все наши испытания и измерения показывают средний ток 25мкА. Однако, благодарим Вас за Ваши сомнения. Мы воспользуемся этим поводом для проведения повторных измерений и проверим SMH еще раз.
Jaffar вне форума   Ответить с цитированием
Старый 07.05.2006, 00:31   #23
alex
Senior Member
 
Регистрация: Jan 2006
Сообщения: 320
Благодарил(а): 5 раз(а)
Поблагодарили: 2 раз(а) в 2 сообщениях
По умолчанию Ответ: Прошивка ядра

а что даст смена ядра? новые возможности или еще чего?
короче зачем это надо?

извиняйте за вопрос, я в этом деле "чайник", но хочется знать может когда-нибудь пригодится.
alex вне форума   Ответить с цитированием
Старый 10.05.2006, 10:51   #24
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Прошивка ядра

Если были обнаружены какие ошибки - в более новом ядре они исправлены. Как правило расширяется функциональность. Не всегда смена ядра необходима (например при смене версии ядра 0081 - 0219 добавлены более широкие возможности modbus, но если ваш проект вообще не работает с modbus, то и замена ядра не так уж и очевидна). Но если есть желание и возможность - то использовать встроенное ПО самой последней версии - это правильный путь.
Arsie сейчас на форуме   Ответить с цитированием
Старый 11.05.2006, 12:34   #25
Shaman
Новичок
 
Регистрация: Apr 2006
Сообщения: 6
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Подтягивающие резисторы 485-го интерфейса

На новом контроллере C2010C-1112-001-5 (серийный номер 107410) чтобы интерфейс работал нормально (обеспечивалась передача на 115200 бод) надо припаять 2 подтягивающих резистора по 2 кОм (изначально они не припаяны).
Shaman вне форума   Ответить с цитированием
Старый 12.05.2006, 10:41   #26
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Подтягивающие резисторы 485-го интерфейса

Применение подтягивающих резисторов требует решения на месте. Отношение сигнал/шум они могут как увеличить, так и уменьшить. Соответственно связь может как улучшиться, так и ухудшиться.

Лично я бы (говорю не от лица segnetics, а от своего), припаяв резисторы поставил бы скорость 57600, т.к. налицо плохое отношение сигнал/шум (или большая ёмкость линии), близкое к некоторой критической точке, после которой связь на 115200 рвётся. Резисторы помогли, но кто сказал, что шумы со временем не увеличатся? Я бы на объект лишний раз съездить не хотел бы.
Arsie сейчас на форуме   Ответить с цитированием
Старый 15.05.2006, 19:06   #27
SMH
НЕ сотрудник Segnetics
 
Аватара для SMH
 
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Об экономии ресурсов контроллера

Несколько вопросов.
1. Влияет ли на цикл системы тип используемых блоков обработки переменных – int, long, real? Насколько существенно это влияние?
2. Что выгоднее использовать с точки зрения сокращения цикла: два блока с двумя входами (or, and, add и т.п.) или тот же блок, но один, и с четырьмя входами? Или одинаково?
3. Что выгоднее использовать с точки зрения сокращения цикла: два блока screen str с одной строчкой или один блок с двумя строчками? Или одинаково?
4. Аналогичный вопрос по блокам EEPROM - что быстрее будет работать, два блока по одной ячейке или один блок на две ячейки?
Вообще, было бы очень кстати иметь хотя бы оценочное представление о потребности ресурсов всех блоков, для оптимального написания программы.
SMH вне форума   Ответить с цитированием
Старый 16.05.2006, 10:18   #28
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Об экономии ресурсов контроллера

Полезные вопросы. Когда я задался такими вопросами, то выставлял множество однотипных блоков на 'поляну' и смотрел, сколько они выполняются времени.

1) Существенно. Если учесть, что мега - восьмиразрядный процессор без встроенной математики, то вполне логично, что (например) сложение двух шеснадцатиразрядных (int) чисел выполняется быстрее, чем сложение двух тридцатидвухразрядных (long). И тем более особняком стоит математика для чисел с плавающей точкой. Не проверял, но 'на глазок' сложение двух real в несколько раз (а то и на порядок) медленнее сложения двух int. Если внимательно рассмотреть прикладные макросы и макросы в наших типовых программах (в особенности в программах, генерируемых конструктором), то можно увидеть, что real используются только там, где это действительно необходимо.

2) два блока будут выполняться дольше, т.к. внутри SMH интерпретатор, который выполняет эти блоки по одному. Перейти на другой блок дольше, чем обработать дополнительные входы. В вашем случае всё прозрачно: два блока с двумя входами - это 8 операций (считать блок, считать 2 входа, записать результат, считать блок, считать 2 входа, записать результат), если один блок с 4 входами, то это 6 операций. Плюс к этому ещё и меньше места в памяти занимает.

3) блок screen выводит в один момент одну строку. Общее количество строк влияет только на объём занимаемой памяти. То же относится и с мультиплексорам: блок с 2 входами выполняется ровно такое же время, как и блок с 255 выходами.

4) всё как и в 3 пункте. Тут уже как удобнее использовать - два блока по 1 ячейке не требуют операции чтения, но занимают больше времени в цикле. С другой стороны, организация цикла чтения также займёт дополнительные блоки, следовательно и дополнительное время.
Arsie сейчас на форуме   Ответить с цитированием
Старый 10.07.2006, 14:52   #29
SMH
НЕ сотрудник Segnetics
 
Аватара для SMH
 
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Вопросы о контроллерах

Обнаружил просто отвратительную работу контроллера на скорости 4800: после изменения скорости практически невозможно с ним связаться из Лоджика по RS485, использую конвертер I-7520, дело в конвертере, ПО или контроллере? После многократных попыток связаться, меняю скорость на бОльшую - никаких проблем со связью.
SMH вне форума   Ответить с цитированием
Старый 11.07.2006, 18:17   #30
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Вопросы о контроллерах

Цитата:
Сообщение от SMH
Обнаружил просто отвратительную работу контроллера на скорости 4800: после изменения скорости практически невозможно с ним связаться из Лоджика по RS485, использую конвертер I-7520, дело в конвертере, ПО или контроллере? После многократных попыток связаться, меняю скорость на бОльшую - никаких проблем со связью.
Насколько я понимаю проблему (сам сталкивался с плохой работой на некоторых скоростях), дело в радиусе кривизны рук производителей материнок, лепящих RS-232 как попало. Если взять какой-нибудь древний компьютер или современный расширитель RS-232, то сразу всё начинает работать нормально...


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать свои сообщения

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
RTFM, или какие вопросы иногда бывают в техподдержке Arsie Форум Segnetics 28 10.03.2023 18:31
Изучаю smconstructor, есть вопросы nordth SMConstructor (вентиляция) 18 17.02.2021 19:21
Вопросы начинающего. mkv Вопросы о Pixel 41 11.04.2018 16:31


Часовой пояс GMT +4, время: 03:36.


Версия vBulletin: 3.8.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2023