Страница 139 из 1043 ПерваяПервая ... 3989129137138139140141149189239639 ... ПоследняяПоследняя
Показано с 1,381 по 1,390 из 10427

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

  1. #1381

    По умолчанию

    На последнее сообщение можно не отвечать, сам догадался.

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

    По умолчанию

    Цитата Сообщение от XOXOL Посмотреть сообщение
    индикатор я просто могу зажигать когда работает плк, просто активируя 7 бит.
    Индикатор в этом виде - в онлайне никак не включите из ПЛК. Инпутс модуле. А в панели - никто не привязан к нему

  3. #1383

    По умолчанию

    ой.простите.правда. для опыта ставил оутпут, которого в прикреплённом нету. и так же делал опыт когда индикатору присваивал один из битов привязанных к кнопке, а в кнопку добавлял реверс, дабы проверить происходит ли вообще запись в бит по событию, на уровне ип320 (в голове) происходит,а до плк не доходит

  4. #1384

    По умолчанию

    доброго времени суток. Подскажите пожалуйста логику работы ПЛК. Я понимаю, что он однозадачный, но всеже в упрощенном варианте при вызове ФБ ПЛК сначала заходит в экземпляр ФБ, выполняет его полностью и идет дальше по коду программы-родителя или как-то распределяет процессорное время создавая илюзию многозадачности, т.е. выполнил кусочек экземпляра ФБ, пошел дальше по коду родителя, в след. цикле еще кусочек и т.д.? Просто есть какая-то коллизия вот в этом куске кода:
    RtB(f_in:=MIN_IN_PRESS); (*2B6_hex*)
    HOLD[1388]:=RtB.byte_1;
    HOLD[1389]:=RtB.byte_2;
    HOLD[1390]:=RtB.byte_3;
    HOLD[1391]:=RtB.byte_4;

    RtB(f_in:=PRESS_ON); (*2BA_hex*)
    HOLD[1396]:=RtB.byte_1;
    HOLD[1397]:=RtB.byte_2;
    HOLD[1398]:=RtB.byte_3;
    HOLD[1399]:=RtB.byte_4;

    ФБ RtB разбивает переменную типа REAL на 4 переменных типа BYTE, которые складываются в массив типа BYTE. И при преобразовании первой переменной оказывается влияние и на вторую. Вот я и задался вопросом о том как работает ФБ? Использую один экземпляр ФБ потому что не хочу засорять проект кучей экземпляров, т.к. таких преобразований для заполнения массива достаточно много
    Чтобы понять рекурсию нужно понять рекурсию

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

    По умолчанию

    Никаких коллизий нет и не может быть для указанного способа использования если только не намутили внутри ФБ.Что там делает внутри Ваш ФБ - только Вы и знаете.
    Для описанной задачи внутренность ФБ - это 2-4 строчки. Как там можно намутить ?

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

    По умолчанию

    Цитата Сообщение от S.A.D. Посмотреть сообщение
    доброго времени суток. Подскажите пожалуйста логику работы ПЛК. Я понимаю, что он однозадачный, но всеже в упрощенном варианте при вызове ФБ ПЛК сначала заходит в экземпляр ФБ, выполняет его полностью и идет дальше по коду программы-родителя или как-то распределяет процессорное время создавая илюзию многозадачности, т.е. выполнил кусочек экземпляра ФБ, пошел дальше по коду родителя, в след. цикле еще кусочек и т.д.? Просто есть какая-то коллизия вот в этом куске кода:
    RtB(f_in:=MIN_IN_PRESS); (*2B6_hex*)
    HOLD[1388]:=RtB.byte_1;
    HOLD[1389]:=RtB.byte_2;
    HOLD[1390]:=RtB.byte_3;
    HOLD[1391]:=RtB.byte_4;

    RtB(f_in:=PRESS_ON); (*2BA_hex*)
    HOLD[1396]:=RtB.byte_1;
    HOLD[1397]:=RtB.byte_2;
    HOLD[1398]:=RtB.byte_3;
    HOLD[1399]:=RtB.byte_4;

    ФБ RtB разбивает переменную типа REAL на 4 переменных типа BYTE, которые складываются в массив типа BYTE. И при преобразовании первой переменной оказывается влияние и на вторую. Вот я и задался вопросом о том как работает ФБ? Использую один экземпляр ФБ потому что не хочу засорять проект кучей экземпляров, т.к. таких преобразований для заполнения массива достаточно много
    Присоединяюсь, какой смысл вообще создавать блок, расклад на байты в полне может выполнить функция

  7. #1387

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Никаких коллизий нет и не может быть для указанного способа использования если только не намутили внутри ФБ.Что там делает внутри Ваш ФБ - только Вы и знаете.
    Для описанной задачи внутренность ФБ - это 2-4 строчки. Как там можно намутить ?
    так вот и я думаю что ничего особого там нет и расчитывается за один проход. Как можно было догадаться это кусочек из реализации modbus(slave). Просто когда я тем же пресловутым лектусом записываю первые четыре из приведенных элементов массива, значение вторых тоже "задевает". Кстати "глюк" подобный наблюдается и в массиве Input_registers
    Чтобы понять рекурсию нужно понять рекурсию

  8. #1388

    По умолчанию

    capzap,
    так функция же возвращает только одно единственное значение. В обратном преобразовании я использую как раз функцию.
    или вы предлагаете сделать функцию, которая будет выделять из REAL переменной конкретный указаный байт?
    Чтобы понять рекурсию нужно понять рекурсию

  9. #1389
    Пользователь Аватар для maximov2009
    Регистрация
    11.09.2012
    Адрес
    Барнаул Алтайский край
    Сообщений
    2,456

    По умолчанию

    Добрый день. Может кто подскажет кусочек программы для ПР 110 управления реверсивным счётчиком от 2 датчиков, с определением направления движения в + или -

  10. #1390

    По умолчанию

    Здравствуйте. Заранее извиняюсь за глупый вопрос. Есть ли в библиотеке oscat ФБ для перевода 16-й ASCII формы в формат чисел? То есть в строке получаю что-то типа Е069. Использую блок и на выходе получаю реальное значение.

Страница 139 из 1043 ПерваяПервая ... 3989129137138139140141149189239639 ... ПоследняяПоследняя

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

Ваши права

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