Данный вопрос (только более развернуто) вам нужно задать в разделе "Эксплуатация".
Вид для печати
Данный вопрос (только более развернуто) вам нужно задать в разделе "Эксплуатация".
Как конвертировать значения?
Напримет 4-20 в 0-100. В Скаде есть такой ФБ? Я чего-то не нашел. Начал делать расчет и запутался...
Подскажите пожалуйста?
Спасибо!
Нужно в скаде или в ОРС сервере? Данные откуда поступают?
Ну тогда через модуль "Расчет". Пишите в нем такую формулу:
6,25*Значение-25
Это пересчет по линейной функции y=A*x+B по вашим параметра (4 ма - 0%, 20 ма - 100%)
Можно с помощью него, можно с помощью того же расчета - у него функция OPCQuality
День добрый. Такой вопрос. Мне нужно организовать включение, выключение оборудования через модуль МВУ8Р по времени. Допустим есть насос, мне его необходимо включить в 23-00 и выключить в 8-00 каждый день. Как это сделать в мастер скада?
У объектов в MasterSCADA есть закладка "Расписание" с помощью которой можно выполнять присваивание значений переменным.
Спасибо!, буду пробовать.
Тогда нужно использовать не расписание, а Событие. При помощи функции Time вы можете отслеживать текущее
В приложении пример недельного расписания - набор событий которые возникают каждый день в заданное время.
Существует ли демоверсия MasterOPC без ограничения в 32 тега?
Нет. Демо версии MasterOPC не выпускается.
Здравствуйте! Подскажите, пожалуйста, где можно найти подробное описание на процедуру установки пароля на доступ к элементам визуализации, реализованным на СПК 107. Необходимо исключить несанкционированный доступ к элементам управления насосной станцией. Я пытался руководствоваться инструкцией "визуализация codesys 3 v1.1". При компиляции появляется ошибка "Тип переменной массива g_VUMUserGroupNames в конфигурации таблицы GenElemInst_56 отличается от текущего объявления переменной. Обновите переменную массива в конфигурации таблицы."
Этот вопрос вам нужно задать в разделе "ПЛК".
Добрый день.Подскажите, есть ли пример скрипта в MasterOPS. При записи в тег на сервере надо менять значение других тегов.Например при записи в тег Х значения 1 записываются значения в тег а=30, в=40 и тд. Штудирую справку к языку LUA, но на примере было бы легче.
Заранее спасибо.
Например:
function OnRead()
val,qual=server.ReadCurrentTag();
if val==1 then
server.WriteTag("Путь к тегу",30,OPC_QUALITY_GOOD );
server.WriteTag("Путь к тегу1",40,OPC_QUALITY_GOOD );
end_if;
end
Посмотрите справку ко всем функциям по работе с тегами (различные вариации Read и Write).
Создал.Ругается на ошибку компиляции.
Где то напортачил.А где не пойму.
Ваше вложение не скачивается.
Поправил вложение.Могу быть не прав, но проблема с end_if;
При изменение на end; компилируется нормально.Но будет ли правильно работать. Хотя значения пишутся, но ..сомнения..
-- Initialization
function OnInit()
end
-- Uninitialization
function OnClose()
end
-- Processing
function OnRead()
val,qual=server.ReadCurrentTag();
if val==1 then
server.WriteTag("NodeRS.TPM251.IPA.Set step 1",52,OPC_QUALITY_GOOD );
server.WriteTag("NodeRS.TPM251.IPA.Set time 1",10,OPC_QUALITY_GOOD );
server.WriteTag("NodeRS.TPM251.IPA.Set step 2",66,OPC_QUALITY_GOOD );
server.WriteTag("NodeRS.TPM251.IPA.Set time 2",60,OPC_QUALITY_GOOD );
server.WriteTag("NodeRS.TPM251.IPA.Set step 3",77,OPC_QUALITY_GOOD );
server.WriteTag("NodeRS.TPM251.IPA.Set time 3",10,OPC_QUALITY_GOOD );
server.WriteTag("NodeRS.TPM251.IPA.Set Step 4",0,OPC_QUALITY_GOOD );
server.WriteTag("NodeRS.TPM251.IPA.Set time 4",0,OPC_QUALITY_GOOD );
server.WriteTag("NodeRS.TPM251.IPA.Set step 5",0,OPC_QUALITY_GOOD );
server.WriteTag("NodeRS.TPM251.IPA.Set time 5",0,OPC_QUALITY_GOOD );
end;
end
Да, будет работать - и должно быть end.
Написал end_if случайно.
Еще пара вопросов.
1.Как реализовать таймер в ОПС. Например по достижении значения тега х например 100 второй тег считает время например 60 минут.По окончанию времени в него записывается значение 1.
2. Реализация месячного графика уставок. Например после старта (записи в тег 1) в другой тег пишется одно число, по прошествии n-дней записывается другое число, и т.д.
Данную задачу лучше решать на уровне SCADA системы.
К сожалению у нас нет МастерСкада. Приходится использовать бесплатную Simple-Scada.Вопрос приходится решать на уровне сервера.
И Simp Light не позволяет решить эту простейшую задачу?
На данный момент уже 60 точек. А на следующей неделе добавится еще около 20. Плюс необходима работа не только на опросной станции но и на сетевом клиенте(точнее на трех). Руководство трясу на платную СКАДУ. Со временем конечно выбью.Но пока приходится пользоваться тем что есть.
Сделать эту задачу в ОРС сервере можно, но придется это делать через скрипты. Когда значение превысило заданное вам значение сохраняете текущее время. Затем в каждом цикле опроса проверяете не превысило текущее время сохраненное. Если превысило - пишите в тег.
Что то не ладится. Записываю 1 в тег- пишутся заданные значения в заданные теги. Пишу в тег 0 - в заданных значениях восстанавливаются предыдущие значения.А надо что бы сохранялись( заданные значения пишутся в уставки прибора) Если писать напрямую в заданные теги значения сохраняется. :(
Для того чтобы значение записалось в прибор нужно перед WriteTag сначала выполнить команду WriteTagToDevice.
Данный вопрос вам нужно задать в разделе "ПЛК".
1. Вопрос такой, сделал такую программу на 26 дискретных входов и 24 дискретных выходов, как теперь можно передать эти переменные в скаду, виртуально, и какой OPC сервер нужен, т.к пока нет плк?
Вложение 17775
2. Какую из этих скад лучше использовать: Simple scada, SimpLight, TraceMode или другие? Скада должна пока только собирать данные и фиксировать Отключение Включение плужков
3. Правильна ли такая схема подключения плк и весов к ПК?
4. Один ПК будет стоять по месту, а на другой надо передать в другое помещение в метрах 200х-500х, как это лучше сделать
Вложение 17776
или так
Вложение 17777
Почему то после переноса проекта на другой ПК, появились иероглифы, я так понимаю где то надо поменять кодировку?
Есть ли возможность работать без основной мнемосхемы?
Только отображать небольшие окна с информацией
Какой планируется контроллер использовать? Если ОВЕН то вы можете использовать OPC сервер Codesys или наш Modbus Universal MasterOPC сервер
http://insat.ru/products/?category=399
Бесплатную версию на 32 точки, а также документацию и видеопримеры можно скачать здесь:
http://insat.ru/prices/info.php?pid=6944
Конфигурацию можно сделать и без контроллера, используя в качестве имитатора ModRSSim (идет в комплекте с сервером).
Конечно же MasterSCADA.
Напишите нам на support(собка)insat.ru - мы вышлем вам параметры для скачивания Demo версии и бесплатной версии на 32 точки.
Вы хотите чтобы скада опрашивала и ПЛК и весы по RS-485? Можно, но нужно чтобы и весы и контроллер работали по одному протоколу (Modbus RTU), компьютер в этом случае будет мастером.
Ну и нужно соблюдать правила сети RS-485:
http://contravt-metodichka.ru/?id=3937
http://www.owen.ru/forum/showthread.php?t=9854
Правильным вариантом будет установить три ПК в одну локальную сеть. Один ПК будет опрашивать контроллер, а другие будут с этого ПК получать данные. В MasterSCADA это реализуется при созданием сетевых проектов.
Этот вопрос вам нужно задать в разделе ПЛК.
Можно при помощи скрипта увести окно разработки в сторону. Посмотрите эту тему - в ней есть скрипт для этого:
http://www.owen.ru/forum/showthread.php?t=16944
плк110-60. Т.е получается что без реального ПЛК ни как не получится передать переменные в скаду
Да.
Надо так когда опускается плужок : весы считают сколько угля идет по конвееру и дальше при опускании плужков нужно отсчитывать сколько угля засыпалось в бункеры. Потому что весы одни на первом конвеере
Так?
Вложение 17791
С помощью функции ReadCurrentTag читаете значение и сравниваете с нужным значением.
Когда значение превысило, с помощью функции time.TimeNow определяете текущее время и прибавляете нужный запас секунд (минут) в значение в переменную (нужно будет объявить ее вне функции OnRead) и взводите переменную которая будет сигнализировать что идет отсчет времени (объявленную также вне функции OnRead).
Сравниваете текущее время (также полученное с помощью time.TimeNow) с сохраненным. Если превысило - выполняете нужные вам действия