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

Тема: адрессация

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

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

    По умолчанию

    спасибо за предыдущие советы. возникли ещё вопросы. Во время обкатки проекта (см. вложения) возникает следующая ситуация . По короткой команде TRUE (следом FALSE) start_zero (global_var) запускается блок измерения среднего значения веса за единицу времени mix:STATISTICS_REAL. Время произвольное. По короткой (TRUE следом FALSE) команде stop в гланой программе PLC_PRG c помощью блока MOVE выходные величины FB mix записываются в память меркеров (см. var_retain). Дальнейшее измерение идёт с учётом этих величин. И всё бы ничего, только вот после выключения ПЛК эти величины показывают какую-то чушь. Например до выключения всё нормально:
    MN = 0.2254406;
    MX = 2.326654;
    AVG = 1.361449.
    после выключения и повторного включения ПЛК:
    MN =2.337515e-32;
    MX = -1.032399e+017;
    AVG = 1.762714e+033.
    Такое ощущение, что проведённые измерения не сохраняются даже после того как их объявил retain.
    А мне эти величины нужны сохранёнными, что пользоваться ими в дальнейшем либо как константами, либо как коэффициэнтами, даже если ПЛК будет выключен несколько месяцев.
    ЧТО Я ДЕЛАЮ НЕ ТАК??? Может есть другой способ сохранения этих величин? Заранее благодарю.
    Вложения Вложения

  2. #2

    По умолчанию

    Многое не так делаете...
    1. В Вашей подпрограмме сохранение никогда и не будет - у Вас переменная mem будет true в любом случае до конца цикла (до низа поля программы). В начале следующего прохода она уже опять будет равно false...
    2. Не делайте Retain внутри блока, если Вы не уверенны, что в момент пропадания питания блок будет вызываться из основной программы. Да и в принципе Retain я бы делал в основной программе.
    3. Объявляйте их просто Retain - не заносите в маркерную память.
    4. Адрес переменной AT %... недопустим!!!!!!!!!!!!!!!!!!!

    Начните с простого - создайте простую программу без подпрограмм, и задайте в ней пару переменных типа Retain. Как сохранятся- двигайтесь дальше.

Ваши права

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