конечная цель дату и время в одну Dword
Вид для печати
конечная цель дату и время в одну Dword
Это можно сделать скриптом ST. Можно использовать код от petera, например.
http://www.owen.ru/forum/showthread....l=1#post161139
Разберите время на составляющие с помощью "Разбор времени", а затем в расчете выполните вычисление.
Вам что в итоге нужно найти? Количество секунд с какого то момента времени (с 1970 года)?
Куда вы планируете это значение использовать?
Я хотел использовать так:
Есть уставкок 150 штук, из мастерскады в ПЛК идут через файл csv, чтобы обезопасить себя от умершего аккума в ПЛК и слета всех ретайн уставок, решил вместе с уставками передавать в ПЛК число в Dword в котором спрятана дата и время в секундах. При инициализации Скада сверяет свою дату уставок с датой уставок в ПЛК
Убиваю сразу 2 зайцев, сверяю Dword (дату-время) скинутое на ПЛК при изменении уставок, с Dwordом которое было одновременно сохранено в файл(например). И глазами вижу всегда уставки какой даты хранятся в ПЛК.
Вообщем вам нужно или время скады перевести в Word или наоборот?
В обоих случаях делается в расчете.
Насколько я помню в ОВЕН время идет в секундах от 1970 года.
Тогда время DWord во время скады будет вычисляться:
Int2Date( 1,1,1970 )+ КоличествоСекунд
Если нужно наоборот, то вычитаете из текущего времени 1970 год:
DateTime( ) - Int2Date( 1,1,1970 )
Нет, мне просто нужно текущее время в DWord, в плк будет храниться данная переменная вместе с уставками, никакой работы со временем в ПЛК не используется.
сделал по аналогии с вашей формулой текущее время, на расчет все равно вида DT, ни огромное число в секундах, а отображается как дата.
Блин, оказывается просто до гениального!!!!
Такой огород в ST не нужно городить (а он существует, независимо от
)Цитата:
Цитата Сообщение от energvk Посмотреть сообщение
Это можно сделать скриптом ST. Можно использовать код от petera, например.
http://www.owen.ru/forum/showthread....l=1#post161139
Нельзя, petera использует преобразования, которые Masterscadой не поддерживаются.
P.S. Огромнейшее спасибо!
P.P.S.
Всё работаетЦитата:
Нет, мне просто нужно текущее время в DWord, в плк будет храниться данная переменная вместе с уставками, никакой работы со временем в ПЛК не используется.
сделал по аналогии с вашей формулой текущее время, на расчет все равно вида DT, ни огромное число в секундах, а отображается как дата.
Вложение 27085
P.P.P.S.
Расчёт1 - это полученное значение времени в DWORD (преобразую из двух WORD, полученных по сети - можно сразу в DWORD вводить), Расчёт2 -
Расчёт3 - обратное преобразование текущего времени:Цитата:
Тогда время DWord во время скады будет вычисляться:
Int2Date( 1,1,1970 )+ Расчёт1
Цитата:
Если нужно наоборот, то вычитаете из текущего времени 1970 год:
DateTime( ) - Int2Date( 1,1,1970 )
Запутался совсем! общая картина - весы удалённые - при заезде машины показания меняются от 0 до массы и обратно - OPC считывают показания! Я строю отчёт по методичке(http://www.masterscada.ru/files/art_...ort_Part_3.pdf) 3.3 периодический - в качестве события использую формулу (если масса>0,истина,ложь) , в колонке значений массы выбираю функцию Max(данные.масса)! Высчитывается правильно максимальное значение, но, получается много строк с максимальным значением 5-6 постоянно - как их отфильтровать чтоб оставалось только одна строка с максимальным значением!
Вам нужно у колонки которая привязана к событию установить в свойствах "Основной", а у веса - выключить это свойство. Количество строк в таком случае должно получится две - при переходе в Истина и назад. Для фильтрации в бэнде есть фильтр, отфильтруйте - оставьте только когда событие было истинно.
И лучше формулу сделать не от 0, а чуть больше - у весов возможно дрожание на нижней планке.
Возьмите килограмм 100 - вряд ли автомобиль весит меньше.
И формулу можно проще написать:
Масса>100
0 был принят условно - у меня 5 тонн стоит - до 40 меряем, ещё вопрос по MasterOPC universal modbus - может ли он прослушивать линию? или только запрос ответ - если нет будет ли когда нибудь такая функция? Просто в старых весах - выход есть на принтер - и при взвешивании(нажатии на кнопку) он автоматом выдаёт данные в RS232(протокол от производителя получили)-т.е. без запроса от OPC! Приходится сторонними программами перехватывать данные и сохранять их а потом считывать из файла! долго и муторно. Заранее СПС!
Может и в режиме прослушки. В функции sendandrecivedatabymask просто указываете ноль в количестве отправляемых элементов.
Узел все равно должен быть тип Master.
И нужно будет в каждом цикле проверять приняла ли что-то функция. Если приняла - то тогда записывать в теги, иначе выходить из функции чтения
попробовал - не получилось. при измерении значений за время T приходит допустим 5 параметров выше уставки сработки события что на весах масса более 5 тон - и на каждый положительный ответ событие устанавливается в истину(с истины в истину). после создания отчёта всё равно пишет 5100 - true, 7000 true и т.д. хотя должно по идее так- при переходе в истину начало интервала - при переходе в ложь конец(и в этом интервале ищем максимум). - а получается даже при переходе с истины в истину отображается в отчёте максимум. как так?
У вас событие не меняет свое состояние? Когда машина заехала она все время находится во включенном состоянии?
Тогда не должно ничего пульсировать. Если только архивация стоит периодическая - тогда может.
И вы должны также понимать - максимум не вернется. В строку выйдет то число, которое будет на момент возникновения импульса, то есть в момент перехода события из Ложь в Истина.
Вложение 27173 подскажите что за ошибка. Возникает при импортировании узлов с библиотеки в проект. как это обойти?
Судя по всему это какой-то пользовательский ФБ, который не зарегестрирован в скаде правильно
Да, это свой ФБ. С ним получается работать, проблема возникает именно при импортировании из проекта в проект
да архивация не та стояла - но значение максимума для интервала false true false - получилось высчитать только через бенд Заголовок группы. при использовании функции Мах(данные.Масса) - писал только один общий максимум для всей таблицы, а не для интервалов переходов.
И ещё вопрос - при перетягивания бенда таблицы или данных - они по ширине на всю страницу - можно ли изменять размеры по горизонтали бенда или нет?
поробуй скопировать свой ФБ в тот проект куда импортируешь - а потом экспортируй!
просто понять не могу - хочу сделать два независимых отчёта на одной странице - один слева - второй соответственно справа - а так получается один сверху - второй снизу - и почитать негде как это реализовать! В принципе мой вопрос по отчёту успешно решён - спасибо!
Один проект на одном компьютере , второй проект на другом. Библиотека одна и та же. Регистрировал библиотеку в командной строке (netreg ecl.dll). Причём оба проекта открываются на любом компьютере без проблем. Что первый что второй. Но как только пытаешься скопировать элементы с экрана одного проекта на экран второго проекта сразу начинаются проблемы. Что через библиотеку что через копипаст не получается.Через импортировании тоже не получается. Два проекта открыть параллельно тоже не получается, выдаёт ошибку. По отдельности проекты прекрасно открываются.
Скажите, возможно ли в Мастер Скада реализовать трансляцию потокового видео. Например в охранной системе трансляцию с камер? и как это лучше всего реализовать?Спасибо
Можно использовать компонент WEB-браузер, который находится в разделе Окна палитры мнемосхемы.
Если он не будет воспроизводить видео, а будет пытаться его скачать, то попробуйте переключить элемент WEB браузера на текущую версию Explorer. Для этого сначала убедитесь что у вас версия Internet Explorerне ниже версии 10. Также желательно сначала вашу страницу в Explorer и убедится что он открывается корректно. Если все корректно, то закройте Explorer и MasterSCADA.
После этого запустите редактор реестра (Пуск - Выполнить - Regedit). Найдите ключ реестра:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\ Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULA TION
В нем создайте параметр типа Dword, который назовите MasterSCADA.exe, значение параметра задайте 10000 (в десятичном формате).
А как это можно реализовать по локалке? если имеется только ip адрес устройства ?
В качестве URL указываете IP и все.
а разве таким образом я не получу просто интерфейс оборудования?
А это как реализовано устройство
Если камера поддерживает просмотр через WEB-интерфейс то увидите видео
Ещё раз здравствуйте!
Такой вопрос, архивирую аналоговую переменную в БД FireBird. Также есть переменная D1, принимающая TRUE в начале работы и FALSE в конце работы. Мне нужно в интервале, когда D1=TRUE, найти минимальное и максимальное значение по архиву этой аналоговой переменной. Значение потом хотелось бы вывести на мнемосхему.
Искал в Расчетах, но там только мгновенное по архиву, среднее, интеграл и т.д., а min/max не имеется.
Подскажите как реализовать... заранее спасибо.
Подскажите пожалуйста, как можно экспортировать проект в текстовый файл? Конкретно мне нужен файл со списком всех моих объектов. Для ОРС можно нашёл экспорт в csv. Можно ли это сделать для объекта?
В HTML можно.
Проект - Документировать...
я пробовал. но там что-то ужасное в результате получается