Показано с 1 по 9 из 9

Тема: Установка бита с помощью макроса

  1. #1

    По умолчанию Установка бита с помощью макроса

    Здравствуйте. Мне нужно вызвать окно с помощью бита из макроса. Используя "помощь" написал простейшую программку.а1.jpg Успешно её откомпилировал. Запараметрировал окно под бит.а2.jpg Вызвал макрос в "функциональной области".а3.jpg Залил всё в СПшку. Но окно не открылось. Подскажите, что недоделал?

  2. #2

    По умолчанию

    Попробуйте добавить ResetPSB(300) перед SetPSB и MacroSet() c кавычками уберите (только код оставьте)
    А лучше использовать команду "Присвоить значение"!!!
    А ещё лучше команду "Открыть окно", у вас ID окна будет в дереве, например 61001.
    Последний раз редактировалось EFrol; 05.08.2025 в 12:40.

  3. #3

    По умолчанию

    Цитата Сообщение от EFrol Посмотреть сообщение
    А лучше использовать команду "Присвоить значение"!!!
    Мне нужно освоить макрос, т.к. есть необходимость обрабатывать биты по определенным условиям. А такое ощущение, что макрос вообще не работает

  4. #4

    По умолчанию

    Цитата Сообщение от ОлегГор Посмотреть сообщение
    Мне нужно освоить макрос, т.к. есть необходимость обрабатывать биты по определенным условиям. А такое ощущение, что макрос вообще не работает
    Ничего что регистры и биты панели начинаются с 256?
    у вас же адрес PSW255 в ФО.
    да по 2 регистра с накладками на системные регистры и друг на друга.
    Последний раз редактировалось kondor3000; 05.08.2025 в 14:20.

  5. #5

    По умолчанию

    Цитата Сообщение от ОлегГор Посмотреть сообщение
    Мне нужно освоить макрос, т.к. есть необходимость обрабатывать биты по определенным условиям. А такое ощущение, что макрос вообще не работает
    1. Не видно условие вызова ФО в закладке "Режим". Не ясно как вызывается ФО.
    2. Окно тревог будет вызываться только при фронте бита 300 (при переходе из 0 в 1). Для повторного вызова окна его надо будет сначала сбросить.
    3. Имя макроса задается при его создании и в теле макроса его определять не надо.

  6. #6

    По умолчанию

    Да, верно, ошибка моя

  7. #7

    По умолчанию

    Я не силён в С. Подскажите, мне нужно по состоянию битов из регистра PSW открывать окна по условию. Я пробую реализовать так


    ResetPSB(401); //PSB(401) -бит который выставляю на открытие окна
    if (PSW[270] & 0x01) //читаю состояние 0 бита состояния

    {
    if (GetPSBStatus(300)) // если PSB(300) в 1
    {
    ResetPSB(401); // PSB(401)- не выставляется
    }
    else // иначе
    {
    SetPSB(401); // PSB(401)- выставляется
    }}

  8. #8

    По умолчанию

    Но когда таким образом считываю последующие биты у меня открываются по несколько окон, четные или не четные. Т.е. я На открытие 3-х окон определил 3 бита PSB(401),PSB(402),PSB(403).

  9. #9

    По умолчанию

    Сам спросил, сам отвечу. (PSW[270] & 0x01)- такую форму записи чтения бита я взял из помощи КонфигураторСП300. Записал битовую маску так (PSW[257] >> 1) & 1 и всё заработало как мне нужно.

Похожие темы

  1. Ответов: 23
    Последнее сообщение: 08.05.2025, 19:39
  2. Компиляция макроса
    от andemeno в разделе Панели оператора (HMI)
    Ответов: 6
    Последнее сообщение: 15.03.2023, 16:42
  3. Установка уставки c помощью owen_io.dll в LabView ТРМ148
    от gadz в разделе Помощь Разработчикам
    Ответов: 5
    Последнее сообщение: 30.07.2021, 17:03
  4. Ответов: 16
    Последнее сообщение: 27.02.2018, 14:01
  5. Установка IP ПЛК-150 с помощью разъема RS-232
    от Телепузики в разделе ПЛК1хх
    Ответов: 11
    Последнее сообщение: 25.11.2014, 13:16

Ваши права

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