Знаки после запятой

Просмотр 15 сообщений - с 1 по 15 (из 15 всего)
  • Автор
    Сообщения
  • #3345
    kustar
    Участник

    Коммуникатор вытаскивает данные из OPC. Один из тэгов нужен с точностью до 4-х знаков после запятой. Коммуникатор передает только три. Можно настроить поточнее?

    #3346
    manjey73
    Участник

    Коммуникатор передает полное значение, просто показывает всего 3 знака.

    #3347
    kustar
    Участник

    Понятно, что в окошке коммуникатора он показывает только три знака.
    Однако, формат входного канала D.DDDD, а в таблицу данные попадают округленные до двух знаков с каким-то странным дребезгом в четвертом знаке.
    На графике это выглядит так:
    https://postimg.org/image/9du11ng4j/
    Кто же округляет?

    #3349
    kustar
    Участник

    Линия связи коммуникатора работает с KpOpc.dll. Ей никакие доп. параметры не нужны?

    #3353
    Mikhail
    Модератор

    Не нужны. Все настройки через GUI.

    #3372
    kustar
    Участник

    Сегодня менял количество входных каналов, несколько раз менял конфигурацию.
    В результате все заработало. Знаков после запятой ровно столько, сколько заказывал в свойствах канала. 🙂

    #3373
    Mikhail
    Модератор

    Хорошо 🙂

    #3408
    kustar
    Участник

    Маленько переделал отображение данных в админе.
    И все же, округление есть!
    В админе выставил точность для параметра D.DDD. В таблицу складываются (и на графике отображаются) данные с округлением во втором знаке после запятой.
    Значения параметра маленькие, меньше 1,0.
    http://postimg.org/image/kagaadtk3/
    В источнике (ОРС) все ок, настоящий float.
    С SQL близко не знаком, подскажите, как посмотреть в базе?

    #3419
    Mikhail
    Модератор

    SQL не нужен.
    1. Посмотрите через оболочку SCADA-Сервера — здесь никакого округления ещё нет. Пример фильтра, если нужен: CnlNum=1
    2. В браузере выберете вывод HTML-кода страницы из контекстного меню. В коде будет хорошо видно, какие данные поступили на страницу.

    Сравните 1 и 2.

    #3423
    kustar
    Участник

    В оболочке сервера текущие, минутные и часовые — 17 знаков после запятой.
    В коде страницы — три знака, как и заказано, но младший знак — всегда ноль.

    #3426
    Mikhail
    Модератор

    Да уж. Это новое или старое веб-приложение?
    Ошибки исправляются только в новом. Есть вероятность, что в новом эта ошибка и не проявится. Видно, что в новом. Посмотрим.

    • Этот ответ был изменен 7 лет, 5 месяцев назад от Mikhail.
    #3429
    Mikhail
    Модератор

    Пришлите, пожалуйста, скриншоты и п.1 и п.2.

    #3431
    kustar
    Участник

    Картинки оболочки сервера и кода страницы.

    http://postimg.org/image/fp1sypl1l/
    http://postimg.org/image/8pt1bqz0l/

    #3439
    Mikhail
    Модератор

    Всё правильно, 0,23988 округляется до 0,240

    #3442
    kustar
    Участник

    Михаил, снимаю все вопросы по округлению. Проблема в моем датчике — в значении, которое он отдает Лектусу, значащие только два знака после запятой. Третий — либо 0 либо 9, остальное — просто шум.
    Потому и график ступенькой.

Просмотр 15 сообщений - с 1 по 15 (из 15 всего)
  • Вы должны авторизироваться для ответа в этой теме.