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

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

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    4,170

    По умолчанию

    Блин... Я полагал, что простого преобразователя "TO INT" будет достаточно...
    А как же это
    Планирую выводить на панель показания с двух датчиков температуры. А для них, насколько мне известно, должны использоваться FLOATы, нет?
    Вот именно для случаев вывода(или ввода) на панель значений с точкой и(или) со знаком нужны Макросы для ОЛ по переводу float-int-float
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  2. #2

    По умолчанию

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

  3. #3

    По умолчанию

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

  4. #4

    По умолчанию

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

  5. #5

    По умолчанию

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

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

    По умолчанию

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

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

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

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

    По умолчанию

    Хочу внести ясность
    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/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  8. #8

    По умолчанию

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

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

    По умолчанию

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

  10. #10

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    В принципе можно расширить до DWord, но смысл теряется, т.к. Float тоже два регистра.
    Тогда уж до DINT, ему отрицательные нужны. Но опять же нет смысла, проще Float сразу.
    Кстати тут нашёл макрос чей-то, ТО_DINT, но там только положительные значения выходят, с отрицательными не работает. На самом деле он ТО_DWORD.
    Последний раз редактировалось kondor3000; 14.10.2021 в 19:08.

Страница 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, 08:23

Ваши права

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