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

Тема: Что и откуда можно вызывать?

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Frants На современных ПЛК110, СПК1хх, ПЛК2хх про память можно не думать. Лучше думать про быстродействие в плане скорости опроса, выполнения задач...

    И просьба описать точнее вопросы, потому что про "А шо откудова вызывать" можно лекцию написать часа на два. Это явно не то.
    В CodeSys действует стандартное правило для всех языков программирования - про локальные и глобальные переменные.
    Что нужно пояснить?
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net | Канал в ТГ @CsCsNetLab

  2. #2

    По умолчанию

    Прошу простить за некоторые вольности. Просто зубы режутся, вот и больно.

    Присказки долго рассказывать, да придётся.
    Вот, например, экран среды разработки
    screen1.png
    Слева ФЦ, справа ФБ. Глядя на интерфейс блоков, видно какие разделы описания переменных есть. Ни отнять ни добавить.
    Видно так же, что механика вызова ФБ иная чем в Codesys.

    Читая про Codesys, пока не нашёл полной спецификации на объявление ФЦ, ФБ, программы.
    Поэтому и вопросы (детские).

    Какие разделы описания переменных в каждом из типов блоков допустимы?
    Вот выяснилось про ограничения вызова ФБ из ФЦ, прочитать бы подробнее, может ещё какие особенности есть.
    Что мешает описать экземпляр в глобальных переменных и вызывать ФБ из ФЦ (а что, совсем-совсем нельзя так)?

    Вот, например, VAR сохраняют свои значения между вызовами ФБ/программы.
    Так VAR_STAT тоже сохраняют свои значения.
    А у функций VAR являются временными. Тогда почему в одних типах блоков они сохраняют значения, а в других нет?
    Области VAR_STAT и VAR_TEMP ясно говорят о своем назначении и поведении. Для чего тут VAR?

    Читаешь справку, понять в чём разница, из того что там написано, я вывод сделать не смог.

    Понятно, что программы здесь пишутся и работают, нужно просто накопить информации чтобы разобраться.

    Было бы лучше, чтобы в первых шагах разобрали такие вот моменты, использование, особенности разных блоков.

  3. #3

    По умолчанию

    Цитата Сообщение от Cs-Cs Посмотреть сообщение
    Frants На современных ПЛК110, СПК1хх, ПЛК2хх про память можно не думать. Лучше думать про быстродействие в плане скорости опроса, выполнения задач...

    И просьба описать точнее вопросы, потому что про "А шо откудова вызывать" можно лекцию написать часа на два. Это явно не то.
    В CodeSys действует стандартное правило для всех языков программирования - про локальные и глобальные переменные.
    Что нужно пояснить?
    Как говорил один персонаж "А я до сих пор не знаю, как надо есть яблоко — резать его, или есть так, как принято у меня дома: целиком. С косточкой."

    Именно так, "что и откудова". Потому что идеология системы не понятна, программу из фц или фб можно вызвать? или фб из фц? можно - но будет ли это корректно?

    Вот написано в руководстве " Объявлять экземпляр функционального блока в теле функции нельзя." А почему нельзя, не разъясняется.
    Нельзя потому что запрещено правилами или нельзя потому что не имеет смысла?

    Или ещё, написано "Нельзя вызывать программу из функции." А ранее по тексту пишут "POU могут вызывать другие POU..." - без дополнительных уточнений.
    Ясно, надо спрашивать у людей, имеющих опыт.

  4. #4

    По умолчанию

    Цитата Сообщение от Frants Посмотреть сообщение
    Вот написано в руководстве " Объявлять экземпляр функционального блока в теле функции нельзя." А почему нельзя, не разъясняется.
    Нельзя потому что запрещено правилами или нельзя потому что не имеет смысла?

    Или ещё, написано "Нельзя вызывать программу из функции." А ранее по тексту пишут "POU могут вызывать другие POU..." - без дополнительных уточнений.
    Нужно внимательно читать руководство.
    Функция не сохраняет внутренние переменные в интервалах между вызовами, а экземпляр ФБ или POU - сохраняют. Именно поэтому и нельзя.
    Повторяю - если Вы программировали на "обычных" языках программирования - то все понятно. А если нет - тупо, в хорошем смысле слова, выполняйте указания руководства.

Похожие темы

  1. Можно ли так сделать?
    от iia3uk в разделе Трёп (Курилка)
    Ответов: 1
    Последнее сообщение: 08.06.2020, 13:55
  2. Откуда скачать офлайн конфигуратор для ПЧ Овен?
    от lamburov в разделе Сервисное ПО
    Ответов: 6
    Последнее сообщение: 05.05.2019, 19:24
  3. Откуда ноги растут
    от Sergey666 в разделе Трёп (Курилка)
    Ответов: 12
    Последнее сообщение: 02.10.2013, 08:28
  4. Что можно использовать ?
    от ValeriyIm в разделе Подбор Оборудования
    Ответов: 7
    Последнее сообщение: 15.08.2013, 08:06
  5. трм 151 можно ли управлять к1 и к2 без
    от Ermak в разделе Эксплуатация
    Ответов: 14
    Последнее сообщение: 01.10.2010, 11:14

Ваши права

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