Показано с 1 по 10 из 10

Тема: ФБ и POU

  1. #1

    По умолчанию ФБ и POU

    Составил в POU программу арифметической обработки входных сигналов .Далее эти данные будут архивироваться и отсылатся с фиксированным промежутком по модему.

    Далее , по рекомендации , Петрова. перенес эту программу во вновь созданный ФБ., Загрузил в ПЛК,
    Читаю входа, F5 , а программа не запускается

    1 Является ли отдельно созданный ФБ исполняемой программой
    2. Тупею Подскажите доки где расписанно Как состыковывоть POU c ФБ.т.е Как сохранить ФБ и как его потом вызвать в POU.
    Ну очень много листов вычитать

  2. #2

    По умолчанию

    Цитата Сообщение от Анатолий Посмотреть сообщение
    1 Является ли отдельно созданный ФБ исполняемой программой
    Нет не является. Это как бы описание - прототип. Вам необходимо создать экземпляр этого ФБ в программе.
    Последний раз редактировалось Nik; 09.08.2009 в 08:04.

  3. #3

    По умолчанию

    Смотрите вложенный пример.
    Любой POU должен вызываться в PLC_PRG, так как по умолчанию выполняется только PLC_PRG. В общем то это как с вызовом любого ФБ из библиотеки, например таймера...
    А еще есть понятие многозадачности, где несколько задач выполняются псевдо-параллельно:
    http://www.owen.ru/forum/showthread.php?t=551&page=4 - пост 36
    Вложения Вложения
    • Тип файла: rar 111.rar (3.0 Кб, Просмотров: 39)

  4. #4

    По умолчанию

    Спасибо откликнувшимся
    помогло.
    И тодЫ в догонку еще вопрос
    о Яязыках состоавления пограмм
    в ФБ выбираем язык исходя из решения задач какие стоят перед данным ФБ(извените за повторы)
    а вот POU на каком языке собирать?.
    Какой язык позволит главную прогу сделать более понятноной в дальнейшем?
    Петров И.В. не рекомендует увлекаться глобальными пермеными(ГБ) Но если к ГБ обращаются из разных ФБ? То она нужна!?

  5. #5

    По умолчанию

    И PLC_PRG и любые другие Ваши блоки, программы - все это POU (Programm oriented unit). И на каком языке их писать - дело сугубо добровольное. Пишите на том, на котором потом сможете прочитать... и изменить. Я главную программу делаю на CFC. Правда говоря я и программирую в большинстве на CFC. Есть мнение, что главная программа должна быть на SFC, но на мой взгляд не всегда удобно.

    Глобальными переменными не нужно увлекаться по двум причинам:
    1. Не рекомендуется глобальные переменные втаскивать в дополнительные POU (PLC_PRG не считается). Тем более без особого опыта.
    2. Если использовать одни и те же глобальные переменные во многих POU - крайне сложно понять закономерность - в каком же POU твою переменную ошибочно сбрасывают\устанавливают\включают... выбери свое. И отладка программы становится шахматной партией Вас с Вашей программой. POU (не PLC_PRG) - это описание логики работы узла, а не управление им. Управляет экземпляр, вызванный в PLC_PRG...и только в отдельных случаях POU - это конкретные вычисления\управление.

    По приобретению опыта можно эти вещи совмещать

  6. #6

    По умолчанию

    Николаев Андрей вам всё хорошо описал. Хочу немножечко уточнить: POU (Programm oriented unit) - можете считать как корневую папку (примерно как С: на PC). В которую помещаются написанные пользователем ФБ, функкции, программы, подпрограммы. По умолчанию, ПЛК исполняет только программу с именем PLC_PRG, если в конфигурации задач не указано иного.
    А вобщем... у Петрова И.В. всё хорошо "разжевано" почитайте на сон грядущий и у вас всё будет хорошо !
    Последний раз редактировалось Nik; 09.08.2009 в 19:13.

  7. #7

    По умолчанию

    Цитата Сообщение от Nik Посмотреть сообщение
    Хочу немножечко уточнить: POU (Programm oriented unit) - можете считать как корневую папку (примерно как С: на PC).
    Вы говорите о названии раздела в CoDeSys. Однако любой программный блок, будь то PLC_PRG или любой другой программный модуль - он POU. А в CoDeSys так называется место для их хранения - так сказать в одном месте.

  8. #8

    По умолчанию

    Ну да! В CoDeSys и программный модуль - POU и где они хранятся тоже POU... А понятия разные. Согласен. Я имел ввиду именно раздел.
    Последний раз редактировалось Nik; 09.08.2009 в 21:02.

  9. #9

    По умолчанию

    а вот Pou на каком языке собирать?.
    Здесь я ошибся

    Должно быть так:
    "вот PLC_PRG на каком языке собирать?"
    Николаев уже ответил.
    спасибо откликнувшимся

    "И вновь продолжается бой"

  10. #10

    По умолчанию

    Цитата Сообщение от Nik Посмотреть сообщение
    В CoDeSys и программный модуль - POU и где они хранятся тоже POU... А понятия разные
    Да, есть такое, проблема локализации. 'Программные компоненты' - длинно. 'POUs' - не по русски, 'POU-сы' - смешно. Пока так и осталось...
    Кстати, в этой паке можно делать свои, с осмысленными именами и раскладывать по ним свои POU-сы.

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •