Страница 666 из 859 ПерваяПервая ... 166566616656664665666667668676716766 ... ПоследняяПоследняя
Показано с 6,651 по 6,660 из 8582

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

  1. #6651

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Используйте вместо Modbus Poll другое ПО, в котором есть логи - например, Modbus Universal MasterOPC
    https://masteropc.ru/download
    не получается
    Снимок.PNG

  2. #6652

    По умолчанию

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

  3. #6653

  4. #6654

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Выложите лог OPC-сервера и ваш проект CODESYS.
    https://cloud.mail.ru/public/C9Yc/Se5dJF2sY

  5. #6655

    По умолчанию

    Цитата Сообщение от Cs-Cs Посмотреть сообщение
    beatitas Я делал на СМСках от обратного: брал таймер BLNIK и раз в NN секунд просматривал очередь сообщений.
    Если там что-то было - отправлял.
    Благодарю.
    Буду пробовать, но это усложняет задачу на написание буфера для очереди сообщений. Пока вообще не понимаю с какой стороны к нему подходить и на чём основывать. SQL базу прикручивать, как это делается в вебе? Но он точно нужен, на случай массового отвала датчиков)

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

    По умолчанию

    Цитата Сообщение от beatitas Посмотреть сообщение
    Благодарю.
    Буду пробовать, но это усложняет задачу на написание буфера для очереди сообщений. Пока вообще не понимаю с какой стороны к нему подходить и на чём основывать. SQL базу прикручивать, как это делается в вебе? Но он точно нужен, на случай массового отвала датчиков)
    Если все страдания из-за гипотезы о том, что "в string можно затолкать всего 255 символов" - то она неверна.
    https://owen.ru/forum/showthread.php...l=1#post289762
    https://owen.ru/forum/showthread.php...l=1#post361101

  7. #6657

    По умолчанию

    Цитата Сообщение от beatitas Посмотреть сообщение
    Пока вообще не понимаю с какой стороны к нему подходить и на чём основывать.
    Но он точно нужен, на случай массового отвала датчиков)
    Я делал примерно так:
    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;.
    Её мы и вызываем по таймеру не чаще, чем нужно.

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

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

    По умолчанию

    Цитата Сообщение от beatitas Посмотреть сообщение
    Буду пробовать, но это усложняет задачу на написание буфера для очереди сообщений.Пока вообще не понимаю с какой стороны к нему подходить и на чём основывать.
    https://owen.ru/forum/showthread.php...l=1#post221238
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  9. #6659

  10. #6660

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Вы зачем-то этому параметру 100 задали.
    Задайте 0 - и все станет нормально.

    Без имени.png
    СПАСИБО!!!!!

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

Похожие темы

  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

Ваши права

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