Страница 3 из 5 ПерваяПервая 12345 ПоследняяПоследняя
Показано с 21 по 30 из 46

Тема: Что почитать?

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    13,631

    По умолчанию

    А не подскажите еще - как выводить что-то в консоль?
    Что именно вы хотите сделать и с какой целью?

  2. #2

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Что именно вы хотите сделать и с какой целью?
    Просто писать собщения, или сообщения с парметрами. Например, "Клавиша нажата", "Клавиша отпущена через 300 мс". И видеть это где-то в Codesys

  3. #3
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    13,631

    По умолчанию

    Цитата Сообщение от Stan_1 Посмотреть сообщение
    Просто писать собщения, или сообщения с парметрами. Например, "Клавиша нажата", "Клавиша отпущена через 300 мс". И видеть это где-то в Codesys
    Для работы со строками можно использовать переменные типа STRING и WSTRING.
    https://help.codesys.com/webapp/_cds...rsion=3.5.16.0

  4. #4

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Для работы со строками можно использовать переменные типа STRING и WSTRING.
    https://help.codesys.com/webapp/_cds...rsion=3.5.16.0
    Ага, понял Я думал - есть какой-то аналог console.log в JavaScript. Но лога в строковую переменную оказалось достаточно. В общем, задумка получилась. Вроде все работает норм. Одинарный, двойной, тройной клик для включения/выключения до 3-х выходов, и длительный для сброса всех выходов. Спасибо большое!

  5. #5

    По умолчанию

    Евгений, добрый вечер! А подскажите, плз, в режиме эмулятора должен ли работать MQTT Client, то есть отсылать сообщения в брокер? Или он работает в режиме эмуляции без реальной отправки сообщений? Просто делаю

    mqtt.i_sPayload := json;
    mqtt.i_xPublish := TRUE;
    sError := mqtt.q_sDiagMsg;

    Но не вижу ни отправки, ни сообщений об ошибках.

  6. #6

  7. #7

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Попробуйте для начала просто по видео повторить:
    https://youtu.be/3AGJbDp0aaU
    Я посмотрел внимательно видео. Вроде бы так и делаю. Попробовал максимально упростить задачу. И прямо в PLC_PRG написал так:
    mqtt.i_xEnable := TRUE;
    mqtt.i_sBrokerAddress := 'subdomain.domain.com';
    mqtt.i_uiPort := 1883;
    mqtt.i_sUsername := 'user';
    mqtt.i_sPassword := 'password';
    mqtt.i_sPayload := 'starting';
    mqtt.i_sTopicPublish := '/topic11/plc';
    mqtt.i_xPublish := TRUE;

    И после запуска ничего не происходит Я указываю те же данные в приложении MQTT Explorer, и все нормально подключается. То есть коннективити есть, логин/пароль верные.

    По netstat вижу подключения к Gateaway (localhost:1217). Но не вижу обращений к адресу mqtt-брокера.
    Последний раз редактировалось Stan_1; 30.04.2021 в 22:42.

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

    По умолчанию

    Цитата Сообщение от Stan_1 Посмотреть сообщение
    Я посмотрел внимательно видео. Вроде бы так и делаю. Попробовал максимально упростить задачу. И прямо в PLC_PRG написал так:
    mqtt.i_xEnable := TRUE;
    mqtt.i_sBrokerAddress := 'subdomain.domain.com';
    mqtt.i_uiPort := 1883;
    mqtt.i_sUsername := 'user';
    mqtt.i_sPassword := 'password';
    mqtt.i_sPayload := 'starting';
    mqtt.i_sTopicPublish := '/topic11/plc';
    mqtt.i_xPublish := TRUE;

    И после запуска ничего не происходит Я указываю те же данные в приложении MQTT Explorer, и все нормально подключается. То есть коннективити есть, логин/пароль верные.

    По netstat вижу подключения к Gateaway (localhost:1217). Но не вижу обращений к адресу mqtt-брокера.
    так на видео же CFC там сам квадрат ПОУ в ST обозначает что после такого кода должно стоять mqtt();
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  9. #9
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    13,631

    По умолчанию

    Цитата Сообщение от Stan_1 Посмотреть сообщение
    Я посмотрел внимательно видео. Вроде бы так и делаю. Попробовал максимально упростить задачу. И прямо в PLC_PRG написал так:
    mqtt.i_xEnable := TRUE;
    mqtt.i_sBrokerAddress := 'subdomain.domain.com';
    mqtt.i_uiPort := 1883;
    mqtt.i_sUsername := 'user';
    mqtt.i_sPassword := 'password';
    mqtt.i_sPayload := 'starting';
    mqtt.i_sTopicPublish := '/topic11/plc';
    mqtt.i_xPublish := TRUE;

    И после запуска ничего не происходит Я указываю те же данные в приложении MQTT Explorer, и все нормально подключается. То есть коннективити есть, логин/пароль верные.

    По netstat вижу подключения к Gateaway (localhost:1217). Но не вижу обращений к адресу mqtt-брокера.
    Попробуйте для начала просто по видео повторить.

    - используйте CFC
    - используйте в качестве брокера www.mqtt-dashboard.com
    - не используйте логин и пароль
    - воздействуйте на переменные, привязанные к входам i_xPublish и i_xSubscribe "вручную", а не с помощью кода

    Когда в такой связке заработает (а я считаю, что оно должно работать - только что проверил у себя, см. скрин), то поэтапно начинайте адаптировать к своей задаче, после каждого этапа проверяя, сохранилась ли работоспособность. Если после очередного изменения связь пропадет - надо приступать к анализу изменений. Так обычно происходит отладка проектов.

    01-05-2021 8-36-29.png

  10. #10

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Попробуйте для начала просто по видео повторить.

    - используйте CFC
    - используйте в качестве брокера www.mqtt-dashboard.com
    - не используйте логин и пароль
    - воздействуйте на переменные, привязанные к входам i_xPublish и i_xSubscribe "вручную", а не с помощью кода

    Когда в такой связке заработает (а я считаю, что оно должно работать - только что проверил у себя, см. скрин), то поэтапно начинайте адаптировать к своей задаче, после каждого этапа проверяя, сохранилась ли работоспособность. Если после очередного изменения связь пропадет - надо приступать к анализу изменений. Так обычно происходит отладка проектов.

    01-05-2021 8-36-29.png
    Да, спасибо! Вчера весь вечер возился, и как-то оно заработало. Но очень нечетко. И есть нюансы, смысла которых я не понимаю, а описание очень скудное
    1. Первое, что выяснил - нельзя вызывать mqtt() внутри FB Изначально была логика иметь в PLC_PRG настроеный экземпляр, передавать его в FB, где указывать топик, payload, устанавливать i_xPublish в TRUE, и вызывать mqtt(). Это не работало. Как только я вынес все указанное за пределы FB в PLC_PRG - я увидел факт передачи. Уже успех. Но почему это не работает внутри FB - не понимаю. Видимо, аналогия из моего пограммисткого опыта, что FB - это просто функция, неверна. У FB есть какие-то ограничения, на описание которых я не натыкался.
    2. Долго не мог понять, почему MQTT_Client режет json, который я подготовил. Потом понял - передаю строку более 80 символов. Как указать STRING(250) для i_sPayload - не нашел Это вообще возможно, или начинать смотреть в сторону платных бибилиотек? Там у библиотеки 3S длина 1024 символа.
    3. Хотя я вызываю функцию mqtt() раз в 2 секунды, отправка данных идет ОДИН раз за запуск. Видимо, есть опят какие-то базовые нюансы, которые нужно просто знать Я пробовал по разному: пробовал после вызова mqtt() вызывать i_xPublis = FALSE. Пробовал менять Payload (была версия, что отправляются только измененные данные, хотя в исходниках вроде не так). Но ничего не помогло. И здесь мыслей вообще нет. Видимо, есть какие-то особенности именно работы PLC, которые я фундаментально не понимаю

Страница 3 из 5 ПерваяПервая 12345 ПоследняяПоследняя

Похожие темы

  1. Посоветуйте что почитать, чтобы научиться программировать
    от OAS1606 в разделе Программируемые реле
    Ответов: 44
    Последнее сообщение: 16.04.2021, 13:17
  2. Что интересного почитать? Канал на Яндекс.Дзен от датчиков ОВЕН!
    от Алексей Сидорцев в разделе Трёп (Курилка)
    Ответов: 0
    Последнее сообщение: 06.12.2019, 21:59
  3. Описание по энкодерам. Где почитать?
    от TV13M в разделе Трёп (Курилка)
    Ответов: 3
    Последнее сообщение: 26.01.2018, 09:02

Ваши права

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