Страница 514 из 1041 ПерваяПервая ... 144144645045125135145155165245646141014 ... ПоследняяПоследняя
Показано с 5,131 по 5,140 из 10404

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

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

    По умолчанию

    Цитата Сообщение от Эдуард_Н Посмотреть сообщение
    кто ни будь может про это рассказать, желательно с примером?
    Из РЭ на ПЛК 110 и 160:

  2. #5132

    По умолчанию Проблема с адресацией

    Здравствуйте! Возникла такая проблема.
    Создал одномерный массив из 4 элементов. в PLC_PRG.
    PROGRAM PLC_PRG

    VAR
    current: INT;
    aa: ARRAY [1..4] OF INT:=2,5,6,7;
    END_VAR
    Каждый его элемент нужно привязать к элементам в визуализации.
    Но в ассистенте ввода отображается только первый элемент массива.
    Т.е. какая-то проблема с адресацией.
    После привязки конкретного элемента программа просто выдает ошибку c доступом к несуществующему адресу
    Хотя она не жалуется на обычные переменные.
    Вложение 25702
    Такая ситуация.

  3. #5133

    По умолчанию

    Цитата Сообщение от Ilya177 Посмотреть сообщение
    Здравствуйте! Возникла такая проблема.
    После привязки конкретного элемента программа просто выдает ошибку c доступом к несуществующему адресу
    Хотя она не жалуется на обычные переменные.
    Вложение 25702
    Такая ситуация.
    А как Вы привязываете нужный Вам элемент массива? Имя Pou указываете, в котором объявлен массив? Например, (PLC_PRG.aa[3]).

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

    По умолчанию

    Цитата Сообщение от Ilya177 Посмотреть сообщение
    Здравствуйте! Возникла такая проблема.
    Создал одномерный массив из 4 элементов. в PLC_PRG.

    Каждый его элемент нужно привязать к элементам в визуализации.
    Но в ассистенте ввода отображается только первый элемент массива.
    Т.е. какая-то проблема с адресацией.
    После привязки конкретного элемента программа просто выдает ошибку c доступом к несуществующему адресу
    Хотя она не жалуется на обычные переменные.
    Вложение 25702
    Такая ситуация.
    Скорее всего у Вас в программе где-то используется нулевой элемент массива. Попробуйте в объявлении массива изменить ARRAY [1..4] на ARRAY [0..3].

  5. #5135

    По умолчанию

    Цитата Сообщение от amn Посмотреть сообщение
    Скорее всего у Вас в программе где-то используется нулевой элемент массива. Попробуйте в объявлении массива изменить ARRAY [1..4] на ARRAY [0..3].
    Это не поможет, в CDS, действительно, есть проблема, что при объявлении массива, в ассистенте ввода отображается только первый элемент этого массива, остальные необходимо прописывать вручную.

  6. #5136

    По умолчанию

    С передачей на визуализацию разобрался. Спасибо с этим, товарищи Гарчев Евгений и Amn.
    Только вот оказалась еще одна проблема:
    Я не могу передать элемент массива в свою функцию:
    onoff(switch:=PLC_PRG.a[0]);
    Вроде оно передается так.

    Вот сама функция:
    FUNCTION Onoff : BOOL
    VAR_IN_OUT
    switch: BOOL;
    END_VAR
    VAR
    can_change: BOOL;
    END_VAR

    can_change := TRUE;
    IF (switch) THEN switch := FALSE;
    can_change := FALSE;
    END_IF;
    IF ((NOT switch) AND (can_change)) THEN switch := TRUE;
    END_IF;
    RETURN;
    При передаче возникает ошибка доступа к несуществующему адресу..
    массив 'A' является булевым

  7. #5137

    По умолчанию

    Подскажите пожалуйста возникнут ли у меня проблемы с обменом данными, если:
    Проект: 5 контроллеров,ОРС-сервер,Скада. На скаду выводится всё необходимое из этих ПЛК,но мне необходимо чтобы все эти ПЛК между собой обменивались некоторым кол-вом переменных.
    Вопрос: как отразиться на моей системе если для каждого плк создать обмен с другими плк по протоколу Modbus TCP, если помимо всего у каждого плк есть ещё обмен с другими устройствами по Modbus RTU и со скадой через ОРС-сервер.
    Вложение 25714

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

    По умолчанию

    Цитата Сообщение от Ilya177 Посмотреть сообщение
    Я не могу передать элемент массива в свою функцию
    ...
    При передаче возникает ошибка доступа к несуществующему адресу..
    массив 'A' является булевым
    Похожий вопрос с функцией уже был на форуме в этой теме

    Цитата Сообщение от kvr15 Посмотреть сообщение
    Подскажите пожалуйста возникнут ли у меня проблемы с обменом данными, если:
    Проект: 5 контроллеров,ОРС-сервер,Скада. На скаду выводится всё необходимое из этих ПЛК,но мне необходимо чтобы все эти ПЛК между собой обменивались некоторым кол-вом переменных.
    Вопрос: как отразиться на моей системе если для каждого плк создать обмен с другими плк по протоколу Modbus TCP, если помимо всего у каждого плк есть ещё обмен с другими устройствами по Modbus RTU и со скадой через ОРС-сервер.
    Вложение 25714
    Посмотрите в этой теме

  9. #5139
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,317

    По умолчанию

    Цитата Сообщение от Ilya177 Посмотреть сообщение
    Вот сама функция:
    На сам вопрос вроде ответили. По самой функции же - чего много букв. Почему не просто:
    switch := not switch;
    ?

  10. #5140

    По умолчанию

    Доброго времени суток.
    Как заставать считать "ch" не c 0, а с 10 например. И получить в итоге
    ch=10, ch=11, ch=12...

    Извиняюсь за довольно глупый вопрос.

    IF Pusk1=TRUE THEN
    IF P1>Pust THEN
    IF (TIMER + T#1S)<TIME() THEN
    TIMER:=TIME();
    Ch:=ch+1;
    END_IF

    ELSE IF P1<=Pust THEN
    IF (TIMER + T#1S)<TIME() THEN
    TIMER:=TIME();
    Ch:=ch-1;
    END_IF
    END_IF
    END_IF
    END_IF
    IF Pusk1=FALSE THEN IF ch>0 THEN
    IF (TIMER + T#1S)<TIME() THEN
    TIMER:=TIME();
    Ch:=ch-1;
    END_IF

    ELSE IF ch<0 THEN
    IF (TIMER + T#1S)<TIME() THEN
    TIMER:=TIME();
    Ch:=ch+1;
    END_IF
    END_IF
    END_IF
    END_IF
    IF ch=0 THEN alarm:=TRUE;
    ELSE alarm:=FALSE;
    END_IF

    IF sbros=TRUE THEN ch:=0;

    END_IF

Страница 514 из 1041 ПерваяПервая ... 144144645045125135145155165245646141014 ... ПоследняяПоследняя

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

Ваши права

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