Очень познавательная ссылка на ночь глядючи. :o
Вид для печати
Визуализация в клиенте открывается не в полноэкранном режиме. Особенно печально с этим обстоит когда использую смартфон с Хромом. Может кто-то знает как сделать, чтобы на любом устройстве открывалось в Fullscreen?
Если вы режим Kiosk емете в виду, то он на стороне клиента настраивается. И Chrom кажется больше не поддерживается.
Добрый день всем!
Вопрос касательно VNC. Распберри стоит на даче, управляет кое-какими девайсами, оснащен тач-экранчиком. Крутится приложение для управления GPIO, написанное на Python + Tkinter. Так вот, я планирую, когда на даче, то управлять этим приложением с локального экранчика, а когда дома, то делать то же самое, но через VNC. Однако ,к моему разочарованию, так сделать не получается. Если я запускаю это приложение локально, то через VNC его не видно на рабочем столе и наоборот. Т.е. как будто бы есть два независимых друг от друга рабочих стола. Меня это не устраивает, мне нужно одно приложение, т.е. как будто бы я работал через Тим Вьювер. На той же панельке Вейнтек VNC работает как надо - я вижу, как мой удаленный сотрудник клацает софт-кнопки, меняет экраны визуализации и пр.
Прошу сильно ногами не пинать, я в этом деле не специалист, а гугл ничего путнего не говорит, какие запросы я не делал. Возможно, нужно поменять что-то в настройках VNC-сервера?
Доброго времени.
Достал из закромов Raspberry - накатил последний Codesys SP17 на комп, поставил рантайм на распберри.
Но никак не дам ума Ethernet --> Modbus TCP Master --> Modbus Slave
Оно вообще работает?
Поставил OPC на компьютер в режиме Slave - на работает на малине.
Достал из закромов ПЛК110 - добавил туда Slave - не работает на малине.
Игрался с таргетами, задержками, настройками Ethernet (lo, eth0, wlan0) - по барабану.
Накатил библиотеку от Овен - OCL (OwenCommunication) - все работает.
Может есть хитрость?
ЗЫ
Про 30 минут и работу промышленных интерфейсов читал, пробовал перезагружать - эффект тот же.
Добрый день.
Должно.
Cкорее всего, хитрость в Unit ID - у OPC Инсата (думаю, вы используете его) и ПЛК110 по умолчанию Unit ID = 1, а в CODESYS V3.5 - 255.
Вложение 55734
Добрый день!
Столкнулся тут с одной неприятной штукой. Сделал в Raspberry и CODESYS V3.5 SP17 сервер TCP/IP. Хотя, судя по всему, (западные форумы) эта проблема, особенно вторая, есть и на других контроллерах, но не видно, что бы кто-то ее решил. Итак, сервер сделан на CAA NBS. Сам по себе вроде работает. Данные ходят в обе стороны. Но - есть две серьезные проблемы.
Первая - если мы удаленную железку-клиент сбрасываем по питанию, то дескриптор соединения hConnection так и не сбрасывается в ноль. Далее только при ОПЯТЬ загруженной железке и посылке любого пакета ИЗ Codesys он обнуляется. Во всяком случае, ненулевым он может быть минут десять, хотя железки уже нет, что совершенно неприемлимо в большинстве случаев. Т.е. как будто нет возможности задать некий тайм-аут для входящих соединений. Но это еще как-то можно было бы решить периодической посылкой сообщений из Codesys в сторону железа.
Далее еще интереснее. Как только после иммитации сбоя железка пробует переподключится, то дескриптор обнуляется, флаг отключения клиента fbTcpConnection.xDonе также становится True, но сервер в Codesys больше не принимает от нее соединения! Пробовал по этому флагу в основном цикле выключать fbTcpConnection и fbTcpServer, а потом включать их - не помогает. Пришлось сделать ребут Системы исполнения, только это помогает:
IF fb_TcpServer.Client_Disconnect THEN
SysProcess.SysProcessExecuteCommand('sudo service codesyscontrol restart', pRes);
END_IF
Может, я вообще как-то неправильно работаю с сервером? В PLC_PRG он объявлен как fb_TcpServer: TcpServer; Далее я просто вызываю его в основном цикле как fb_TcpServer();. В этом же цикле обращение к данным например как fb_TcpServer.abyTx[0].... и так далее. Сами данные ходят в две стороны нормально.
Да тут бы не помешало основательно разобраться. В CoDeSys и ModBus TCP Slave падает постоянно если он в общей сети. Пока от Овна слышу только что сети у меня поганые (что в целом тоже правда). Но это не отменяет того факта что CoDeSys с ними неправильно работает.
Грустно слышать от квалифицированного специалиста настолько ультимативные и необоснованные высказывания.
Корректнее было бы сказать "у меня ModBus TCP Slave падает постоянно если он в общей сети."
Я сейчас поднял TCP Slave на нашем демонстрационном ПЛК, который в интернете висит - можете проверить, как он работает.
79.171.127.12, Unit ID = 1, доступны регистры 0...1023.
Вложение 55950
Евгений, я поправляюсь. У меня на CS3 пока ни один ModBus TCP Slave устойчиво не работал. Правда я его восновном на СПК207 пытался поднимать. Сейчас я вижу схожую картину на СПК107 У СЕБЯ. Основательно с ней разобраться я смогу только через неделю с выездом на объект но на данный момент подвисает ФБ ModBus TCP Slave из OCL. Сеть поганая в том смысле что 502 портом СПК сейчас через проброс выходит сразу в интернет. При этом сам СПК продолжает работать. Я предлагаю совместно разобраться в этом вопросе и я с удовольствием признаю что я столько лет что-то неправильно делаю.
Люди, подскажите все же, плиз, насчет VNC (пост #313), буду очень благодарен
Здравствуйте.
Пару слов о покупке лицензии.
На сайте codesys положил в корзину лицензию MC за 100евро. Предложили пройти регистрацию. Указал почту gmail.com, местожительство Великобритания.
Финальная сумма 119 евро(с налогами). После ввода карты, ключ пришёл мгновенно.
Списали 10170 руб. Я остался доволен. А в Смоленске сказали, что уже поздно и пятница, пишите на почту, в понедельник выставим счёт.
Интересно если местом жительства выбрать какой-нибудь офшор то можно будет не заплатить НДС
Да только начиная с 16 версии в MC больше не включена SoftMotion лицензия :(((( + еще 100 за лицензию хотят. Потом похоже за каждое новое модбас устройство придется доплачивать.
https://youtu.be/pLbpOA73SAY Raspberry PI управление 6 осным роботом.
https://www.youtube.com/watch?v=8Z1gWrRagoo управление без использования softmoitio SM3_Robotics
Вся кинематика открыта
https://cloud.mail.ru/public/2vXW/dwb7kkZ6f
Всем привет.
В качестве ПЛК будет RPi4. На ней крутится распбиан.
В codesys настраиваю подключение, но постоянно получаю ошибку: "Установка активного пути прервана".
Подскажите что я не так делаю?
Вам нужно на малину накатить официальный последний образ, обновления ни в коем случае на малину не ставить.Цитата:
Подскажите что я не так делаю?
Накатить рантайм 4.4
На комп sp17 пач 3
И всё будет работать как часы или даже лучше.
Я установил в менеджере пакетов "CodeSys Control for Raspberry PI 4.2.0.0"
Потом выполнил "Upgrade Raspberry". Ошибок не было, только служебные сообщения.
Потом выбрал мультипроцессорный вариант системы.
Создаю новый "Стандартный проект". При этом выбираю устройство "CODESYS Control for Raspberry Pi SL".
Потом возникает такое окно:
Вложение 59807
Добавляю пользователя устройства
Но потом не могу все равно войти:
Вложение 59808
Что я делаю не так? Может мультипроцессорная система платная?
Сейчас попробую runtime 4.4
А codesys у меня V3.5 SP17 Patch2 64 бит
4.2 не совместима с последним образом Расбиана.Цитата:
Я установил в менеджере пакетов "CodeSys Control for Raspberry PI 4.2.0.0
Ставьте предыдущий образ 4.2 на нём заработает. Обновления ни в коем случае.
Понял. Спасибо.
Sergeba где-то murdemon писал выше по теме по изменению лицензирования на новых версиях. Так что аккуратнее с обновлением.
Всем привет.
Подскажите как, что и когда загружается внутрь Raspbian? А то я что-то запутался...
До этого внутри Raspberry был загружен проект с миганием светодиода 1сек/1сек
Итак:
1. Создаем новый проект. В нем самый обычный банальный blink с интервалом мигания 5сек/5сек. Выводим это мигание на светодиод и в веб-визуализацию.
2. Генерируем код. Правильно ли я понял, что в железку еще ничего не загружается?
3. Делаем "Логин". Зачем нужна эта операция? Проект уже загрузился в железку?
4. Нажимаем "Старт". Это мы уже запускаем бесконечный цикл ПЛК. Так?
5. Через браузер наблюдаем за миганием и вживую тоже видим, что светодиод мигает. Как и задавали 5сек/5сек.
А далее:
6. Заходим в железку через SSH.
7. Выполняем команду "sudo service codesyscontrol restart". Т.е. перегружаем RealTime в железке. Проходит 3-5 сек.
8. CodeSys начинает ругаться из-за потери связи. Но мы его пока не трогаем.
9. Бац! Светодиод мигает с частотой 1сек/1сек. И в браузере тоже интервал мигания 1сек/1сек. Но так было в старом проекте! Т.е. каким-то образом старый проект в нем запустился? Как так-то?
Что было дальше:
10. Заходим снова в железку через SSH.
11. Выполняем команду "sudo reboot". Т.е. перегружаем железку полностью. Проходит 30 сек.
12. Цикл ПЛК запускается автоматически. Т.е. он прописался в systemd (как вариант). Но светодиод мигает с частотой 1сек/1сек. И в браузере тоже интервал мигания 1сек/1сек. Опять старый проект! Как так-то?
P.S. Складывается впечатление, что когда вы логинетесь (п.3), то ваш текущий проект загружается в оперативную память в железке и выполняется от туда. Если вы разлогинетесь (штатной кнопкой CodeSys), то только тогда ваш текущий проект уже загружается на карту памяти (перетирает старый проект).
Можете пояснить?
Спасибо.
Надо не просто код загрузить, но и выполнить загрузочный проект. В одном случае вы просто в оперативку грузите программу, в другом меняете уже сам проект.
Не думаю, что такие великие отличия от версии 2.3
Здравствуйте. Качнул сегодня CodeSys sp18. Для raspberry pi. Качнулось и установилось без проблем. А вот расширения, CODESYS Installer установить не дал. Настроил vpn и все нужные пакеты скачались. Других подводных камней пока больше нет. Интерфейс всё ещё на Великом и Могучем...
Да, это очень удобно.
Вот проект CodeSys, который реализует автоматическую запись всех retain-ов на карту памяти Raspberry каждые 5 секунд, если было изменение в значениях.
Кусок кода для сохранения retain оформлен как отдельная программа RetainManager и запускается отдельной задачей (Task) каждые 5 сек.
В основной программе retain используются без каких-либо особенностей.
Можно запустить Web-визуализацию и поиграться с переменной newVar (она retain).
Путь к файлу для переменных retain указан '/home/pi/Retain'. Файл будет называться Retain.ret. Это можно изменить.
Часто в описаниях забывают добавить про необходимость импортировать библиотеки CmpAdd и CmpChecksum.
Подскажите, почему не отрабатывается команда Linux? Делаю по этому документу: RaspberryCodesysV3Faq.pdf пункт 14: "Как вызвать Python-скрипт из программы CodeSys?"
1. Создал файл file.py и включил его в проект. После запуска будет создан тестовый файл "new_test_file.txt" с записью "Hello, world"
Скрытый текст:
2. Сделал проект:
Скрытый текст:
Но непонятно отрабатывает ли он или нет. Тестовый файл "new_test_file.txt" не создается. bFlag переходит в состояние TRUE. Т.е. условие отработалось.
Права на исполнение дал (chmod).
Если просто в терминале набрать "sudo python3 /var/opt/codesys/PlcLogic/Application/file.py", то отрабатывает нормально (появляется тестовый файл).
А внутри проекта CodeSys не отрабатывает.
Что я делаю не так?
Привет. Кто-нибудь знает как перевести Raspberry на работу по httpS в web-визуализации? Принципиально это возможно?
Понадобились мне системные дата/время на Raspberry Pi4. И как-то не задалось. Перепробовал множество примеров - бесконечные проблемы с библиотеками/типами и т.п... Не будет ли кто-нибудь так любезен поделиться реально работающим примером?
Вам нужно настроить дату/время или получить их значения в PLC_PRG (основной проге)?