Pronto72 зато там есть Linux, смотреть команды в CodeSys которые смогут выполнить команды в системе... Или настройте ntp клиента в системе
Вид для печати
Pronto72 зато там есть Linux, смотреть команды в CodeSys которые смогут выполнить команды в системе... Или настройте ntp клиента в системе
Привет.
Вышел новый Raspberry Pi Imager версии 1.7.2 (для накатывания образа Raspbian).
Он записывает на карту памяти систему Raspbian и может теперь сразу же задавать первичные параметры системы: наличие SSH, HostName, WiFi и проч.
Но CodeSys с ним работает плохо. Зависает через 10-20 секунд работы.
Кто-нибудь сталкивался с этим?
Вложение 61991
Лучше образ ставить с realtime патчем на rp2 , и рантайм multicore
Ну и ставь старый , если тебе ждитерр сигналов не критичен, то можно и без реал тайм патча, https://youtube.com/shorts/VbcZS3Jn0I4?feature=share
Привет.
Хочу получить IP-адрес своей Raspberry.
Читал, что необходимо использовать SysProcessExecuteCommand2, т.к. она может отдать значение команды назад в CodeSys.
Операнд команды будет такой:
ip -f inet addr show eth0 | sed -En -e 's/.*inet ([0-9.]+).*/\1/p'
В терминале он возвращает:
192.168.9.103
Но как получить это в строке в ST программе?
Есть у кого пример использования?
Скрытый текст:
Спасибо.
UP: Пробовал с командой echo Hello, Owen! (должна вернуть Hello, Owen!).
Но результата нет:Код:PROGRAM PLC_PRG
VAR
bTest : BOOL;
testTrigger : Standard.R_TRIG;
sCommand : STRING;
refCommand : REFERENCE TO STRING;
sOutput : STRING;
refOutput : REFERENCE TO STRING;
result : POINTER TO SysProcess.SysTypes.RTS_IEC_RESULT; ---------- Странно...
END_VAR
testTrigger(CLK:= bTest, Q=> );
sCommand:= 'echo Hello, Owen!';
refCommand REF= sCommand;
refOutput REF= sOutput;
IF testTrigger.Q THEN
SysProcessExecuteCommand2(pszCommand:= refCommand, pszStdOut:= refOutput, udiStdOutLen:= SIZEOF(sOutput), pResult:= ADR(result));
bTest:= FALSE;
END_IF
Вложение 62033
В общем, получилось узнать свой IP!
Вложение 62056Код:PROGRAM PLC_PRG
VAR
xOneTime : BOOL := TRUE;
sInput, sOutput : STRING;
refInput, refOutput : REFERENCE TO STRING;
result : POINTER TO SysProcess.SysTypes.RTS_IEC_RESULT;
sMyIP: STRING;
END_VAR
IF xOneTime THEN
sInput:= 'ip -f inet addr show eth0 | sed -En -e "s/.*inet ([0-9.]+).*/\1/p"';
refInput REF= sInput;
refOutput REF= sOutput;
SysProcessExecuteCommand2(pszCommand:=refInput, pszStdOut:=refOutput, udiStdOutLen:=SIZEOF(sOutput), pResult:=ADR(result));
// IP приходит с завершающим символом, который нужно убрать.
sMyIP := LEFT(sOutput, LEN(sOutput)-1);
xOneTime:= FALSE;
END_IF
Нужно бы еще конечно добавить проверку IP от беспроводной сети. Ведь Raspberry может быть подключена и по WiFi. Тогда команда в Linux будет:
'ip -f inet addr show wlan0 | sed -En -e "s/.*inet ([0-9.]+).*/\1/p"'
Т.е. если по eth0 возвращается строка с длинной 0, то повторять процедуру для wlan0.
Скрытый текст:
возможно первая команда подойдет по ссылке https://owen.ru/forum/showthread.php...l=1#post335165 чтоб не перебирать интерфейсы
Привет.
Кто-нибудь пробовал реализовать обмен по шине EtherCAT в RaspberryPi? Контроллеры Овен не поддерживают, увы.
Я хочу подключить модуль ввода-вывода (т.е. не движение). Например, вот этот модуль.
Потянет ли Raspberry это?
Потянет ли среда CodeSys3.5 это?
Какие подводные камни появятся?
Нужна ли покупка доп.лицензий, доп.оборудования?
Спасибо.
murdemon где-то в теме выше писал, что EtherCAT выпилили из сборки Raspberry, в первых версиях он был в составе и лицензия на RT стоила около 50 евро + 19% налог если не ошибаюсь...
теперь так понимаю еще + стоимость лицензии на EtherCAT добавится
Вот эта лицензия? ссылка (https://store.codesys.com/en/codesys...master-sl.html).
А там есть время безлицензионной работы? Ну, типа, как 2 часа у самой CodeSys?
да, вроде 2 часа и было. На счет доп лицензии для EtherCAT не уверен, а сам CDS должен 2 часа работать
Да ethercat работает 2 часа , как и рантайм, без лицензии
Привет.
А как перевести визуализацию с порта 8080 на порт 80?
and add in /etc/CODESYSControl.cfg the following section:
[CmpWebServer]
WebServerPortNr=80
Спасибо. Заработало.
Добрый день. Подскажите, в Символьной конфигурации 2 переменных Int и WORD.
OPC клиент SimpLight видит и работает с переменной типа Int, а с WORD не может работать, пишет тип Null.
Другие клиенты могут работать с этой переменной, но нужно именно этот клиент. Подскажите, как можно решить данную проблему?
MUSulmanin, А разве ручками в конфигураторе нельзя поменять тип на Word?
В инструкции пишут что можно, если прога криво определила.
https://simplight.ru/manual_next/rab...i/tipy-kanalov
С чего вы взяли, WORD прекрасно читается, на скрине из 30 переменных, 14 шт. WORD Вложение 63893
Через символьную конфигурацию, Скада SimpLight.
В общем протестировал я это модуль.
Максимальная частота обмена по шине 10000 циклов в секунду. Но джиттер большой на такой частоте. Лучше работать на 5000-7500 циклов в секунду.
Каждый цикл - это и запись, и чтение (там 16 входов и 16 выходов). Шина открытая (т.е. не кольцевая).
При этом т.к. порт Ethernet занят в малинке4, то приходится использовать Wi-Fi или свисток USB-Ethernet для загрузки проекта.
На 10000 циклов можно дергать ножной с частотой в 5кГц.
Вложение 64516
При этом фактический обмен по шине EtherCat длится 39 мкС, но в настройках нельзя задать это значение менее 100 мкС.
Вложение 64517
И одно ядро постоянно загружено на 95% (Raspberry4, 2Gb).
Вложение 64518
Привет.
Подскажите, можно ли установить на одну Raspberry сразу два экземпляра CodeSys RunTime?
Привет.
Подскажите, а ест ли библиотека для работы с устройствами по шине I2C (для костомного устройства, а не для тех, которые уже имеются в составе CodeSys) ?
Добрый день.
Подскажите, как от этого избавится...кто в курсе?
Все уже переустановил: Codesys переустановил, на RPi новую OS накатил...и все равно просит.
Может кто в курсе? Вложение 65398
Привет. Попробую задать вопрос тут.
Как правильно отдать пользователю файл через визуализацию?
Я хочу, чтобы по нажатию на графический примитив выполнялась отдача файла пользователю.
Делаю так, как показано в приложенном рисунке. Но файл не отдается. Может настройка неверная? Пробовал с разными вариантами контроллеров: СПК это отрабатывает. Raspberry - не хочет.
Спасибо.
Вложение 65728
О каком именно из двух рисунков речь?Цитата:
Делаю так, как показано в приложенном рисунке.
Выложите скриншот из Putty, WinSCP или чего-нибудь подобного, на котором будет видно, где именно в файловой системе Raspberry Pi находится ваш about.txt.
Вот конкретно файл ololo18.pdf:
Вложение 65739
И не скачивается.
Вложение 65740
Ну я сделал все заново. Старые скрины уже не актуальны.
Всё же... Файл лежит в нужной директории?
Вот так?
Вложение 65741
Не работает.
Конфиг-файл редактировали?
https://faq.codesys.com/display/CDSF...C+Filetransfer
https://faq.codesys.com/display/CDSF...iguration+file
После того, как я вставляю в конец файла /etc/CODESYSControl.cfg следующие строки:
[CmpWebServerHandlerV3]
AllowFileTransferServices=1
я всегда получаю после перезагрузки малинки в браузере требование ввести логин и пароль:
Вложение 65747
Сейчас еще раз проведу чистые эксперимент и отпишусь.
Не работает.
Ладно, Евгений. Я чуть попозже повешу Raspberry на белый IP и дам вам доступы.
Было бы неплохо, если бы вы сами глянули. Потому как это какае-то дичь!
Но на СПК работает.
Здравствуйте.
Повесил Raspberry на белый IP.
Нужна ваша проф.помощь.
Доступы отправил в личку.
Хочется все же разобраться, почему эта железка не позволяет скачивать файлы.
Если нужно, я могу карточку памяти в железке отформатировать и установить свежую систему. Чтобы был чистый эксперимент.
Вложение 65765Вложение 65765