Перейти к содержанию
    

CoDeSys & СИ

Недавно пришлось столкнутся с прогамммированием на языках МЭК61131 на CoDeSys, после долгого ознакомления со всеми языками выбор упал на ST как на самый продвинутый и более менее похожий на СИ. Через несколько недель прогарммирования на ST от него стало невыносимо воротить, добило, что неработает под codesysом ctrl-c и автоматический вызов регистрации переменных. Решил всё что надо написать на родном Си и ввиде POU загнать в кодесис. Может кто знает как это сделать? Важно что-бы эти POU были кросплатформенныим т.е. по всей видимости надо подключать обьектный файл.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

... неработает под codesysом ctrl-c и автоматический вызов регистрации переменных...

 

С неработой ctrl-c как-то встречался на одной машине, какая-то системная проблема.

И авторегистратор должен работать, если не работает то включите в project->options->editor->Autodiclaration...

 

А что у Вас за задача такая? Если используется CoDeSys таргет, я бы предпочел писать на ST все же, чем на C :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С неработой ctrl-c как-то встречался на одной машине, какая-то системная проблема.

И авторегистратор должен работать, если не работает то включите в project->options->editor->Autodiclaration...

 

А что у Вас за задача такая? Если используется CoDeSys таргет, я бы предпочел писать на ST все же, чем на C :)

 

Установил CoDeSys 3.2, Ctrl-C работете , а в версии 2.3 нехочет. С автодекларацией справился, спасибо)

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Установил CoDeSys 3.2, Ctrl-C работете , а в версии 2.3 нехочет. С автодекларацией справился, спасибо)

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

 

Я Си тоже знаю, правда проффесионально на нем не писал. А вот на CoDeSys пишу, программирую пром. автоматику, этим зарабатываю на жизнь. CoDeSys специально подходит для программирования функций автоматики: алгоритмов уравления, регуляторов и других стандартных задач автоматицации. Есть таймеры, триггеры, регуляторы, библиотеки стандартных сетевых протоколов готовые. А ST нормальный язык типа Си или Паскаля, есть указатели. Если контроллер с Ethernet (tcp/ip), то сокеты программируются под любой протокол, то же для RS-232/485. Библиотек готовый хватает для большинства требуемых функций автоматизации :)

В общем, нишевый продукт, но для своей ниши (опять таки повторюсь, что автоматизация) хороший продукт, почти стандарт. Много контроллеров (ПЛК) от разных производителей поддерживает эту среду (именно версию 2.3!).

Вроде бы внешний Си код можно подключать в кодесис, но не уверен. Лучше здесь поспрошивать про это.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я Си тоже знаю, правда проффесионально на нем не писал. А вот на CoDeSys пишу, программирую пром. автоматику, этим зарабатываю на жизнь. CoDeSys специально подходит для программирования функций автоматики: алгоритмов уравления, регуляторов и других стандартных задач автоматицации. Есть таймеры, триггеры, регуляторы, библиотеки стандартных сетевых протоколов готовые. А ST нормальный язык типа Си или Паскаля, есть указатели. Если контроллер с Ethernet (tcp/ip), то сокеты программируются под любой протокол, то же для RS-232/485. Библиотек готовый хватает для большинства требуемых функций автоматизации :)

В общем, нишевый продукт, но для своей ниши (опять таки повторюсь, что автоматизация) хороший продукт, почти стандарт. Много контроллеров (ПЛК) от разных производителей поддерживает эту среду (именно версию 2.3!).

Вроде бы внешний Си код можно подключать в кодесис, но не уверен. Лучше здесь поспрошивать про это.

 

Большое спасибо за развёрнутый ответ.

Хочу воспользоваться случаем и узнать мнение профессионала. Перед нами стоит задача рализовать определённый алгоритм на промышленном контроллере. Важно что бы реализация получилась кросплатформенной, т.к. заказчики иногда предпочитают одного производителя кондроллеров другому и соответственно требуют систему автоматизации выполненую на конткретном контроллере. Алгоритм каждый раз переписывать под разные контроллеры нет возможности. Мы выбрали CoDeSys как платформу для поддержки кросплатформенности. Как Вы думаете насколько обоснован наш выбор, есть-ли другая возможность реализовать кросплатформенность(я имею ввиду не реализацю стандарта МЭК61131). Насколько большие лицензионные отчисления на среду выполнения CoDeSys?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

есть-ли другая возможность реализовать кросплатформенность(я имею ввиду не реализацю стандарта МЭК61131).

AFAIK нету, именно потому что в большинстве случаев производитель PLC декларирует выполнение 61131, остальное - это экспериментаторские вещи, устремленные больше в будущее, чем на реальные применения. В т.ч. и Си

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Большое спасибо за развёрнутый ответ.

Хочу воспользоваться случаем и узнать мнение профессионала. Перед нами стоит задача рализовать определённый алгоритм на промышленном контроллере. Важно что бы реализация получилась кросплатформенной, т.к. заказчики иногда предпочитают одного производителя кондроллеров другому и соответственно требуют систему автоматизации выполненую на конткретном контроллере. Алгоритм каждый раз переписывать под разные контроллеры нет возможности. Мы выбрали CoDeSys как платформу для поддержки кросплатформенности. Как Вы думаете насколько обоснован наш выбор, есть-ли другая возможность реализовать кросплатформенность(я имею ввиду не реализацю стандарта МЭК61131). Насколько большие лицензионные отчисления на среду выполнения CoDeSys?

 

1. Что касается среды программирования. CoDeSys поддержан многими производителями (в этом смысле охват очень широк. Тут есть список производителей).Совместимость и переносимость кода есть. Если этот код создавался как платформенно-независимый, т.е. не использует, драйвера спец. устройств, стеки протоколов. Например API стека TCP/IP у многих производителей очень похож, если отличается то при переносе можно немного подправить "обертку" и будет работать.

2. Среда выполнения. Заявлена поддержка многих процессорных архитектур и ОС. Тут лучше у "пролога" спросить. Но x86 (win32), ARM точно есть, проверено :).

3. Про выбор и отчисления можно тут почитать или опять к "прологу"

4. Реально-кросплатформенная система QT. Но тут мало что могу сказать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...