Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 15

Тема: Тренды реального времени в СП270

  1. #1

    Question Тренды реального времени в СП270

    Оказалось необходимо отображать тренды реального времени для дробных чисел в панели СП270.

    Дробные числа в панель передавать я могу. В контроллере имею переменную типа REAL, в Modbus(slave) переменную DWORD. В переменной REAL меняю старшее и младшее слова местами и записываю то что получилось по адресу переменной DWORD в Modbus(slave).

    Таким способом (он меня устраивает), без проблем передаю любые дробные числа (со знаком, если он есть) в панель.

    Попробовал использовать в панели Тренд реального времени... ничего не получается. Такое ощущение что при построении тренда содержимое двойного регистра рассматривается как целое число, даже если флажок выставлен на Float.

    Вопрос вот в чём: Как я могу построить адекватный тренд реального времени для параметра дробного типа? Хотелось бы обойтись наименьшими жертвами, т.е. продолжать хранить эти параметры в DWORD. Дело в том что проделано уже очень много работы и начинать с начала очень бы не хотелось.

    Если это невозможно предложите разные варианты.
    42 is the answer

  2. #2

    По умолчанию

    Тренд реального времени в СП270 работоспособен, также работает и с Float, проблем не возникало. Может импортировать данные с отображением на графике. В чем проблемы.
    Пардон, проверил действительно float не работает.
    Последний раз редактировалось Адрей; 10.08.2011 в 18:58.

  3. #3

    По умолчанию

    Опишу подробнее.
    Вот конфигурация ПЛК: одно двойное слово (поименованное как rr). Адрес Modbus - 4х0.
    Функция formatting, принимающая REAL и возвращающая DWORD.
    И программа PLC_PRG в которой объявленна переменная r1: REAL и в которой вызывается formatting(r1).


    А это кусок из конфигуратора СП200. Показан экран, и настройки для Графика реального времени и для Цифрового дисплея.


    Как всё это работает: Пишу в r1:=25. На Цифровом дисплее повляется значение "25". На графике ничего нет (видимо принимает это значение за 0 или < 0). В Modbus в это время rr=16840.
    Пишу в r1:=25.42. На Цифровом дисплее повляется значение "25.42". На графике появляеться линия задраная к верхней границе графика (видимо принимает это значение за 100 или > 100). В Modbus в это время rr=1546207691.

    Чего я ожидаю: На Тредне отображается тоже значение что и на Цифровом дисплее.

    Подскажите пожалуйста выход из этой ситуации.
    Последний раз редактировалось 42ia; 10.08.2011 в 10:08.
    42 is the answer

  4. #4

    По умолчанию

    Все делается проще. СП270 читает и пишет Float без подмены смотрите мои примеры. В ПЛК преобразуйте переменную float в word c умножением на кол знаков и отправляйте на интерфейс. В графике сп270 лучше использовать word так как по умолчанию на область ОЗУ графика выделено всего 2Кб.

  5. #5

    По умолчанию

    Цитата Сообщение от Адрей Посмотреть сообщение
    СП270 читает и пишет Float без подмены смотрите мои примеры.
    Посмотрел ваши примеры. В общем понравилось. Шаманство конечно.

    Вопрос то вот в чём... Хотелось бы решить задачу не меняя программу в ПЛК. Т.е. я уже готовлю значения для передачи в панель. И вижу их в компоненте Цифровой дисплей. Почему я не могу тем же способом отобразить эти значения на Графиках?
    42 is the answer

  6. #6

    По умолчанию

    Простите, буду немного навязчев. Требуется срочное решение.
    Надо отобразть тренды по 49 параметрам.

    Есть такая идея:
    - в контроллере у меня переменная var1: REAL;
    - в модбасе (по адресу 0) переменная m_var1: DWORD;
    - В PLC_PRG я делаю m_var1 := REAL_TO_WORD(var1*100); т.е. передаю в модбас целое число
    - в панели добавляю "функциональную область" (общий компонент). Она делает "Непрерывно" "Вычисления" PSW256 = 4x0/100;
    - На хронологический график я вывожу PSW256.

    Вопросы:
    1. Это нормально вообще? (если ктонибудь знает лучший вариант, подскажите)
    2. Это подойдёт для 49 параметров? Могу я разместить след. параметр по адресу PSW257?
    3. Вообще, почему 256? Я подсмотрел это в чьёмто примере, но толком не понимаю...
    4. 1 параметр занимает 2 байта. Значит для хранения одной точки графика мне потребуется 2+6 байт?
    5. Мне чтонибудь нужно менять в меню Файл-Настройки-Панель-Установить параметр.
    6. Сколько всего точек я могу хранить в панели?
    42 is the answer

  7. #7

    По умолчанию

    Не совсем так. m_var1 делайте WORD; Вычисления не нужны, дробная часть есть.
    Для хронологического графика 49 параметров многовато.
    Сдесь SCADA вам в помощь.
    1. Если имели ввиду преобразование то да.
    2. для word то да.
    3. 0-255 использовать нельзя.
    4. Для word 1 точка 1+6; для 49 точек 49+6.
    5. Да.
    6. Все зависит от периода.

  8. #8

    По умолчанию

    Добрый день:
    Вообще вариант нормальный, не понятно только почему Вас не устаивает хранение ворда, он же занимает меньше места в памяти. Если нужно будет отображать в панели, там можно указать количество количество знаков после запятой.
    2. В Вашем варианте следующий адрес должен быть 258.
    3. Тема много раз обсуждалась. Все регистры до 256 заняты под внутренние ресурсы панели.
    4. да, все верно.
    5. лучше не менять.
    6. На этот и кстати другие перечисленные вопросы Вы сможете найти ответ в документе. Если коротко то для 49 параметров типа dword (float) Вы сможете сохранить (100*1024)/(49*2+6) около 1000 точек. Но тормозить будет страшно

    Но в конечном итоге соглашусь с Адреем: "Сдесь SCADA вам в помощь"
    Цитата без изменений
    Последний раз редактировалось Ельцов Андрей; 01.09.2011 в 21:22.

  9. #9

    По умолчанию

    Извените. Под конец рабочего дня поторопился. Я использую WORD.
    Сегодня пришла идея в панели ничего не делить на 100.
    Параметр у меня принемает значения от 0 до 100. Например 76,25. в контроллере умножаю на 100. Получается по модбасу я отправляю 7625.
    Тогда ведь можно в тренде просто поставить "Значение Макс" = 10000 вместо 100.

    Если использовать этот вариант, можно не переписывать параметр в память панели, а строить тренд из 4х0?
    42 is the answer

  10. #10

    По умолчанию

    Цитата Сообщение от 42ia Посмотреть сообщение
    Если использовать этот вариант, можно не переписывать параметр в память панели, а строить тренд из 4х0?
    Да все правильно можно и так конечно, но у вас куча параметров тогда будит, как сказал Андрей Ельцов тормозить страшно.
    Время в панели СП270 будет бежать примерно на 15 минут в день, так что архив выйдет кривой. Так как мой опыт работы с СП270 большой могу точно вам сказать что идея хорошая сам ей когда-то болел но для качественного архива не получить подводят часы. Здесь много подводных камней.
    Последний раз редактировалось Адрей; 24.10.2011 в 19:14.

Страница 1 из 2 12 ПоследняяПоследняя

Ваши права

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