Страница 273 из 1055 ПерваяПервая ... 173223263271272273274275283323373773 ... ПоследняяПоследняя
Показано с 2,721 по 2,730 из 10542

Тема: ВОПРОС-ОТВЕТ (отвечаем на простые вопросы от новичков)

  1. #2721

    По умолчанию

    Вы перепутали макс. значение и индекс. Макс. значение - это просто максимальное значение которое может принимать переменная (то есть элемент массива в данном случае), а индекс - это просто НОМЕР данной переменной в массиве (начинается с нуля). Соответственно, если у вас 2 движка, то нужно всего два индекса - 0 и 1. То есть вместо n написать 1. И тогда массив будет состоять всего из 2 элементов (с индексами 0 и 1). Вы же объявили массив из 4294967296 элементов, и на каждый по 4 байт, итого отхапали 16 гигабайт памяти (если бы ПЛК позволял) Исправляйте немедленно.

  2. #2722

    По умолчанию

    А в остальном всё правильно? Все равно не до конца понимаю.

  3. #2723
    Пользователь
    Регистрация
    19.11.2011
    Адрес
    г. Белгород
    Сообщений
    357

    По умолчанию

    Алгоритм решения:
    1. Если пришли сигналы включить оба двигателя, то включаем оба двигателя без всяких условий.
    2. Если сигналов нет. Отключаем оба двигателя без всяких условий.
    3. Если на входе только один сигнал (должен быть включен только один двигатель), то имеем 3 варианта:
    1). Включены оба двигателя. Выключаем двигатель с наибольшей наработкой.
    2). Выключены оба двигателя. Включаем двигатель с наименьшей наработкой.
    3). Включен один из двигателей. Не делаем ничего, нам это и нужно.

    В программе написал комментарии, так что разберетесь. Правда цикл не использовал, так как всего 2 насоса, но массив есть.

  4. #2724

    По умолчанию

    Спасибо, дружище!

    Только обьясни чайнику, откуда время берется, и где бы эти моточасы окоянные подсмотреть?

  5. #2725
    Пользователь
    Регистрация
    19.11.2011
    Адрес
    г. Белгород
    Сообщений
    357

    По умолчанию

    В массиве моточасы хранятся. a[0] - время наработки первого двигателя, a[1] - время наработки второго двигателя. Только учтите, когда будете время туда записывать, тип элементов массива DWORD, может надо будет преобрабовать из TIME или в каком там виде у вас время.

  6. #2726
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,745

    По умолчанию

    pp: ARRAY [0..20] OF BYTE; - что означает ввод Адреса ?
    pp AT 0: ARRAY [0..20] OF BYTE; - после АТ должен идти адрес, сообщает CodeSys - а какой адрес ? как его задавать то ?
    pp: POINTER TO ARRAY [0..20] OF BYTE; - в эмуляции, обращение к несуществующему адресу ПЛК остановлен ?

    Что-то в документации все размыло или вообще нет ничего

  7. #2727
    Пользователь
    Регистрация
    19.11.2011
    Адрес
    г. Белгород
    Сообщений
    357

    По умолчанию

    pp: POINTER TO ARRAY [0..20] OF BYTE; - в эмуляции, обращение к несуществующему адресу ПЛК остановлен ?
    Посмотреть, как делать указатель на массив можно здесь. Надо использовать структуру.

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

    По умолчанию

    amn а если конфигурации нет ?

  9. #2729
    Пользователь
    Регистрация
    19.11.2011
    Адрес
    г. Белгород
    Сообщений
    357

    По умолчанию

    melky вообще-то сейчас попробовал, можно обойтись и без структуры.
    Код HTML:
    VAR
    	b:ARRAY[0..3] OF WORD;
    	ptr:POINTER TO WORD;
    	c1:WORD;
    	c2: WORD;
    END_VAR
    
    ptr:=ADR(b[0]);  (*адрес первого элемента массива*)
    c1:=ptr^;
    ptr:=ptr+2;
    c2:=ptr^;
    Указатель делаем на первый элемент массива.

  10. #2730

    По умолчанию

    Цитата Сообщение от amn Посмотреть сообщение
    когда будете время туда записывать, тип элементов массива DWORD, может надо будет преобрабовать из TIME или в каком там виде у вас время.
    А как их туда записывать из переменных?

Страница 273 из 1055 ПерваяПервая ... 173223263271272273274275283323373773 ... ПоследняяПоследняя

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

Ваши права

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