Многие коллеги спрашивают — Как программировать PlantVisor? Всё очень просто, давайте сначала откроем карту html/map/index.htm исходный код и попробуем в нём разобраться, что к чему:
Добрый день!
Да, можно вставлять свои картинки, анимации, изображения, даже переменные и коды — в зависимости от получаемых от центрального контроллера линии RS485 (pc-gate) параметров с датчиков, и так, попробую сделать из того файла что вы прислали:
Описание — как программировать PlantVisor буду писать ниже под оригинальным кодом html, обозначая под строкой их значком «//«
<div style=»top:285px; left:161px; z-index:506; position:absolute; background-image: url(‘le_images/pjeasy_034_0.gif’);
// Слой с подложкой: pjeasy_034_0.gif
background-repeat:no-repeat; overflow:none; width: 60px; height: 46px;»>
<script>document.write(‘<a href=»<%unit34.GetHTMLPage4Unit(«index.htm»)%>?
// unit34 — устройство с номером 34 (в Общем списке устройств — ЛИния — Конфигурация линии — настраивается номер, такой же номер должен быть // в pjeasy Программа: 22: H1: 34 (там диапазон адресов от 1 до 255)) — это ссылка с карты на само устройство html/unitt/pjeasy/index.htm, а файл с // переменными (если нужно что-то поменять) тут: UnitT/pjeasy.var — собственно эти переменные и выводятся в html
Unit=<%unit34.Ident%>&whereunit=’+where_34+’&temprejimunit=’+temprejim_34+'»
// where_34 и temprejim_34 в файле html/map/description.js — лежат дополнительные «подсказки», например: к 34 адресу некий текст: Холодильная // камера N2 и Температурный режим: 0+2 C
onmouseover=showHrefDiv(«message_unit_34»)
// при наведении — выходит слой с div в котором выведены списком параметры
onmouseout=hideHrefDiv(«message_unit_34»)>’);</script>
// делаем невидимым слой div
<img border=’0′ style=’z-index:333;’ src='<% assint(unit34.Status,
«le_images/pjeasy_034_2.gif»,»le_images/pjeasy_034_0.gif»,»le_images/pjeasy_034_1.gif»,»le_images/pjeasy_034_4.gif»)%>’>
// Тут, выводи свои картинки, в данном случае: три состояния: 2, 0, 1
// Передаются они в unit34.Status к 34 номеру ввиде цифр: 0,1,2,3,4… под эти статусы — делаем свои картинки с этими статусами (выкл, тревога, // авария, работает)…
<br><div id=»message_unit_34″ style=»display:none;»><table border=»1″ cellpadding=»0″ cellspacing=»0″ bgcolor=»#3d41fa»><tr align=»left» valign=»top»>
<td align=»left» nowrap>
<font size=»1″ color=»#FFFFFF» face=»Arial, Helvetica, sans-serif»><br>
<script>document.write(where_34 + ‘<br>’ + temprejim_34);</script><br>
// Вывоодим данные в таблицу (пока скрытую, div станет видимый при срабатывании события onmouseover)
<center>——————————————————-<br></center>
Unit: <b><% unit34.Description %> (адрес:<%unit34.Ident%>)<br>
// Примечание по устройству: По-умолчанию, это то, что прописано в Сайт-Конфигурация линии-Линия — устройство, т.е. в нашем случае так: pjeasy
<center>——————————————————-<br></center>
Состояние: <%assint(unit34.Status,»Выключен»,»Не_в_сети»,»Тревога»,»Работает»)%></b><br>
// приходит 0,1,2,4 — соответственно и текст на 34ом — подменится на: «Выключен»,»Не_в_сети»,»Тревога» или «Работает»
Датчик 1: <b><% unit34.S_SONDA_1 %> <% unit34.S_SONDA_1.MUnit %></b><br>
// Открываем файл блокнотом: UnitT/pjeasy.var — собственно эти переменные и выводятся в html
// Находим: S_SONDA_1 — что написано? Верно: Датчик 1 из контроллера он получает по переменной: s_pr1 внутренняя адресация по RS485 — 2;2;1 — ну всё просто.
Датчик 2: <b><% unit34.S_SONDA_2 %> <% unit34.S_SONDA_2.MUnit %></b><br>
// Аналогично!
Датч.рз-ки: <b><% unit34.DEFR_SONDA %><% unit34.DEFR_SONDA.MUnit %></b><br>
// Аналогично!
Датчик 3: <b><% unit34.S_SONDA_3 %> <% unit34.S_SONDA_3.MUnit %></b><br>
// Аналогично!
<br>
<center>——————————————————-<br></center>
Unit: <a href=<%unit40.GetHTMLPage4Unit(«index.htm»)%>?Unit=<%unit40.Ident%>><b><% unit40.Description %> (адрес:<%unit40.Ident%>)</b></a>
// 40ой адрес — ссылка на EVDEVOLUTION
// Unit=<%unit40.Ident%> — номер адреса
// unit40.Description — название (примечание) Сайт-Конфигурация линия — Линия
<br>
<center>——————————————————-<br></center>
Состояние: <%assint(unit40.Status,»Выключен»,»Не_в_сети»,»Тревога»,»Работает»)%></b><br>
// На 40ом — передаются параметры статуса устройства: 0,1,2,3,4 — и подменяются на текст: ,»Выключен»,»Не_в_сети»,»Тревога»,»Работает»
Откр.клапана: <b><% unit40.EEV_POSITION_PERCENT %> <% unit40.EEV_POSITION_PERCENT.MUnit %></b><br>
// Открываем файл блокнотом: UnitT/EVDEVO.var — собственно эти переменные и выводятся в html
// Находим: «EEV_POSITION_PERCENT»;2;17;1;»Открытие клапана»;»0″;»100″;»»;»%»;»Inputs»;»EEVopen»;»» — вопросов нет
Полож.клапана: <b><% unit40.EEV_POSITION_STEPS %> <% unit40.EEV_POSITION_STEPS.MUnit %></b><br>
// Находим в UnitT/EVDEVO_univ.var — EEV_POSITION_STEPS
// Да, есть такая: «EEV_POSITION_STEPS»;3;4;1;»Положение клапана»;»0″;»9999″;»»;»steps»;»Inputs»;»EEVposit»;»»
Перегрев: <b><% unit40.SH_SH %> <% unit40.SH_SH.MUnit %></b><br>
// Аналогично: SH_SH
Темп.всасыв.: <b><% unit40.SH_SUCT_TEMP %> <% unit40.SH_SUCT_TEMP.MUnit %></b><br>
// Так же
Темп.испарен.: <b><% unit40.SH_EVAP_TEMP %> <% unit40.SH_EVAP_TEMP.MUnit %></b><br>
// Тоже
Давл.испарен.: <b><% unit40.SH_EVAP_PRES %> <% unit40.SH_EVAP_PRES.MUnit %></b><br>
// Точно 1 в 1
</font>
</td>
</tr>
</table>
</div></div>
Обычно, переменные в var — файлах устройств можно даже напрограммировать самому, точно так же в блокноте. Но, тут вам понадобятся оригинальные переменные: адресация и имена — те что есть в самом контроллере Carel — то, над чем вы колдуете. Из этих же переменных — делается html-страничка, аналогичная как в самих устройствах (то что описано выше) туда вы и вставляете эти переменные — и всё работает. По-аналогии, система мониторинга поддерживает modbus, а значит, зная какие переменные есть в контроллерах Danfoss — можно точно также создать var-файл конкретно под него. Но, на второй Линии — использовать не RS485 — а ModBus! И точно-также сделать html страничку для управления именно вашим новым устройством. Что в этой системе радует — как я и говорил раньше — это то, что вы можете делать всё что душе угодно! Программить и программить. А вот в ситуации с PlantVisorPRO и PlantVisorPRO2 — у вас — ничего не выйдет! Там закрытый код! И все переменные — по их алгоритму — уже не возможно вывести одновременно на экран! Предлагают поехать в Италию на стажировку — но овчинка выделки не стоит. Разрабатывать свои собственные проекты можно лишь на PlantVisor! В общем-то немного разобравшись с кодом — уже профессионал! Спасибо.
Выдернуть все переменные — можно из var-файла
Они выводятся в html-странички с устройствами
Всё просто.
plantvisor позволяет с лёгкостью это делать!
Дешевле существующих аналогов plantvisor carel!