Таймеры CoDeSys |
Ответить | Страница <12345 11> |
Автор | ||
Действительный член Присоединился: 29 Январь 2004 Категория: Russian Federation Online Status: Offline Публикации: 293 |
Опубликовано: 20 Февраль 2007 17:06 |
|
Стандартные таймеры внутри делают абсолютно тоже самое (+ контроль переполнения). Ничего страшного в их большом числе нет. Действительно на некоторых аппаратных платформах с сегментированной памятью число POU в проекте ограничено. |
||
Igor Petrov
|
||
Действительный член Присоединился: 15 Январь 2004 Категория: Russian Federation Online Status: Offline Публикации: 805 |
||
Надо будет как-нибудь испытать. |
||
Действительный член Присоединился: 15 Январь 2004 Категория: Russian Federation Online Status: Offline Публикации: 805 |
||
Да, видимо так оно и есть. Легко объявляется десяток тысяч таймеров, а каждый по 24 байта, и кол-во POU не увеличивается. Правда, пробовал в симуляторе. А я всегда почему-то все инстанции причислял к POU. Надо будет кое-что пересмотреть. Век живи, век учись. |
||
Действительный член Присоединился: 15 Январь 2004 Категория: Russian Federation Online Status: Offline Публикации: 805 |
||
А вот лежит у меня книжка "Программируемые контроллеры. Стандартные языки и приемы...", Игорь Викторович Петров. Ваша? |
||
Действительный член Присоединился: 29 Январь 2004 Категория: Russian Federation Online Status: Offline Публикации: 293 |
||
... Бить будете? |
||
Igor Petrov
|
||
Действительный член Присоединился: 08 Март 2006 Категория: Russian Federation Online Status: Offline Публикации: 440 |
||
Уж коль скоро тема слегка отклонилась на CoDeSys, то хочется высказать пару слов. В общем CoDeSys, добротно сколоченная вещь, создает впечатление проработанной системы. Мелкие недоделки - не в счет, ведь она еще во всю разрабатывается. Как я заметил, самая сильная часть в CoDeSys - это эффективность исполняемого кода. Кстати, те же таймеры типа TON в версии 2.3.7.2 занимают всего 15 байт ! Старенький Пень-260 тянет 6-ти осную ЧПУ отдыхая - с загрузкой на 10%. Код компактный, быстрый, будто писан на чистом ASM-е. Аналогичные IEC вроде Simulink или новомодная iCon_L выглядят слабже. В редакторах iCon_L много "раскрасок" и "удобств", но не совсем понятно зачем они нужны, например оператору, если после разработки все убирается и в контроллере остается один исполняемый код, а ператор работает в лучшем случае через какую-нибудь HMI или вообще через пульт с четыоьмя лампочками ... С уважением, SAN.
|
||
Действительный член Присоединился: 01 Июнь 2006 Категория: Russian Federation Online Status: Offline Публикации: 464 |
||
Очень заинтересовало, о каком именовании битов отдельных битов идет речь, не могли бы пояснить… PROGRAM PLC_PRG VAR Pusk1 AT %MX0.1:BOOL; Pusk2 AT %MX0.2:BOOL; Pusk3 AT %MX0.3:BOOL; END_VAR Я понимаю именование битов происходит в вышеизложенном коде? Или вы хотите именовать биты в куче? Любопытно просто
|
||
Действительный член Присоединился: 29 Январь 2004 Категория: Russian Federation Online Status: Offline Публикации: 293 |
||
Легко биты именуются, как Dismay показал. В ПЛК поддерживается конфигуратор контроллера, в нем по умолчанию задаются переменные (Out1, Out2 ...) сопоставленные битам входов/выходов. Если битовый адрес не указан, то под переменную типа BOOL выделяется 1 байт. Это делается не сдуру. Штука в том, что многие микропроцессоры, не имеют специальных машинных команд для работы с битами, приходится использовать несколько машинных команд. Так Пень 200 будет работать с битами медленнее 8 бит Intel 8051 на 22 МГц. Поэтому немного жертвуем памятью и достигаем повышения быстродействия на порядок. По поводу украшений всяких для CoDeSys обсуждали не раз. Но наиболее опытные заказчики против фантиков, поскольку в правильных инструментах это не нужно и вредно. Легко можно и к мужским трусам кружева пришить... |
||
Действительный член Присоединился: 08 Март 2006 Категория: Russian Federation Online Status: Offline Публикации: 440 |
||
Трогать кучу пожалуй не стоит, удобнее да и надежнее работать со статическим локальным сегментом данных. VAR Pusk1 AT %MX0.1:BOOL; Pusk2 AT %MX0.2:BOOL; Pusk3 AT %MX0.3:BOOL; END_VAR
Да, именно так сейчас и действуем. Каждый раз, по нескольку раз приходится уточнять с заказчиком размер области данных , количество переменных, их имена (создавать заранее большой сегмент - не оправдывается). Подчас это проблематично, если заказчики далеко. Сами Они не очень-то хотят пользоваться такой систематикой (почему-то ?). Кроме того, постоянно что-то меняется, добавляется весьма в широких пределах, переименовывается. Часто требуется назначать новые имена уже именованным переменным, то-есть двойные и тройные псевдонимы и т.д. Количество частных случаев переходит в качественную необходимость перенести возможность написания пользовательских программ к самому месту её работы, местным программистам-электрикам. Примерно это я и имел ввиду. Кстати, в системе команд процессора Pentium имеются аппаратные инструкции работы с битами : BT, BTS, BTR, BTC, BSF, BSR и т.д. Но честно говоря, не знаю - использовали их в компиляторах CoDeSys ?
С уважением, SAN.
|
||
Действительный член Присоединился: 29 Январь 2004 Категория: Russian Federation Online Status: Offline Публикации: 293 |
||
Пользователей SP RTE сейчас примерно 1 на 10000 пользователей обычных PLC с CoDeSys. Продукт этот очень интересный, но не дешевый и не массовый. Прочитал несколько раз, но никак не могу понять, что все-таки отпугивает пользователей и что нужно сделать? Похоже, что проблема в неком драйвере ввода/вывода SP RTE для которого не сделали конфигуратор переменных? |
||
Ответить | Страница <12345 11> |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |