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

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

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

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


Сообщения - pavel.sheva

Страницы: [1]
1
1.Можете что-то глянуть в разделе с проектами, мб что-то похожее найдете для себя там...
2.Для жоских, можете отрисовать свой барграф, с кнопкой ввиде ползунка, и исходя из координат и вх значений написать алгоритм.)
3.А вообще вам в помощь.

2
Код: (delphi)
begin
  // ЦВ НЕИСП АВАР  НСУХ  СУХ  НПИТ  ПИТ  МП
  // 1    0     0    0     0    0     0    0
 
  TM_Image(Sender).Frame := ((TM_Object(Sender).AsInt and 128) Shr 7) + 1
end.
жЕсткая строчка кода, но вроде понял что вы имеете ввиду, а да я "Децл", при shr я обращаюсь к 1 биту, а не ко всему байту...
 

3
Цитировать
при чем тут 128 кадров? Это логическая операция - and 128 - выделяем только 7-й бит. ИМХО  по извращенски код написан )
Ну это как посмотреть) младшим или старшим битом вперед), просто если вы говорите о выделение 7 бита, то понятное дело в 10-тичной это будет 64 в случае если там стоит 1, 64+1, 65 кадр, или я что-то не так понимаю

4
Присвоить свойству кадр, значение вызвавшего объекта в (целочисленном формате с конвертацией в 1-о байтовый формат числа со сдвигом его в право на 7) + 1, Вроде бы так, если я не ошибаюсь.

А разве можно в Simple-Picture создать анимацию на 128 кадров? ;D :P, я как-то пытался, больше 30 не вмещается(

5
Ваши вопросы / Re: Непослушные ячейки
« : 19 Августа 2022, 15:18:37 »
Но за помощь со скриптом для раскраски таблички вам большое спасибо! Держите мб вам там что-нибудь покажется интересным!

6
Ваши вопросы / Re: Непослушные ячейки
« : 19 Августа 2022, 15:17:04 »
Ну скажем-с это написать сможете вы или я, или еще кто-нибудь, кто хотя бы сталкивался с этим, вы не забывайте, что у монитора SCADA сидит рядовой юзер предприятия, и мб он не особо разбирается в SQL, + ко всему, вы так или иначе, проводите относительно хлопотные действия, а в моем случае, если автоматизация - то по MAX! (Вообще по уму, можно просто на кнопочки натыкать SQL запросы, кнопочки для фильтрации ясен пень, и на преобразование таблицы), но кол-во элементов мб большим, по этому проще оставить подсказку о работе с MySQL, куда тыкнуть и всо...  В любом случае должен быть авто поиск по ячейкам хоть и долгий, чем каждый раз прописывать:
Цитировать
Запрос SELECT t,gid,mid,k,v,r,c,uid FROM messages;  выдаст столбец сравнения первым, даже если в таблице он не был первым.

Говорю ж не всегда может быть известна структура таблицы, а найти нужный столбец надо быренько, а и мб вы меня не много правильно поняли, юзер работает c SS и у меня там есть как таковая возможность работы с SQL :) с ограниченным функционалом :D

7
Ваши вопросы / Re: Непослушные ячейки
« : 19 Августа 2022, 11:28:02 »
Добрый день, может я что-то не так понял, но по-моему:
-датасет формируется двумя полями данных и названий, и проблема в том, что уже на этом этапе, тип данных - str, SQL запрос это класс конечно, но бывают такие ситуации когда человеку из набора данных таблицы нужно увидеть их, а уже потом только отфильтровать(например та же закраска), а потом еще и преобразовать это дело...Что бы вместо условных 10000 строк было по меньше на условиях фильтрации...(Я уже это реализовал, могу поделиться)

По именам столбцов... Вариант, но если ты работаешь с новой табличкой в бд, с которой ты не особо знаком, то только методом тыка узнать какой столбец DT(т.к его могут обозвать и t, dt, job_time, etc.) поэтому это не рациональный поиск,

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

Косвенный Алгоритм, наверное все же оптимальный, данные в табличку пришли, кнопочку нажал, вот у тебя и обработано все, единственное, что плохо - это время выполнения такой процедуры... Но кстати говоря по-моему у таблиц SS есть ограничения на строки, правда я их не считал... но прекращение отображения данных после 17 числа, подтверждают это... 

8
Ваши вопросы / Re: Непослушные ячейки
« : 18 Августа 2022, 11:08:43 »
Да все получилось по второму способу, берите эту проверочку на заметочку!) ;) Можно в принципе сделать и ручной ввод данных через field
Код: (delphi)
var i,j,k:integer;
    sqldate:TDateTime;
    cellcolor:Cardinal;
begin
  with Table1 do begin
    if RowCount < 2 then
    exit;  // пустая таблица
    k:=-1;
    for j:=0 to ColumnsCount-1 do          // поиск первой строки с датой
      if (strtodateTime(GetCell(j,1).Text) > strTODateTime('01.01.2022 00:00:00')) then
      begin
        k:=j;
        break;
      end;
    if k < 0 then
    begin
      exit;
      end;
    for i:=1 to RowCount-1 do
      begin
        sqldate:=strtodateTime(GetCell(k,i).Text);    // дата-время в текущей строке
          if (Date1box1.AsDateTime < sqldate) and (sqldate < Date2box1.AsDateTime)
            then
              cellcolor:=clGreen  // цвет по условию
            else
              cellcolor:= clRed;
            for j:=0 to ColumnsCount-1 do
              GetCell(j,i).Color:=cellcolor;   // расскрас строки
      end;
  end;
    //ShowMessageClient(getclientname(),'asf',DateTimeToStr(sqldate));
end.
   

9
Будет ли организована, красивая поставка данных из БД, с их первоначальным типом, в таблицу в SCADA, а также в честь этого добавить свойство ячейке - value для понятного дела зачем?

10
Ваши вопросы / Re: Непослушные ячейки
« : 18 Августа 2022, 10:42:59 »
Добрый день, скрипт в принципе годный, если бы не одно но, функция StrToDatetime и поиск времени, в общем реализовать задуманное не получиться в силу того что, в каждой ячейке данные хранятся в str типе - и это изначально было обречено на провал, в общем вкратце: при поиске даты, происходит что? Правильно, ячейка с индексом j,1 сразу же становиться данными для sqldate(StrToDatetime ), и так как идет преобразование через  secondbetween,  сама sqldate становиться хранилищем для динозавров 1899 года, ну и понятное дело что закрас пойдет только по else части условия... Не круто. Если только делать проверку, на нормальную разницу в годах через yearsbetween, может быть что-то и выйдет, или сделать проверку на соответствие года, аля *Если в ячейке переведенные данные ДТ < 01.01.2022, то скипнуть ее*(но опять же, это уже не универсально), хотя тоже не плохо...

11
Ваши вопросы / Непослушные ячейки
« : 17 Августа 2022, 14:52:42 »
Всем доброго дня, столкнулся с вот такой вот проблемкой, по закрашиванию строк по условию временного интервала... в первом случай закрашивается только одна строка, в другом только один столбец со временем, как исправить? где затуп?

а и вот что еще, прекрасно понимаю, что можно сделать выборку и через between в SQL , так что sql-решения не предлагать), так как в различных табличках я не буду знать наверняка название столбца со временем, а так идет поиск по всей таблицы после запроса, возможно сделаю после этого вызов SQL запроса на Between, зная в каком столбце находятся ячейки с датой(конечно-же программно), а сам я наверняка знать так и не буду) 

12
Ваши вопросы / Re: Таблицы и TM_DataSet ч.2
« : 17 Августа 2022, 13:41:18 »
Да, только при этом нужно за ранее в этой таблице указать кол-во колонок, иначе выведется половина таблицы, а то и меньше столбцов... такая себе работa с таблицей...

13
Ваши вопросы / Re: Таблицы и TM_DataSet ч.2
« : 16 Августа 2022, 14:51:24 »
На данный момент есть возможность, построить таблицу, автоматически, под таблицу из БД, с авто настройкой ширины(ну или ее небольшой настройкой в коде)столбцов ?

14
Действительно, что-то я... , в сохранении, хотя странно, привычка ctrl+s нажимать всегда есть, даже когда сворачиваю edit, да и проект в сервере перезапускаю, тоже на автомате после save-а, Большое спасибо!

15
Всем добрый день, я начинающий специалист в инженером деле по автоматики, поставил себе OPC-Lectus, Взял на пробу Free Simple-scada, и как БД MySQL, так вот, имеется такая проблема, MySQL80 запущен, в настройках БД в Simple-Scada тоже все гуд законнектилось, и даже создал БД + Таблицы, автоматом там же, казалось бы можно работать, но не тут то было, запускаю Simple-server, в пункте БД  Базы никакой нет, в логах подключения нет, в самой SCAD-е не могу просмотреть тренды, так как они не архивируются и не записываются в БД... Так же подумал, что может быть проблема в сервере, и переставил его по новому, еще думал, что возможно из-за триал версии, но тоже нет, БД можно использовать как и MySQL...   
В чем может быть проблема?

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