IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Функции в GX Developer, непонятно, как они работают
Alextalker
сообщение 23.05.2005 - 19:55
Сообщение #1


Читатель
*

Группа: Пользователи
Сообщений: 5
Регистрация: 25.11.2004
Пользователь №: 97



Использую для програмирования FX1N GX IEC Developer 6.01
Очень необходимо иметь чвозможность программировать функции, максимально приближенные к функциям языков высокого уровня (C, Pascal).
Я обычно использовал Function block с включёнными опциями: Macrocode, MC/MCR, EN/ENO. Но неожиданно я столкнулся с проблемой, что когда программу записываешь в контроллер, он сразу выдаёт ошибку 6608 ( недопустимые MC/MCR инструкции; отсутствует MCR NO; IRET/SRET или прерывание инструкции были запрограммированы между MC и MCR блоками).
Выяснилось, что эта ошибка пропадает, если убрать часть вызовов функций в программе или снять у FB опцию Macrocode. Но без неё программа выполняется как-то не так.

Пожалуйста, объясните мне как выполняются функции с разными настройками и какой тип функций оптимальнее всего использовать.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
_Sam_
сообщение 26.05.2006 - 10:15
Сообщение #2


Читатель
*

Группа: Пользователи
Сообщений: 4
Регистрация: 22.10.2005
Пользователь №: 202



Если Macrocode не установлена, то FB реализуется в соответсвии со стандартом IEC 61131-3 и использует системные метки ПЛК в FX их 128. Помимо ваших FB эти метки используют и внутренние процессы ПЛК. Т.е. каждый вызов вашего FB хавает одну эту метку. Если вы вызываете достаточно много этих FB, то меток может просто не хватить.

Если Macrocode установлена системные метки не хаваются, кроме того пропадают ограничения на использование в FB таймеров, счётчиков и т.д.

EN/ENO думаю понятно

MC/MCR влияет на поведение таймеров, счётчиков и выходов после сброса.

Более подробно можно почитать здесь
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 9.06.2024 - 11:17