Страница 33 из 39 ПерваяПервая ... 233132333435 ... ПоследняяПоследняя
Показано с 321 по 330 из 384

Тема: Codesys v3 + Raspberry Pi

  1. #321
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,586

    По умолчанию

    Pronto72 зато там есть Linux, смотреть команды в CodeSys которые смогут выполнить команды в системе... Или настройте ntp клиента в системе

  2. #322

    По умолчанию

    Привет.
    Вышел новый Raspberry Pi Imager версии 1.7.2 (для накатывания образа Raspbian).
    Он записывает на карту памяти систему Raspbian и может теперь сразу же задавать первичные параметры системы: наличие SSH, HostName, WiFi и проч.
    Но CodeSys с ним работает плохо. Зависает через 10-20 секунд работы.

    Кто-нибудь сталкивался с этим?
    RPIimager.png

  3. #323
    Пользователь Аватар для murdemon
    Регистрация
    03.02.2014
    Адрес
    Санкт-Петербург
    Сообщений
    844

    По умолчанию

    Лучше образ ставить с realtime патчем на rp2 , и рантайм multicore
    Dmitriy Murashov
    SPS Software Engineer Automation Engineering RUS

  4. #324

    По умолчанию

    Цитата Сообщение от murdemon Посмотреть сообщение
    ...образ с realtime патчем на rp2
    А где можно взять этот образ?

    Я ставлю "Raspberry Pi OS (32-bit) от 2022-04-04" и он работает плохо. Зависает. Пробовал на разных платах.
    А старый образ "Raspbian-buster от 2020-02-13" работает нормально.

  5. #325
    Пользователь Аватар для murdemon
    Регистрация
    03.02.2014
    Адрес
    Санкт-Петербург
    Сообщений
    844

    По умолчанию

    Ну и ставь старый , если тебе ждитерр сигналов не критичен, то можно и без реал тайм патча, https://youtube.com/shorts/VbcZS3Jn0I4?feature=share
    Dmitriy Murashov
    SPS Software Engineer Automation Engineering RUS

  6. #326

    По умолчанию

    Привет.
    Хочу получить IP-адрес своей Raspberry.
    Читал, что необходимо использовать SysProcessExecuteCommand2, т.к. она может отдать значение команды назад в CodeSys.

    Операнд команды будет такой:
    ip -f inet addr show eth0 | sed -En -e 's/.*inet ([0-9.]+).*/\1/p'

    В терминале он возвращает:
    192.168.9.103

    Но как получить это в строке в ST программе?
    Есть у кого пример использования?

    Скрытый текст:
    А может есть готовая библиотека, которая возвращает IP ?

    Спасибо.

    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
    Но результата нет:

    get_ip.png
    Последний раз редактировалось ВладОвен; 05.08.2022 в 17:25.

  7. #327

    По умолчанию

    В общем, получилось узнать свой IP!
    Код:
    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
    myIP.png
    Нужно бы еще конечно добавить проверку IP от беспроводной сети. Ведь Raspberry может быть подключена и по WiFi. Тогда команда в Linux будет:
    'ip -f inet addr show wlan0 | sed -En -e "s/.*inet ([0-9.]+).*/\1/p"'
    Т.е. если по eth0 возвращается строка с длинной 0, то повторять процедуру для wlan0.

    Скрытый текст:
    Зачем мне нужно знать свой IP?
    На этой плате Raspberry запущен сервер на другом порту, который отдает видео от видеокамеры. Камера наблюдает за испытуемым изделием.
    А на основной странице CodeSys вставлен графический элемент Web-сервер. Так вот в поле URL и вставлен наш IP в виде
    "http://my_IP:my_Port". Если перенести это устройство в другую сеть, то адрес видео-сервера автоматически определится. А основная программа загружается сама в браузере в режиме киоска. Профит!
    Видео.png
    Последний раз редактировалось ВладОвен; 30.08.2022 в 11:15.

  8. #328
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,225

    По умолчанию

    Цитата Сообщение от ВладОвен Посмотреть сообщение
    В общем, получилось узнать свой IP!
    Код:
    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);
        xTest:= FALSE;
    END_IF
    myIP.png
    Нужно бы еще конечно добавить проверку IP от беспроводной сети. Ведь Raspberry может быть подключена и по WiFi. Тогда команда в Linux будет:
    'ip -f inet addr show wlan0 | sed -En -e "s/.*inet ([0-9.]+).*/\1/p"'
    возможно первая команда подойдет по ссылке https://owen.ru/forum/showthread.php...l=1#post335165 чтоб не перебирать интерфейсы
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  9. #329

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    возможно первая команда...
    Эта?
    ip route | grep 'default' | awk '{print $3}'

    Она возвращает IP роутера, а не ПЛК
    192.168.1.1

  10. #330

    По умолчанию

    Привет.
    Кто-нибудь пробовал реализовать обмен по шине EtherCAT в RaspberryPi? Контроллеры Овен не поддерживают, увы.
    Я хочу подключить модуль ввода-вывода (т.е. не движение). Например, вот этот модуль.
    Потянет ли Raspberry это?
    Потянет ли среда CodeSys3.5 это?
    Какие подводные камни появятся?
    Нужна ли покупка доп.лицензий, доп.оборудования?
    Спасибо.


Страница 33 из 39 ПерваяПервая ... 233132333435 ... ПоследняяПоследняя

Похожие темы

  1. CoDeSys V3 и ноутбук
    от smk1635 в разделе СПК2хх
    Ответов: 14
    Последнее сообщение: 23.09.2020, 08:11
  2. codesys v3
    от nevii в разделе ПЛК3хх
    Ответов: 3
    Последнее сообщение: 18.09.2014, 12:23
  3. ПЛК110 и CoDeSys v3
    от DIG в разделе ПЛК1хх
    Ответов: 32
    Последнее сообщение: 09.11.2011, 18:02
  4. CodeSys V3
    от nnesterov в разделе ПЛК3хх
    Ответов: 13
    Последнее сообщение: 05.04.2010, 15:12
  5. CoDeSys v3
    от Alor в разделе Трёп (Курилка)
    Ответов: 1
    Последнее сообщение: 02.12.2008, 10:48

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •