Просмотр полной версии : MasterSCADA 4D OPC UA+Crevis (CoDeSys 3.5)
Доброго времени суток, коллеги.
Есть MS4D и CoDeSys 3.5. Хочу по OPC UA передавать данные туда/сюда.
Настроил в CDS связь c физическим контроллером Crevis GN-9482, создал REAl переменные (ибо проблема только в них bool и INT работают).
Далее создал в MS4D такую же связь с контроллером по OPC UA - она есть и данные передаются из контроллера в MS4D без всяких вопросов.
Сложность возникает тогда, когда я из скады передаю данные в отладочном режиме в Дереве Системы в PLC. Они просто записываются в Выход и не записываются в само значение переменной реал и, как следствие, не пишутся в PLC.
В чём сюрприз может заключаться?:o
МихаилГл
25.06.2025, 20:15
Буквально пол часа назад читал руководство по мс4. И на глаза попалась фраза, что новый мс4 по умолчанию вместо real использует lreal, для повышения точности отображения..
Доброго времени суток, коллеги.
Есть MS4D и CoDeSys 3.5. Хочу по OPC UA передавать данные туда/сюда.
Настроил в CDS связь c физическим контроллером Crevis GN-9482, создал REAl переменные (ибо проблема только в них bool и INT работают).
Далее создал в MS4D такую же связь с контроллером по OPC UA - она есть и данные передаются из контроллера в MS4D без всяких вопросов.
Сложность возникает тогда, когда я из скады передаю данные в отладочном режиме в Дереве Системы в PLC. Они просто записываются в Выход и не записываются в само значение переменной реал и, как следствие, не пишутся в PLC.
В чём сюрприз может заключаться?:o
Раскройте выход - пока там статус не будет Good, значение не будет передаваться. Чтобы появился Good - свяжите Выход с каким-нибудь элементом (переменная, окно ввода значения)
МихаилГл
25.06.2025, 20:30
Как в этой скаде люди работают... Завтра надо начинать проект, а я как баран на нее смотрю..
Раскройте выход - пока там статус не будет Good, значение не будет передаваться. Чтобы появился Good - свяжите Выход с каким-нибудь элементом (переменная, окно ввода значения)
Не знаю, правильно ли понял, но вывел на стартовое окно реал1. Вывел всё что есть по нему - вход выход и основная переменная. Что получилось в фото снизу.
Результат тоже на фото.
Да и с целочисленным же работает без бубенцов...
Буквально пол часа назад читал руководство по мс4. И на глаза попалась фраза, что новый мс4 по умолчанию вместо real использует lreal, для повышения точности отображения..
Поменял на LREAL - результат тот же.
Как в этой скаде люди работают... Завтра надо начинать проект, а я как баран на нее смотрю..
ёжики кололись и плакали, но продолжали есть кактус
Не знаю, правильно ли понял, но вывел на стартовое окно реал1. Вывел всё что есть по нему - вход выход и основная переменная. Что получилось в фото снизу.
Результат тоже на фото.
Да и с целочисленным же работает без бубенцов...
Выглядит на скринах хорошо.
А в первом посте предупреждение к непривязанным переменным в кодесисе к этим трём real переменным относится? Может это влияет?
Выглядит на скринах хорошо.
А в первом посте предупреждение к непривязанным переменным в кодесисе к этим трём real переменным относится? Может это влияет?
ну вот как-то так
ну вот как-то так
Может в контроллере дело, как вариант попробовать на каком-нибудь эмуляторе сервера opc ua
Sergey361
26.06.2025, 10:58
Нужно запускать сторонний сервер OPC на ПК, пробовать тоже самое с ним. Тогда будет понятно, где проблема.
Попробуйте вот с этим (https://downloads.prosysopc.com/opcua/apps/JavaServer/dist/5.5.4-384/prosys-opc-ua-simulation-server-windows-x64-5.5.4-384.exe)эмулятором
Попробуйте вот с этим (https://downloads.prosysopc.com/opcua/apps/JavaServer/dist/5.5.4-384/prosys-opc-ua-simulation-server-windows-x64-5.5.4-384.exe)эмулятором
Как у этой штуки создавать real?
Я вот думаю может попроовать создать в кодесиське с эмулятором ?
ТОлько вот в скаде какой IP прописывать в OPC UA своего компа?
Так, значение 12.0 из эмулятора в MS4D ушло, а вот значение 15.0 из Скады в эмулятор нет
Как у этой штуки создавать real?
Я вот думаю может попроовать создать в кодесиське с эмулятором ?
ТОлько вот в скаде какой IP прописывать в OPC UA своего компа?
Так, значение 12.0 из эмулятора в MS4D ушло, а вот значение 15.0 из Скады в эмулятор нет
Вот отсюда
84556
Попробовал - у меня пишет скада в эмулятор
Вот отсюда
84556
Попробовал - у меня пишет скада в эмулятор
Значит попробовать переустановить саму скаду. А какая версия у тебя стоит?
Значит попробовать переустановить саму скаду. А какая версия у тебя стоит?
1.3.8.24611
1.3.8.24611
У меня 1.3.5.19381
Скачал новую версию и всё заработало..т.е. в старых версиях не работало...
И даже без создания всяких окон, переменных, что я и хотел получить.
Тут новая задачка появилась - MasterSCADA 4D просто роняет контроллер в shutDown. Пингует до смерти. Хотя переменных всего 313 штук. Устал воевать с таймаутами. Попробовал передавать слова по протооклу modbus TCP. - работает, но очень медленно. Надо ждать когда данные запишутся в контроллер секунд 10. И не могу передать биты. ВОрды ходят хорошо.
Шпаргалка такая:
Адрес %MX200.0 = %MW100, считаем по формуле (2048+”адрес”)*16, в формулу подставляем адрес MW так как %MX200.0 => адрес =34368. %MX200.1 => 34369 (пока не получается с битами разобраться). С вордами - всё типтоп
Если вы указываете адрес, как %MX то сначала идёт номер БАЙТА, а потом номер БИТА. При этом если вы указываете номер бита 8, то он переезжает на*следующий*БАЙТ
А ворды надо к адресу добавить 16384.
С битами тоже разобрался. Надо указывать тип COILS в переменной
МихаилГл
15.07.2025, 16:56
Я вроде победил эту скаду после недели изучения. Чтоб не плодить тэги все булевы как получаемые, так и отправляемые на плк запаковал в dword. Нормально работает. С 3500 дискретных тэгов до 155 сборных ужал. Сначала в lword, который на 64 бита запаковал, но словил косяк системы, система в компоненте динамики видит только 32 бита, остальные не видит, видимо компоненты сами dword используют.. Пришлось перепаковывать. Уже столько косяков нашел за 2 недели начала работы с этой скадой, что просто ужас. У них там что, тестировщиков нету совсем..
Я вроде победил эту скаду после недели изучения. Чтоб не плодить тэги все булевы как получаемые, так и отправляемые на плк запаковал в dword. Нормально работает. С 3500 дискретных тэгов до 155 сборных ужал. Сначала в lword, который на 64 бита запаковал, но словил косяк системы, система в компоненте динамики видит только 32 бита, остальные не видит, видимо компоненты сами dword используют.. Пришлось перепаковывать. Уже столько косяков нашел за 2 недели начала работы с этой скадой, что просто ужас. У них там что, тестировщиков нету совсем..
ТОже такого мнения, тестирование происходит за счёт покупателей...
В Codesys как запаковывать? Вдруг пригодится, а то я с ним пока не очень.
МихаилГл
15.07.2025, 17:45
peremennaya.0:= bitluboyi и так до 31 бита.
Пеоеменная это dword
Они тестировщикам деньги не доплачивают... заказчики разргебают самостоятельно окольными путями. :)
отсутствие тестировщиков или малое их количество это норма...
МихаилГл
15.07.2025, 19:09
Зато когда баги побеждал такой бажиЩе нашел, что буду юзать его сам. Есди б они узнали, поседели б
Зато когда баги побеждал такой бажиЩе нашел, что буду юзать его сам. Есди б они узнали, поседели б
а разве в одном сплошном баге можно найти баг? красавчег!
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot