Страница 5 из 5 ПерваяПервая ... 345
Показано с 41 по 49 из 49

Тема: Hmi визуализация

  1. #41
    Пользователь
    Регистрация
    28.12.2006
    Адрес
    Ростов-на-Дону
    Сообщений
    44

    По умолчанию

    Цитата Сообщение от Игорь Петров Посмотреть сообщение
    Именно так и есть, причем никто не собирается это менять. Это касается всех базовых компонентов. Обратите внимание, что даже OPC и DDE серверы поставляются бесплатно!
    Вот за это фирме 3S большое спасибо (без всяких шуток), поскольку - это абсолютно правильный и взвешенный подход.

    Цитата Сообщение от Игорь Петров Посмотреть сообщение
    Однако на практике порой возникают всякие дополнительные специальные потребности. Например, стыковка сети контроллеров с базами данных, ERP, библиотеки поддержки приборов некого изготовителя, инжиниринговые средства для многопользовательской работы и интеграции в проект разных файлов (например, электрических схем) и др. и пр. Никто в принципе не может запретить любой компании делать дополнительные компоненты на заказ или на продажу.
    Если вдруг вы сделали некую удачную штуку для CoDeSys, которая может быть интересна не только одному заказчику, то ее вполне можно продавать. Никто не вправе это запретить.
    И здесь я с Вами соглашусь насчет огромной разнообразности требований.
    Но в силу специфики моего (опять же условно) подхода - конечный продукт получается уникальным, ориентированным, исключительно на конкретного заказчика. В ряде случаев приходится рисовать подробные 3D модели уникального оборудования заказчика и включать их в проект.
    В то же время, имеются готовые проверенные заготовки - та же работа с базами данных, стыковка с определенными типами ПЛК разных производителей (SIEMENS или OMRON), ну и еще всякие разности. И все это добро собирается в единый проект, исходя из ТЗ заказчика. В этом случае там не остается ничего лишнего, в отличие от SCADA систем. Но с другой стороны, такой проект больше никому не интересен, поскольку лишен универсализма и избыточности SCADA.

    Цитата Сообщение от Игорь Петров Посмотреть сообщение
    На мой взгляд, использование универсальных средств программирования гораздо более трудоемко.
    Насчет трудоемкости позволю себе не согласиться.
    Дело в том, что для того, чтобы сделать ту же самую приличную базу данных (с многочисленными формами, кешированием, и прочей ерундой) на любой из SCADA систем, Вам все равно придется написать большое количество текста, в виде скриптов (в свое время пришлось заниматься именно этим). Как правило, перепрыгнуть через SQL и прочую атрибутику БД не удается, особенно, если требуется еще и экспорт в различные специфические пакеты. А когда объем становится значительным, то становится жалко собственный труд при переходе с одной SCADA к другой. Отсюда и возникает желание делать все с помощью некого универсального инструмента, каковым и является тот же Builder или Visual Studio.
    Иными словами, надеоело каждый раз разбираться со спецификой той или иной SCADA, в том числе и HMI. На это уходит огромное количество времени.

    Цитата Сообщение от Игорь Петров Посмотреть сообщение
    Практически все изготовители оборудования дают OPC сервера для стыковки с SCADA.
    OPC сервер, на самом деле - это прокладка между аппаратурой и софтом, правда, не самая лучшая. По большому счету - это драйвер того или иного девайса или их группы. А посему, он может быть использован не только SCADA, но и непосредственно.

    Цитата Сообщение от Игорь Петров Посмотреть сообщение
    На поддержку вышеперечисленных семейств в CoDeSys просто нет реального спроса.
    Требования пользователей к системе программирования и универсальным ПЛК постоянно растут. Все хотят иметь работу с файлами, сетями, быструю математику высокой точности и др. Грубо говоря, для хорошего универсального современного ПЛК процессорное ядро должно как минимум легко тянуть ОС Линукс или WinCE. Такой ПЛК проще в применении. Он с большим запасом обеспечивает быстродействие (можно особо не ломать голову над оптимизацией кода, можно программно делать все что надо, без спец. модулей). Сейчас есть 32 бит процессоры, которые стоят дешевле некоторых 8 бит (например ARM). Дык почему бы их не использовать?
    Что касается средств разработки, то эти разовые затраты никого особо не напрягают. Это инструменты = средства производства, также как и станки и сборочные линии. В сравнении с затратами на строительство завода для производства ПЛК, инструментальные средства стоят копейки. Выводить CoDeSys на рынок кустарей-самодельшиков никто не собирается. Сейчас он применяется только в изделиях очень серьезных OEM компаний, способных делать передовые изделия соответствующего качества.
    Ответ исчерпывающий, большое спасибо.
    Только одно НО. Базовые технологические прорывы осуществляются именно в малых конторах. Пример той же самой 3S с их CoDeSys - отнюдь не исключение из правила. Вспомните Microsoft или Apple двадцатипятилетней давности. Лучше уж держать "кустарей-самодельшиков" под присмотром и тем или иным способом утилизировать их наработки, чем потом стремительно терять рынок, как это было в свое время с IBM или DEC и как это происходит нынче с тем же SIEMENS-ом.

  2. #42
    незарегистрированный
    Гость

    По умолчанию

    Цитата Сообщение от Игорь Петров Посмотреть сообщение
    Только что вернулся из командировки с завода, где только на одной машине используется 40 ПЛК с визуализацией в CoDeSys.
    Очень хорошо, помогите разобраться.
    1. При использовании трэндов назначил хранение данных на ПК (Recording->Hystory), но удаления файлов с устаревшими данными добиться не смог (delete old data after).
    2. В тех же трэндах использовал маркер, но данные в переменной, назначенной маркеру, значительно отстают от линии маркера, причём от масштаба временной оси это не зависит.
    3. Нарисовал примитив - линию поверх прямоугольника. Если линия горизонтальная, случается так, что средняя часть линии исчезает.
    Заранее спасибо за ответ.

  3. #43

    По умолчанию

    Цитата Сообщение от незарегистрированный Посмотреть сообщение
    Очень хорошо...
    Кому хорошо?

    1. При использовании трэндов назначил хранение данных на ПК (Recording->Hystory), но удаления файлов с устаревшими данными добиться не смог (delete old data after).
    Зачем? Здесь никакие файлы стираться и не должны, просто затираются старые записи по кольцу.

    2. В тех же трэндах использовал маркер, но данные в переменной, назначенной маркеру, значительно отстают от линии маркера, причём от масштаба временной оси это не зависит.
    Трассировка читает данные из ПЛК с некой периодичностью. Она задается настройкой Degree of accuracy (Степень детализации). Точность выдержки периода определяется тиками системного таймера контроллера. Значение переменной считывается, буферизируется и передается на компьютер.
    Итак, в памяти ПЛК имеем массив замеров и ничего более! Маркер (переменная в памяти ПЛК) берет по заданному времени значение предыдущего замера. Все! Что еще он может взять даже теоретически?
    При отображении плавной линии на компьютере выполняется интерполяция. Ее можно отключить и включить отображение только реально замеренных точек (Curve type – Points). Тогда будет четко видно, что маркер честно берет текущий замер.

    Реально можно гарантировать точность 'наведения' маркера по времени 2 Degree of accuracy.

    3. Нарисовал примитив - линию поверх прямоугольника. Если линия горизонтальная, случается так, что средняя часть линии исчезает.
    Попробовал на компьютере и контроллере (ПЛК Berghof со встроенным сенсорным экраном) не вижу этого. При каких условиях проявляется? Какова толщина линии? Возможно, связано с драйвером панели, линия при масштабировании целиком не попадает на отображаемые пиксели. С наклонными и толстыми линиями такого быть не должно.

    Пожалуйста, обратите внимание: чтобы устранить проблему, ее нужно как минимум четко воспроизвести!!! Это совсем не так просто как кажется, она может не проявляться при других условиях. Системы исполнения CoDeSys SP и некоторые детали реализации могут иметь отличия в разных контроллерах, важно знать какой ПЛК, все настройки и др. Поэтому нужно максимально локализовать проблему (т.е. сделать предельно упрощенный проект, в котором она явно вылезает), создать архив проекта в CoDeSys, подробно описать, желательно указать название компании, когда продукт приобретен, координаты для связи и отправить это все группе поддержке.

    Надеюсь, мои ответы оказались полезными!

  4. #44

    По умолчанию Вопросы по HMI

    Спасибо за ответ.
    Использую ОВЕН ПЛК 150 У.М. CoDeSys 2.3.8.1
    Зачем? Здесь никакие файлы стираться и не должны, просто затираются старые записи по кольцу.
    Я пробовал вести один файл и устанавливал удаление данных после 1 часа. Безрезультатно - за 3 часа наблюдений файл пропорционально рос в размере.
    Пробовал заводить новый файл по достижении определённого числа записей - файл заводится, но старые данные не стираются.
    По вопросу с маркером период обновления данных трэнда был выбран примерно равным одному пикселю горизонтального масштаба, а отставание равнялось 20-30 сэмплам. ( Хотя почему бы маркеру не индицировать и апроксимированную величину?)
    По вопросу с линией выходил из положения - в случае, если она горизонтальная, заменял прямоугольником. Постараюсь воспроизвести.

  5. #45

    По умолчанию

    Цитата Сообщение от Milchuk Посмотреть сообщение
    Использую ОВЕН ПЛК 150 У.М. CoDeSys 2.3.8.1
    Я пробовал вести один файл и устанавливал удаление данных после 1 часа. Безрезультатно - за 3 часа наблюдений файл пропорционально рос в размере...
    OK, спасибо за информацию. Проверим.
    Хотя почему бы маркеру не индицировать и апроксимированную величину?
    Как, подумайте? Маркер – это переменная в памяти ПЛК (именно это и требовалось при реализации этой фишки), интерполяция происходит уже наверху в ПК. В памяти ПЛК есть только замеры.
    Прямо с графика можно снять значение в HMI. Оно будет точным, если его сразу тут моментально и отображать (так сделано в трассировке). Если же его переслать в ПЛК, затем вернуть в компьютер, то за это время маркер уедет.
    Чтобы было и точно и доступно в ПЛК, нужно интерполяцию делать внутри ПЛК. См. выше описание стратегии развития визуализации в CoDeSys V3.
    В V2.3 точности считывания значения по маркеру можно добиться при медленной (относительно частоты семплирования) скорости нарастания тренда.
    Никакой ошибки тут нет, возможно не достаточно подробно описано в документации, обязательно добавлю в след. редакции.

  6. #46

    По умолчанию По поводу маркера

    Может я туплю...!?
    Насколько я понимаю, данные о положении маркера рождаются в HMI и передаются в контроллер, где из массива данных, по-вашему, выбирается ближайшая точка, её значение передаётся переменной маркера. Так почему в этом месте не взять две ближайшие точки и не подсчитать, скажем, линейно аппроксимированное значение?
    Но, в общем то не критично. Повторюсь, меня больше удивило несоответствие значений с картинкой графика, и это не объясняется попаданием маркера между точками сэмплирования.

  7. #47

    По умолчанию

    Цитата Сообщение от Milchuk Посмотреть сообщение
    ...почему в этом месте не взять две ближайшие точки и не подсчитать, скажем, линейно аппроксимированное значение?
    Где гарантия, что оно будет ближе к реальности? Между замерами вполне мог быть выброс. Сейчас маркер честно сообщает значение, которое контроллер некогда намерил. Его можно использовать в программе, оно совпадет с неким значением, которое реально использовалось в нашей программе. Сейчас маркер позволяет организовать обратную связь отображения с контроллером. Формируя выдуманное значение, мы лишаемся этой возможности.

    Дискретная природа периодических отсчетов предполагает, что для адекватного отображения значение наблюдаемой переменной не должно существенно изменяться между замерами (что описывает теорема Котельникова). В противном случае кривая вообще не будет соответствовать действительности. Этот факт + движение графика и конечная скорость обмена данными (ПЛК-ПК) определят точность самого отображения и естественно данных маркера. Это нужно четко понимать и правильно использовать. Никакой аппроксимацией из линейки не сделать микрометр.

    Для изучения быстрых процессов с считыванием значений маркеров непосредственно с графиков в CoDeSys есть инструмент Sumpling Trace, позволяющий снимать значения переменных в каждом рабочем цикле. При необходимости, здесь можно задать триггерное событие, по которому данные будут сфотографированы с нужной пред и после историей. Т.е. мы можем использовать данный инструмент как 'черный ящик' встроенный в ПЛК.

  8. #48

    По умолчанию

    Можно ли установить/запустить CoDeSysHMI отдельно от CoDeSys? Или ему требуется наличие CoDeSys?

  9. #49
    Пользователь Аватар для murdemon
    Регистрация
    03.02.2014
    Адрес
    Санкт-Петербург
    Сообщений
    844

    По умолчанию

    ну для 3-3 если вдруг RTC на ПК сломались и переставилось на год прибытия Т-800, а потом после 3-3 вдруг обратно. То Сара Коннор не погибнет, через 14 дней.
    Dmitriy Murashov
    SPS Software Engineer Automation Engineering RUS

Страница 5 из 5 ПерваяПервая ... 345

Ваши права

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