Спасибо. Буду юзать)
Вид для печати
Спасибо. Буду юзать)
Добрый день!
В середине января при вызове виртуального контроллера стало появляться сообщение о скором завершении действия лицензии.
Указывался срок до 11.02., а сегодня, 7.02., при попытке запустить трассировку произошёл полный сбой, проект закрылся.
При повторной загрузке проекта исчезла пиктограмма виртуального контроллера из системного трея Windows.
Нигде в документации не встречал сообщений о сроках действия лицензий на что бы то ни было.
Прошу помощи.
Добрый день.
Сообщение было такое же, как здесь?
https://owen.ru/forum/showthread.php?t=37378
Если да - то оно просто информирует о том, что скоро будут просрочены SSL-сертификаты.
Ничего страшного в этом нет.
Ваш сбой, вероятно, вообще с этим не связан.
Попробуйте запустить виртуальный контроллер из меню Пуск или через ярлык.
Как создать ярлык:
http://www.owen.ru/forum/showthread....l=1#post271282
обновил проект под SP17 и заругался на это:Вложение 65764
Доброе Вам утро!
Перед сбоем и исчезновением виртуального контроллера при попытке установить связь с ним стал самопроизвольно выскакивать экран, который невозможно никак убрать, кроме как через Диспетчер устройств.
При попытке запуска виртуального контроллера из меню Пуск (файл CODESYS Control Win V3) запускается программа на чёрном фоне.
Вложение 65767Вложение 65768
Добрый день.
1. Это экран таргет-визуализации. Если убрать ее из проекта - то этого экрана не будет.
Убрать его можно и без диспетчера устройств, просто нажмите клавишу Win на клавиатуре и закройте это окно.
2. Вывод лога ("программа на чёрном фоне.") - это нормально и даже полезно.
Но если он вас раздражает - создайте ярлык (ссылку, как это сделать, я оставлял выше) и не указывайте в нем ключ -d.
Пожалуйста.)
Конфигурация трассировки - Отображение - Ось Y - Добавить ось Y.
В настройках переменной трассировки выберите нужную ось.
Вложение 65770
теперь можно два модема добавлять?
Файл касается исключительно Ms SQL.
Для него нужно прописывать, потому что в команде отдается название секции хоста в файле.
Возможно, можно прямо в команде как-то отдавать IP хоста и остальные настройки, но в момент изучения вопроса у меня за разумное время не получилось найти такого варианта - поэтому в примере рассмотрено использование файла конфигурации.
Здравствуйте! Среда разработки Codesys 3.5 SP17. Панели СПК107 (v14 и v17). На реальном оборудовании проект работает, но если я загружаю его в эмулятор, то проект переходит в STOP и на нижней панели красным мигает - программа загружена - исключение. В журнале сообщение "sourceposition*app=sim.device.application]. Подскажите пожалуйста, в чем может быть проблема? Спасибо!
Вложение 65810
А у симулятора есть ограничения? А этот функционал как-нибудь можно узнать (это настройки самого проекта или код)? В некоторых проектах просто симуляция запускается, хотя различий как таковых в проектах нет (codesys ругается на действие, я все содержимое действия коментил, но проблема не ушла)
Да, есть ограничения. Лучше использовать виртуальный контроллер.
https://youtu.be/RgtfIOgKwTY
Пытаюсь подключиться к виртуальному контроллеру. Делаю все по видеоинструкции (по текстовой тоже пытался). На первом этапе контроллер (имя ноутбука) он видит, то как только я хочу подключиться, то Codesys выдает окно логирования. Вводил и Owner без пароля, и нового созданного пользователя, и системного пользователя, но каждый раз появляется ошибка что никакое устройство не отвечает на запрос поиска. Подскажите пожалуйста, в чем может быть проблема? Спасибо!
Вложение 65824
Вложение 65825
Вложение 65826
Ну я пользователя в проекте создал (Owner без пароля для создания новых пользователей работает)
Системный пользователь, я имел ввиду пользователя windows
Да пробовал. Я на форуме находил вопрос, что выскакивает окно логирования и не подключается к контроллеру, но там речь шла о реальном контроллере, а не виртуальном (к реальному СПК у меня ноут подключается)
Я просто никогда раньше не пользовался виртуальным контроллером. Там в настройках никаких разрешений давать не надо?
Здравствуйте, решил попробовать использовать библиотеку Owen Communication для настройки ПЛК210 в качестве Modbus Slave устройства и столкнулся с непривычным для себя поведением. Например, у меня есть INPUT_REGISTER с адресом 0 и HOLDING_REGISTER c адресом 0, каждый содержит переменную типа real, при использовании стандартного шаблона это будут два разных real-а, один который можно просто прочитать, второй прочитать/записать при этом при записи HOLDING_REGISTER-а, INPUT_REGISTER не изменится. Теперь не совсем понятно как добиться аналогично поведения при использовании Owen Communication, если я, например, создам два экземпляра функционального блока MB_TcpSlave и подам в них разные массивы данных, то при записи HOLDING_REGISTER_а будет меняться INPUT_REGISTER, в соответствии с этим вопрос как добиться аналогичного с шаблоном поведения? То есть иными словами, если я правильно понял, то отключить в библиотеке наложение области данных?
Да, когда удалил все csv в данной папке, всё загрузилось. Спасибо!
Только вот проблема из-за которой я с эмулятора на виртуальный ПЛК решил перейти не решилась - контроллер так же уходит в стоп (и порт по библиотеке ComService перестал открываться). Выяснил, что эмулятор (и виртуальный контроллер) ругаются на методы (M) и действия (A) в некоторых FB (даже если удалить из них весь код). Причём реальный СПК их выполняет как надо. Когда заменил методы и действия на обычные FUN программа на эмуляторе заработала как надо (на реальном СПК думаю проблем тоже не возникнет).
Подскажите, есть ли какие-либо ограничения в использовании действий и методов? (все проекты конвертировал из Codesys SP16 в Codesys SP17 с обновлением всех компонентов (в связи с выходом новых СПК). На Codesys SP16 таких проблем не возникало
Нет, никаких ограничений нет.
Выложите, пожалуйста, простейший проект, на котором я смогу повторить вашу проблему.
Что касается ComService - то при запуске на виртуальном контроллере нужно было указать номер виртуального COM-порта ПК.
Вообще, это устаревшая библиотека - рекомендую вместо нее использовать ФБ COM_Control из библиотеки OwenCommunication.
Добрый день.
В рамках библиотеки мы осознанно реализовали модель памяти с наложением всех областей Modbus друг на друга.
Т.е. у нас все регистры сразу и HOLDING (доступны для чтения функцией 0x03 и записи функциями 0x06/0x10) и INPUT (доступны для чтения функцией 0x03).
Если вам нужно, чтобы некоторые регистры были доступны только для чтения - то это можно сделать через запрет запросов (ForbiddenRequests).
Подробнее см. в документации.
Евгений, по Вашему совету все заработало. Но появился другой вопрос - можно ли получать и текст и код ошибки.
Задача в том, что когда вход не равен "0" (NO_ERRORS) - у меня происходит запись сообщения в переменную для телеграмма. И отправляется.
Получается, если я использую тип переменной - Mx210Assistant.ANALOG_SENSOR_ERRORS; - на выходе будет текст.
Если тип REAL, то он одаст число - код ошибки.
И его надо сравнивать с текстом-константой NO_ERRORS или можно как то получить его числом - "0" и использовать блок EQ?
"Он" - это кто? Покажите скриншотом, что именно у вас происходит.Цитата:
Если тип REAL, то он одаст число - код ошибки.
По Вашему совету присвоил тип переменной:
Вложение 65845
назначил её входу:
Вложение 65844
А функцию хотел реализовать такую:
Вложение 65846
То есть, как только значение входа меняется с 0 (NO_ERRORS) на любое другое - происходит отправка сообщения.
И теперь не понимаю как правильно - преобразовать NO_ERRORS в 0 и сравнивать уже нулём или можно получить числовое значение со входа одновременно с текстовым?
NO_ERROR - это просто символьное представление значения "0".Цитата:
И теперь не понимаю как правильно - преобразовать NO_ERRORS в 0 и сравнивать уже нулём или можно получить числовое значение со входа одновременно с текстовым?
Можете оставить, как у вас есть сейчас, но для повышения читабельности - лучше заменить 0 на Mx210Assistant.ANALOG_SENSOR_ERRORS.NO_ERROR.
Евгений, спасибо. действительно с 0 работает. но вот Mx210Assistant.ANALOG_SENSOR_ERRORS.NO_ERRORS куда только не вписывал - так и не заработало. и как тип переменной и как саму переменную с которой сравниваем. компилятор ругается.
Не могу разобраться почему в одном месте не работает блок AND. Ни в симуляторе ни в железе. В остальных местах кода работаеют нормально. Даже пробовал ставить блинк между переменной и блоком AND (типа аналог Sample&Hold) на 1 секунду. всё равно на выходе блока не появляется TRUE
Вложение 65854
Поздравляю с наступающим 10 000)
Мы с вами немного ошиблись - код ошибки называется NO_ERROR (без S на конец).Цитата:
но вот Mx210Assistant.ANALOG_SENSOR_ERRORS.NO_ERRORS куда только не вписывал - так и не заработало. и как тип переменной и как саму переменную с которой сравниваем. компилятор ругается.
Вот пример (eAiStatus имеет тип Mx210Assistant.ANALOG_SENSOR_ERRORS):
Вложение 65861
По скрину складывается ощущение, что этот фрагмент кода у вас не вызывается (например, он добавлен в программу, не привязанную к задачу).Цитата:
Теперь не могу понять почему эта конструкция не работает. И в симуляторе и на железе. При этом в других местах кода блоки AND работают как и должны. Пробовал даже блинк в симуляторе добавлять, чтобы каждую секунду слал - не работает.
Выложите, пожалуйста, простейший проект, в котором я смогу это повторить - тогда смогу назвать точную причину.
Спасибо. =)Цитата:
Поздравляю с наступающим 10 000)
Надеюсь правильно упаковал в архив. Этот блок находится в POU poolMain. Программа вызывается через таск менеджер. Более того она работает сейчас на реальном контроллере. А вот когда у нас пропадает сигнал на poolFlowStatus - PoolCommonAlarm должна уйти в 1 и остановить всё. Но ничего не останавливается в железе.
https://www.icloud.com/iclouddrive/0...D0%9B%D0%9A200
Извиняюсь за размер архива, просто в остальных местах блоки AND работают как и ожидалось