Страница 159 из 318 ПерваяПервая ... 59109149157158159160161169209259 ... ПоследняяПоследняя
Показано с 1,581 по 1,590 из 3178

Тема: Панели оператора СП3xx. Вопросы и ответы

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

    По умолчанию

    Цитата Сообщение от Серёга Букашкин Посмотреть сообщение
    В элементе "вентилятор" из библиотеки конфигуратора есть как бы управление скоростью вращения пропеллера с регистра. У меня не зависит от величины в регистре. Это вообще работает?
    Это - работает!
    Захват-1.png

    Захват-2.png

    Вы свой не работающий вариант предъявите!
    Вложения Вложения
    Последний раз редактировалось petera; 10.12.2019 в 17:57.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  2. #1582

    По умолчанию

    Работает, на примере этом вижу. Но при "0" крутится же, что сбивает с толку. И как то очень нелинейно, заметно прибавляет обороты только выше 60, а туда не залезал. На глаз не видно различия в скорости для 0 и 30. Обычно частотник и работает в нижней половине, для такой визуализации незначительная разница. Думал будет заметнее. И при 0 наверное не надо крутиться,

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

    По умолчанию

    Цитата Сообщение от Серёга Букашкин Посмотреть сообщение
    Работает, на примере этом вижу. Но при "0" крутится же, что сбивает с толку. И как то очень нелинейно, заметно прибавляет обороты только выше 60, а туда не залезал. На глаз не видно различия в скорости для 0 и 30. Обычно частотник и работает в нижней половине, для такой визуализации незначительная разница. Думал будет заметнее. И при 0 наверное не надо крутиться,
    У вентилятора всего 10 скоростей, диапазон, который задаются в настройках (0...100 или другой) линейно масштабируется к значению 0...9, назавём это - Задание. По этому большого смысла делать 0-100 нет, можно делать 0-9
    Внутри генератор, который генерит импульсы смены фаз с периодом (10 - Задание)*100мс
    По этому минимальное значение интервала одной фазы (10 -0)*0,1=1сек - Ваше "при "0" крутится же"
    Последний раз редактировалось petera; 10.12.2019 в 21:17.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  4. #1584

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    там ошибка в названии - следует читать не количество регистров, а количество записей (строк в таблице экспорта)
    По этому если записей в тренде 3600, то и здесь 3600 максимум. Меньше -пожалуйста
    Спасибо, всё работает.

  5. #1585

    По умолчанию

    Доброго времени суток! Разбираюсь с макросами в СП315. Возникла загвоздка..
    Сначала я копирую регистр приходящий с ПР200 в PSW[600] ()

    WORD Bit;
    int i;
    Read(PLC, 8, MODBUS_RTU_REG_4X, 555, 0, TYPE_WORD, &Bit); //chtenie registra
    PSW[600] = Bit;

    Далее мне нужно сравнить состояния бит внутри регистра.. я конечно накидал код, но на второй итерации всё виснет.
    Основная проблема в том, какой же правильный синтаксис чтения бита.
    Вот мой набросок

    for ( i = 0; i < 12; i++ ) //cikl perebora bit
    {
    if ( PSW[600] & ( 1 << i ) != 1 ) //uslovie (собственно проблема в этом условии)
    {
    PSW[601] = i; //
    if (i = 1)
    {
    SetPSB(600); //green
    ResetPSB(601);
    ResetPSB(602);
    ResetPSB(603);
    }
    else if (i = 2)
    {
    SetPSB(601); //green flashing
    ResetPSB(600);
    ResetPSB(602);
    ResetPSB(603);
    }
    else if (i = 3)
    {
    SetPSB(602); //yellow
    ResetPSB(600);
    ResetPSB(601);
    ResetPSB(603);
    }
    else
    {
    SetPSB(603); //red
    ResetPSB(600);
    ResetPSB(601);
    ResetPSB(602);
    }
    Delay (3000);
    }

    }

    ПОМОГИТЕ ПОЖАЛУЙСТА

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

    По умолчанию

    Я для работы с битами регистров использую такие макро
    Код:
    #define GetBit(Reg,bitno)   ((Reg) & (1 << (bitno)))		// Получить статус бита "bitno" в регистре "Reg"
    #define ResetBit(Reg,bitno) ((Reg) &= ( ~ (1 << ((bitno)))))	// Сбросить бит "bitno" в регистре "Reg"
    #define SetBit(Reg,bitno)   ((Reg) |= ( 1 << ((bitno))))	// Установить бит "bitno" в регистре "Reg"
    #define ReversBit(reg, bitno) ((reg) ^= (1 << (bitno))) 	// Инвертировать бит "bitno" в регистре "Reg"
    И использую эти макро наподобие функций, например
    Код:
    //Эти строчки в начале программы
    #define GetBit(Reg,bitno)   ((Reg) & (1 << (bitno)))
    #define ResetBit(Reg,bitno) ((Reg) &= ( ~ (1 << ((bitno)))))
    #define SetBit(Reg,bitno)   ((Reg) |= ( 1 << ((bitno))))
    #define ReversBit(reg, bitno) ((reg) ^= (1 << (bitno))) 
    
    //Далее в любом месте, где нужно работать с битами
    //использую эти макро наподобие функций
    if(GetBit(PSW[600],5))	{	// Если "5" бит в регистре PSW[600] установлен, то
        ResetBit(PSW[256],12);	// Сбросить бит "12" в регистре PSW256
        SetBit(PSW[300],7);		// Установить бит "7" в регистре PSW300
        ReversBit(PSW[500],3);	// Инвертировать бит "3" в регистре PSW500
    }
    
    if(!GetBit(PSW[600],5))	{	// Если "5" бит в регистре PSW[600] НЕ установлен, то
    // сделать то-то
    // сделать это
    }
    Все справедливо и для переменных, например WORD
    Код:
    #define GetBit(Reg,bitno)   ((Reg) & (1 << (bitno)))
    #define ResetBit(Reg,bitno) ((Reg) &= ( ~ (1 << ((bitno)))))
    #define SetBit(Reg,bitno)   ((Reg) |= ( 1 << ((bitno))))
    #define ReversBit(reg, bitno) ((reg) ^= (1 << (bitno))) 
    
    WORD wBIT;
    WORD TEST;
    
    Read(PLC, 8, MODBUS_RTU_REG_4X, 555, 0, TYPE_WORD, &wBIT); //chtenie registra
    
    if(GetBit(wBIT,5)) {	// Если "5" бит в регистре wBIT установлен, то
        ResetBit(TEST,12);	// Сбросить бит "12" в регистре TEST
        SetBit(TEST,7);	// Установить бит "7" в регистре TEST
        ReversBit(TEST, 3);	// Инвертировать бит "3" в регистре TEST
    }
    
    if(!GetBit(wBIT,12)) {	//Если "5" бит в регистре wBIT НЕ установлен, то
    // сделать это
    //сделать то-то
    }
    ЗЫ
    Насколько я понимаю, в Вашем варианте нужно так писать
    if (! (PSW[600] & ( 1 << i ) )) //uslovie (собственно проблема в этом условии)
    {
    Последний раз редактировалось petera; 13.12.2019 в 17:17.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  7. #1587

    По умолчанию

    Спасибо большое! Буду тестировать проверять)

  8. #1588

    По умолчанию

    Посоветуйте как временно погасить изображения функциональных областей. Нужно для снимка экранов.

  9. #1589
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,064

    По умолчанию

    Цитата Сообщение от Серёга Букашкин Посмотреть сообщение
    Посоветуйте как временно погасить изображения функциональных областей. Нужно для снимка экранов.
    В настройках расположения установите координату по X = 800 (для СП307/310) и нажмите кнопку Закрепить - тогда области будут отображаться за пределами видимой зоны экрана.

  10. #1590

    По умолчанию

    Цитата Сообщение от Серёга Букашкин Посмотреть сообщение
    Посоветуйте как временно погасить изображения функциональных областей. Нужно для снимка экранов.
    Делаю просто, правой кнопкой вызываю подменю, опустить на слой ниже и прячу под любым дисплеем, кнопкой или залитым цветом прямоугольником. Если функциональная область глобальная, она и так ниже слоем, просто перетаскиваю под дисплей. Либо дисплей ставлю слоем выше.
    Последний раз редактировалось kondor3000; 15.12.2019 в 12:34.

Страница 159 из 318 ПерваяПервая ... 59109149157158159160161169209259 ... ПоследняяПоследняя

Похожие темы

  1. Экспорт CSV в панели СП3xx и порядок квитирования событий
    от theoretician в разделе Панели оператора (HMI)
    Ответов: 30
    Последнее сообщение: 24.08.2021, 16:17
  2. Индикатор ИП120 , вопросы- ответы
    от rovki в разделе Программируемые реле
    Ответов: 56
    Последнее сообщение: 03.11.2017, 15:58
  3. Сенсорные панели оператора ОВЕН СП3ХХ
    от Боднар Олег Миколайович в разделе Подбор Оборудования
    Ответов: 7
    Последнее сообщение: 17.12.2015, 09:09
  4. СПК 107 в качестве панели оператора
    от Леонид в разделе СПК1хх
    Ответов: 15
    Последнее сообщение: 20.11.2015, 08:17

Ваши права

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