Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Teodor

Страницы: [1] 2 3 ... 18
1
Как я понимаю вопрос в другом. У каждой переменной есть предупредительные (аварийные) границы. Посему в скрипте можно обратиться к xVar.LowWarning или xVar.LowAlarm или High, если надо. Тогда можно задать эти параметры в настройках переменной, или на отдельной странице создать поля к которым привязать данную переменную и соотв. ее параметр из описанных для задания порога срабатывания администратором системы. Тогда скрипт будет единым для всех переменных с которыми ему придется работать.

2
Доброго дня! практически все известные OPC серверы модбас предоставляют возможность подключения не более 32 тегов. Ваша бесплатная версия позволяет подключать 64 тега. 2 разных опс сервера запустить нельзя. натолкните пож. на мысль, с помощью каких механизмов можно запустить у клиента стартовую задачку(там надо как минимум 44 тега) именно на модбас(контроллеры у меня свои с поддержкой модбаса).
Вы имели в виду, что ДЕМО серверов читают не более 32 тегов... Кстати, к часовой демо в комплект взять лектус. У него тоже есть демо анлим, но по времени.

Есть 1 подленький ход :D теги word читать на OPC инт64. Тогда в 1 тег ОРС влезет 4 тега. Потом, правда на скаде придется поплясать, но то таке.

3
А если создать 2 переменных (VarAlarm)BOOL и (VarAlarmCode)DWORD(INT64).
На отдельную страниицу вывести поля с основными переменной VarOPCErr_ХХ и дополнительной VarAlarmCode и установить им теги от 0 по 31(63).
На Onchange добавить им всем один скриптик:

 if Sender is TM_Object then 
    with Sender as TM_Object do
        VariableEx.Value := SetBit(VariableEx.Value,Tag,Value);     

if VarAlarmCode.Value>0 then
    VarAlarm.Value = true
else
    VarAlarm.Value = false;

Cуть: в переменную AlarmCode вписываем значение алармов с ОPC в виде битов по адресам указанным в поле Тег. Если есть любая авария, то и глобальную ставим. Заодно в архиве AlarmCode будет хранить все аварии в побитном варианте и не дергаться, пока состояние на входе не меняется.

4
Ваши вопросы / Re: Инициализация и OnDataChange
« : 04 Октября 2017, 16:46:40 »
У переменных есть свойство "качество". Если данные не пришли, нет связи или еще кака фигня, то и качество фальшивое. Это можно учитывать в скриптах. Например, если качество плохое, то значение переменной игнорировать, или не писать в нее, чтобы не срабатывал он ченж.

5
Ваши вопросы / Re: Инициализация и OnDataChange
« : 04 Октября 2017, 10:08:29 »
Нарисовать переменную varInit, которую установить в тру после первого OnDataChange (с 0 на 1 или 2)  если она тру, то исполнить скрипт.

6
Ваши вопросы / Re: Работа с трендами
« : 22 Сентября 2017, 10:18:34 »
Сообщение же привязано к переменной положения задвижки? Вот эту переменную первой и добавляем во временную папку. Потом туда-же график температуры, состояние насосов и прочее.

Может я и неправильно понимаю задачу трендов, но я делаю тренды на все, что движется, вплоть до изменения настроек и заданных параметров. Тогда очень наглядно видно что творилось в системе, состоянием на тот момент.

Например был прикол. Одна из веток ГВП имела дикий теплообменник, из которого вода при 70 на входе, имела выход 35. Для того, чтобы его придавить на трехходовый поставили ПИД регуль. Но ветка была дальняя (из 9 основных), и насосы соседи иногда "передавливали", из за чего пид трехходового успевал вывернуть клапан на 100%. Тогда затыкался соседний насос и мегаватный ТО начинал свое черное дело. А т.к. происходило это, когда другие насосы остановились, то обратка в котел падала с 55 до 40. Котел, офигевший от того что он не может догреть подачу до заданной, разгонялся сам и запускал ведомого. Но тут насос останавливался... Обратка взлетала на 20 и как следствие подача с 85 до 100... Котлы в ужасе уходили в аварию и остывали помаленьку.

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

7
Ваши вопросы / Работа с трендами
« : 21 Сентября 2017, 15:52:29 »
Есть 2 просьбы по трендам, точнее по работе с ними.

1. Очень не хватает (или я не нашел) "временных папок" для трендов. Часто при возникновении внештатных ситуаций  приходится лопатить папки и выискивать там нужные данные в поиске бага. Например в такое то время проседает пемпература на ГВП. Почему? И погнали пересматривать что делали насосы, клапана, соседние ветки... Утомительно и непонятно. Ооочень пригодилась бы возможность создать одну или несколько временных папок с трендами для каждого клиента (даже до обрыва сессии). Добавлять их прямо в вьювере "добавить к сравнению/папкеХ". В самой "папкеХ" возможность удалить и очистить добавленые в нее тренды. Тогда можно накладывать тренды из разных категорий, добавляя/удаляя "подозрительные" тренды к парочке базовых для наглядности происходящего процесса. Это очень поможет в наладке/настройке системы.

2. Раз уже архивация переменной задается в настройках переменной, то хорошо было бы, чтобы там и отображались пути к трендам в которые она выведена (если по ней они есть). Еще лучше, если бы там-же можно было и добавить ее в конец заданной папки с трендами с ее названием. Дальнейшую сортировку  и переименования можно производить в редакторе трендов, чтобы не дублировать функционал.
Объясню суть проблемы. Я подтянул 100500 переменных с ОРС, пописал 100500 скриптов для внутренних переменных. Раскидал их по визуализациям. Сейчас сижу с листочком и по визуализации переписываю названия переменных и их описания, чтобы потом создавать папочки и раскидывать по ним трендики. Мало того, я уже не понимаю, какие тренды я поделал, а какие еще нет. А потом насяльника спрашивает, "а что там у нас с той переменной?"... А я ее провтыкал...

8
Пришла моя очередь тупить. Есть каплер 750-333 (профибас). Надо его протестить. Контроллер 750-8208 (мастер) еще не приехал, зато есть Siemens PC Adapter USB A2 и ни малейшего понимания что это такое вообще...

Его можно как то запользовать без симатика и прочей семеновской лабуды?

9
Ошибки / Re: Ошибка при наложении объектов
« : 13 Сентября 2017, 09:47:36 »
Из той-же серии. Если поле полностью закрыть кнопкой, то при нажатии на нее выскакивает окно для ввода данных поля :)

10
OPC UA/DA сервер arOPC / Re: Bad device failure limit ok
« : 08 Сентября 2017, 10:22:24 »
Некоторые девайсы на 4 запрос не отвечают если там холдинг регистры. Попробуйте 3й.
Некоторые девайсы не отдают блоки больше Х байт. Кто-то 10, кто-то 64.
Некоторые девайсы не отдают блоки, если у них нету 1-го или более регистров в указанном диапазоне.

11
Ваши вопросы / Re: Обсуждение MQTT
« : 08 Сентября 2017, 10:11:50 »
МКТТ - это, в первую очередь ИОТ, а не индастриал стандарт. Долго объяснять почему, но просто поверьте. На просто так до сегодня дожил дедушка модбас, а мэковские языки - родичи паскаля. Для индустриального сегмента важна четкая определенность, однозначность и взаимопонимание. Просто представьте, что я в топик для температуры ввалил мегабайтовый JSON c прогнозом погоды... Случайно... На сколько я повешу контроллер, скаду и т.п. пока они его переберут. Для хоум сектра подход "мы здесь взрослые люди" подходит, а вот для пром. сегмента никак. И вопрос не в хорошем тоне... А для подхода 1 топик = 1 переменная мне намного лучше подходит MBTCP c его 1 регистр = 1 переменная.

12
А есть-ли, хотя-бы теоретическая, возможность при внесении изменений в проект не перезапускать ВЕСЬ проект. Например я передвинул пару элементов, поменял права, добавил сообщений и т.п., но не лез в переменные, тренды, скрипты и т.п. Очень неплохо было бы иметь возможность перезапустить не проект, а только интерфейс(отдельной кнопкой), дабы не обрывать связи с БД и OPC.

13
Как сложная альтернатива, запись данных и подтверждения ТО в СУБД и простенький самописный клиент для работы с данными.

Как правильная (как по мне), то учетом времени до ТО занимается не скада, а контроллер. Чтение данных и запись регистров сброса уже как организуете, так и будет. Например простой скрипт клиента на питоне, который подымает модбас, читает, пишет то что надо.

14
GEW, сегодня нашли возможную причину данной проблемы с отчетами. Завтра вечером опубликуем обновление с исправлением.

Цитировать
Они должны быть настроенны синхронно на сервере и на том клиенте, с которого запускаете. ИМХО!
По расположению папок ограничений нет, синхронность не нужна, можно на каждом ПК выбирать своё расположение.
я имею в виду, внутри проекта. А сам проект хай лежит себе где хочет... Или я могу создать проект, указать папку проекта, скопировать, создать в одном подпапку 1 и сохранять туда файл. Потом с другого клиента, указав куда сохранить у меня эта подпапка сама появится?

15
Не, так я за то и спросил, что можно ли статусную основной делать и работать с ней прямо, или все-же доп. и основная локальная. У меня вообще цирк вышел. Я пробовал через основную и свойство бит, а скриптом отдельно выставлял контрольный бит. Но переменная в ОПС успевала передаться еще до того как контрольный бит устанавливался, и собсно отправить ее на контроллер, который восстанавливал состояние до предыдущего.

Страницы: [1] 2 3 ... 18