Страница 91 из 131 ПерваяПервая ... 41818990919293101 ... ПоследняяПоследняя
Показано с 901 по 910 из 1308

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

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

    По умолчанию

    Цитата Сообщение от Sashakkk Посмотреть сообщение
    Отправил на почту
    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Проект получил, завтра утром проверю и отпишусь.
    Воспроизвел у себя. Это баг на стороне CODESYS.
    Можете поднять слэйв через библиотеку OwenCommunication - в ней таких проблем не будет.

  2. #902

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Воспроизвел у себя. Это баг на стороне CODESYS.
    Можете поднять слэйв через библиотеку OwenCommunication - в ней таких проблем не будет.
    Спасибо, буду пробовать.

  3. #903

    По умолчанию

    Возник такой вопрос, сейчас в Codesys V3.5 SP17 Patch 3 при настройке ModbusTCPSlave появилась возможность выставить настройку "Запись". Тогда как в обучающих видео этот функционал отсутствует и рекомендуется использовать библиотеку OwenCommunicaton. Какой способ предпочтительнее? Или эти два способа сейчас полностью равнозначны?

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

    По умолчанию

    Цитата Сообщение от knoppix Посмотреть сообщение
    Возник такой вопрос, сейчас в Codesys V3.5 SP17 Patch 3 при настройке ModbusTCPSlave появилась возможность выставить настройку "Запись". Тогда как в обучающих видео этот функционал отсутствует и рекомендуется использовать библиотеку OwenCommunicaton. Какой способ предпочтительнее? Или эти два способа сейчас полностью равнозначны?
    Настройка "Запись" позволяет организовать запись в holding-регистры со стороны программы контроллера.

    Но даже сейчас описанные два способа неравнозначны.

    Например, с помощью библиотеки очень легко разместить данные регистров слэйва в RETAIN.
    В случае стандартного компонента - сделать это будет очень трудоемко (поскольку память слэйва переинициализиуется при запуске компонента).

    Кроме того, наш блок поддерживает запрет обработки определенных запросов, чтение файлов с помощью 20 функции Modbus и у него нет искуственного ограничений на число регистров (у нас - 65355, у стандартного компонента - 4096)

    С другой стороны, в стандартном компоненте области памяти Modbus раздельные (т.е. Discrete Inputs/Coils/Input регистры/Holding регистры - это отдельные области памяти с совпадающей адресацией), а у нас все они "наложены" друг на друга. Наша библиотека будет работать только на наших ПЛК, а стандартный компонент - на всех ПЛК с CODESYS V3.5, у которых активирована лицензия Modbus.

    Так что выбор конкретного способа зависит от особенностей вашей задачи.

  5. #905

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Настройка "Запись" позволяет организовать запись в holding-регистры со стороны программы контроллера.

    Но даже сейчас описанные два способа неравнозначны.

    Например, с помощью библиотеки очень легко разместить данные регистров слэйва в RETAIN.
    В случае стандартного компонента - сделать это будет очень трудоемко (поскольку память слэйва переинициализиуется при запуске компонента).

    Кроме того, наш блок поддерживает запрет обработки определенных запросов и чтение файлов с помощью 20 функции Modbus.
    Спасибо за ответ. Я про равнозначность имел ввиду тот самый базовый функционал в виде возможности записи в holding-регистры со стороны программы контроллера. А вот замечание пре RETAIN отличное, воспользуюсь вашим блоком.

  6. #906

    По умолчанию

    Коллеги! Наверное кто-то уже сталкивался с такой проблемой:
    1. Связка по Ethernet СПК110 (Master) <--------> СП310 (Slave).
    2. На обоих устройствах в визуализации клавиши. Они должны быть связаны друг с другом. Они дублируют друг друга.
    При нажатии одной клавиши - другая реагирует, и наоборот. Они не должны дребезжать.
    3.СПК110 (Master) среда программирования CodeSys 3.5.
    4.СП310 (Master) среда программирования Конфигуратор СП300.
    Вопросы:
    1.Как связать на CFC или на ST эти две клавиши, чтобы не было дребезга, так как получается петля?
    (Идет сигнал на запись по триггерной переменной в CП310. Затем идет считывание из СП310 и получается замкнутый круг.)
    2.Как определить программно, что переменная изменилась из-за нажатия клавиши, а не по считыванию или по записи?
    3.Как устранить дребезг, связанный с зацикливанием? Как разорвать порочный круг?

    Если у кого есть решение - подскажите, а лучше приложите примерчик на CodeSys 3.5. Буду весьма признателен.
    Последний раз редактировалось pro100user; 20.01.2023 в 18:39.

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

    По умолчанию

    Цитата Сообщение от pro100user Посмотреть сообщение
    Коллеги! Наверное кто-то уже сталкивался с такой проблемой:
    1. Связка по Ethernet СПК110 (Master) <--------> СП310 (Slave).
    2. На обоих устройствах в визуализации клавиши. Они должны быть связаны друг с другом. Они дублируют друг друга.
    При нажатии одной клавиши - другая реагирует, и наоборот. Они не должны дребезжать.
    3.СПК110 (Master) среда программирования CodeSys 3.5.
    4.СП310 (Master) среда программирования Конфигуратор СП300.
    Вопросы:
    1.Как связать на CFC или на ST эти две клавиши, чтобы не было дребезга, так как получается петля?
    (Идет сигнал на запись по триггерной переменной в CП310. Затем идет считывание из СП310 и получается замкнутый круг.)
    2.Как определить программно, что переменная изменилась из-за нажатия клавиши, а не по считыванию или по записи?
    3.Как устранить дребезг, связанный с зацикливанием? Как разорвать порочный круг?

    Если у кого есть решение - подскажите, а лучше приложите примерчик на CodeSys 3.5. Буду весьма признателен.
    Добрый день.
    См. пример. Создан в V3.5 SP17 Patch 3.

    https://ftp.owen.ru/CoDeSys3/99_Foru...00user.project
    https://ftp.owen.ru/CoDeSys3/99_Foru...pro100user.txp

  8. #908

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Добрый день.
    См. пример. Создан в V3.5 SP17 Patch 3.

    https://ftp.owen.ru/CoDeSys3/99_Foru...00user.project
    https://ftp.owen.ru/CoDeSys3/99_Foru...pro100user.txp
    Евгений! Спасибо за оперативный ответ. Стало ясно как разорвать петлю.

  9. #909

    По умолчанию

    Возникла такая проблема, для коммуникации с внешним миром используется библиотека OwenCommunication (3.5.11.6) и блок OCL.MB_TcpSlave. Где-то раз в 12-13 часов любая коммуникация с ПЛК пропадает, выход usiCurrentCountClients становится равным 0, при этом на блоке никаких ошибок не висит, количество подключённых клиентов не превышает допустимое (8), обычно подключено 3-4 клиента, задачи в ПЛК выполняются. Восстановление связи происходит только после перезагрузи ПЛК по питанию, сбросы, полная перезаливка программы не помогает. Также не подгружаются файлы в оболочке ПЛК, а в логах с высокой частотой выходит ошибка:

    Could not open /dev/random: Too many open files (24) вызванная компонентом SysCrypto.

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

    По умолчанию

    Цитата Сообщение от knoppix Посмотреть сообщение
    Возникла такая проблема, для коммуникации с внешним миром используется библиотека OwenCommunication (3.5.11.6) и блок OCL.MB_TcpSlave. Где-то раз в 12-13 часов любая коммуникация с ПЛК пропадает, выход usiCurrentCountClients становится равным 0, при этом на блоке никаких ошибок не висит, количество подключённых клиентов не превышает допустимое (8), обычно подключено 3-4 клиента, задачи в ПЛК выполняются. Восстановление связи происходит только после перезагрузи ПЛК по питанию, сбросы, полная перезаливка программы не помогает. Также не подгружаются файлы в оболочке ПЛК, а в логах с высокой частотой выходит ошибка:

    Could not open /dev/random: Too many open files (24) вызванная компонентом SysCrypto.
    Добрый день.
    По описанию - происходит утечка хэндлов (дескрипторов).
    Проверить это можно так - в дереве проекта в узле Debug присвойте TRUE каналу Enable Debug и наблюдайте за значением канала Open Files.
    Если оно систематически растет - то происходит утечка дескрипторов.
    Пример возможной причины - регулярно происходит открытие файлов без их закрытия.

    Вероятнее всего - проблема на уровне вашего проекта.
    Загрузите пустой проект и если в нем дескрипторы утекать не будут - то приступайте к отладке вашего проекта.
    Добавляйте в пустой проект фрагменты вашего проекта и после каждого добавления контролируйте, не начали ли утекать дескрипторы.
    Когда начнут - то вы будете знать, в каком фрагменте проекта есть проблема.

Страница 91 из 131 ПерваяПервая ... 41818990919293101 ... ПоследняяПоследняя

Похожие темы

  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, 14:38

Ваши права

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