Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 16 из 16

Тема: Как сделать карту входов выходов в массиве.

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

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    ТС хочет чего там с циклами замутить //см. про ПЛК и модули в п#1
    Соотв. Do могут быть физически и логически одинаковые, а форма управления разная
    ну не совсем, речь шла конкретно о %QX2.3 (см.пост 3), а в 63-м используетеся %QD0.1.0, об одинаковости выходов речи быть не может
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  2. #12
    Пользователь
    Регистрация
    01.12.2007
    Адрес
    Воронеж
    Сообщений
    203

    По умолчанию

    Ну раз на булевскуя нельзя, то можно указатель на байт/слово + № бита

    Код:
    TYPE SR_ZONE :
    STRUCT
        xStart_WORD: POINTER TO WORD;
        xStart_Nbit: WORD;
        ...
    END_STRUCT
    END_TYPE
    
    glbZones[1].xStart_WORD := ADR( INPUT_WORD1);
    glbZones[1].xStart_Nbit := 5;
    
    
    #Set bit
    glbZones[1].xStart_WORD^ := glbZones[1].xStart_WORD^ OR SHL( 1, glbZones[1].xStart_Nbit);
    
    #Clear bit
    glbZones[1].xStart_WORD^ := glbZones[1].xStart_WORD^ AND ( NOT SHL( 1, glbZones[1].xStart_Nbit));

  3. #13

    По умолчанию

    Здравствуйте, у меня вопрос, похожий с Serhioromano, с которым также не могу разобраться, что не так.

    Дано: Сборочная линия автомобилей с 20-ю станциями. На каждой станции стоят световая колонна(Красный, желтый, зеленый, зуммер) и кнопочные посты (Аварийная кнопка, подтверждение).

    Задача: Данные элементы выполняют однотипные действия: в зависимости от времени включаются лампы на световой колонне, и в зависимости от ситуации на станции используются кнопки.

    Чтобы не писать 20 блоков и не вызывать их 20 раз в главной программе, решил это реализовать через массивы и цикл.

    Написал универсальный блок управления световыми колоннами и кнопками. Далее в главной программе объявил массивы ламп световых колонн и кнопок, и вызываю данный блок в цикле 20 раз (20 сборочных станций). В соотнесении входов/выходов модулей привязываю элементы массивов.

    Заливаю программу в ПЛК 210 (по ModBus TCP подключены 5 МВ210-202, 5 МУ210-403 и панель СП310Р). При срабатывании условия модули и ПЛК уходят в ошибку, далее перезагрузка и перестают отвечать. Помогает сброс по питанию.

    Никак не могу понять, что не так.

    ФБ световых колонн и кнопок.png Вызов ФБ в главной программе.png Пример соотнесения переменных с выходами.png

  4. #14

    По умолчанию

    Проверяйте значения индексов массивов в циклах.
    Если выложите проект - может кто-нибудь даже найдёт конкретную проблему

  5. #15

    По умолчанию

    Mikhail_NNT Идея правильная!
    1exan говорит верно. Скорее всего где-то есть выход за границы массивов.
    Если искать лень - можно добавить специальную функцию CheckBounds, а в ней сделать вызов исключения, чтобы потом понять, где именно что случилось.
    Как это сделать, было описано у меня статье со скриншотами: https://cs-cs.net/codesys-kultura-ko...icy-massivov#7 (заголовок 7)
    PS. CheckBounds тормозит готовый проект. Поэтому потом её оттуда надо удалить. Или исключить из компиляции.
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net

  6. #16

    По умолчанию

    Скорее всего у ТС где то неправильно с копированием. Я делаю так: 1. Копирую структуру механизма во временную структуру, 2. Временная структура обрабатывается подпрограммой, 3. Копирую временную структуру в структуру механизма, и следующим элементом цикла проделываю это уже со структурой второго механизма. А как сделано у ТС надо смотреть код.

    PS Глянул 2 скрин... А где у ТС входы? У меня выше описан другой способ, но суть та же..
    Последний раз редактировалось МихаилГл; 12.12.2024 в 16:15.

Страница 2 из 2 ПерваяПервая 12

Похожие темы

  1. Ответов: 6
    Последнее сообщение: 12.03.2015, 15:00
  2. СПК207, запись данных на флеш-карту или SD-карту памяти
    от ОАО"Органика" в разделе СПК2xx (архив)
    Ответов: 4
    Последнее сообщение: 03.02.2013, 19:23
  3. опрос входов и выходов
    от soi в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 15.03.2011, 17:55
  4. упаковка входов/выходов
    от Old_Lucky в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 26.04.2010, 16:06
  5. Модули входов-выходов
    от Labean & K* в разделе Подбор Оборудования
    Ответов: 15
    Последнее сообщение: 28.07.2009, 20:00

Ваши права

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