Показано с 1 по 10 из 1642

Тема: CODESYS V3.5. Настройка обмена с другими устройствами (Modbus, ОВЕН, OPC и др.)

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    По-моему, в современных версиях CODESYS (например, 3.5.17.30) поведение следующее:
    - при старте в дереве проекта рядом со слэйвом отображается желтый треугольник, состояние = не запущено
    - при получении первого корректного запроса от мастера индикатор меняется на зеленый круг, состояние = запущено

    И после этого индикатор сохраняет зеленый цвет даже при отсутствии запросов от мастера (потому что с точки зрения слэйва, отсутствие запросов от мастера - это нормальная ситуация).

    В вашем случае, на мой взгляд, проще всего отказаться от слэйва в дереве проекта и поднять его через библиотеку OwenCommunication - в этом случае вы получите нужную вам диагностику.
    Интересующий меня функционал реализовал через OwenCommunication. Столкнулся с проблемой: записываю через OwenCloud переменную типа BOOL в бит регистра slave’а и сохраняю её в программе в RETAIN-переменную. После перезагрузки СПК110 переменная сбрасывается на 0. Это нормальное поведение? Какие существуют способы сохранить значение переменной после перезагрузки?

  2. #2
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    13,603

    По умолчанию

    Цитата Сообщение от rybakov-ks Посмотреть сообщение
    Интересующий меня функционал реализовал через OwenCommunication. Столкнулся с проблемой: записываю через OwenCloud переменную типа BOOL в бит регистра slave’а и сохраняю её в программе в RETAIN-переменную. После перезагрузки СПК110 переменная сбрасывается на 0. Это нормальное поведение? Какие существуют способы сохранить значение переменной после перезагрузки?
    Проще всего - буфер самого слэйва объявить в области RETAIN.
    В данный момент, как я понимаю, вы циклически перезаписываете вашу RETAIN-переменную значением из буфера слэйва - но он-то переинициализруется после перезагрузки.

  3. #3

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Проще всего - буфер самого слэйва объявить в области RETAIN.
    В данный момент, как я понимаю, вы циклически перезаписываете вашу RETAIN-переменную значением из буфера слэйва - но он-то переинициализруется после перезагрузки.
    Работает. Спасибо.

Похожие темы

  1. Настройка ПР200, управление 3-мя устройствами через RS-485
    от Orbes в разделе Среда программирования OWEN Logic
    Ответов: 20
    Последнее сообщение: 15.05.2017, 16:45
  2. СП3ХХ Пример настройка обмена с ПЛК на CODESYS 2.3
    от Denis_Kay в разделе Панели оператора (HMI)
    Ответов: 6
    Последнее сообщение: 02.03.2017, 15:12
  3. Ответов: 43
    Последнее сообщение: 13.04.2015, 14:05
  4. Универсальная функция для обмена с устройствами OwenIO и всеми любимый LabView.
    от Алексей Крагель в разделе Помощь Разработчикам
    Ответов: 0
    Последнее сообщение: 30.05.2014, 13:38

Ваши права

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