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

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

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

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

    По умолчанию

    Цитата Сообщение от Milchuk Посмотреть сообщение
    Попробовав написать проект для HMI я, к сожалению не встретил активной поддержки - пользователи, видимо, не слишком часто его используют, да и фирма 3S с ПРОЛОГом не очень-то активно отвечают на вопросы..
    Только что вернулся из командировки с завода, где только на одной машине используется 40 ПЛК с визуализацией в CoDeSys. Таких машин много. К HMI у прикладных программистов замечаний нет вообще. Это квалифицированные люди, имеющие большой опыт работы. Возможно, они просто умеют правильно применять встроенную визуализацию? Практически HMI используется и достаточно широко, ежедневно и круглосуточно.

    Неужели действительно было хотя бы одно письмо в адрес Пролог, на которое не пришел ответ? Точно письмо дошло до нас? Реально отвечаются абсолютно все вопросы, даже от тех, кто вообще ничего у нас не покупал. Есть проблема с тем, что у многих стоят жестокие спам фильтры и наши ответы просто не проходят. При положительном ответе, очень редко кто утруждает себя откликом, типа спасибо ответ получен, вопрос решен… Поэтому я не имею уверенности, что все ответы дошли. С нашей стороны есть совершенно противоположная проблема: мало обратной связи и информации для внесения исправлений, по крайней мере от российских пользователей. Разработчики увы не обладают божественным даром предугадывать мысли желания каждого пользователя. Каждый новый релиз включает множество доработок. Пожалуйста, присылайте вопросы и замечания. Предложения по введению дополнительных функций вполне можем здесь обсудить. Все что реально сделать и действительно нужно, будет обязательно делаться.

    На мой взгляд, заманчивый вариант написать визуализацию самому. Я готов к ошибкам, по крайней мере, я могу их исправить. А в случае, когда ошибка обусловлена несовершенством HMI - что прикажете делать?..
    Что делать если есть проблема с контроллерами, реле, клеммами и др.? Все делать самому? Это не реально…
    При покупке ПО заключается договор, по которому изготовитель обязуется исправить все обнаруженные дефекты в установленный срок или вернуть деньги. Этого единственное цивилизованное решение.

    И почему вас удивляет 3D визуализация на несколько входов - выходов?
    Визуализации бывают очень разные. Выше я уже писал, что визуализация CoDeSys заточена под самый нижний уровень. Она должна работать на простерших и дешевейших контроллерах и панелях, приделанных к машине в цеху. Украшательства здесь нужны как коту банный веник. Не нужны и всяческие месячные архивы и распечатки отчетов, анализаторы экономической эффективности и т.п. Нужна простая форма представления, быстрота реакции и надежность работы. Т.е. HMI не имеет цели конкурировать со скадами. Это разные области применения. В хороших современных скадах столько всяких разных функций наворочено, что самостоятельно сделать за одну жизнь не реально. С другой стороны на нижнем уровне применять скаду вообще не всегда и получится. Для этого есть HMI.
    Последний раз редактировалось Игорь Петров; 22.08.2007 в 14:59.

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

    По умолчанию

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

  3. #3

    По умолчанию

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

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

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

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

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

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

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

  4. #4

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

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

  5. #5

    По умолчанию

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

  6. #6

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

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

  7. #7

    По умолчанию

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

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

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

Ваши права

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