Показано с 1 по 10 из 3261

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

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь
    Регистрация
    18.05.2017
    Адрес
    Чебоксары
    Сообщений
    118

    По умолчанию

    Каким образом работает в СП307 глобальный макрос?
    Стоит задача - из преобразователя частоты читаю код аварии, и использую результат в таблице событий реального времени.
    Для этого в глобальном макросе читаю регистр по адресу чтения кода аварии, и устанавливаю биты в памяти панели, которые потом используются в таблице
    событий реального времени для формирования сообщений.
    Создан и откомпилирован глобальный макрос (немного сократил число устанавливаемых битов ):

    Код:
    void main (void)
    {
    	
        WORD AlarmCode = 0;
    
    	// read alarm code from ESQ
    	Read(PLC, 1, MODBUS_RTU_REG_4X, 7683, 0, TYPE_WORD, &AlarmCode);
    
    	if(AlarmCode == 0) SetPSB(300);
    		else ResetPSB(300);
    	if(AlarmCode == 1) SetPSB(301);
    		else ResetPSB(301);
    	if(AlarmCode == 2) SetPSB(302);
    		else ResetPSB(302);
    	if(AlarmCode == 3) SetPSB(303);
    		else ResetPSB(303);
    	if(AlarmCode == 4) SetPSB(304);
    		else ResetPSB(304);
    }
    
    Результат не увидел. Выполняется ли глобальный макрос "раз в цикл" общей программы СП, или же надо сделать внутри
    глобального макроса бесконечный цикл чтения, например вот такой:
    Код:
    void main (void)
    {
    	
        WORD AlarmCode = 0;
    
        while(1)
        {
    	// read alarm code from ESQ
    	Read(PLC, 1, MODBUS_RTU_REG_4X, 7683, 0, TYPE_WORD, &AlarmCode);
    
    	if(AlarmCode == 0) SetPSB(300);
    		else ResetPSB(300);
    	if(AlarmCode == 1) SetPSB(301);
    		else ResetPSB(301);
    	if(AlarmCode == 2) SetPSB(302);
    		else ResetPSB(302);
    	if(AlarmCode == 3) SetPSB(303);
    		else ResetPSB(303);
    	if(AlarmCode == 4) SetPSB(304);
    		else ResetPSB(304);
        }
    }
    
    Если нужен бесконечный цикл, то не станет ли чтение в нем регистра по интерфейсу причиной
    ухудшения динамики обновления данных на экранах панели, читаемых привязаными к экранам средствами
    визуализации типа индикаторы/дисплеи и т.п? Если да, то как правильнее сделать запросы на чтение из глобального макроса более редкими по времени?
    Последний раз редактировалось Евгений Кислов; 23.05.2017 в 07:42.

Похожие темы

  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

Ваши права

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