СРК-М

Материал из TekonWiki
Перейти к: навигация, поиск

Введение

СРК-М2 - cогласователь работы климатического оборудования.

Crk-m2.jpg

Для организации обмена данными с АРМами или серверами сбора информации управляющий модуль СРК-М имеет «на борту» два интерфейса:

  • Ethernet
  • RS485.

Для Ethernet используются протоколы:

  • НТТР (Web),
  • Modbus over TCP
  • SNMP.

Для интерфейса RS485 используется

  • Modbus serial RTU.

Документацию на контроллер см. здесь или на сайте производителя.

Мониторинг по интерфейсам Ethernet и RS485 может осуществляться одновременно. Мониторинг c использованием протоколов SNMP, Modbus TCP (или Modbus RTU over TCP) и Modbus serial RTU может осуществляться одновременно.

Внимание!
Интерфейс RS-485 должен быть активирован в настройка СРК.
Подробнее см. документацию на устройство.

Подключение к АСУД-248

Вариант 1 Ethernet. Протокол Modbus TCP

СРК - Компьютерная сеть - АРМ-диспетчера

Подробнее см. настройку Modbus-устройства.

Вариант 2 Ethernet. Протокол SNMP

СРК - Компьютерная сеть - АРМ-диспетчера

Подробнее см. настройку SNMP.

Вариант 3 КЦС-IPM. Протокол Modbus RTU

СРК - RS-485 - КЦС-IPM - АРМ-диспетчера

Контроллер должен быть настроен следующим образом:

  • протокол - Modbus RTU
  • параметры интерфейса - скорость любая, 8-N-1

Вариант 4 КЦС-М. Протокол Modbus RTU

СРК - RS-485 - КЦС-М - TL-линия связи АСУД - Пульт-ПК

Контроллер должен быть настроен следующим образом:

  • протокол - Modbus RTU
  • параметры интерфейса - скорость 9600, 8-N-1

Пример визуализации данных в SCADA

СРК-М, управляющий работой двух кондиционеров

Файлы регистрации Modbus-устройства в ASUDBase http://www.tekon.ru/documents/srk-m/crkm2.zip

Используемые примитивы:

  • LED (работа - останов)
  • Текстовое поле (+ LUA-скрипты)
  • Дискретный датчик ( авария / неисправность)
  • Прибор учета (общая информация об устройстве)

Используемые скрипты:

function CPKM_REG (val, qual)
local RegToStr=
{
[0]="Авто",
[1]="Кондиционирование",
[2]="Вентиляция"
}
	if qual ~= opc.da.tekon.ItemData.QUALITY_GOOD then
		return "---"
	end
	local s = RegToStr [val.Integer]
        if s == nil
          then return "Неизвестно: "..val.Integer
          else return s
        end 
end

function CPKM_NET (val, qual)
	if qual ~= opc.da.tekon.ItemData.QUALITY_GOOD then
		return "---"
	end
        local s
        if  hasbit_ex(val.Integer,9) == 1
         then s = "К1 Л. - Оk; " 
         else s = "К1 Л. - Ошибка; "
        end
        if  hasbit_ex(val.Integer,1) == 1
         then s = s .. "К2 Пр. - Оk" 
         else s = s .. "К2 Пр. - Ошибка"
        end
        return s
end

function CPKM_ERROR (val, qual)
	if qual ~= opc.da.tekon.ItemData.QUALITY_GOOD then
		return "---"
	end
        local s = ""
        if  hasbit_ex(val.Integer,1) == 1
         then s = s .. "Темп; " 
        end
        if  hasbit_ex(val.Integer,2) == 1
         then s = s .. "U+OFF; " 
        end
        if  hasbit_ex(val.Integer,3) == 1
         then s = s .. "ОКВ; " 
        end
        if  hasbit_ex(val.Integer,4) == 1
         then s = s .. "Нет ДТ; " 
        end
        if  hasbit_ex(val.Integer,5) == 1
         then s = s .. "Нет ОКВ; " 
        end
        if  hasbit_ex(val.Integer,6) == 1
         then s = s .. "Пожар; " 
        end
        if  hasbit_ex(val.Integer,7) == 1
         then s = s .. "Резерв 7; " 
        end
        if  hasbit_ex(val.Integer,8) == 1
         then s = s .. "Резерв 8; " 
        end
        if  s == ""
         then s = "Нет ошибки" 
        end
        return s
end

function CPKM_WARNING (val, qual)
	if qual ~= opc.da.tekon.ItemData.QUALITY_GOOD then
		return "---"
	end
        local s = ""
        if  hasbit_ex(val.Integer,1) == 1
         then s = s .. "Темп; " 
        end
        if (val.Integer > 0) and (s == "")
         then s = "Служебное"
        end
        if  s == ""
         then s = "Нет предупреждения" 
        end
        return s
end