Не привязывается (в визуализации ItfBase, во фрейме указываем ItfDerived):
Невозможно конвертировать тип 'REFERENCE TO ItfBase' в тип 'ItfDerived'
Вид для печати
Здравствуйте, у меня в устройстве ModBus Master задвоились переменные на вкладке "Соотнесение входов и выходов". Это лечится?
Во вкладке "Канал ModBus Slave" в таблице всё хорошо, а вот там, где привязывать переменные - трэш.
При создании таблицы регистров я использовал кнопки внизу "Вверх"/ "Вниз".
Да и вообще, очень не продуман интерфейс добавления строк и работы с ними, всё нужно делать вручную. Ни скопировать, ни вставить...
Добрый день. Вопросов 2.
1. Возможно ли при помощи библиотеки MQTT_Client подписываться на несколько топиков одновременно.
2. Мне приходят данные в формате строки, я достоверно знаю что в этой строке лежит значение инта була или реала , можно ли как то быстро понять какой тип данных прилетел. Или делать функцию в которой парсить строку
Добрый день. После запуска проекта на выполнение, (ALT+F8) codesys выдает сообщение об ошибке: "неверный пакет результатов". Компиляция проходит без ошибок. Кто знает, где копать? Заранее спасибо. PS: результат один и тот же, если действующий проект заменить бэкапом, который точно рабочий.
Странным образом завис СПК107, продолжал нормально выполнять свои задачи, но сенсорный экран не функционировал... пока обратил на это внимание, уже снес codesys, пставил заново, снес, поставил.... перезагрузка по питанию помогла... кста, наблюдаю отстегивание web-морды после нескольких загрузок исходного кода в СПК при отладке программы... решается перезагрузкой из меню СПК. но такое же не должно происходить? началось после перехода на 17 версию.
доброго дня. Как-то давно прилетело обновление BASIC 3.3.4.0 ну ладно... прилетело и прилетело... с того времени уже немало проектов было сделано, тут понадобилось снести codesys и установить заново, а библиотека BASIC 3.3.4.0 даже на сайте производителя отсутствует.... вот дела... как быть?
Да, такого не должно происходить.
Чтобы разобраться в ситуации - отправьте на support@owen.ru ваш проект и детально опишите, как с его помощью повторить проблему.
Если параметр публикуется без Retain то когда подписываешься на топик после публикации там нет значения.
Протокол MQTT поддерживает подписку на множество топиков. Тот же маскитовский клиент просто подписывается на кучу топиков сразу и ждет параметры.
с библиотекой MQTT_CLient для CODESYS на PLC200 я не знаю возможна ли подписка одновременно на кучу топиков. Я смог реализовать лишь последовательную подписку на топики клиентом пробегаясь по списку топиков.
Ну и проблема что если была публикация без Retain я не вижу параметр потому что в момент публицации читался другой топик из списка.
НУ и это не правильно я считаю когда один клиент посылает брокеру кучу "сабскрайбов" .
Поэтому и спросил а можно ли сразу подписаться списком на топики и просто ждать параметры.
Пока решение для каждого топика свой клиент тогда параметры достоверно будут получены контроллером (около 50-ти клиентов).
П.С. С публикацией таже проблема в общем то приходится постоянно менять переменную сообщения и топика далее публиковать, потом ждать состояния завершения публикации , выключать публикацию менять сообщение и топик и снова публиковать, но это хотя бы работает достаточно стабильно.
В рамках данной библиотеки подразумевается именно этот подход.Цитата:
Я смог реализовать лишь последовательную подписку на топики клиентом пробегаясь по списку топиков.
Честно говоря, не до конца понимаю термин "читался". В MQTT клиент не "читает", а получает сообщение от брокера.Цитата:
Ну и проблема что если была публикация без Retain я не вижу параметр потому что в момент публицации читался другой топик из списка.
На всякий случай уточню - вы же понимаете, что подписку на все нужные топики на топики достаточно сделать однократно при старте приложения?
Вы смотрели через WireShark, что делает "маскитовский клиент", когда "просто подписывается на кучу топиков сразу ?Цитата:
НУ и это не правильно я считаю когда один клиент посылает брокеру кучу "сабскрайбов" .
Вы сказали выше что подписываемся на все топики 1 раз при старте, на сколько я понял это стандартный алгоритм проверки первого запуска в котором мы должны сделать все подписки (1 итерация контроллера) после чего в это условие проверки 1-ого старта больше не попадаем ни когда. Только при след. запуске плк.
Здравствуйте!
Что нужно сделать, чтобы в визуализации у элементов появились свойства-события OnMouseDown и т.п.?
Вложение 70283
Тут описано, как что-то сделать при старте контроллера:
https://www.owen.ru/forum/showthread...l=1#post304642
Теперь по поводу алгоритма:
1. генерируете единичный импульс на входе i_xSubscribe (при этом на входе i_xTopicSubscribe должно быть задано имя первого интересующего топика)
2. дожидаетесь, пока на выходе q_udiState появится значение 67 (подписка прошла успешно) или 90 (подписка не удалась)
3. генерируете следующий единичный импульс и повторяете п. 1-3 с разными названиями топиков
4. когда подпишитесь на все топики - переводите xIsPlcStarted из сниппета по ссылке выше в значение TRUE
Библиотека доступна в исходниках (уточню - это не наша разработка) - так что вы можете понять, как она устроена и адаптировать ее под свои требования.
Евгений, спасибо разобрался. Ваши вопросы помогли выйти из ступора.
Вы уже алгоритм написали ) думаю все ровно пригодится будущим поколениям
Опять наверно к Евгению. Тренды cs 3,5,16-3. Смотрим скрин. Все не проверял, но для оси +5/-15 если дать значение параметра больше ~+2200 то линия тренда вместо того чтоб прижаться к верху прижимается к низу как отрицательное число. И это не >= 2048 , а что то другое. Чисто для сведения, так как был удивлен поведением.
И Вопроc: можно ли как то из программы воздействовать на указанную красным кнопку, так как сдвигают бегунок по центру и графики переходят в режим истории и замораживаются на всегда пока не нажмешь указанную кнопку.
В 3.5.17.3 у меня не воспроизвелось:
Вложение 70285
Насчет вопроса - насколько я знаю, такой возможности нет.
Тренды для CS3.5 от Owen в каком формате будут записывается ? - очень хотелось бы в офисовских форматах типа публиш или тд.
Добрый день, подскажите пожалуйста. Допустим есть здание А. В этом здании 100 датчиков типа сухой контакт (НЗ). Они подключены через адресную метку по Modbus RTU к СПК107. Есть здание Б. В нем 30 датчиков типа сухой контакт, так же подключенных. Возможно ли сделать универсальную программу для двух зданий? Допустим в программе будет 100 адресов и через пульт СПК107 выбрать адреса которые надо опрашивать, а остальные, например, отключать? Или можно и не отключать, а просто у 30 датчиков здания Б, сделать такие же адреса как у 30 из 100 здания А? Возможно будут и другие здания, там будет другое количество датчиков. Если какой то из вариантов можно исполнить, возможно ли сделать какой-нибудь конфигуратор этих датчиков через контроллер. Например, в здании А выбрать адрес 10 и задать ему что это датчик температуры, следовательно в журнале аварий должно отображаться "Превышение температуры", а в здании Б задать 10 адрес датчиком влажности и в журнале аварий должно отображаться "Превышение влажности"?
Свободного места на диске более 100 Гб.
Пробовали установить в точности по инструкции?
https://youtu.be/3KcJWZEVXCg?si=aUbJoppTe9pp7CMd
Как ещё одна попытка -- может, попробовать "починить" Windows её штатными средствами:
sfc /scannow
dism /online /cleanup-image /restorehealth
chkdsk c: /f /v
Два раза пытался установить SoftMotion 4.10.0.0 на SP16.3 (стоит 8 версия). Скачивается и устанавливается SoftMotion 4.14.0.0 с ошибками. Вложение 70409
А на SP 17.3 не могу скачать ничего, ни 12 ни 14 версию (стоит 10)
Какие версии можно поставить на SP 16.3 и SP 17.3 ?
Если в обменнике файлы с SoftMotion 4.10.0.0 и SoftMotion 4.14.0.0 ?
В режиме Login не отображаются данные в тексте программы, в окне определения данных, данные отображаются.
Невозможно отлаживать программу без данных.
Как вернуть обратно данные в текст программы ???
(При перестановке Codesys 3.5 опять тоже самое на всех проектах)