Страница 733 из 1041 ПерваяПервая ... 233633683723731732733734735743783833 ... ПоследняяПоследняя
Показано с 7,321 по 7,330 из 10404

Тема: ВОПРОС-ОТВЕТ (отвечаем на простые вопросы от новичков)

  1. #7321
    Пользователь Аватар для Rednaxel
    Регистрация
    15.05.2015
    Адрес
    Минск
    Сообщений
    19

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    ИП320 ? )))
    А блин! СП3xx имелось ввиду
    Слейвом сложнее, я так сразу и не помню как.
    Вот и посоветуйте человеку: какой там нюанс?

  2. #7322

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Если что-то ответственное - при загрузке [и в периодически в процессе - как решите] проверяете уставки на целостность с восстановлением. Тест простой - хаотичное независимое включение/выключение элементов системы.
    Тоже - удачи.
    Ребята, я не понял. Наверное криво формулирую вопрос.
    Целостность мне сейчас по-барабану. Это уже вопрос следующего порядка. Хотелось бы чтобы она просто работала.
    Мастером так мастером, если надо.

    Проблемы следующие.
    На ИП320 не нашёл как задавать начальное значение. Мало того. Если я задаю границы для этого значения, ИП почему то в начальный момент даже этого не видит.
    То есть условно у меня есть уставка температуры она должна быть в пределах 40-60 градусов. Я запускаю проект и ничего не нажимаю на панели. И в цикле связи с панелью ПЛК забирает из панели 0. Что сразу же затирает моё значение.

    Короче вопрос такой. Как мне сделать, чтобы текущее значение отображалось на дисплее?

    Или если я панель сделаю мастером, то это автоматом произойдёт?

    Ясно, что если бы панель была со своей прогой, я бы это на крайняк руками разрулил.

  3. #7323

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Это вообще не ее задача (и проблема) вне зависимости от того - мастер она или слейв.
    ...
    Пытаетесь снять урожай до того как засеяли. В таких случаях он обычно не очень

    Спасибо. Уже решил аналогичным способом.
    Просто в голове некий... диссонанс ... )))

    1. Панель оставил слэйвом.
    2. В панеле завёл на один адрес 2 переменные с разными именами. 1 на запись - вторую на чтение... ))
    3. В цикле обращения к панели, сделал тоже что и Вы.

    Проверил - работает...

    Хотя, если задумываться, то нюансы могут быть.
    Я у себя, когда работаю, ну например в OPC сервере, я несколько типов операций делаю. В частности групповые операции.
    Здесь нет подробного описания, непонятно как формируются запросы к панели. Объединяет ли она их? Чётко ли следует сформированному списку адресов? Мешает ли запись с чтением или сначала идёт чтение, а потом запись?

    Но для данного проекта, думаю я его закрою. Сейчас устраню замеченные мной нюансы и пускану.
    Для данного объекта рюшек не надо. Я запуск производил сидя в луже на табуретке. Шкаф и стены слегка облезли, трубы поржавели, на голову каплет....


  4. #7324
    Пользователь
    Регистрация
    31.07.2013
    Адрес
    Аркаим
    Сообщений
    1,033

    По умолчанию

    sasav
    Как делаю я в случае ненулевых значений первоначальных уставок. Панель мастер, ПЛК слейв. В ПЛК пишу проверку требуемых регистров на ноль. В случае если таки ноль, то присваиваю безопасное значение из допустимого диапазона. Проверка (и присванивание если надо) делается только при старте(включении) ПЛК и на работу остальной программы далее не влияет. Очень удобно при отладке. И выручало на ПЛК110 старой серии, где ретайны сваливались, если в ПЛК помирал аккумулятор.

  5. #7325
    Пользователь
    Регистрация
    18.11.2019
    Адрес
    Пермь
    Сообщений
    84

    По умолчанию

    Здравствуйте!
    Совсем недавно начал изучать синтаксис ST и столкнулся с задачей, с которой не могу разобраться.

    Нужно посчитать время, когда входная переменная INPUT имеет значение FALSE за сутки и сколько раз она принимала значение FALSE.
    То есть: вход INPUT может принимать значение FALSE много раз за сутки, поэтому нужна сумма временных интервалов, когда INPUT имел значение FALSE и количество значений FALSE, которые будут обнуляться в заданное время (например, в 9:00 ежедневно).

  6. #7326
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,825

    По умолчанию

    Цитата Сообщение от Minarion Посмотреть сообщение
    Здравствуйте!
    Совсем недавно начал изучать синтаксис ST и столкнулся с задачей, с которой не могу разобраться.

    Нужно посчитать время, когда входная переменная INPUT имеет значение FALSE за сутки и сколько раз она принимала значение FALSE.
    То есть: вход INPUT может принимать значение FALSE много раз за сутки, поэтому нужна сумма временных интервалов, когда INPUT имел значение FALSE и количество значений FALSE, которые будут обнуляться в заданное время (например, в 9:00 ежедневно).
    Код:
    VAR
    	INPUT: BOOL;
    	Count: UDINT; (*сколько раз она принимала значение FALSE*)
    	SumTimeF: TIME; (*время, когда входная переменная INPUT имеет значение FALSE за сутки*)
    	CountOld: UDINT; (*За предыдущие сутки*)
    	SumTimeOld: TIME; (*За предыдущие сутки*)
    	F_TR: F_TRIG;
    	delta: TIME;	(*Время цикла ПЛК*)
    	t1: TIME;
    	prevScanTime: TIME;
    	ttt: TIME;
    	init: BOOL;
    	TON_24h: TON;
    END_VAR
    
    (*Время цикла ПЛК*)
    t1:=TIME();
    IF NOT init THEN (*Первый цикл*)
    	prevScanTime:=t1;
    	init:=TRUE;
    	Count:= Count + BOOL_TO_INT(NOT INPUT);
    END_IF
    delta := t1 - prevScanTime;
    prevScanTime := t1;
    (*-------------------*)
    
    F_TR(CLK:= INPUT);
    (*Текущие сутки*)
    Count:= Count + BOOL_TO_INT(F_TR.Q);
    IF NOT INPUT THEN
        SumTimeF:= SumTimeF + delta;
    END_IF
    
    TON_24h(IN:= NOT TON_24h.Q , PT:=t#24h);
    (*За предыдущие сутки*)
    IF TON_24h.Q THEN
    	CountOld:= Count;
    	SumTimeOld:= SumTimeF;
    	Count:= 0;
    	SumTimeF:= t#0ms;
    END_IF
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  7. #7327

    По умолчанию

    Здравствуйте! Подскажите пожалуйста правильно ли я адресую (с учетом всех необходимых выравниваний) регистры в модбас. ПЛК160 (слейв), OP320 (мастер), из ПЛК считываю переменные модуля Statistic. Заранее спасибо!

  8. #7328
    Пользователь
    Регистрация
    31.07.2013
    Адрес
    Аркаим
    Сообщений
    1,033

    По умолчанию

    Слегка изменил вашу программу. Обратите внимание на переменную temp_m.

  9. #7329

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    TON_24h(IN:= NOT TON_24h.Q , PT:=t#30s);
    PT:=t#30s?

  10. #7330

    По умолчанию

    Цитата Сообщение от Sulfur Посмотреть сообщение
    Слегка изменил вашу программу. Обратите внимание на переменную temp_m.
    Спасибо! А почему надо преобразовать в тип ВОРД? Есть же в режиме слэйв у ПЛК переменная типа ФЛОАТ (Real)? В модуле Statistic переменная температуры тоже REAL?
    Показания к сожалению на ОР320 не выводятся, проверить не могу. Пишет на панели "потеря связи". (как после загрузки конфигурации, так и при соединении по RS485 с ПЛК) Микросхему RS485 и цифровой драйвер к ней пропаял, но не помогло. Что может быть еще?
    P.S.Панель рабочая, работает как мастер так и слейв с ПР200 (хотя после загрузки конфигурации тоже пишет "потеря связи").

Страница 733 из 1041 ПерваяПервая ... 233633683723731732733734735743783833 ... ПоследняяПоследняя

Метки этой темы

Ваши права

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