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

CoDeSys

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


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

Переменные фиксируются мгновенно, а уж записью файла заведует отдельный поток, если его вызвать через DLL или поставить на системную задачу, которая как известно выполняется асинхронно на "половине" Windows'а, тут беспокоиться не за что. Можно просто писать файл, без всяких RETAIN. Вроде как хотелось воспользоваться фирменной фичей, да ладно.

PLC WinNT  видно дает больше возможностей чем SP RTE, хотя его структура еще не совсем ясна, например такие важные вопросы как разделение реального времени и аппаратуры компьютера (до сего приходилось возиться  в основном с SP RTE). Те же  RETAIN  сохраняются легко, без всякой подготовки - SaveRetain(). Понятно, что за одной этой строчкой стоит многое: создание потока, включение об'ектов синхронизации, совместный доступ к разделяемой области  и т.д.

По части визуализации тоже заманчиво: фокус ввода для таблиц, встроенная автономная визуализация и др. TCP IP  сокеты - хош синхронные, хош асинхронные. Ваще - даёшь  PLC WinNT.

Есть, однако и вопросы. Как в  PLC WinNT  работать с  DLL, надо ли их прописывать где нибудь в реестре, как к ним обращаться ? Когда происходит обращение - из PLC-программы или в системное время Windows ?

Благодарствуем за содействие. С уважением, SAN.

Наверх
romk Смотреть выпадающим
Новичок
Новичок
Аватар

Присоединился: 21 Август 2007
Online Status: Offline
Публикации: 3
Свойства публикации Свойства публикации   Ответить, цитируя автора - romk Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 21 Август 2007 18:48
Первоначально опубликовано _IP_

[QUOTE=sanwork]


2) См. описание внешних библиотек. Подробнее в документе C_in_CoDeSys_e.pdf. Для каждой аппаратной платформы есть свои тонкости. Для WinNT они описаны в документе C_IN_386_E.pdf. Маловероятно что это будет всем интересно, поэтому давайте в личку. Документы вышлем по e-mail.


Интересно! и даже очень! А можно и мне выслать описание C_in_CoDeSys_e.pdf и вот такое C_IN_386_E.pdf для XP если есть на адрес yahahu(собака)gmail.com
Очень буду благодарен!
Наверх
_IP_ Смотреть выпадающим
Действительный член
Действительный член


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

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

А можно и мне выслать описание C_in_CoDeSys_e.pdf...

См. тут.

 Однако! Вообще не надо использовать Си без самой крайней необходимости. Это же CoDeSys, а не Практически все можно делать на языке ST без всяких внешних средств! Привычка использовать Си при первом же затруднении растет от всяких неполноценных МЭК систем, в которых по-другому никак.

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


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

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

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

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

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

Присоединился: 04 Апрель 2005
Категория: Russian Federation
Online Status: Offline
Публикации: 80
Свойства публикации Свойства публикации   Ответить, цитируя автора - Nekit Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 25 Август 2007 10:20

В большинстве случаев МЭК языков достаточно, однако дабы устранить недоработки производителей контроллеров или какието экзотические хотелки С всетаки нужен (как это ни печально).

Столкнулся с ситуацией: PC-совместимый контроллер довольно известной фирмы с Линуксом на борту и Codesys SP имеет аппаратный сторожевой таймер. Но обращаться к нему можно только средствами С через использование BSP. А из Codesys доступен только так называемый программный watchdog который при зависании щелкает релюшкой и больше от него получить ничего нельзя.

Так почему бы мне в этой ситуации не сваять библиотеку на С-ях и не подсунуть ее в проект на Codesys?

Наверх
Constantin Смотреть выпадающим
Новичок
Новичок


Присоединился: 12 Июль 2007
Online Status: Offline
Публикации: 29
Свойства публикации Свойства публикации   Ответить, цитируя автора - Constantin Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 27 Август 2007 11:42
Еще я думаю, что Си опасен. Неопытные программисты могут просто напросто недоглядеть за памятью или забить на проверку выполнения функций и нафигачить черт знает что. Да и когда нет опыта, то и код получается такой, что потом другому разобрать не реально. Хотя и на МЭК видал - народ такое творит, что без бутылки не разобраться. Но все же схемы на МЭК получаются более наглядны и просты для отладки. А надежность в нашем деле - это главное, соответственно и простота отладки - это очень важно.

Вывод прост: Системы разработки на МЭК - для инженеров. А задача програмеров сделать максимально удобную среду. У каждого своя работа. У програмеров своя, у инженеров своя. И не надо их путать. Надо делать хорошо то, в чем ты специалист иначе можно ничего не сделать)
С наилучшими пожеланиями,
Константин.
Наверх
sanwork Смотреть выпадающим
Действительный член
Действительный член


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

В огороде бузина, в Киеве дядька ... а  CoDeSys  то тут причем ?  Ошибок можно наделать и в какой-нибудь базе данных, или например, если тот-же "неумелый" программист взялся писать трехмерную игрушку ... !

Речь совсем о другом - чтобы дополнительно к МЭК языкам были средства связи с целевой платформой. И не важно на каком языке они реализованы - хош на Си, хош на Паскале, на Ассемблере, да хоть на тех-же  МЭК языках !

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

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


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

...PC-совместимый контроллер довольно известной фирмы с Линуксом на борту и Codesys SP имеет аппаратный сторожевой таймер. Но обращаться к нему можно только средствами С через использование BSP. А из Codesys доступен только так называемый программный watchdog который при зависании щелкает релюшкой и больше от него получить ничего нельзя.

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

Если этого нет, то я бы постарался тупо и нудно помучить изготовителя, дабы они  сделали так, как нужно…

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

Так почему бы мне в этой ситуации не сваять библиотеку на С-ях и не подсунуть ее в проект на Codesys?

Можно конечно скромно тратить на это свое драгоценное время вместо более приятных занятий. А можно и к поставщику, и ботинком об стол…  По хорошему МЭК должен изолировать от системного уровня, дык пускай и изолирует...

 

 

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


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

Жить в Среде, и быть от неё изолированным - НИЗЯ !  (сирьёзные люди пробовали - нипалучится)

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

Наверх
Constantin Смотреть выпадающим
Новичок
Новичок


Присоединился: 12 Июль 2007
Online Status: Offline
Публикации: 29
Свойства публикации Свойства публикации   Ответить, цитируя автора - Constantin Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 28 Август 2007 10:16
_IP_ говорит:

"По хорошему МЭК должен изолировать от системного уровня"

SAN говорит:

"чтобы дополнительно к МЭК языкам были средства связи с целевой платформой"

С одной стороны я поддерживаю последнее высказывание, но согласитесь, SAN, в случае с CodeSys это практически невозможно. И даже если возможно, то очень геморно в плане поддержки таких вещей.
С наилучшими пожеланиями,
Константин.
Наверх
 Ответить Ответить Страница  <123>

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

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