Показано с 1 по 8 из 8

Тема: В режиме симуляции часть программы работает, а при подключени к ПЛК-110 нет

  1. #1

    По умолчанию В режиме симуляции часть программы работает, а при подключени к ПЛК-110 нет

    Здравствуйте! На ПЛК-110 дописал код, при прохождении объема в 10 литров выдает импульс. В режиме симуляции код работает, при подключении к ПЛК не вычисляется переменная rashodPodpitki, хотя на переменную Q_podpitki значения приходят. Я подозреваю что при выполнении на контроллере ,программа не успевает зайти в условие IF uch THEN, в те доли секунды пока uch= TRUE . Хотя вот отрицательные значения переменной Q_podpitki начинает высчитывать.Дозировка_подпитки.png

  2. #2

    По умолчанию

    Цитата Сообщение от NIK-85 Посмотреть сообщение
    Здравствуйте! На ПЛК-110 дописал код, при прохождении объема в 10 литров выдает импульс. В режиме симуляции код работает, при подключении к ПЛК не вычисляется переменная rashodPodpitki, хотя на переменную Q_podpitki значения приходят. Я подозреваю что при выполнении на контроллере ,программа не успевает зайти в условие IF uch THEN, в те доли секунды пока uch= TRUE . Хотя вот отрицательные значения переменной Q_podpitki начинает высчитывать.Дозировка_подпитки.png
    Контроллер (цикл 1-10 мс) работает быстрее симуляции (цикл около 64 мс), код не может не успеть куда то зайти. Ищите причину в проекте.

    У вас идёт суммирование, а в следующем IF rashodPodpitki>0.01 сброс расхода.
    Последний раз редактировалось kondor3000; 19.04.2024 в 20:01.

  3. #3

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Контроллер (цикл 1-10 мс) работает быстрее симуляции (цикл около 64 мс), код не может не успеть куда то зайти. Ищите причину в проекте.

    У вас идёт суммирование, а в следующем IF rashodPodpitki>0.01 сброс расхода.
    Да проблема в проекте. Почему то ПЛК-110 с модуля MB110-8A параметры Registr input считывает адекватно, а REAL input нет. По тому как отображаются значения, кажется что порядок чтения данных REAL из регистров модуля выставлен неверно.Не мог найти где можно изменить? Параметр Byte Sequense в конфигурации модуля изменял.Результата нет.

  4. #4

    По умолчанию

    Цитата Сообщение от NIK-85 Посмотреть сообщение
    Да проблема в проекте. Почему то ПЛК-110 с модуля MB110-8A параметры Registr input считывает адекватно, а REAL input нет. По тому как отображаются значения, кажется что порядок чтения данных REAL из регистров модуля выставлен неверно.Не мог найти где можно изменить? Параметр Byte Sequense в конфигурации модуля изменял.Результата нет.
    Плохо меняли, Byte Sequense надо поставить Native, для правильной передачи. Byte Sequense - это перестановка регистров.
    Если у вас не заработало, значит надо Проект/Очистить всё/ Компилировать всё и загрузить проект ещё раз.
    Так же надо проверить правильность адресов параметров REAL, для 8А первый REAL - адрес 4, функция чтения 0х03.
    Последний раз редактировалось kondor3000; 24.04.2024 в 18:38.

  5. #5

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Плохо меняли, Byte Sequense надо поставить Native, для правильной передачи. Byte Sequense - это перестановка регистров.
    Если у вас не заработало, значит надо Проект/Очистить всё/ Компилировать всё и загрузить проект ещё раз.
    Так же надо проверить правильность адресов параметров REAL, для 8А первый REAL - адрес 4, функция чтения 0х03.
    Сделал все так как вы написали.Не работает.5-ый вход модуля, но пробовал и с первых 4-х считывать REAL, тоже какая то ерунда идет. Скрины прилагаю Снимок экрана 2024-04-25 100247.pngСнимок экрана 2024-04-25 095928.png
    PS: ПЛК вот не перезагружал.Но у него проблемы со стартом программы(после перезагрузки по питанию, программа стартует через 20 минут).Поэтому лишний раз боюсь перезагружать, как бы совсем не зависла
    Последний раз редактировалось NIK-85; 25.04.2024 в 10:23.

  6. #6
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,251

    По умолчанию

    Сделал все так как вы написали.Не работает.5-ый вход модуля,
    ув. kondor3000 ошибся
    Byte Sequense надо поставить TraceMode, которое переставляет регистры как 3412
    Именно 3412 всё 32-битное во всех текущих овен-модулях.
    А еще посмотрите real/command - 03 или 04

    Заводской сброс/Проект очистить всё - должно стать рефлексом. Не парит что
    Но у него проблемы со стартом
    это другая проблема
    Последний раз редактировалось Валенок; 25.04.2024 в 11:45.

  7. #7

    По умолчанию

    Цитата Сообщение от NIK-85 Посмотреть сообщение
    Сделал все так как вы написали.Не работает.5-ый вход модуля, но пробовал и с первых 4-х считывать REAL, тоже какая то ерунда идет. Скрины прилагаю
    PS: ПЛК вот не перезагружал.Но у него проблемы со стартом программы(после перезагрузки по питанию, программа стартует через 20 минут).Поэтому лишний раз боюсь перезагружать, как бы совсем не зависла
    В любом случае переставлять регистры можно с помощью Byte Sequense
    Похоже уже забыл, потому как давно не использую REAL input, а только групповое чтение массивами с помощью String https://owen.ru/forum/showthread.php?t=35094#10
    Примеры записи, чтения через STRING https://owen.ru/forum/showthread.php...l=1#post244022

    Или структурами https://owen.ru/forum/showthread.php?t=10555&page=987
    Последний раз редактировалось kondor3000; 25.04.2024 в 14:01.

  8. #8
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,251

    По умолчанию

    отому как давно не использую REAL input, а только групповое чтение массивами с помощью String
    Да там всё просто.

    Byte Sequense это неправильное* название. Правильное Word Sequense.
    В этом случае "нативный" это порядок слов (именуемых регистрами) тот же, что и в самих пакетах, а TraceMode это перестановка слов в 32-битных блоках (real, dword ..)
    То что в КДС зовется string это просто набор абстрактных слов (регистров)
    Byte Sequense к стрингу никакого отношения не имеет, в stringe всегда "нативный" порядок регистров

    *Или же термин Native некорректен, т.к. нативный здесь - сырой порядок байт в пакете (именно то, что приходит например в модбас либ), а получаемые именно регистры (без разницы - string/real) конфигурация КДС принудительно приводит от сетевого порядка слов 21 к локальному 12.

    Примеры:
    Сырой порядок байт в пакете для 2x 32-битных от модулей (если лежат друг за другом) 43218765
    Модбас либ (сислибком по сути) так и видит 43218765

    string конфигурации (при запросе 4 регистров разом) приведет 21 к 12 и выдаст 34127856, т.е еще нужно переставить пары слов для 12345678
    real/native (2 регистра) приведет только 21 к 12 и выдаст => 3412 (еще нужно переставить пару слов)
    real/trace mode (2 регистра) приведет 21 к 12 и переставить слова и выдаст сразу 1234

Похожие темы

  1. Owen Logic и Easybuilder Pro в режиме симуляции.
    от soslanrev в разделе Среда программирования OWEN Logic
    Ответов: 2
    Последнее сообщение: 18.01.2023, 12:00
  2. Экран в режиме симуляции (ПР200)
    от Xroft в разделе Среда программирования OWEN Logic
    Ответов: 2
    Последнее сообщение: 23.05.2018, 18:16
  3. EasybuilderPro и ТРМ212 в режиме онлайн-симуляции.
    от rs1983 в разделе Панели оператора (HMI)
    Ответов: 7
    Последнее сообщение: 14.02.2018, 10:19
  4. Ограничения на количество переменных в режиме симуляции?
    от ida в разделе Среда программирования OWEN Logic
    Ответов: 4
    Последнее сообщение: 06.02.2017, 22:30
  5. Энергонезевисимые переменные в режиме симуляции?
    от ida в разделе Среда программирования OWEN Logic
    Ответов: 3
    Последнее сообщение: 05.02.2017, 15:32

Ваши права

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