Страница 667 из 859 ПерваяПервая ... 167567617657665666667668669677717767 ... ПоследняяПоследняя
Показано с 6,661 по 6,670 из 8582

Тема: CODESYS V3.5. Вопросы и ответы

  1. #6661

    По умолчанию

    Благодарю, пошёл качать 2.3)

    Цитата Сообщение от Cs-Cs Посмотреть сообщение
    Я делал примерно так:
    1. Структура - описание элемента очереди. У неё была строка сообщения, номер адресата (для СМСок) и флаг "активно" (Active).
    Этот флаг был нужен алгоритму перебора очереди, чтобы понимать что этот элемент ещё не отправлен.

    2. Массив этих структур - сама очередь. Выбрал его жёсткие границы и сделал их в виде константы с названием типа MAX_QUEUE_SIZE для того, чтобы во всех циклах и проверках её использовать, и не было жёстко заданных магических чисел из-за которых циклы выйдут за границы массива.
    Это объявляется примерно так:
    VAR CONSTANT
    MAX_QUEUE_SIZE : WORD := 64;
    END_VAR
    VAR
    arrQueue : ARRAY [1..MAX_QUEUE_SIZE] OF SMSItem;
    END_VAR

    3. Функция "Добавить в очередь". Она в цикле перебирает весь этот массив и ищет элемент, в котором Active = FALSE, заполняет его нужными данными и ставит Active = TRUE.
    Это простой цикл с условием: как только нашли Active = FALSE, делаем нужное действие и по EXIT; выходим из цикла.

    4. Функция "Обработка очереди". Там тоже цикл. Но он ищет первый элемент с Active = TRUE и закидывает данные из него в модем, а сам элемент помечает как Active = FALSE. Выход - тоже по EXIT;.
    Её мы и вызываем по таймеру не чаще, чем нужно.

    Во! =)
    Спасибо огромное. Уже после того как ляпнул про БД - вспомнил про массив структур. Пока не понимаю до конца как правильно обрабатывать это циклом, но буду пробовать повторить)

  2. #6662

    По умолчанию

    beatitas Пожалуйста!
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net | Канал в ТГ @CsCsNetLab

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

    По умолчанию

    Цитата Сообщение от beatitas Посмотреть сообщение
    Благодарю, пошёл качать 2.3)
    не обязательно, oscat библиотека доступна и в 3.5
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  4. #6664

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    не обязательно, oscat библиотека доступна и в 3.5
    Благодарю. Нашёл в OSCAT.basic FIFO12/32. Завтра попробую переделать для wstring. Но всё равно пока не понимаю с какой стороны к нему задержку прикручивать. Если я правильно понимаю - то BLINK на RD. Но как тогда писать - сенсоры же опрашиваются внутри одного цикла ПЛК. Или можно его несколько раз триггерить за цикл? Надо эксперементировать))

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

    По умолчанию

    Записывать нужно всё сколько событий придет, а читать через заданное время, на чем не принципиально, блинк это или таймер или в отдельной задаче с нужным временем цикла
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  6. #6666

    По умолчанию

    нужно мнение спеца по ООП хочу сделать библиотеку что бы каждый раз не писать кучу кода.

  7. #6667

    По умолчанию

    Здравствуйте коллеги, пытаюсь со скады достучаться до ПЛК210(символьные переменные включил Снимок.PNG ) по CoDeSys.OPC.DA при этом появляется сообщение с ошибкой Снимок.PNG . Подскажите, как то можно достучаться со скады до ПЛК по OPC.DA?

  8. #6668

    По умолчанию

    Цитата Сообщение от sssssaaaaabbbbb Посмотреть сообщение
    Здравствуйте коллеги, пытаюсь со скады достучаться до ПЛК210(символьные переменные включил Снимок.PNG ) по CoDeSys.OPC.DA при этом появляется сообщение с ошибкой Снимок.PNG . Подскажите, как то можно достучаться со скады до ПЛК по OPC.DA?
    Opc ua использовать надо, а не da

    Судя по скрину это simple scada. С неё не пробовал, но думаю это возможно, т.к. с rapid и master scada всё нормально идёт через opc ua.
    Последний раз редактировалось МихаилГл; 25.12.2023 в 16:14.

  9. #6669

    По умолчанию

    Цитата Сообщение от МихаилГл Посмотреть сообщение
    Opc ua использовать надо, а не da

    Судя по скрину это simple scada. С неё не пробовал, но думаю это возможно, т.к. с rapid и master scada всё нормально идёт через opc ua.
    Спасибо!!!

  10. #6670

    По умолчанию проблема доступа через web интерфейс

    Здравствуйте . к плк 210 две недели без проблем мог подключаться по веб интрефейсу. решил так же как обычно подключиться и сегодня и вот такой результат:

    /usr/lib/lua/5.1/luci/dispatcher.lua:507: bad argument #1 to 'pairs' (table expected, got nil)
    stack traceback:
    [C]: in function 'pairs'
    /usr/lib/lua/5.1/luci/dispatcher.lua:507: in function 'createtree'
    /usr/lib/lua/5.1/luci/dispatcher.lua:220: in function 'dispatch'
    /usr/lib/lua/5.1/luci/dispatcher.lua:112: in function </usr/lib/lua/5.1/luci/dispatcher.lua:111>


    это как считается нормально? без причин

Страница 667 из 859 ПерваяПервая ... 167567617657665666667668669677717767 ... ПоследняяПоследняя

Похожие темы

  1. Панели оператора ИП320. Вопросы и ответы
    от automat в разделе Панели оператора (HMI)
    Ответов: 861
    Последнее сообщение: 31.12.2025, 23:19
  2. Панели оператора СП3xx. Вопросы и ответы
    от Мурат Ахриев в разделе Панели оператора (HMI)
    Ответов: 4058
    Последнее сообщение: 30.12.2025, 11:10
  3. ИПП120. Вопросы и ответы
    от Р.Александр в разделе Программируемые реле
    Ответов: 273
    Последнее сообщение: 08.09.2025, 13:21
  4. Индикатор ИП120 , вопросы- ответы
    от rovki в разделе Программируемые реле
    Ответов: 56
    Последнее сообщение: 03.11.2017, 15:58
  5. Панели оператора СП270. Вопросы и ответы
    от Давидюк в разделе Панели оператора (HMI)
    Ответов: 930
    Последнее сообщение: 15.05.2017, 17:12

Ваши права

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