Страница 6 из 7 ПерваяПервая ... 4567 ПоследняяПоследняя
Показано с 51 по 60 из 68

Тема: Нетипичный проект на СПК207

  1. #51

    По умолчанию

    ARRAY[1..6,0..7] OF BOOL попробуйте

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

    По умолчанию

    Цитата Сообщение от cen_turion Посмотреть сообщение
    Доброго дня!
    Имеется некоторый набор переменных D_1_1, D_1_2, D_1_3, D_1_4, D_1_5, D_1_6 типа WORD. Рассматриваем биты каждой переменной. Например "D_1_1.1" Допустим представляем как массив: D_1:ARRAY[1..6] OF WORD
    Теперь как в программе обратиться к элементам через цикл FOR!?
    Пробовал напрямую: FOR i:=1 TO 6 DO
    IF(D_1[i].0 AND D_1[i].3) THEN
    color:=16#66FF00;
    END_IF
    END_FOR
    Компилятор матерился во всю,да и я сам понял что тут не всё так просто.
    Согласно справки есть функция "CheckBounds"."Для обеспечения доступа к элементам массива при выполнении программы в приложении должна быть доступна функция CheckBounds." НУ добавил я её, а дальше что делать не пойму! Куда, что !?
    может из этого проекта что то можно использовать http://www.owen.ru/forum/showthread....l=1#post142016
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  3. #53
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

    Компилятор матерился во всю
    Вы сообщения конкретные называйте. У меня подобный код компилируется без проблем.

  4. #54

    По умолчанию

    Спасибо! Как всегда помогли Почему, то в теле цикла FOR значение " i " выбегает за значение " 6 " и устанавливается в " 7 " , хотя по умолчанию "0"( эмуляция). Надо ли использовать "CheckBounds"? Как это работает? Отдельно создалось "CheckBounds(FUN)", теперь в основной "PLC_PRG" её вызываем?

  5. #55

    По умолчанию

    Цитата Сообщение от cen_turion Посмотреть сообщение
    Доброго дня!
    Имеется некоторый набор переменных D_1_1, D_1_2, D_1_3, D_1_4, D_1_5, D_1_6 типа WORD. Рассматриваем биты каждой переменной. Например "D_1_1.1" Допустим представляем как массив: D_1:ARRAY[1..6] OF WORD
    Теперь как в программе обратиться к элементам через цикл FOR!?
    Пробовал напрямую: FOR i:=1 TO 6 DO
    IF(D_1[i].0 AND D_1[i].3) THEN
    color:=16#66FF00;
    END_IF
    END_FOR
    Компилятор матерился во всю,да и я сам понял что тут не всё так просто.
    Согласно справки есть функция "CheckBounds"."Для обеспечения доступа к элементам массива при выполнении программы в приложении должна быть доступна функция CheckBounds." НУ добавил я её, а дальше что делать не пойму! Куда, что !?
    Какие именно ошибки выдает компилятор? У меня этот код никаких ошибок не выдает.

  6. #56

    По умолчанию

    Цитата Сообщение от cen_turion Посмотреть сообщение
    Почему, то в теле цикла FOR значение " i " выбегает за значение " 6 " и устанавливается в " 7 " , хотя по умолчанию "0"( эмуляция).
    Все правильно работает, так и должно быть.

  7. #57

    По умолчанию

    ------ Компиляция : Приложение: Device.Application -------
    типизировать код...
    [ERROR] prob_1: Visualization [Device: Plc Logic: Application](ID элемента 0): C0032: Невозможно конвертировать тип 'ARRAY [1..6] OF DWORD' в тип 'ANY_NUM'
    Компиляция завершена -- 1 ошибок, 0 предупреждений

  8. #58

    По умолчанию

    сейчас переписал по новой и всё заработало

  9. #59

    По умолчанию

    Цитата Сообщение от GoodLuck Посмотреть сообщение
    Все правильно работает, так и должно быть.
    ведь индекс "i" ограничен шестью? почему устанавливается в "7"!? По крайней мере так отображается дефолтное значение в таблице переменных

  10. #60

    По умолчанию

    Цитата Сообщение от cen_turion Посмотреть сообщение
    ведь индекс "i" ограничен шестью? почему устанавливается в "7"!? По крайней мере так отображается дефолтное значение в таблице переменных
    Цикл выполняется до тех пор, пока i<=6. Как только i становится равным 7 работа цикла на этом прекращается.
    Непонятно, что вы подразумеваете под "дефолтное значение"? i=7 до старта программы?

Страница 6 из 7 ПерваяПервая ... 4567 ПоследняяПоследняя

Похожие темы

  1. архивирование на спк207
    от Feld_eger в разделе СПК2хх
    Ответов: 73
    Последнее сообщение: 18.05.2017, 15:03
  2. Не запускается проект на СПК207
    от Feld_eger в разделе СПК2хх
    Ответов: 4
    Последнее сообщение: 06.05.2013, 08:41
  3. Ответов: 10
    Последнее сообщение: 07.03.2012, 08:26
  4. как слить плк проект на пк?
    от bkz в разделе ПЛК1хх
    Ответов: 16
    Последнее сообщение: 25.05.2010, 17:32

Метки этой темы

Ваши права

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