Современные технологии автоматизации» («СТА») —  журнал для квалифицированных специалистов по промышленной автоматизации Форум СТА — современные технологии автоматизации Домашняя страница
Домашняя страница форума CTA Домашняя страница форума CTA > II. АСУТП и SCADA > Программное обеспечение
  Активные темы Активные темы
  FAQ FAQ  Искать в форуме   Зарегистрироваться Зарегистрироваться  Вход в систему Вход в систему

Таймеры CoDeSys

 Ответить Ответить Страница  <1 23456 11>
Автор
Сообщение
sanwork Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 08 Март 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 440
Свойства публикации Свойства публикации   Ответить, цитируя автора - sanwork Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: Таймеры CoDeSys
    Опубликовано: 21 Февраль 2007 23:59

Смысл в том, чтобы именовать уже существующие переменные, а также биты произвольных переменных, не меняя уже существующей структуры данных, которая к примеру разбросана по разным модулям или библиотекам. Типичный случай -  когда разные участники проекта договорились о неком общем интерфейсе данных, изменить который впоследствии весьма сложно. Да и не нужно, если есть простой механизм псевдонимов и макросов. При этом внутри отдельной части проекта данные можно группировать и именовать произвольно - ведь они не имеют физической привязки, а лишь имена.

С уважением, SAN.

 

Наверх
Dismay Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 01 Июнь 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 464
Свойства публикации Свойства публикации   Ответить, цитируя автора - Dismay Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 22 Февраль 2007 06:29

Насколько я понимаю речь идет вовсе не об именовании битов а о возможности создания алиасов для переменных, честно говоря, сомнительное удобство. Тем паче, что если есть необходимость всегда можно выполнить перепресвоение. Весьма путано излагаете если честно, то складывается впечатление, что 3S просто таки одна из составляющих оси зла всех недостатков проектирования и первичной постановки задачи.

В защиту обвиняемого могу сказать следующее:

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

Очень рекомендую к прочтению мозголомный труд мэтра ООП господина Гради Буча “Объектно-ориентированный анализ и проектирование”  второе издание

Наверх
sanwork Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 08 Март 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 440
Свойства публикации Свойства публикации   Ответить, цитируя автора - sanwork Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 23 Февраль 2007 02:04

Да - Aliases, к которым многие так привыкли. Первоначально переменные объявляются в исходном проекте, который вручается заказчику, а там по месту назначаются желаемые имена, и всё складно ! Почему в этом нужно усматривть источник каких-то ошибок ?! Позвольте, при желании можно всё сломать. Например авторы языка C, я полагаю, никак не виноваты, что в программах написанных на нем совершено уже миллиарды ошибок !
Но поскольку CoDeSys не оснащена Aliases-ами, то при отсутствии самого предмета обсуждения, оное можно и завершить.

А вот причем здесь ООП, если это объекты верхнего уровня, тогда-как Aliases - средства низшего уровня ? Они сосуществуют никак не пересекаясь друг-с-другом ( тот-же перенавороченный C++ с .NET-ом).

Я не противник а сторонник CoDeSys, и даже расхваливаю её. Критические замечания - как раз говорят о заинтересованности в использовании этой системы ( не интересующий предмет не обсуждался бы ). А эффективность исполняемого кода CoDeSys - пока самая высокая из встречавшихся МЭК, даже если сравнивать со старыми "ручными" ассемблернми системами.

Что касается структуры интерфейса данных, то наверное будут попытки сформировать две основные концепции, в соответствии с "типом" заказчиков. Одни, которые радушно встретили среду "нового поколения", и охотно принимают предложенную систему обозначений и именований, позволяя удобно оформить проект в виде закрытого законченного (почти) продукта. Иные, приверженцы "старой школы", желают получить почти полностью открытый проект, собираются доделывать всё сами, но при этом не согласны с системой обозначений и вообще со всякой там ООП ...
Чтож, будем работать ...

При случае постараюсь ознакомиться с рекомендованным трактатом Гради Буча по ООП. Будучи не знакомым с таковым, осмелюсь предположить, что означенный фолеант наверное академического толка. Да есть академическое, последовательное знание, которое как караван - медленно но неотвратимо продвигается. Никто не может замедлить или ускорить его ход. Есть прикладные науки, как "собаки" лающие на тот "караван" (никому не в обиду). А как зачастую могучая, стройная теория бывает далека до своего прикладного воплощения.

С уважением, SAN.

 

Наверх
_IP_ Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 29 Январь 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 293
Свойства публикации Свойства публикации   Ответить, цитируя автора - _IP_ Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 24 Февраль 2007 13:24

В CoDeSys 2.3 можно использовать:

1) 'Конфигурационные  переменные'  (Variable_Configuration).
В программе, в разных модулях определяются переменные с '*' вместо адреса. Далее в проекте на вкладке Recourses - Variable_Configuration эти переменные расставляются по адресам. Получается централизованное управление назначением переменных.

2) Для прямоадресуемой памяти (M,I,O), на один адрес можно объявлять разные переменные, даже разных типов.

3) Для глобальных переменных можно создавать списки, которые не обязательно описываются в проекте, их можно помещать во внешний файл, который можно подключить к нескольким проектам (См. 'Создание списков  глобальных переменных' в мануале).

4) Можно делать псевдонимы типов данных. Например,  TYPE DAC16: UINT; END_TYPE

Штуки понятные и востребованные.
Если я отдал проект заказчику, он же начал лазить по программе и менять там нечто, то: 1) я снимаю с себя ответственность за проект;  2) он моментально может переименовать глобальным поиском переменные, чем плодить кучу имен, в которых потом можно запутаться.

Кроме того,  если говорить о больших проектах, тут надо использовать единую базу объектов проекта для одновременной многопользовательской работы (инжиниринговый ENI сервер в CoDeSys).

Вопрос не в том чтобы ругать или хвалить. Давайте вместе создадим конкретный пример иллюстрирующий чего не хватает, придумаем как именно ввести такую штуку (с помощью ввода нового ключевого слова?). Технически добавить это в CoDeSys не представляет никакой проблемы, нужно только общепонятно доказать что это благо, а не вред.

Igor Petrov
Наверх
sanwork Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 08 Март 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 440
Свойства публикации Свойства публикации   Ответить, цитируя автора - sanwork Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 26 Февраль 2007 00:31

Ну это понятно - перечисенные средства являются разными способами использования того что есть. Одни постоянно используютя на практике, особенно разнотипный доступ к одной области памяти, другие реже, а какие и вовсе не применяются. В определенных случаях эти разные способы повышают удобство работы с переменными, но не создают новых средств языка (те же Aliases).

Отношения между разработчиками и заказчиками не так прсты как "продовец-покупатель". И вопрос здесь вовсе не в перекладывании ответственности. Сказать, что мы сделали свою часть работы а остальное мол "ваши проблемы" - такой красивый жест не к месту. Отдел потеряет заказчика, а те найдут подходящего разработчика, или вовсе приобретут готовую систему, что зачастую и делается. Сейчас уже вовсю надвигаются системы подобные CoDeSys, да еще и в комплекте с "железом". Есть к примеру FATEK - полный комплект контроллера с заказными модулями, среда разработки аналогичная CoDeSys - с графическими редакторами, потребителям нравится большой набор готовых функций, связь по Ethernet, Online отладка загрузка программ и все прочие дела. И вполне недорого ! Так-что сделав ставку на CoDeSys, пребывать в спокойствии - не придется.

Реальее и разумнее поступить по другому.  В конкретном случае, некий "Отдел" внедряет системы автоматизации, непосредственным запуском которых занимаются "Службы промэлектроники". Отдел разрабатывает аппаратную часть - контроллер, и к нему системное программное обеспечение, промэлектронщики пишут свою часть ПО, связанную с конкретным оборудованием. В части создания ПО - оба участника находятся в равных ролях. Условное разделение ПО на системную и прикладную части отражает естественный порядок вещей : есть постоянная часть - ядро, которое почти не меняется, и переменная часть, которую гораздо ближе знают программисты-заказчики. Не смотря на условное разделение, и те и другие являются СО-РАЗРАБОТЧИКАМИ общего проекта, и работают то в одной и той-же среде CoDeSys. Так что, улаживать вопросы - это в общих интересах.
А то, что следует выработать некую общую систему объектов, отработанный интерфейс - тут полностью все согласны. Тогда и меньше будет споров, и заказчики свободнее смогут обращаться с переменными, не опасаясь сделать что-то не так.

Очень заинтересовала возможность превнести в Среду Программирования новые возможности или механизмы с помощью добавления ключевых слов (!) Понятно, что для этого надо все хорошо обдумать, систематизировать, взвесить, чтобы не  вводить новое средство на каждый "чих", да и чтобы нововведения не конфликтовали с существующим языком. Хотя может оказаться, что новый механизм может потребовать изменения старого, и поглотить его создав новое качественное средство. Вобщем, это обширная тема, и если есть реальная возможность "конструировать язык" то хотелось бы это обсудить.

С уважением, SAN.

 

Наверх
_IP_ Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 29 Январь 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 293
Свойства публикации Свойства публикации   Ответить, цитируя автора - _IP_ Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 26 Февраль 2007 12:04
Первоначально опубликовано sanwork

...Сейчас уже вовсю надвигаются системы подобные CoDeSys, да еще и в комплекте с "железом"...

Дык 20 лет они надвигаются… Контроллеров с МЭК системами программирования море, внешне похожи, внутри очень разные…

Полно готовых контроллеров выпускается и с CoDeSys. Причем некоторые не просто предлагают отдельные модели, а мощнейшие интегрированные комплексы для решения задач в разных областях: ABB, Beckhoff, Wago, Moeller, Wieland  полный список изготовителей ... есть из чего выбрать.

Первоначально опубликовано sanwork

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

Не совсем понял. Сами разрабатывают железо (ПЛК) с нуля и встраивают в него CoDeSys или компьютер оснащают платами и SP RTE ставят?
Сколько таких устройств уже сделано?

Первоначально опубликовано sanwork

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

Даже нужно! Почти все новшества CoDeSys в последние лет 5 придуманы пользователями. Только через меня прошло под сотню всяких штук. Технически Aliases добавить несложно, но Вы правы самое сложное сделать это технично, чтобы другие пользователи поняли их необходимость. Сейчас уже все начинающие жалуются, что число возможностей в этой среде программирования больше чем они могут реально освоить. Пожалуйста, прорабатывайте свои предложения по доработке CoDeSys . Как раз 22/23 мая мы проводим конференцию по этим проблемам в Смоленске с участием Манфреда Вернера (основатель и директор компании 3S, разработчик CoDeSys). Если хотите сделать доклад, то давайте заявку мне в личку до конца марта.

 

Igor Petrov
Наверх
sanwork Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 08 Март 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 440
Свойства публикации Свойства публикации   Ответить, цитируя автора - sanwork Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 26 Февраль 2007 14:31

Хотелось бы увидет что-то вроде сводного списка фирм выпускающих контроллеры под CoDeSys, с краткими техническими данными - частота процессора, объем памяти, разрядность, и главное - уровень цен.

В данное время подходящим вариантом представляется монолитный чип  BECK - он и используется как основа для разработки контроллеров. В нем удобно собрано все вместе : стоит не дорого, имеет уже вшитое ПО, и продается с готовой лицензией. Есть у BECK-а технические и программные недостатки, так-что хотелось бы расширить свой кругозор по рынку чипов с ПО поддерживающем CoDeSys. Однако информация очень разрознена, изобилие пустой требухи - разобраться трудно.

А собственно как выглядит участие в Конференции ? Можно ли, к примеру послать подготовленный материал в адрес какого-либо учреждения, как этот материал должен быть оформлен и т.п.

С уважением, SAN.

 

Наверх
Mixer Смотреть выпадающим
Участник
Участник


Присоединился: 02 Сентябрь 2005
Категория: Russian Federation
Online Status: Offline
Публикации: 54
Свойства публикации Свойства публикации   Ответить, цитируя автора - Mixer Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 26 Февраль 2007 15:42
вооот. Уважаемый sanwork, я тоже давно присматриваюсь к этому чипу. Не могли бы вы поподробнее поделиться о своих наработках по нему. Рассказать о его "...технических и программных недостатках...". Как конфигурировать входы/выходы, управление I2C, как работать с последовательным интерфейсом, как подключить IDE диск и т.д. В "Вопросы по программированию BECK IPC@CHIP" на сайте ПРОЛОГа ссылочки есть конечно, только они не работают.
Наверх
Mixer Смотреть выпадающим
Участник
Участник


Присоединился: 02 Сентябрь 2005
Категория: Russian Federation
Online Status: Offline
Публикации: 54
Свойства публикации Свойства публикации   Ответить, цитируя автора - Mixer Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 26 Февраль 2007 15:55
Упс Извините вот тут они.
Наверх
_IP_ Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 29 Январь 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 293
Свойства публикации Свойства публикации   Ответить, цитируя автора - _IP_ Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 26 Февраль 2007 20:22

Первоначально опубликовано sanwork

Хотелось бы увидет что-то вроде сводного списка фирм выпускающих контроллеры под CoDeSys, с краткими техническими данными...

Хорошо бы! Однако, ведение такого списка –  это работа, причем бесплатная. Если сделаете, то все будут благодарны, но могут и возмещение потребовать, если сделать мелкую ошибку в данных некоторой модели...

Впрочем некий далеко не полный каталог CAA есть тут. Беда в том, что изготовители редко его пополняют, хватает своей работы

Первоначально опубликовано sanwork

А собственно как выглядит участие в Конференции ?

Так выглядело в прошлом году. Тогда основная тема была – технологии адаптации CoDeSys к железу и пакет SoftMotion. В этом году –  развитие языков МЭК и сетевых и сервисных функций CoDeSys, + Safety.

Для участия в конф-и достаточно зарегистрироваться на сайте www.codesys.ru с 12 марта. Для обсуждений будет время, если хотите выступить с сообщением, то свяжитесь с организаторами. Давайте в личку с этим, а то мы далеко ушли от заданной темы.

Первоначально опубликовано sanwork

В данное время подходящим вариантом представляется монолитный чип  BECK - он и используется как основа для разработки контроллеров...

IPC чипы BECK штука достаточно популярная. На сегодняшний день используют более 60 компаний в России. Сейчас пытаемся собрать и дать на сайт информацию о применениях, но их потребители все как партизаны, никто не хочет тратить время, дабы описать свое приложение, может быть боятся конкуренции.

Наиболее массовые применения по прошлому году – это замена процессорных модулей в старых, но вполне живых контроллерах (типа Микродат) на больших заводах. Периферия этих контроллеров вполне рабочая и неприхотлива в обслуживании. Меняется проц. дорабатывается ПО, подключается верхний уровень по Ethernet, никакого перемонтажа. Когда контроллеров сотни, это удобно.

Некоторые ссылки есть тут.
Полных аналогов пока нет. Есть встраиваемые одноплатные компьютеры с CoDeSys, есть чипы с разными ОС, но так чтобы в комплекте был генератор МЭК системы исполнения (бесплатный !!!), чтобы так  просто можно было свои полноценные ПЛК делать со встроенным CoDeSys нет.

Кстати, на упомянутой выше конф-и будет нач. отдела маркетинга Beck IPC GmbH Марк Скойтерс. Давайте замечания и пожелания, он постоянно пытается их раздобыть.

 

Igor Petrov
Наверх
 Ответить Ответить Страница  <1 23456 11>

Переход на форум Права доступа на форуме Смотреть выпадающим

Bulletin Board Software by Web Wiz Forums® version 9.64
Powered by Web Wiz Forums Free Express Edition
Copyright ©2001-2009 Web Wiz