Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Возможно, этот пример поможет понять ситуацию:
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Попробуйте настроить вторую таблицу по аналогии с первой (которая работает).
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Каким образом работает в СП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.
Глобальный макрос используется для объявления глобальных переменных и прототипов функции. Сам по себе он не вызывается.
Необходимо вызвать его в пользовательском макросе с нужным аргументами. Пользовательский макрос, в свою очередь, в большинстве случаев циклически вызывается через элемент Функциональная область - так что while не нужен, и да, бесконечный цикл в подавляющем большинстве случаев создаст только проблемы.
Частота вызова макроса настраивается в настройках функциональной области.
Более подробно см. в статье: http://www.owen.ru/uploads/aip_47_sait_kislov_36-37.pdf и Руководстве пользователя.
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Здравствуйте. Есть такой элемент в сп300 как сигнальный дисплей, где задаешь диапазон, при выходе за пределы диапазона он начинает мигать. А нельзя ли считать этот бит и передать его в плк?
Всем-73
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk