Страница 167 из 707 ПерваяПервая ... 67117157165166167168169177217267667 ... ПоследняяПоследняя
Показано с 1,661 по 1,670 из 7062

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

  1. #1661
    Пользователь Аватар для Эдуард_Н
    Регистрация
    22.09.2014
    Адрес
    Курган
    Сообщений
    1,612

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Например, так:

    Код:
    FUNCTION_BLOCK EXTRACT_DIGITS
    VAR_INPUT
    	uiInput:		UINT;
    END_VAR
    VAR_OUTPUT
    	uiHundreds:		UINT;
    	uiTens:			UINT;
    	uiOnes:			UINT;
    END_VAR
    VAR
    END_VAR
    
    
    uiHundreds := uiInput / 100;
    uiTens := (uiInput MOD 100) / 10;
    uiOnes := uiInput - uiHundreds * 100 - uiTens * 10;
    Вложение 37970
    Что такое "MOD"?

  2. #1662

  3. #1663

    По умолчанию

    Добрый день!
    Подключаю библиотеку OSCAT Basic, в менеджере библиотек нужную функцию (FUNCTION _ARRAY_MEDIAN : REAL) вижу.
    В программе при создании экземпляра функции её нет.
    Что не так делаю?
    Спасибо.

  4. #1664

  5. #1665

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Добрый день.

    Можете продемонстрировать скриншотами, как вы добавляете функцию?
    Спасибо за поддержку.
    Сегодня весь день кривой. Разобрался - надо писать вызов полностью : OSCAT_BASIC._ARRAY_MEDIAN(pt, 8);
    Так работает.

  6. #1666
    Пользователь Аватар для Пьер
    Регистрация
    26.01.2011
    Адрес
    Земля
    Сообщений
    518

    По умолчанию

    Цитата Сообщение от andron7 Посмотреть сообщение
    Спасибо за поддержку.
    Сегодня весь день кривой. Разобрался - надо писать вызов полностью : OSCAT_BASIC._ARRAY_MEDIAN(pt, 8);
    Так работает.
    Почему, кстати, где то надо полностью прописывать путь, а где достаточно просто обозначить функцию?
    Не зная броду, не суйся в воду. (Пословица.)
    Век живи, век учись(а умрешь дураком).
    Опыт растет прямо пропорционально выведенному из строя оборудованию.

  7. #1667

    По умолчанию

    Цитата Сообщение от Пьер Посмотреть сообщение
    Почему, кстати, где то надо полностью прописывать путь, а где достаточно просто обозначить функцию?
    По хорошему лучше всегда использовать "путь к функции" (т.е. область ее видимости). Но это не обязательно.
    Это может требоваться если:
    1) Так указал разработчик библиотеки (как раз в OSCAT BASIC так и сделано);
    2) POU с аналогичным именем уже есть в другой библиотеке и компилятор не понимает, к какому из них вы пытаетесь обратиться.

    Можно настроить среду разработки так, чтобы она сама подставляла область видимости к имени POU.
    Для этого зайдите в меню Tool -> Options -> Smart coding и установите галочку Insert with namespace.
    OSCAT.ru читать стандарты и статьи по автоматизации на русском без регистрации и СМС

  8. #1668
    Пользователь Аватар для Пьер
    Регистрация
    26.01.2011
    Адрес
    Земля
    Сообщений
    518

    По умолчанию

    Цитата Сообщение от Осинский Алексей Посмотреть сообщение
    По хорошему лучше всегда использовать "путь к функции" (т.е. область ее видимости). Но это не обязательно.
    Это может требоваться если:
    1) Так указал разработчик библиотеки (как раз в OSCAT BASIC так и сделано);
    2) POU с аналогичным именем уже есть в другой библиотеке и компилятор не понимает, к какому из них вы пытаетесь обратиться.

    Можно настроить среду разработки так, чтобы она сама подставляла область видимости к имени POU.
    Для этого зайдите в меню Tool -> Options -> Smart coding и установите галочку Insert with namespace.
    Теперь понятно!
    Не зная броду, не суйся в воду. (Пословица.)
    Век живи, век учись(а умрешь дураком).
    Опыт растет прямо пропорционально выведенному из строя оборудованию.

  9. #1669

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Добрый день.
    Вы точно уверены, что вам нужен непрерывно действующий soft-PLC?
    Какие задачи вам необходимо решить?
    Добрый день!
    Комп управляет установкой, которая работает непрерывно до нескольких суток, а то и больше.
    А тут каждые 2 часа отрубается все...

  10. #1670

    По умолчанию

    Добрый день! Возникли непонятные проблемы при управлении с визуализации.

    На экране визуализации расположено несколько элементов:
    01.PNG

    02.PNG

    Т.е. при OnMouseDown выполняется запись в переменную:
    04.PNG

    06.PNG

    И при OnDialogClosed выполняется ST-код:
    03.PNG

    05.PNG

    Для понимания указываю два диалога, но с остальными аналогично всё.

    И если первым элементом всё работает прекрасно, то с остальными происходит что-то непонятное. OnMouseDown работает правильно, при нажатии на "ОК" происходит запись переменной, а вот при закрытии диалога dctulf выполняется ST-код первого элемента, т.е.:
    Код:
    Arg11	:= 10;
    Arg12	:= REAL_TO_WORD(VISUAL_PRG.chgPressDay * 100);
    Cmd1	:= 2;
    Вместо:
    Код:
    Arg11	:= 11;
    Arg12	:= REAL_TO_WORD(VISUAL_PRG.chgPressNight * 100);
    Cmd1	:= 2;
    и т.п.

    Пробовал как на SP5, так и на SP7.

    Я в лёгком замешательстве...

Страница 167 из 707 ПерваяПервая ... 67117157165166167168169177217267667 ... ПоследняяПоследняя

Похожие темы

  1. Панели оператора СП3xx. Вопросы и ответы
    от Мурат Ахриев в разделе Панели оператора (HMI)
    Ответов: 3193
    Последнее сообщение: Вчера, 12:51
  2. Панели оператора ИП320. Вопросы и ответы
    от automat в разделе Панели оператора (HMI)
    Ответов: 822
    Последнее сообщение: 20.11.2023, 17:48
  3. ИПП120. Вопросы и ответы
    от Р.Александр в разделе Программируемые реле
    Ответов: 245
    Последнее сообщение: 02.10.2022, 11:34
  4. Индикатор ИП120 , вопросы- ответы
    от rovki в разделе Программируемые реле
    Ответов: 56
    Последнее сообщение: 03.11.2017, 15:58
  5. Панели оператора СП270. Вопросы и ответы
    от Давидюк в разделе Панели оператора (HMI)
    Ответов: 930
    Последнее сообщение: 15.05.2017, 17:12

Ваши права

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