PDA

Просмотр полной версии : помогите начинающему



Evghenii
28.02.2007, 18:56
Скажите есть ли компилятор С++ для CoDeSys. И ещё вопрос с чего начать освоение ПЛК. Зарание спасибо

Nekit
28.02.2007, 19:52
На С пишутся системные библиотеки при адаптации target-ов, обычный пользователь не имеет возможности их писать.
Не совсем понятно "...с чего начать освоение ПЛК..."? ПЛК как технологии или какого-то конкретного (например ОВЕН-а). Если конкретного, то читать все что пришло с ним в комплекте. Если технологии то можно много узнать здесь: http://www.prolog-plc.ru/tmpl.php?content=info3.htm.

Филоненко Владислав
01.03.2007, 08:06
Вся прелесть CoDeSys - стандартизация языков и библиотек нижнего уровня.
Это дает возможность, например, написать и отладить алгоритм на PC и затем переместить его с минимумом затрат времени (только изменить область I/O) на ПЛК.
По поводу C++. Возможности объектно-ориентированного программирования в CoDeSys реализованы в версии 3.0

Evghenii
01.03.2007, 11:16
Куча интересной литературы, спасибо. В интернете я нашел стартовый пакет фирмы IPC@CHIP, там вместе с CoDeSys предоставляется компилятор Borland C++ (http://www.eleplus.ru/catalog/beck/dk/), но в приципе мне больше важн синтаксис языка максимально приближенного к С. И ещё, для старта какой контроллер посоветуйте, потренероваться.

Nekit
01.03.2007, 16:49
Конечно Овен150. Я абсолютно серьезно, это идеальный контроллер для освоения технологии ПЛК.

Игорь Петров
03.03.2007, 12:20
Среди языков МЭК есть язык ST, фактически – это несколько адаптированный Паскаль. Для программиста знакомого с C, он не представляет сложности. Подробнее см. статью 'Язык ST для C программиста' (http://www.prolog-plc.ru/docs/st_c.pdf)

IPC@CHIP - это не ПЛК, а полуфабрикат (ядро) для его создания. В процессе такой разработки чип обвязывается разным железом (входы/выходы, счетные входы и др.), драйверы для поддержки этого всего пишутся в Paradigm или Borland C. После чего получается готовая система исполнения CoDeSys SP (один EXE файл), заточенная под данное железо, она зашивается в такое устройство при изготовлении. Далее пользователь нашего контроллера работает только с CoDeSys и о языке C ничего не знает. CoDeSys уже содержит компилятор встроенный МЭК программ в машинный код микропроцессора, никаких внешних компиляторов С или чего-либо еще, ему не надо.

SKTB_STO
12.03.2007, 14:23
Помогите разобраться с системой приоритетов.
Допустим запущено два параллельных процесса. Один имеет приоритет 1 а второй 2. В программе с более высоким приоритетом запущен бесконечный цикл на проверку какого-то условия. Будет ли при этом работать вторая программа? Если да то какой процент "мощности" передается ей? Если нет, то какие существуют способы приостановить выполнение основной программы, чтобы дать возможность выполниться второстепенной (допустим включение таймера в основной)?

Малышев Олег
12.03.2007, 14:43
В ПЛК нет системы вытесняющей многозадачности, т.е. если работает несколько задач - полностью выполняется код задачи 1, потом код задачи 2 и т.д.
Более того, в IEC61131 так писать недопустимо - это приведет к срабатыванию охранного таймера. Следует избегать возможности зацикливания POU. Кроме общего, для каждой задачи можно задать охранный таймер. Оценить исполнение кода по времени можно через модуль "Статистика". В нем есть переменная с временем исполнения основного цикла ПЛК в 100мкс интервалах.

Если Вам нужно выполнять некоторый код программы по условию можно сконфигурировать запуск задачи "by Event" (по событию).

Для выхода из произвольного места POU используйте RETURN

Филоненко Владислав
12.03.2007, 14:45
В Плк роль бесконечного цикла играет сам цикл ПЛК, поэтому не надо организовывать в программе бесконечные циклы - watchdog сработает!
Создал задачу с вызовом по таймеру/событию/как можно чаще...
Вошел в процедуру проверки входа, сравнил значение, включил
лампочку и ВЫШЕЛ!
В этом случае ваш процесс проверки условия будет занимать доли процента.