Напишите, пожалуйста, на support@owen.ru
Напишите, пожалуйста, на support@owen.ru
vorobev22rus, а opc ua вырезали полностью?
Есть там глюк с отсутствием элементарной переменной в списке переменных для передачи. После этого такая ерунда и творится.
И второй глюк с невозможностью подписаться на новые переменные, если плк долго был в онлайне, как раз перезагрузкой лечится, но до следующих хотелок добавить переменных или другим клиентом подцепиться.
Хотя, конечно, это и не ваш случай...
vorobev22rus какая Scada? или OPC? кто опрашивает?
для теста, разверните RapidScada, в ней есть настройка отключения соединения после опроса. Сделать так. Настроить опрос на OPC UA контроллера, можно и на Modbus TCP, в ней же поднять в источниках данных OPC UA сервер и вашу Scada подключить к ней. (в общем сделать такую прокладку для теста) и понаблюдать.
Я пробовал qModMaster, в дампе трафика - то же самое (инициатор разрыва соединения - ПЛК)
Вложение 83772
Если линию порвать физически и восстановить пока обмен есть?
Товарищи, все получилось, работает как положено и СКАДА и панель оператора. Помогло полностью стереть проект в ПЛК (сброс на заводские), скопилировать и залить заново. Настройки оставил следующие: Менеджер библиотек/OwenCommunication/Settings/g_c_usiMaxCountClients 5; в вызов блока MB_TcpSlave добавил с_tSocketTimeout := TIME#3000ms.
Благодарю неравнодушных!
Доброго дня!
Вопрос в следующем: сконфигурировали OPC UA сервера и загрузили его в СПК210 (или СПК110). При подключении через клиент OPC UA видим следующий путь: DeviceSet -> SPK107 (M01) -> Resources -> Application ....
Почему в пути отображается SPK107 (M01), тогда как используется СПК210 или СПК110 ? Как можно изменить это обозначение или весь путь целиком. Где он формируется?
Добрый день, ALcron.
Потому что система исполнения CODESYS (рантайм) во всех СПК одна и та же. В ней указано DeviceName = SPK107 (M01).Цитата:
Почему в пути отображается SPK107 (M01), тогда как используется СПК210 или СПК110 ?
Для СПК210:Цитата:
Как можно изменить это обозначение или весь путь целиком. Где он формируется?
1. Подключитесь к файловой системе контроллера (например, через утилиту WinSCP).
2. Перейдите в директорию /home/root/CODESYS_WRK
3. Откройте файл CODESYSControl_User.cfg
4. Найдите секцию [CmpOPCUAProviderIecVarAccess]
5. Замените
наКод:;CustomNodeName=MyOpcUaNodeName
Т. е. уберите начальную точку с запятой, а вместо MyOpcUaNodeName укажите нужное вам название (латиницей).Код:CustomNodeName=MyOpcUaNodeName
5. Сохраните изменения в файле.
6. Перезагрузите контроллер, чтобы они вступили в силу.
Для СПК110 потребуется больше усилий; если вам это требуется - то напишите, пожалуйста, на support@owen.ru
В письме приложите ссылку на этот пост.
Спасибо, всё получилось на СПК210
Столкнулся с такой проблемой.
ПЛК210-14CS по одному из портов RS485 по modbus rtu опрашивает через разветвитель NLS-485C-5-ST следующие устройства:
1. на 1-м порту разветвителя контроллер газопоршневого электроагрегата (ГПЭА)
2. на втором порту разветвителя 5 шт преобразователей частоты
3. на третьем порту разветвителя БМРЗ в ячейке (пока отключен)
Если контроллер ГПЭА включен, то ПЛК без проблем опрашивает этот контроллер и все ПЧ. Как только контроллер ГПЭА отключают (снимают питание), связь с ним, само собой, теряется - но также теряется связь и со всеми ПЧ. Если контроллер ГПЭА снова включить, то и связь с ПЧ восстанавливается. Если контроллер ГПЭА отключен (связи с ПЧ нет) и его физически отключить от клемм разветвителя, то связь с ПЧ тут же появляется.
Может сталкивался кто с подобным поведением?
что мешает вам убрать странный прибор и скоммутировать всю цепь напрямую последовательно как по классике?
адресное пространство одно и тоже, запрос мастера всё равно слушают и слышат все слейвы смысл какой в этой железке для вас?
проблема-то не в овене, а в другом железе
А я и не утверждаю, что проблема в овене, у ПЛК210 вопросов пока нет (кроме работы порта Ethernet1, который как выяснилось на ПЛК210-1х работает через раз).
Смысл в железке появляется когда размещение оборудования не позволяет обвязать все последовательно (или это очень неудобно).
Задумкин Сергей в программе ПЛК организован последовательный опрос устройств ?
Разумеется
Задумкин Сергей я к тому, что если у васвот это странно.Цитата:
Если контроллер ГПЭА отключен (связи с ПЧ нет) и его физически отключить от клемм разветвителя
тут бы снифером стать на линию и посмотреть что происходит когда установка просто отключается, без отключения линии и что происходит, когда вы его физически от линии отключаете.
Ну как вариант, после вашего разветвителя повесить на один порт. Ну звезда получится физическая, да у пуп с ней. Но тоже может что-то показать.
Добрый вечер мне нужно реализовать синхронный (блокирующий режим обмена) по 485 интерфейсу на ПЛК210
Все доступные библиотеки это делают в асинхронном режиме и тратят на это несколько тактов.
В документе 'Реализация нестандартных протоколов' упоминается библиотека SysCom, но на нее нет никакого описания.
Подскажите как открыть командой Syscom.SysComOpen второй 485 порт контроллера
hcom:=Syscom.SysComOpen(sPOrt:=4 , presult:=err ); так не получается
или подскажите другую документированную библиотеку
Попробуйте так:
Надо вызвать этот код один раз (а не делать это циклически).Код:hcom:=Syscom.SysComOpen(sPOrt:= SYS_COMPORT4 , presult:=ADR(err) ); // где err имеет тип DWORD или UDINT
Доброе утро. Не могу понять, как работать с coil в Codesys (чтобы другое устройство могло читать данные по 1 функции). Читаю через Modbus Poll функцией 1, 0 адрес. В codesys тоже на все типы данных стоит начальный адрес 0. Объявил bool в задаче, приравнял к 1. Привязывал поочередно ячейки всех типов данных в modbus slave к этой переменной (регистр временного хранения, входной регистр, регистр который coil, дискретный вход. Везде получаю 0, без ошибки неправильного адреса. Slave device соединение видит, после запуска ПЛК и начала опроса загорается зеленым.
Добрый день.
Проще всего в настройках слэйва установить галочку Дискретные битовые области.
Тогда для Сoil'ов в соотнесении будет отображаться отдельная вкладка c названием Обмотки.
Привяжите там свою булевские переменные.
+
Там же справа внизу для параметра Всегда обновлять переменные установите значение Вкл. 2 (Всегда в задаче цикла шины)
Добрый день.
При настройке обмена между двумя контроллерами cds3.5 через сетевые переменные, в контроллере-получателе сетевые переменные отправителя доступны только для чтения?
Спасибо, понял.
Подскажите еще такой момент: насколько я помню, СПК1хх (прошивка под SP17) может работать как шлюз для преобразования Modbus RTU в Modbus TCP. Можно ли построить такую схему:
имеются три контроллера СПК110 (СПК1, СПК2, СПК3).
СПК1 и СПК2 связаны друг с другом кабелем RS-485.
СПК2 и СПК3 подключены к одной локальной сети.
Задача: с СПК3 опрашивать по ModbusTCP два других контроллера.
Может ли СПК2 одновременно служить шлюзом между СПК1 и СПК3, и отдавать свои собственные параметры в режиме Modbus TCPSlave на СПК3?
Если да, для этого нужно создать два устройства "ModbusTCP_Server_Device" в СПК, как я понимаю?
//Не спрашивайте только пожалуйста, почему схема построена именно так, я к этому кошмару отношения не имею, но теперь запускать это мне.
Достаточно одного с включенным режимом Serial Gateway.Цитата:
...работать как шлюз для преобразования Modbus RTU в Modbus TCP...
Если да, для этого нужно создать два устройства "ModbusTCP_Server_Device" в СПК, как я понимаю?
Нюанс - на СПК1 потребуется установить режим контроля четности EVEN.
https://oscat.ru/wp-content/Video/Co...ialGateway.mp4
Добрый вечер!
Есть задача создать мониторинг учёта электроэнергии на предприятии используя счётчики Меркурий 230 и СПК 210 с последующей передачей данных в owencloud и SCADA-систему по протоколу OPC UA. Количество счётчиков около 30 штук, возможно ли настроить обмен с помощью библиотеки OwenVendorProtocols. Будет ли данная система работать стабильно?
maksonsvforum, не все scada одинаково полезны на кривом OPC UA сервере облака Овен.
Меркурий читается секунд 6, один. У вас все 30 планируется опрашивать при помощи СПК?
Ну это полные данные со счётчика.
СПК 210 будет работать в режиме OPC UA сервера с настройкой символьной конфигурации. Если на каждый COM-порт подключить до десяти счётчиков? Проект пока находится на стадии идеи. Хотелось бы знать мнение специалистов.
То есть scada будет опрашивать по opc ua не облако, а СПК? А Облако так же будет опрашивать СПК?
Тогда должно взлететь, вопрос в количестве параметров со счётчиков. Полный набор там порядка 40 сигналов. Если будут нужны только энергии, то кот наплакал.
Почему сразу не читать scada системой счётчики?
Условие Облако Овен?
Именно так, SCADA и облако опрашивают СПК. У нас уже есть проект, который работает более года, реализованный на СПК 107, где настроен обмен по OPC UA с owencloud, количество переменных более 60. При подключении к SCADE ничего не взлетает, с СПК 210 думаю проблем в этом плане недолжно быть. Опрашивать все параметры счётчика нет необходимости, только самые необходимые а это порядком 100-150 переменных. Облако Овен хотелось бы использовать, тем более есть возможность использовать Web-визуализацию. Вопрос только в настройке обмена между СПК и Меркурий. Опыта маловато в этом плане.
Я конечно извиняюсь, но 150 сигналов на 30 счётчиков это по 5 на счётчик.
Энергия от сброса A+, R-, R+ это уже 3. Чё вы там ещё в 2 сигнала на 3-х фазном счётчике хотите получить в итоге?
Филькину грамоту? :)
Блин, любители резать сообщения. Давайте будем честными, криво пишите, криво используете. Сделайте адекватный OPC UA сервер как в облаке, так и в оборудовании и народ не будет об этом писать.
Возник вопрос по Modbus TCP + Persistent переменные в Codesys 3.5 (контроллер ПЛК200, но особого значения это не имеет).
Есть проект, в котором имеется некоторое количество Persistent переменных, их значения изменяются с HMI панели по Modbus TCP (HMI панель Master) и по идее должны сохраняться в ПЛК.
Все переменные объявлены в блоке PersistentVars и имеют предопределенные значения. Соответственно выполнено соотнесение с каналами Modbus TCP.
Проблема - эти переменные при старте контроллера всега равны 0, несмотря на предопределенные значения и сохраненные значения, даже если Modbus мастер не подключен.
Если подключен - тоже 0, пока с панели не ввести значение.
Библиотека для Modbus TCP встроенная в Codesys используется.
Вопрос - что делать ?
Теоретически наверное можно написать программу на ST с транзитными переменными и контролировать состояние подключенного устройства и/или проверять значения переменных на 0 (хотя это в принципе тоже возможное значение) и только тогда присваивать их значения Persistent переменным...
Просто может проще есть решение - типа поставить галочку "не обновлять значение переменных при отсутствии связи"...
Добрый день.
Воспользуйтесь этой инструкцией:
https://owen.ru/forum/showthread.php...l=1#post434909