Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 11

Тема: проблема с МВА8

  1. #1
    Пользователь
    Регистрация
    02.09.2008
    Сообщений
    7

    По умолчанию проблема с МВА8

    Здравствуйте!
    Помогите разрешить ситуацию: МВА8 соединен с ПЛК150 по Modbus RTU, связь работает. Подключаю датчик (термопреобразователь сопротивления), и его показания я в контроллере вижу. Но стоит только значению стать кратным 0.125 (Например 24.5, 27.125, 26.25) то оно здесь и зависает, т.е. в течение как минимум секунд 30, а то и пары минут, оно совсем не изменяется.
    Если смотрю МВА8 через конфигуратор, то такого не наблюдается. В чем может быть причина?

  2. #2
    Пользователь
    Регистрация
    02.09.2008
    Сообщений
    7

    По умолчанию

    Совсем забыл: работаю с ПЛК150, прошивка 2.03, таргет 2.02.

  3. #3
    Ельцов Андрей
    Гость

    По умолчанию

    А если опрашивать не через конфигуратор, а через протокол modbus. Программкой какой-нибудь.
    Какие регистры опрашиваете?

  4. #4
    Пользователь
    Регистрация
    02.09.2008
    Сообщений
    7

    По умолчанию

    Опрашиваю через Modbus Poll.
    Датчик подключен к 1му входу.
    Значение в Modbus Poll отображается, но по адресу 0004.
    И оно не зависает, когда нужно изменяться - изменяется.

  5. #5
    Пользователь
    Регистрация
    02.09.2008
    Сообщений
    7

    По умолчанию

    В конфигураторе настроил два входа, 1й и 4й. К обоим подключается термопреобразователь сопротивления. Но на 1м он действительно подключен, а на 4м нет - якобы обрыв.
    Так вот, запускаю программу на ПЛК. Когда контроллер "остановлен", 1й вход показывает комнатную температуру, с 5 знаками после запятой; 4й вход равен "0". Показания температуры изменяются - значения правильные. Нажимаю "старт" на контроллере - буквально пару секунд и значение температуры стало равно 27.125, на 4м входе значение стало равно 9.183409е-041. Всё, показания зависли.

    P.S. Пока писал сообщение, первый вход тоже принял значение 9.183409е-041.

  6. #6
    Пользователь
    Регистрация
    02.09.2008
    Сообщений
    7

    По умолчанию

    Это все происходит если использую стандартный модуль подключения к МВА8.
    Если использую Universal Modbus Device (добавляю 2 переменные типа Real Input module, даю им адреса 1го и 4го входов МВА (адрес 4 и адрес 22 соответственно)), то в этом случае никакого "зависания" значений не происходит. Но теперь показание датчика "скачет" между переменными - то 1я равна температуре в помещении, то 2я; хотя 2я вообще не должа ничего показывать - на ней обрыв

  7. #7

    По умолчанию

    Цитата Сообщение от paa Посмотреть сообщение
    Это все происходит если использую стандартный модуль подключения к МВА8.
    Если использую Universal Modbus Device (добавляю 2 переменные типа Real Input module, даю им адреса 1го и 4го входов МВА (адрес 4 и адрес 22 соответственно)), то в этом случае никакого "зависания" значений не происходит. Но теперь показание датчика "скачет" между переменными - то 1я равна температуре в помещении, то 2я; хотя 2я вообще не должа ничего показывать - на ней обрыв
    Выложите, пожалуйста, проект для ПЛК и конфигурационный файл МВА.

  8. #8
    Пользователь
    Регистрация
    02.09.2008
    Сообщений
    7

    По умолчанию

    С зависанием значений я кажется разобрался: в стандартном модуле неиспользуемые переменные заменил на EmptyMVA[SLOT] и все заработало (не подумал что это может быть так критично).
    А вот с "прыгающими" значениями не до конца.
    Выкладываю проект, конфигурацию на МВА, и файл архива - там показано что показания скачут с одной переменной на другую.
    НО! На данный момент я только разбираюсь с ПЛК и МВА. И в этом проекте, помимо общения с МВА, также изучал архивирование и самостоятельную запись чего-либо в свой файл. Так вот. Если я убираю строчки кода, где открываю свой файл, пишу в него, читаю с него, закрываю его, то никаких скачков не происходит.
    Посмотрите пожалуйста проект и скажите, почему при работе с файлом может возникнуть такая проблема.

  9. #9

    По умолчанию

    Всё просто:
    Вы открываете файл, записываете в него данные, закрываете, снова открываете, читаете, закрываете.
    И делаете это 1000 раз в секунду. Винда бы, наверное, сдохла от такого обращения.
    ПРОСТО НЕ ХВАТАЕТ ПРОИЗВОДИТЕЛЬНОСТИ ПЛК И FLASH ДЛЯ ОБРАБОТКИ ТАКОГО ДИКОГО КОЛИЧЕСТВА ЗАПРОСОВ К ФАЙЛОВОЙ СИСТЕМЕ.
    P.S. К тому-же Вы убиваете свой ПЛК, ресурс файловой системы исчерпается за 300000000 записей/(1000х3600)попыток в час=83 часа!
    Абсолютный рекорд!

  10. #10
    Пользователь
    Регистрация
    02.09.2008
    Сообщений
    7

    По умолчанию

    Даже так... тогда я действительно неплохо его понасиловал.
    Спасибо за ответ.
    Я так понимаю архивирование с помощью модуля также гробит файловую систему, да?

Страница 1 из 2 12 ПоследняяПоследняя

Ваши права

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