Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Возник такой вопрос, сейчас в Codesys V3.5 SP17 Patch 3 при настройке ModbusTCPSlave появилась возможность выставить настройку "Запись". Тогда как в обучающих видео этот функционал отсутствует и рекомендуется использовать библиотеку OwenCommunicaton. Какой способ предпочтительнее? Или эти два способа сейчас полностью равнозначны?
Настройка "Запись" позволяет организовать запись в holding-регистры со стороны программы контроллера.
Но даже сейчас описанные два способа неравнозначны.
Например, с помощью библиотеки очень легко разместить данные регистров слэйва в RETAIN.
В случае стандартного компонента - сделать это будет очень трудоемко (поскольку память слэйва переинициализиуется при запуске компонента).
Кроме того, наш блок поддерживает запрет обработки определенных запросов, чтение файлов с помощью 20 функции Modbus и у него нет искуственного ограничений на число регистров (у нас - 65355, у стандартного компонента - 4096)
С другой стороны, в стандартном компоненте области памяти Modbus раздельные (т.е. Discrete Inputs/Coils/Input регистры/Holding регистры - это отдельные области памяти с совпадающей адресацией), а у нас все они "наложены" друг на друга. Наша библиотека будет работать только на наших ПЛК, а стандартный компонент - на всех ПЛК с CODESYS V3.5, у которых активирована лицензия Modbus.
Так что выбор конкретного способа зависит от особенностей вашей задачи.
Последний раз редактировалось Евгений Кислов; 07.12.2022 в 13:43.
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Коллеги! Наверное кто-то уже сталкивался с такой проблемой:
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.
Добрый день.
См. пример. Создан в V3.5 SP17 Patch 3.
https://ftp.owen.ru/CoDeSys3/99_Foru...00user.project
https://ftp.owen.ru/CoDeSys3/99_Foru...pro100user.txp
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Возникла такая проблема, для коммуникации с внешним миром используется библиотека 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.
Если оно систематически растет - то происходит утечка дескрипторов.
Пример возможной причины - регулярно происходит открытие файлов без их закрытия.
Вероятнее всего - проблема на уровне вашего проекта.
Загрузите пустой проект и если в нем дескрипторы утекать не будут - то приступайте к отладке вашего проекта.
Добавляйте в пустой проект фрагменты вашего проекта и после каждого добавления контролируйте, не начали ли утекать дескрипторы.
Когда начнут - то вы будете знать, в каком фрагменте проекта есть проблема.
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk