Страница 804 из 1041 ПерваяПервая ... 304704754794802803804805806814854904 ... ПоследняяПоследняя
Показано с 8,031 по 8,040 из 10404

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

  1. #8031

    По умолчанию

    Цитата Сообщение от VaBo Посмотреть сообщение
    А можно ли из одной программы вызывать другую? Типа QWE();
    Да, можно. Никогда проблем не возникало. Если программируете в CoDeSys 2.3, то синтаксис без скобок QWE;

  2. #8032
    Пользователь
    Регистрация
    21.12.2011
    Адрес
    Северодвинск
    Сообщений
    438

    По умолчанию

    Попробовал без скобок. Результат такой же. Напишу простенький тест сейчас..

  3. #8033
    Пользователь
    Регистрация
    31.07.2013
    Адрес
    Аркаим
    Сообщений
    1,033

    По умолчанию

    VaBo
    По поводу синтаксиса. В окне программы, в которую надо положить вашу POU, устанавливаете курсор на нужное место, нажимаете F2, выбираете Пользовательские программы>Ваша POU>Ok. Все вставится как надо.
    А можно ли из одной программы вызывать другую?
    Можно. Только следует учесть, что вызываемая программа работает с локальными переменными в приоритете. Т. е. если в проекте есть глобальная переменная и локальная в вызываемой POU с одинаковыми именами, то будет обрабатываться локальная.

  4. #8034
    Пользователь
    Регистрация
    21.12.2011
    Адрес
    Северодвинск
    Сообщений
    438

    По умолчанию

    Это все понятно, непонятно было, как пошагово отлаживать. Как выяснилось после тестового проектика, если в вызываемой программе не поставить точку останова, то вызывающая программа при проходе "по шагам" визуально не заходит в вызываемую (по факту - да). Блин, только сейчас увидел, что есть F8 - "шаг детальный", который все делает, как нужно. А до этого экранную кнопку тыкал, а на экране только "шаг поверху"...

  5. #8035

    По умолчанию

    Наверняка эта тема много раз обсуждалась, но прошу ткнуть ) Как в Codesys v2 лучше реализовать распаковку регистра в 16 bool, и назад? Так же, как в ОвенЛожик, с помощью PUTBIT и EXTRACT или есть другой вариант? Чтобы связать ПЛК и ПР200.

  6. #8036
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,825

    По умолчанию

    Цитата Сообщение от Вячеслав@ Посмотреть сообщение
    Наверняка эта тема много раз обсуждалась, но прошу ткнуть ) Как в Codesys v2 лучше реализовать распаковку регистра в 16 bool, и назад? Так же, как в ОвенЛожик, с помощью PUTBIT и EXTRACT или есть другой вариант? Чтобы связать ПЛК и ПР200.
    В кодесис есть адресация к битам через точку
    Упаковать биты в регистр можно такой функцией
    Код:
    FUNCTION PACK_W : WORD
    VAR_INPUT
        B0: BOOL;
        B1: BOOL;
        B2: BOOL;
        B3: BOOL;
        B4: BOOL;
        B5: BOOL;
        B6: BOOL;
        B7: BOOL;
        B8: BOOL;
        B9: BOOL;
        B10: BOOL;
        B11: BOOL;
        B12: BOOL;
        B13: BOOL;
        B14: BOOL;
        B15: BOOL;
    END_VAR
    VAR
    END_VAR
    (*Тело функции*)
    PACK_W.0:=B0;
    PACK_W.1:=B1;
    PACK_W.2:=B2;
    PACK_W.3:=B3;
    PACK_W.4:=B4;
    PACK_W.5:=B5;
    PACK_W.6:=B6;
    PACK_W.7:=B7;
    PACK_W.8:=B8;
    PACK_W.9:=B9;
    PACK_W.10:=B10;
    PACK_W.11:=B11;
    PACK_W.12:=B12;
    PACK_W.13:=B13;
    PACK_W.14:=B14;
    PACK_W.15:=B15;
    В обратную сторону аналогично, используем Bxx:=W.xx, где хх=0,1,2,...15

    А для случая "Чтобы связать ПЛК и ПР200" можно и без всяких "паков"
    https://owen.ru/forum/showthread.php...l=1#post216361

    https://owen.ru/forum/showthread.php...l=1#post187668
    Скрытый текст:

    Т.е. подправить файл hardware.cfg для таргета и получить в конфигурации "развернутые" 2byte или даже 4byte,
    т.е. с возможностью доступа к любому биту как в модуле 8bits
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  7. #8037
    Пользователь
    Регистрация
    31.07.2013
    Адрес
    Аркаим
    Сообщений
    1,033

    По умолчанию

    Вячеслав@
    Я создавал свой ФБ.
    Допустим это будет аналог PUTBIT:
    Код:
    Входные_переменные
    Ин1:bool
    ..
    Ин16 :bool
    --
    ВЫходные_переменные
    Out:WORD;
    --
    Тело
    Out.0:=Ин1;
    ..
    Out.15:=Ин16;
    ------
    EXTRACT делается также, только наоборот.

  8. #8038

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение

    А для случая "Чтобы связать ПЛК и ПР200" можно и без всяких "паков"
    https://owen.ru/forum/showthread.php...l=1#post216361

    https://owen.ru/forum/showthread.php...l=1#post187668
    Скрытый текст:

    Т.е. подправить файл hardware.cfg для таргета и получить в конфигурации "развернутые" 2byte или даже 4byte,
    т.е. с возможностью доступа к любому биту как в модуле 8bits
    Благодарю! Который раз уже помогаете!

  9. #8039

    По умолчанию

    Цитата Сообщение от Sulfur Посмотреть сообщение
    Вячеслав@
    Я создавал свой ФБ.
    Допустим это будет аналог PUTBIT:
    Код:
    Входные_переменные
    Ин1:bool
    ..
    Ин16 :bool
    --
    ВЫходные_переменные
    Out:WORD;
    --
    Тело
    Out.0:=Ин1;
    ..
    Out.15:=Ин16;
    ------
    EXTRACT делается также, только наоборот.
    Благодарю за ответ!

  10. #8040

    По умолчанию

    Добрый день.
    В SCDA через переменную типа int задается время в минутах.
    В ПЛК на это время надо запустить таймер TON.
    Подскажите, пожалуйста, как преобразовать int в переменную time для таймера?

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

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

Ваши права

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