Страница 2 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 11 по 20 из 32

Тема: Панель оператора СП310Р и весовой терминал GENERAL MEASURE M02

  1. #11

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    т.к. функции записи или чтения однозначно определяют области регистров 4х или 0х, 3х или 1х
    Вот теперь пасьянс сложился.

    Цитата Сообщение от petera Посмотреть сообщение
    Ну и далее
    Если не использовать чтение 0 бита 0 регистра мастера для записи в сетевую переменную слейва то проблемы тоже нет
    Немного добавлю: или если использовать для этой цели чтение любого бита, кроме нулевого, в нулевом регистре в данном случае. Тогда тоже работает.

    Цитата Сообщение от petera Посмотреть сообщение
    Вижу единственный способ решения
    Добавить в мастер еще одно устройство, с тем же адресом

    Где и "поселить" только булевские переменные
    Очередное открытие для новичка...
    Был уверен, что в сети нельзя в принципе создавать устройства с одинаковым адресом, а вот оказалось, что очень даже можно...
    Всё гениальное просто! Спасибо!

    Цитата Сообщение от petera Посмотреть сообщение
    Вот именно для случаев вывода(или ввода) на панель значений с точкой и(или) со знаком нужны Макросы для ОЛ по переводу float-int-float
    Не совсем понятно, зачем в данном случае их конвертировать, если можно гнать FLOATы напрямую. Только нужно настроить масштабирование в настройках "цифрового дисплея". Я попробовал с весами и у меня получилось. На панели я видел вес, практически совпадающий (очень точно не делал, ибо сейчас в этом смысла нет) с цифрами на самОм терминале. В том числе, и отрицательный...

    Цитата Сообщение от Bone Посмотреть сообщение
    Планирую выводить на панель показания с двух датчиков температуры.
    С датчиками температуры (и не только с ними. Будут ещё датчики тока с выходом 4-20 мА) я хотел проделать ту же процедуру по настройке масштабирования. Ну, или как-нибудь использовать макрос соответствующего датчика из менеджера компонентов. Только пока ещё не знаю, как...
    Не получится?

    Цитата Сообщение от petera Посмотреть сообщение
    Макросы для ОЛ по переводу float-int-float давно изобретены, могу поделиться.
    Был бы очень признателен. Лишними точно не будут.

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

    По умолчанию

    Цитата Сообщение от Bone Посмотреть сообщение
    Не совсем понятно, зачем в данном случае их конвертировать, если можно гнать FLOATы напрямую. Только нужно настроить масштабирование в настройках "цифрового дисплея". Я попробовал с весами и у меня получилось. На панели я видел вес, практически совпадающий (очень точно не делал, ибо сейчас в этом смысла нет) с цифрами на самОм терминале. В том числе, и отрицательный...

    Патамушта, такая загогулина понимаш !
    https://owen.ru/forum/showthread.php...l=1#post363793
    ...Только вот я смотрю, в ПР102 есть возможность создать всего 64 сетевых переменных, с адресом с 512 по 575. Есть опасения, что такого количества, да ещё с учётом тех, что с плавающей запятой, для всего проекта мне будет маловато. Могли бы выручить булевские, но в режиме Slave они не поддерживаются...
    Последний раз редактировалось petera; 10.09.2021 в 10:04.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  3. #13

    По умолчанию

    petera, те опасения были ещё до того, как Вы дали мне подсказку по использованию битов регистров для работы с дискретными сигналами. А их в моём проекте будет подавляющее большинство. Поэтому теперь проблема с недостатком сетевых переменных для работы с булевскими (ну, и со всеми остальными) данными потеряла актуальность...

  4. #14

    По умолчанию

    Хотел пострелять из пушки по воробьям, но Вам спасибо, что наставили на путь истинный.

  5. #15

    По умолчанию

    Здравствуйте, уважаемые коллеги!
    Столкнулся ещё с одной проблемой.
    Сделал в проекте на панели таблицу отображения данных (начало здесь) с целью занесения туда количества выпущенной продукции в килограммах и даты выпуска. Данные в ячейки будут заноситься по кнопке на панели или автоматически, по достижению заданного веса и его стабилизации.
    Проблема заключается в том, что я не могу получить в регистре 4х*** ("архивирования в панель" и "цифрового дисплея") более-менее достоверные показания веса с терминала, чтобы занести их в таблицу. В принципе, на "цифровом дисплее" этого регистра точности можно добиться масштабированием в его настройках, но в таблице такого масштабирования нет.
    Пробовал масштабировать в ПР-ке макросом SCALE, но толку мало.
    Пробовал разные настройки и в панели, и в ПР-ке (и целочисленные, и с плавающей запятой, и WORD, и DWORD, и формат отображения), и порядок следования менял (старшим регистром/байтом вперёд/назад) - ничего толком не получается. В регистре бегают какие-то дикие 7-8-9-значные числа, да ещё бывает, с хаотично меняющимся знаком.
    Максимум, чего смог добиться - это, когда преобразовав сетевую переменную, по которой транслируется вес с терминала в панель через ПР-ку, с типа с плавающей запятой в тип целочисленный и при соответствующих настройках "архивирования в панель" и "цифрового дисплея" увидел вес более-менее соответствующий реальному. Но в таком случае я не смогу получить отрицательный вес, а он тоже нужен...
    Уважаемые коллеги, подскажите, пожалуйста, в чём тут может быть загвоздка и есть ли выход из данной ситуации?

  6. #16

    По умолчанию

    Цитата Сообщение от Bone Посмотреть сообщение
    Здравствуйте, уважаемые коллеги!
    Столкнулся ещё с одной проблемой.
    Сделал в проекте на панели таблицу отображения данных (начало здесь) с целью занесения туда количества выпущенной продукции в килограммах и даты выпуска. Данные в ячейки будут заноситься по кнопке на панели или автоматически, по достижению заданного веса и его стабилизации.
    Проблема заключается в том, что я не могу получить в регистре 4х*** ("архивирования в панель" и "цифрового дисплея") более-менее достоверные показания веса с терминала, чтобы занести их в таблицу. В принципе, на "цифровом дисплее" этого регистра точности можно добиться масштабированием в его настройках, но в таблице такого масштабирования нет.
    Пробовал масштабировать в ПР-ке макросом SCALE, но толку мало.
    Пробовал разные настройки и в панели, и в ПР-ке (и целочисленные, и с плавающей запятой, и WORD, и DWORD, и формат отображения), и порядок следования менял (старшим регистром/байтом вперёд/назад) - ничего толком не получается. В регистре бегают какие-то дикие 7-8-9-значные числа, да ещё бывает, с хаотично меняющимся знаком.
    Максимум, чего смог добиться - это, когда преобразовав сетевую переменную, по которой транслируется вес с терминала в панель через ПР-ку, с типа с плавающей запятой в тип целочисленный и при соответствующих настройках "архивирования в панель" и "цифрового дисплея" увидел вес более-менее соответствующий реальному. Но в таком случае я не смогу получить отрицательный вес, а он тоже нужен...
    Уважаемые коллеги, подскажите, пожалуйста, в чём тут может быть загвоздка и есть ли выход из данной ситуации?
    Проблема в ПР, для хорошей точности, надо было брать ПЛК сразу. И всё делать через Float, а ПР криво пересчитывает Float в INT и обратно. Можно конечно делать +0.5 в пересчёте, и использовать INT для отрицательных значений, но точности хорошей не получите из за маленького диапазона значений INT.
    Последний раз редактировалось kondor3000; 14.10.2021 в 10:05.

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

    По умолчанию

    Пробовал разные настройки и в панели, и в ПР-ке (и целочисленные, и с плавающей запятой, и WORD, и DWORD, и формат отображения), и порядок следования менял (старшим регистром/байтом вперёд/назад) - ничего толком не получается. В регистре бегают какие-то дикие 7-8-9-значные числа, да ещё бывает, с хаотично меняющимся знаком.
    В ПРке настройки старшим регистром/байтом вперёд/назад в слейве есть, но НЕ РАБОТАЮТ. Эти настройки только для мастера ПРки

    Там у Вас целый клубок проблем,
    Вы сначала в ПР мастером читаете регистры терминала, затем копируете значения в переменную слейва ПР
    Захват-02.png
    Вот здесь и зарыта собака - Мастер читает регистры терминала не в том порядке.
    Нужно поиграть настройками - старшим байтом в перед
    Мне так кажется, что должно быть так
    Захват-03.png
    Максимум, чего смог добиться - это, когда преобразовав сетевую переменную, по которой транслируется вес с терминала в панель через ПР-ку, с типа с плавающей запятой в тип целочисленный и при соответствующих настройках "архивирования в панель" и "цифрового дисплея" увидел вес более-менее соответствующий реальному. Но в таком случае я не смогу получить отрицательный вес, а он тоже нужен...
    Я же писал, что для случаев вывода(или ввода) на панель целых значений с точкой и(или) со знаком нужны Макросы для ОЛ по переводу float-int-float

    ЗЫ
    В любом случае
    СНАЧАЛА нужно добиться правильного чтения регистров терминала в ПРку
    Последний раз редактировалось petera; 14.10.2021 в 10:14.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

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

    По умолчанию

    Хочу внести ясность
    1. Запомните раз и на всегда
    Если ПР слейв, а панель мастер, то ВСЕГДА включайте в настройках порта панели
    Переставить Word..
    Захват-03.png
    Для отображения значений с плавающей точкой никакого масштабирования использовать не нужно!
    Захват-07.png Захват-08.png

    ВСЁ!
    С этими настройками панель должна читать (записывать тоже) сетевые переменные ПРки с плавающей точкой!

    Если у Вас неправильно отображаются сетевые переменные ПРки с плавающей точкой, то ищите причину в другом, только не в этих настройках.

    Например, как я предполагаю, мастер ПРки неверно читает (не в том порядке байты или регистры) вес из терминала.

    Т.к. ПР у Вас без дисплея, то нужно воспользоваться онлайн отладкой в среде ОЛ и посмотреть какой вес получается в сетевой переменной от терминала.
    Менять порядок регистров или байт и добиться правильных значение в регистрах ПРки.

    После положительных результатов, при желании можно в ПРке сделать преобразования значений с плавающей точкой в целые со знаком и фиксированной точкой.
    Отрицательные значения целых со знаком передаются в дополнительном коде.Таким значениям в панели соответствует формат DEC
    Как я и говорил ранее, для такого преобразования в ПРке нужен специальный макрос, например мой
    Захват-01.png Захват-02.png

    Пример использования макроса
    Захват-09.png

    Только при выборе кол.знаков после точки учтите, что диапазон результата преобразования, без учета точки, ограничен от -32768 до 32767.
    Т.е возможны варианты
    N=0 от -32768 до 32767
    N=1 от -3276.8 до 3276.7
    N=2 от -327.68 до 327.67
    N=3 от -32.768 до 32.767
    N=4 от -3.2768 до 3.2767

    Если нужно отображать вес от -100.00 до 100.00 кг, то N=2

    Пример загружен в ПРку
    в ОЛ запущена онлайн отладка

    ПРка по RS485 подключена к ПК где запущен онлайн эмулятор панели
    Результат прогона в реальном масштабе времени
    Скрытый текст:

    Вложения Вложения
    Последний раз редактировалось petera; 14.10.2021 в 15:18.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  9. #19

    По умолчанию

    petera, про маленький диапазон INT, я коротко уже написал. Хорошо если ему надо до 32 кг взвешивать, с точностью до грамма. Но тут весовой терминал, может там идёт речь о 50 тоннах, и какая тогда точность будет? +_ сотни килограмм, про граммы я молчу даже.

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

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    petera, про маленький диапазон INT, я коротко уже написал. Хорошо если ему надо до 32 кг взвешивать, с точностью до грамма. Но тут весовой терминал, может там идёт речь о 50 тоннах, и какая тогда точность будет? +_ сотни килограмм, про граммы я молчу даже.
    В принципе можно расширить до DWord, но смысл теряется, т.к. Float тоже два регистра.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

Страница 2 из 4 ПерваяПервая 1234 ПоследняяПоследняя

Похожие темы

  1. Весовой терминал на МВ110-224.1ТД+2 шт. СМИ-1+ ПЛК100
    от KRUPSKIY в разделе Подбор Оборудования
    Ответов: 10
    Последнее сообщение: 26.04.2021, 07:56
  2. Ответов: 6
    Последнее сообщение: 18.09.2019, 20:37
  3. Овен пр 200 и весовой терминал
    от farikpwnz в разделе Программируемые реле
    Ответов: 7
    Последнее сообщение: 01.09.2019, 23:08
  4. Панель СП310Р. Переменная Float, сравнение
    от bonzay74 в разделе Панели оператора (HMI)
    Ответов: 4
    Последнее сообщение: 05.06.2019, 06:23
  5. панель оператора
    от Igont в разделе Подбор Оборудования
    Ответов: 13
    Последнее сообщение: 02.05.2007, 09:23

Ваши права

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