Что значит "последовательно"? В строке будет отображаться только одна какая то авария.
Что значит "последовательно"? В строке будет отображаться только одна какая то авария.
Спасибо.
У меня есть скрипт для отображения аварий в контроллере Pixel. Все аварии вписываются одна за другой. В SCADA используется только функциональный блок "Сравнение строк" и всё. Да, я понимаю, тут идёт побитная информация. Вот я и спросил, нельзя ли сделать такого же типа скрипт, только конкретно с адресами.
-- Uninitialization
function OnClose()
end
-- Processing
function OnRead()
alarm, _, _ = server.ReadTag( "$(N).$(D).АВАРИЯ" )
if alarm == true then
S = ""
err, w = modbus.ReadInputRegistersAsInt16( 40966, 1, true, "10325476" )
if err == false then
if bit.BitFromData( w[1], 0 ) == true then S = S.."/Жалюзи притока " end
if bit.BitFromData( w[1], 1 ) == true then S = S.."/Обрыв ремней " end
if bit.BitFromData( w[1], 3 ) == true then S = S.."/Авария насоса " end
if bit.BitFromData( w[1], 4 ) == true then S = S.."/Низкая Т.притока " end
if bit.BitFromData( w[1], 5 ) == true then S = S.."/Обрыв датчика " end
if bit.BitFromData( w[1], 6 ) == true then S = S.."/Низкая Т.обратки " end
if bit.BitFromData( w[1], 7 ) == true then S = S.."/Авария двигателя " end
if bit.BitFromData( w[1], 8 ) == true then S = S.."/Пожар " end
if bit.BitFromData( w[1], 10 ) == true then S = S.."/Авария по термостату " end
server.WriteCurrentTag( S, OPC_QUALITY_GOOD)
end
else
S = ""
server.WriteCurrentTag( S, OPC_QUALITY_GOOD)
end
end
Спасибо...
Можете по аналогии читать функциями modbus нужные адрес, полученную таблицу проверяете - если элемент равен 1, то формируете строку.
Спасибо.
Посмотрите пример в приложнеии
Спасибо.
Добрый день.
С авариями с отдельными адресами всё получилось. Спасибо.
Возник ещё один вопрос.
Имеется тэг со скриптом, в котором идёт побитный опрос аварий. Адрес (40966) с битами определённых аварий.
Мне необходимо добавить аварию обрыва датчика, но эта авария находится по другому адресу.
Подскажите, как в этот скрипт добавить аварию с другим адресом.
К примеру адрес 100. бит 5
55.png
Последний раз редактировалось mkv; 04.03.2024 в 10:03.
Спасибо...
Аналогично - читаете другой адрес, и точно также делаете проверку битов в нем.
Спасибо.
В этом же теге, той же самой функцией - только адрес другой будет.
Спасибо.