Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 27

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

  1. #11

    По умолчанию

    Цитата Сообщение от Frants Посмотреть сообщение
    Когда у плк объём ОЗУ измеряется килобайтами, задумаешься, что выбрать для конкретного случая.
    Не смеши людей. Это у какого ПЛК объём ОЗУ измеряется килобайтами ? ПЛК ОВЕН это тебе не ПЛК Siemens. Это много круче.

  2. #12

    По умолчанию

    Цитата Сообщение от Frants Посмотреть сообщение
    Идёт адаптация к новым условиям. Когда у плк объём ОЗУ измеряется килобайтами, задумаешься, что выбрать для конкретного случая.
    ФБ с экземпляром или можно обойтись простой функцией. Поэтому хочется понять плюсы/минусы каждого решения или инструмента.
    Пока что ФБ ведёт по очкам.
    Для ПЛК 200 и 210

    ROM 512 Мбайт (NAND)
    RAM 256 Мбайт (DDR3)

  3. #13

    По умолчанию

    Цитата Сообщение от Frants Посмотреть сообщение
    То есть, инструкцию R_TRIG, которая есть ФБ, использовать в функциях нельзя?
    Это не инструкция.

    Можно я попробую на примере рассказать? Я когда-то сам тупил, учился, и мне было проще понять на своих примерах.
    FB - это аналог какой-то штуки, которая целостна и внутри запоминает состояние переменных. Если брать физический мир - то это реле, таймер, выключатель. Таких штук мы можем поставить несколько - и каждая из них будет иметь своё отдельное состояние и настройки.
    Например, одно "реле времени" будет настроено на 5 секунд, другое на 20 секунд, третье - выключено. Но все эти реле будут одного типа.
    Вот это - FB. То есть FB - это некая хреновина, которая имеет одну и ту же логику, может сохранять своё состояние и что-то делать во время работы ПЛК, и их можно насоздавать (объявить разные переменные) сколько надо штук.

    Функция - это аналог обычной функции в любом языке программирования. У неё нет никаких запоминания состояний, она ОДИН РАЗ что-то делает в момент вызова.
    Например, может быть функция преобразования значения: ей на вход дали значение с датчика, а она вернула строку вида "0,23 bar" или "Err" в случае ошибки. Функция всегда выполняется на лету, как есть. Поэтому если мы объявим внутри неё FB - их значения не будут сохраняться между вызовами функции.

    Где что применять - наверное ясно из описания, если у меня получилось помочь.
    а) Функции - только там, где нужно разные однократные вычисления БЕЗ запоминания состояния: обработка числа, данных, строк, однотипные математические расчёты.
    б) FB - во всех случаях, когда нужно запоминать состояния и что-то делать с ними: логика управления объектами (например FB управления насосом, и объявить его пять штук для пяти насосов).
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net

  4. #14

    По умолчанию

    Обо всём по порядку.
    1) Не совсем ясно где взята информация про ROM и RAM в сотнях Mb. Но вот к примеру для ПЛК (заказной 6AG1 215-1AG40-5XB0) читаем из спецификации "program/data memory 125 KB"
    2) Крутизной никто не собирался меряться, не до того.
    3) Благодарю всех, что напомнили разницу между ФБ и ФЦ, это как раз не вызывает трудностей.
    4) Напомню истоки темы - смотрите первый пост.

    Почему так сложно: потому что до сих пор не сталкивался с проблемой разницы между локальной и временной памятью (ещё и локальной и статической); потому что фб и фц можно было вызывать откуда угодно; потому что определение фронта можно выполнить из блока любого типа; и ещё много почему.

    Благодарю всех за помощь и поддержку!
    Последний раз редактировалось Frants; 11.03.2022 в 19:42.

  5. #15

    По умолчанию

    Цитата Сообщение от Frants Посмотреть сообщение
    Обо всём по порядку.
    Не совсем ясно где взята информация про ROM и RAM в сотнях Mb.
    В ПЛК200 и ПЛК210
    https://owen.ru/product/plk200
    https://owen.ru/product/plk210
    Марко Петрович
    Менеджер по продуктам «Программное Обеспечение для ПК»
    e-mail: m.petrovich@owen.ru

  6. #16

    По умолчанию

    Цитата Сообщение от Frants Посмотреть сообщение
    Обо всём по порядку.
    1) Не совсем ясно где взята информация про ROM и RAM в сотнях Mb. Но вот к примеру для ПЛК (заказной 6AG1 215-1AG40-5XB0) читаем из спецификации "program/data memory 125 KB"
    Вы вообще то на форуме Овен пишите, для среды Codesys 3.5. Ветка ПЛК (среда программирования CODESYS V3.5)ПЛК2хх Естественно вам скопировал с сайта Овен характеристики ПЛК 200 и 210. Ссылки выше уже дали.
    А вот зачем вы тут другие ссылки даёте, не понятно.
    Последний раз редактировалось kondor3000; 11.03.2022 в 17:17.

  7. #17

    По умолчанию

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

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

  8. #18

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Вы вообще то на форуме Овен пишите, для среды Codesys 3.5. Ветка ПЛК (среда программирования CODESYS V3.5)ПЛК2хх Естественно вам скопировал с сайта Овен характеристики ПЛК 200 и 210. Ссылки выше уже дали.
    А вот зачем вы тут другие ссылки даёте, не понятно.
    Выше речь шла про Сименс и его килобайты, я просто пояснил свою позицию. Возможно, произошло недоразумение, прошу простить за мои ссылки.

  9. #19

    По умолчанию

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

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

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

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

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

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

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

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

  10. #20

    По умолчанию

    Читая про Codesys, пока не нашёл полной спецификации на объявление ФЦ, ФБ, программы
    А где читаешь? А то ж у ОВЕНа есть огромный PDF на сотни страниц с подробным описанием всего и вся: https://owen.ru/product/codesys_v3/documentation
    А для всяких кунг-фу есть Онлайн-FAQ: https://owen.ru/forum/showthread.php?t=28167

    Тогда почему в одних типах блоков они сохраняют значения, а в других нет?
    Мы все рады, что ты рассказал как в Сименсе. Но ты щас на ОВЕНе, а тут по другому всё.
    Скажи пожалуйста: программировал ли ты на обычных, компьютерных языках?
    В курсе ли ты о том, что такое область видимости переменных (ссылка на википедию)?
    У тебя проблемы не с функциями и FB, а с областью видимости переменных - ты в ней запутался.
    Последний раз редактировалось Cs-Cs; 11.03.2022 в 19:29.
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

Похожие темы

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

Ваши права

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