Ясно! У меня есть альтернатива. Успехов!
Вид для печати
Ясно! У меня есть альтернатива. Успехов!
Подскажите пожалуйста при использовании регулятора, где можно выставить его принцип действия прямой или обратный?
На данный момент у регулятора нет настройки "прямой" или "обратный".
Какой контроллер вы используете?
Я использую не контроллер а систему управления mTRON T фирмы JUMO
Извиняюсь, сейчас ползал инашел где выставляется тип регулстора. Во вкладке "состав" выбирается какой тип клапана испльзуется.
Тогда другой вопрос. Имеется контур регулирования, емкость с жидкостью и клапан. Показания уровня выведены на мнемосхему. Как лучше сделать чтобы при нажатии на показания и на клапан выскакивало одно и тоже окно выбором задания и др. информацией.
Вам нужно сделать отдельный объект, в нем создать окно в котором разместить нужные вам элементы управления (выбор задания и другая информация).
После этого вытаскиваете этот объект на мнемосхему - он станет кнопкой. В свойствах кнопки сделайте ее прозрачной и положите поверх нужных вам элементов мнемосхемы. Когда оператор будет щелкать по этим элементам - будет открываться мнемосхема.
Здравствуйте!
Возникла следующая проблема. Необходимо, в один регистр внешнего устройства послать несколько команд, по нажатию кнопки. (сохранить данные) Решил, написать программу на языке ST, это проще всего сделать. Когда описал выходы, то увидел, что они неактивные. Что, это ограничение демоверсии? Программа имеет 30 папок с вложениями таблиц, и прочего…. Убрал все "галки" восстановления при рестарте, иначе программа сразу видит, что кнопка нажата, хотя ее никто не трогает. Сразу скажу, что это вторая попытка обойти проблему, по новой создал вторую программу ST..
Спасибо!
Нет, это не ограничение демо версии.
Пришлите ваш проект. Выполните Проект - Экспортировать. Какая у вас версия MasterSCADA (Справка - О программе).
Попробуйте скачать и установить текущую Demo версию с нашего FTP и проверить на ней - возможно это ошибка, и она уже исправлена.
Спасибо за ответ!
Версия программы - 3.5.0.39904 3.5(DemoReleaseMax)_12_11_22_04_43
Если Вас не затруднит, скажите как скачать с FTP. Гдето уже писали, но я не обратил должного внимания.
А экспорт проекта перешлю по электронке в службу поддержки.
Удачи и успехов!
Нашел как скачать с FTP, но вылезли китайские иероглифы, и самое главное непонятно какая Scada у меня установлена. Вроде-бы Master Scada_RT_32......
Или Master Scada Demo. Как теперь узнать!
Спасибо!
Мы вам ответили по почте.
Здравствуйте!!!Сделал отчет с формой.Закинул на лист отчета таблицу данные, заголовок. Им автоматом задались наименование. Я взял эти наименование переименовал по своему, но в коде формы остались наименование прежние. Как обновить наименования в коде?
Вы поменяли подписи или имена?
В коде обращение идет по имени (по наименованию), то что видит пользователь в отчете - подпись (текст).
Имя компонента менять не обязательно. Но если изменили, то изменять его придется везде в коде.
Имя компонента менять не обязательно. Но если изменили, то изменять его придется везде в коде.
Изменение происходит вручную или есть что-то наподобие кнопки обновить?
Только вручную.
Как в отчетах сделать так: есть начало и конец выбора периода. Что надо сделать, чтобы при выборе начало, т.е. задания даты время автоматом ставилось на начало дня, а конец наоборот на конец дня?
Создаете команду "День" - ее тащите в отчет, по этой переменной вы будете определять дату.
В редакторе отчетов, создаете переменные "Начало" и "Конец", способ инициализации выбираете "Выражение", ставите галочку "Только чтение". У переменной "Начало" прописываете такой вод:
new DateTime(День.Value.Year, День.Value.Month, День.Value.Day,0,00,00);
У переменной "Конец" прописываете:
Начало.AddDays(1);
Затем выделяете у источника данных, параметр "Начало", в свойствах задаете режим "Функция" и в поле "Значение" прописываете имя переменной время которой нужно получить - "Начало". Аналогично для параметра конца.
Посмотрите нашу документацию по отчетам:
http://www.masterscada.ru/?additional_section_id=141
В 6 части (отчет с колонками) описывается такой способ задания времени на примере задания интервала в 1 месяц.
Что-то я не понял.У меня есть отчет с формой.На этой форме я ввожу начало и конец периода. Если я ввел одну и ту же дату, значит отчет выводится за целый день.
Посмотрите нашу документацию по отчетам:
http://www.masterscada.ru/?additional_section_id=141
В 6 части (отчет с колонками) описывается такой способ задания времени на примере задания интервала в 1 месяц. Вот этот пример поможет решить выше указанную задачу? Если да, то буду дальше разбираться...
А как можно получить начало дня в коде формы?
Например так:
var TimeValue=DateTimePickerControl1.Value;
Начало=new DateTime(TimeValue.Year, TimeValue.Month, TimeValue.Day,0,00,00);
Где DateTimePickerControl1 - контрол для задания времени
Начало - переменная для сохранения даты и времени (у переменной нужно включить способ инициализации - значение, "только чтение" - не ставить).
Большое спасибо разобрался!!!
Здравствуйте. Собираемся на работе подключить СПТ 961 и Мастерскаду. Нашел на форуме похожую проблему. http://www.owen.ru/forum/showthread....ght=masterlink .Скачал Мастерскаду на 32, вставил мастерлинк, ввел устройство ЛОГИКА961 и запустил. Открылось окошко с сообщением: Ошибка при переводе Компьютер1 Masterlink, модуль Masterlink не включен в данную версию (0х80131509).
Дело в том, что в версии MSRT32 не поддерживаются дополнительные модули и опции. Скачайте и установите Demo версию - в ней дополнительные опции есть.
Либо используйте для получения данных OPC сервер:
http://www.logika.spb.ru/newtexdoc/tex_doc_opc.php
Такой вопрос, есть значение накопленного объема ДТ, которое в режиме реального времени приходит с ПЛК
Необходимо в конце дня вычислить сколько ДТ было перекачано, т.е. от значения на 23:59 отнять значение 00-00(текущего дня, его начало)
Вам нужно просто получить разницу между значением в 23:59 и 0:00?
Можно решить задачу двумя путями.
1) Можно по расписанию - в полночь, сохранять значение значение уровня в переменную. А затем вычитать из значения текущего уровня эту переменную.
2) Если переменная уровня у вас архивируется, то можно использовать модуль "Расчет". У него есть функция AbsArchMomentValue( ) с помощью которой можно определить значение переменной в какой-то момент времени. Описание функции есть в справке.
В описании функции AbsArchMomentValue( ) написано, что переменные времени задаются в формате даты и времени, как я понял, для точного поиска значения архивируемой переменной.
Но как сделать, чтобы он брал дату и время для каждого дня?
AbsArchMomentValue( Вход0, ( Date( ) + Int2Time( 23, 55, 00 )) , 1) - AbsArchMomentValue( Вход0, ( Date( ) + Int2Time( 6, 00, 00 )) , 1 )
Правильно я написал формулу?
Вопрос про время, можно ли так сделать?
Проверил - пишет ошибку, убрал Date(), формула вроде сохранилась, но проверить ее работоспособность смогу только завтра, когда программу перезалью.
Но вопрос остался, как сделать так, чтобы выборка значений не только была по времени, но и по дате
А есть возможность сохранять данные не в 1 файл, каждый раз его перезаписывая, а дополнять уже имеющиеся данные новыми?
Ну или создавать новый файл, с другим именем?
Да, можно генерировать новое имя (например в зависимости от даты) и сохранять.
Посмотрите наши видеопримеры по редактору отчетов:
http://www.masterscada.ru/?additional_section_id=233
Там есть описание того сделать автоматическое сохранение файлов по расписанию.
Добрый вечер. Скадамастер спасибо вам за многочисленные ответы. У меня к вам новый вопрос. Есть мастерскада MRST-100. В контекстном меню компьютера есть иконка ПОИСК DA-сервер, а иконки ПОИСК HDA-сервер нет. Пробовал через СЕРВИС-ОРГАНАЙЗЕР тоже нет такой иконки. Поэтому никак не могу МАСТЕРСКАДОЙ обнаружить архивный сервер. Удалил MRST-100, загрузил DEMO-МАСТЕРСКАДУ, там такая иконка есть. Может поиск архивных серверов это дополнительная опция, которая приобретается отдельно?
Да. Для того чтобы работать с HDA серверами, необходимо приобрести опцию:
http://www.insat.ru/prices/info.php?pid=2972
Снова вопрос по функции архива в расчете AbsArchMomentValue
В режиме исполнения расчет всегда имеет значение 0, хотя данные архивируются, ну и формула оформлена согласно описанию.
Как еще можно осуществить расчет перекачанного топлива за сутки, имея значение только накопленного на данный момент топлива?
Вид формулы, которая находится в расчете:
AbsArchMomentValue( Вход1, CurDay( ), 1) - AbsArchMomentValue( Вход1, ( CurDay( ) - 24*60*59), 1 )
И еще вопрос, данные с OPC сервера так же как и ФБ и объекты самой SCADA архивируются? Просто Вход1 - это переменная которая приходит от PLC на OPC сервер.
Функция написана корректно.
Попробуйте для начала разбить ее на две части. Сделайте один расчет, в него пропишите определение значения на начало суток:
AbsArchMomentValue( Вход1, CurDay( ), 1)
Во второй напишите определение значения на начало предыдущих суток:
AbsArchMomentValue( Вход1, ( CurDay( ) - 24*60*59), 1 )
И убедитесь что у переменной "Вход1" действительно есть значения. Для этого выделите эту переменную и перейдите на закладку "Данные" - на данной закладке можно просмотреть архив переменной.
Если включите архивирование у них - то будут.
Добрый день, как можно в элементе управления "Команда" на мнемосхеме отображать реальное значение OPC переменной?
То есть, у меня есть OPC переменная с возможностью "запись\чтение", запись происходит через один ФБ "повторитель" чтение через другой, повторитель записи соединен с ФБ "команда", элемент "команда" записывает значение в OPC переменную при изменении. Как сделать чтобы в элементе команда отображалось значение считанное с OPC переменной а не последнее введённое?
Ведь значение OPC переменной может меняться с прибора, либо запись может просто не произойти из за проблем с линией связи.
Как один из вариантов можно использовать Событие и по условию присваивать Команде нужное значение.
То есть, просто показывать в окне "команда" необходимое значение не присваивая его не возможно?
Тогда, на сколько я понимаю, наиболее правильным будет сравнивать значение в "Команде" и значение OPC переменной и в случае отличия присваивать OPC введенное ранее значение?
И еше вопрос: как правильно производить начальную инициализацию при запуске MasterScada? Если неизвестно в работе или нет прибор и какие параметры заданны.
В OPC сервере от ОВЕН есть параметр "Activ" который показывает запущен или нет сервер если условие делать по этому параметру то при включении системы, пока еще не опросились все переменные, в окно "команда" записываются неверные значения. Если же делать задержку после запуска для того чтобы сервер опросил все параметры ,то время этой задержки сильно зависит от количества подключенных к сети приборов.
Можно ли в условии учитывать параметр достоверности переменной и как?
Заранее, Спасибо.
Само собой, если значение отображается, значит оно принадлежит данной команде.
По описанию вашей задачи у вас возможно ввести значение с мнемосхемы посредством редактирования "Команды", при этом вам нужно чтобы при некоторых условиях значение, поступившее с OPC переписывало текущее значение "Команды"? Как один из вариантов, да, так тоже будет работать. Но лучше разделить OPC тег на 2. Один на чтение, другой на запись. Иначе возникают трудности при отладке (например сложно будет понять, записалось ли значение или нет)
SCADAMaster ,большое спасибо за ответы. Все гениальное просто, шрифт в окне "Команда" сделал прозрачным а поверх него в мнемосхеме разместил окно "значение" с OPC переменной.