Страница 50 из 318 ПерваяПервая ... 40484950515260100150 ... ПоследняяПоследняя
Показано с 491 по 500 из 3177

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

  1. #491

  2. #492

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Выложите, пожалуйста, эти проекты для ПЛК и панели.
    Ок, прикладываю, только не судите - проект еще сырой напрочь...
    Вложения Вложения
    Последний раз редактировалось Минеев Антон; 19.05.2017 в 12:21.

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

    По умолчанию

    Цитата Сообщение от Минеев Антон Посмотреть сообщение
    Ок, прикладываю, только не судите - проект еще сырой напрочь...
    Извините, я перестал понимать ситуацию. В приложенном проекте таблица без столбца с меткой времени.
    Можете еще раз объяснить, что и куда вы хотите передать (с упоминанием имен переменных и адресов панели).

  4. #494

  5. #495

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Возможно, этот пример поможет понять ситуацию:
    Да, ответ помог:
    im3.png
    Так все вижу - все меняется...
    А вот таблица:
    im2.png
    Там вместо времени прочерки...

  6. #496

  7. #497
    Пользователь
    Регистрация
    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.

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

    По умолчанию

    Глобальный макрос используется для объявления глобальных переменных и прототипов функции. Сам по себе он не вызывается.
    Необходимо вызвать его в пользовательском макросе с нужным аргументами. Пользовательский макрос, в свою очередь, в большинстве случаев циклически вызывается через элемент Функциональная область - так что while не нужен, и да, бесконечный цикл в подавляющем большинстве случаев создаст только проблемы.
    Частота вызова макроса настраивается в настройках функциональной области.
    Более подробно см. в статье: http://www.owen.ru/uploads/aip_47_sait_kislov_36-37.pdf и Руководстве пользователя.

  9. #499
    Пользователь Аватар для Ruffian
    Регистрация
    11.07.2008
    Адрес
    Рязань
    Сообщений
    95

    По умолчанию

    Здравствуйте. Есть такой элемент в сп300 как сигнальный дисплей, где задаешь диапазон, при выходе за пределы диапазона он начинает мигать. А нельзя ли считать этот бит и передать его в плк?
    Всем-73

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

    По умолчанию

    Цитата Сообщение от Ruffian Посмотреть сообщение
    Здравствуйте. Есть такой элемент в сп300 как сигнальный дисплей, где задаешь диапазон, при выходе за пределы диапазона он начинает мигать. А нельзя ли считать этот бит и передать его в плк?
    Нет, к сожалению, такой функционал не предусмотрен.

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

Похожие темы

  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

Ваши права

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