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

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

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

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


Сообщения - ZloiVadik

Страницы: [1] 2 3 4
1
Ваши вопросы / Re: Тип переменной Time
« : 18 Апреля 2024, 14:35:54 »
Наработку нужно выводить на мнемосхему.
Первый скрипт подходит, но у меня доп переменная уже занята для скрипта ivisibleEX.
Идея такая, что когда станок останавливается, то появляется таймер его простоя, потом пропадает когда старт, чтобы не перегружать информацией мнемосхему. Это всё сделал, хорошо работает.
Но вот хотел ещё данные в файл писать. Но писать не просто, а привязавшись к календарю, т.е. посуточно.
Что бы потом посмотреть статистику за период.
Или может проще ещё дополнительные 30 time c PLC передавать, минуя мнемосхему и через скаду в файл писать. А в PLC привязаться к календарю и суммировать...
Скада хорошая, но Delphi надо знать :-\   
 

2
Ваши вопросы / Re: Тип переменной Time
« : 17 Апреля 2024, 17:49:55 »

Если Вам нужно отобразить таймер наработки на мнемосхеме, то просто разместите на мнемосхеме компонент Текст, привяжите его к переменной Time (0..4294967295) и на событие OnDataChange назначьте следующий скрипт:
Код: (delphi)
var
  v: Int64;
  days, hours, minutes, seconds, msc: Integer;

  function AddZeros(AValue, ALen: Integer): string;
  begin
    Result := IntToStr(AValue);
    while Length(Result) < aLen do
      Result := '0' + Result;
  end;

begin
  if Sender is TM_Text then
    with Sender as TM_Text do
    begin
      v := AsInt64;
      days := v div 86400000;
      hours := (v div 3600000) mod 24;
      minutes := (v div 60000) mod 60;
      seconds := (v div 1000) mod 60;
      msc := v mod 1000;
      Text := AddZeros(days, 2) + ' дней ' + AddZeros(hours, 2) + ':' + AddZeros(minutes, 2) + ':' + AddZeros(seconds, 2) + '.' + AddZeros(msc, 3);
    end
end.
Это универсальный скрипт, его можно назначить множеству компонентов Текст и в них будет отображаться время в формате 00 дней 00:00:00.000 взятое из связанной переменной.


Приветствую. Скрипт работает чётко, спасибо.
Подскажите, такой вопрос. У меня таких таймеров 30шт и надо сохранить в файл. Создавать 30 переменных и 30 скриптов?
Т.е. полученный результат надо в переменную физическую записывать. 

3
В скаду с контроллера приходит текущий вес и сделал переменную расхода. Т.е. когда отрицательное значение при опорожнении, нулевое при постое и положительное при наполнении.
Думаю две переменные сделать под две стрелки вверх вниз ну и они невидимы при нулевых значениях. Мигание наверное не, будет мешать постоянно.
Просто подумал может как-то более оптимально эту задачу можно решить...

4
Приветствую. Необходимо визуально по картинке бункера понимать, что с ним происходит в данный момент. Это три состояния: наполнение, опорожнение, бездействие.
Как я вижу это два независимых рисунка в виде стрелки вверх и стрелки вниз. Две переменные. При нулевых значениях - обе стрелки серые. При единице одной из переменных - меняется цвет одной из стрелок. Т.е. два скрипта.
Подскажите, возможно есть какие-то другие варианты под данную задачу - более оптимальные.
Вариант создать единую переменную и менять цвет бункера не подходит...

5
Да, так и есть. Ткнул и звук проявился, хотя нет активных сообщений. Но это как Вы говорили:

Цитировать
Звук воспроизводится для неподтверждённых сообщений, а не для активных. Воспроизводится до тех пор, пока сообщение не будет подтверждено.
Хотя как я говорил - это не совсем корректно... Сообщения со звуком в этой скаде всё же не до конца доведены...

6
Звук для генерируемых сообщений работал, но после отключения и повторного включения, на отрез отказывается работать.
В настройках вроде всё ок. Сообщение появляется, значение переменной окрашивается в красный цвет, но звука нет...

7
Зачем жать каждый раз на кнопку? Выведите список сообщений с группой "Активные сообщения" на мнемосхему и не делайте никаких кнопок, если они не нужны. Задайте нужный размер и координаты списку сообщений. Не размещайте на мнемосхеме то, что на ней не нужно видеть...
Ага, так получилось. То что надо! Забыл, что стандартную панель можно же убрать...
Только со звуком проблема. Активное сообщение ушло, а звук продолжает работать. И сбросить никак, только стоп-старт проекта. Пришлось в настройкой отключить звук.

Отдельное подтверждение на клиентах используется только с системой архивации v1. Начиная с 04 Марта 2022 года в Simple-Scada добавлена система архивации v2. Она используется по-умолчанию для всех новых проектов.
Да, это мы в сторону ушли. Просто задался вопросом, а где такое применимо, что бы сообщения к каждому клиенту были привязаны. В пром производстве вряд ли. Может в какой-нибудь диспетчеризации... Фактически, шина с множеством мастеров! :-\

Кстати звук, даже отключенный, работает 8) Помогает обновление страницы.

8
Потому что Вы не понимаете идею...
Некому на кнопку с списком активных сообщений жать каждый раз! Специально клиент выведен на большую панель для общего обозревания, по типу информационного табло, как в аэропорту, где основной экран заполнен данными, а внизу в строке последовательно прокручиватся активные сообщения по одному и до тех пор пока они сами не уйдут.

А то что у Вас перемудрено ещё и с привязкой к клиенту, что бы каждый по отдельности квитировал :-\ не понимаю как и где это может быть применено, по крайне мере в производстве! Есть главный оператор, он и решает когда и что квитировать, все остальные клиенты только в режиме анализа...

Вот типичный пример, нижняя строка на белом фоне. Честно говоря, был уверен, что в скада это реализовано...
https://youtu.be/CJE4sbObuIc?si=YUW33I0qECmaKnH5

9
ну зачем лишние сложности...
Сообщения же не обязательно могут быть аварийными! Могут быть просто информационными и должны сами уходить. И объект может не управляться Scada, а только для сбора информации, как в нашем случае.
Разработчику, думаю, не сложно добавить авто квитирование в будущих Update.

10
Но вообще, это недостаток :-\, может на будущее устраните...
У нас висит в помещении под потолком панель для отображения общего состояния оборудования и каждый раз квитировать сообщения некому, да и замучаешься... Соответственно, прошлые сообщения мешают. Так-то удобная опция, но в данном проекте не получается использовать...

11
Так, совсем не понял...
По превышению границы - окрашивается в жёлтый или красный параметр и выводится соответствующее сообщение.
После возврата значения переменной в норму - цвет возвращается на исходный, но сообщение продолжает выводиться.
Уходит только после ручного подтверждения, что крайне не удобно, в данном проекте...

12
Приветствую. Не нашёл в настройках, чтобы сообщения о превышениях границ самоподтверждались...
Такого разве не предусмотрено?

13
Ваши вопросы / Re: Тип переменной Time
« : 21 Августа 2023, 18:06:58 »
Раз поднялась тема, давайте ещё раз пожалуйста. Мне нужно видеть в скада время простоя станка. Получилось только 24 часа максимум, а желательно что ещё были дни.\
С контроллера передаётся тип данных Time, т.е. максимальное значение в ms 4194967295 или 49d17h2m47s295ms.
Далее скриптом, выше переводится в скадовский формат DataTime и через календарь имеем часы и минуты. А всё же нужно ещё дни.
Скажите можно это как-то сделать?

14
Ваши вопросы / Re: Тип переменной Time
« : 21 Августа 2023, 16:43:39 »
У меня получилось только с часами и минутами значение, а вот дней нет в календаре...

15
Ваши вопросы / Re: WEB доступ SmartTV
« : 13 Августа 2023, 08:44:22 »
Попробовал на Haier. Загрузил первый попавшийся браузер. Демо проект с сайта работает прекрасно. Как понял, он достаточно сложный и продвинутый, т.е. любые остальные проекты будут работать. Вопрос конечно как это всё будет 24/7 365 дней функционировать...

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