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

Тема: Не работает макрос СП300

  1. #1

    По умолчанию Не работает макрос СП300

    При различных значениях регистра REG должны включаться различные биты . Ниже код.

    В глобальном макросе создан функциональный блок



    void lamp_gor(WORD REG, BOOL FWD, BOOL REV, BOOL PUSK, BOOL STOP)

    if (REG==1283) // PUSK_FWD
    {
    SetPSB(FWD); // VKL_FWD
    SetPSB(PUSK); // VKL_PUSK
    ResetPSB(REV); //OTKL_REW
    ResetPSB(STOP); //OTKL_STOP
    }


    else if (REG==1291) // PUSK_FWD (DUBLE)
    {
    SetPSB(FWD); // VKL_FWD
    SetPSB(PUSK); // VKL_PUSK
    ResetPSB(REV); //OTKL_REW
    ResetPSB(STOP); //OTKL_STOP
    }


    else if (REG==1307) // PUSK_REW
    {
    SetPSB(REV);
    SetPSB(PUSK);
    ResetPSB(FWD);
    ResetPSB(STOP);
    }


    else if (PSW[256]==1299) // PUSK_REW
    {
    SetPSB(REV);
    SetPSB(PUSK);
    ResetPSB(FWD);
    ResetPSB(STOP);
    }


    else if (PSW[256]==1280) // STOP_FWD
    {
    SetPSB(FWD);
    SetPSB(STOP);
    ResetPSB(REV);
    ResetPSB(PUSK);
    }


    else if (PSW[256]==1281) // STOP_FWD (DUBLE)
    {
    SetPSB(FWD);
    SetPSB(STOP);
    ResetPSB(REV);
    ResetPSB(PUSK);
    }

    else if (PSW[256]==1304) // STOP_REW
    {
    SetPSB(REV);
    SetPSB(STOP);
    ResetPSB(FWD);
    ResetPSB(PUSK);
    }

    else if (PSW[256]==1305) // STOP_REW (DUBLE)
    {
    SetPSB(REV);
    SetPSB(STOP);
    ResetPSB(FWD);
    ResetPSB(PUSK);
    }


    Затем в пользовательском макросе вызываю этот функциональный блок

    lamp_gor(PSW[256]),(PSB[256]),(PSB[257]),(PSB[258]),(PSB[259])

    При компиляции выдаёт ошибку , помогите разобраться , что не так в коде. Скрин ошибки во вложенииОшибки.JPG


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

    По умолчанию

    Цитата Сообщение от Сергей Фенев Посмотреть сообщение
    При различных значениях регистра REG должны включаться различные биты . Ниже код.

    В глобальном макросе создан функциональный блок



    void lamp_gor(WORD REG, BOOL FWD, BOOL REV, BOOL PUSK, BOOL STOP)

    if (REG==1283) // PUSK_FWD
    {
    SetPSB(FWD); // VKL_FWD
    SetPSB(PUSK); // VKL_PUSK
    ResetPSB(REV); //OTKL_REW
    ResetPSB(STOP); //OTKL_STOP
    }


    else if (REG==1291) // PUSK_FWD (DUBLE)
    {
    SetPSB(FWD); // VKL_FWD
    SetPSB(PUSK); // VKL_PUSK
    ResetPSB(REV); //OTKL_REW
    ResetPSB(STOP); //OTKL_STOP
    }


    else if (REG==1307) // PUSK_REW
    {
    SetPSB(REV);
    SetPSB(PUSK);
    ResetPSB(FWD);
    ResetPSB(STOP);
    }


    else if (PSW[256]==1299) // PUSK_REW
    {
    SetPSB(REV);
    SetPSB(PUSK);
    ResetPSB(FWD);
    ResetPSB(STOP);
    }


    else if (PSW[256]==1280) // STOP_FWD
    {
    SetPSB(FWD);
    SetPSB(STOP);
    ResetPSB(REV);
    ResetPSB(PUSK);
    }


    else if (PSW[256]==1281) // STOP_FWD (DUBLE)
    {
    SetPSB(FWD);
    SetPSB(STOP);
    ResetPSB(REV);
    ResetPSB(PUSK);
    }

    else if (PSW[256]==1304) // STOP_REW
    {
    SetPSB(REV);
    SetPSB(STOP);
    ResetPSB(FWD);
    ResetPSB(PUSK);
    }

    else if (PSW[256]==1305) // STOP_REW (DUBLE)
    {
    SetPSB(REV);
    SetPSB(STOP);
    ResetPSB(FWD);
    ResetPSB(PUSK);
    }


    Затем в пользовательском макросе вызываю этот функциональный блок

    lamp_gor(PSW[256]),(PSB[256]),(PSB[257]),(PSB[258]),(PSB[259])

    При компиляции выдаёт ошибку , помогите разобраться , что не так в коде. Скрин ошибки во вложенииОшибки.JPG
    Не хватает скобок в начале и в конце функции
    Захват-11.png
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  3. #3

    По умолчанию

    Как давно Вы начали изучать язык C?

  4. #4

    По умолчанию

    Мой первый код на С

  5. #5

    По умолчанию

    Спасибо всё работает

  6. #6

    По умолчанию

    Ошибка 2JPG.JPG При компиляции начал выдавать ошибку "не верное количество параметров" , не пойму что опять не так .

    void lamp_gor(WORD REG, WORD FWD, WORD REV, WORD PUSK, WORD STOP)
    {

    if (REG==1283) // PUSK_FWD
    {
    SetPSB(FWD); // VKL_FWD
    SetPSB(PUSK); // VKL_PUSK
    ResetPSB(REV); //OTKL_REW
    ResetPSB(STOP); //OTKL_STOP
    }



    if (REG==1291) // PUSK_FWD (DUBLE)
    {
    SetPSB(FWD); // VKL_FWD
    SetPSB(PUSK); // VKL_PUSK
    ResetPSB(REV); //OTKL_REW
    ResetPSB(STOP); //OTKL_STOP

    }



    else if (REG==1307) // PUSK_REW
    {
    SetPSB(REV);
    SetPSB(PUSK);
    ResetPSB(FWD);
    ResetPSB(STOP);
    }


    else if (REG==1299) // PUSK_REW
    {
    SetPSB(REV);
    SetPSB(PUSK);
    ResetPSB(FWD);
    ResetPSB(STOP);
    }


    else if (REG==1280) // STOP_FWD
    {
    SetPSB(FWD);
    SetPSB(STOP);
    ResetPSB(REV);
    ResetPSB(PUSK);
    }


    else if (REG==1281) // STOP_FWD (DUBLE)
    {
    SetPSB(FWD);
    SetPSB(STOP);
    ResetPSB(REV);
    ResetPSB(PUSK);
    }



    else if (REG==1304) // STOP_REW
    {
    SetPSB(REV);
    SetPSB(STOP);
    ResetPSB(FWD);
    ResetPSB(PUSK);
    }


    else if (REG==1305) // STOP_REW (DUBLE)
    {
    SetPSB(REV);
    SetPSB(STOP);
    ResetPSB(FWD);
    ResetPSB(PUSK);
    }

    }

  7. #7

    По умолчанию

    Перечитайте синтаксис языка С ещё раз.
    lamp_gor(PSW[256],PSB[256],PSB[257],PSB[258],PSB[259]);

  8. #8

    По умолчанию

    Спасибо большое.

Похожие темы

  1. пр 200 не работает макрос таймеров
    от Андрей89 в разделе Программируемые реле
    Ответов: 6
    Последнее сообщение: 09.02.2019, 22:08
  2. Не работает второй макрос
    от klocker в разделе Среда программирования OWEN Logic
    Ответов: 10
    Последнее сообщение: 05.07.2018, 03:25
  3. переключение между экранами СП300 макрос
    от ДаниилСПб в разделе Панели оператора (HMI)
    Ответов: 2
    Последнее сообщение: 08.11.2017, 09:42
  4. Не работает макрос PT1000
    от klocker в разделе Программируемые реле
    Ответов: 4
    Последнее сообщение: 05.11.2017, 19:32
  5. Не работает макрос в СП300
    от Solmik в разделе Помощь Разработчикам
    Ответов: 0
    Последнее сообщение: 16.05.2017, 22:36

Ваши права

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