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

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

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

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


Сообщения - kolya_asu

Страницы: [1] 2 3
1
Ваши вопросы / Re: Simple-Scada и 1С
« : 20 Ноября 2020, 14:00:44 »
Нашел вот такую информацию... Посмотрите пожалуйста, возможно ли так?
Цитировать
1С может обращаться напрямую в mysql используя ODBC драйвер. Драйвер можно найти на сайте MySQL. Там все просто, подключились, сделали запрос, читаем. На стороне сервера понадобится настроить разрешение доступа в базу данных.

Пример кода, подключение (1С 7.7)
Код
ODBCDriver = createObject("ADODB.Connection");
        ConnectionString =
            "Driver={MySQL ODBC 3.51 Driver};Server="+trimAll(Server)+
            ";Database="+trimAll(DBName)+
            ";User="+trimAll(DBUser)+
            ";Password="+trimAll(Password)+
            ";Option=3;CharSet=utf8;STMT=set character_set_results=utf8;";
           
        ODBCDriver.Open(ConnectionString);
Пример кода, чтение из таблицы:

Код
Recordset = createObject("ADODB.Recordset");
    Recordset.CursorType = 3;
    Recordset.ActiveConnection = ODBCDriver;   
   
    Recordset.Open("SELECT
                    |oc_product.product_id AS product_id,
                    |oc_product.model AS model,
                    |oc_product_description.name AS name,
                    |oc_product_description.description AS description
                    |FROM oc_product
                    |LEFT JOIN oc_product_description
                    |    ON oc_product.product_id = oc_product_description.product_id");
                   
    if Recordset.EOF()=0 then  ......

2
Ваши вопросы / Simple-Scada и 1С
« : 20 Ноября 2020, 02:05:11 »
Здравствуйте.
-Скажите пожалуйста, каким образом можно "вытянуть" данные из БД для системы 1С.
-Есть ли примеры выполнения данной  задачи.
 Установлена Simple-Scada2 Demo, ОС Windows 7 x64. Спасибо.

3
Вот именно, просят и меня сменить фон на светло серый. Я все обещаю людям, что вот-вот должны исправить, а тут узнаю, что оказывается не востребовано. Собираем подписи за изменение трендов на светлый фон?

4
Ваши вопросы / Светло серый фон трендов.
« : 05 Октября 2020, 00:19:48 »
Добрый день. Скажите пожалуйста, появилась ли возможность изменить фон окна трендов на светлый? Я этот вопрос задавал два года назад, мне ответили, что попозже рассмотрите решение моего вопроса равно как и архивирование временных трендов.

5
Да точно, совсем забыл! Обязательно попробую завтра. А скажите пожалуйста, для моего развития, что не так я написал в скриптах? Почему не работает первый, а второй не компилится из-за ошибки? Спасибо.

6
Добрый день. Подскажите пожалуйста, как правильно преобразовать переменную типа ShortInt в float.
Есть внешняя переменная Temperature(ShortInt) с значением 2395, а надо  преобразовать в внутр. переменную Temp_float(Single), чтобы значение отображалось как  23,95.
Вот пробовал таким образом: В первом варианте хотел просто поделить на 100, но почему-то результат равен нулю, а второй вариант не компилируется, ошибка в строке (Temp_float := ShortIntToFloat (Temperature);
1.
Код: (delphi)
var
  Temp_float: Single;
  Temperature: ShortInt;
begin
 Temp_float := (Temperature / 100);
end.       
2.
Код: (delphi)
var
  Temp_float: Single;
  Temperature: ShortInt;
begin
 Temp_float := ShortIntToFloat (Temperature);
end.
Помогите добрые люди.

7
Ошибочно не тот скрин сделал. Да, я использовал ссвойство переменной "Value". Проблема оказалась в том, что ОПС сервер Uniopc, не дает переписать значение переменных, даже когда не подключен ПЛК. В логах появл. ошибка типа "невозможно перезаписать значение переменной" Решил проблему другим способом.

8
Спасибо! Теперь когда доп. переменная ЕХ в "1", а основная меняет свое состояние, кадр картинки не меняется. Но когда  переменная ЕХ переходит обратно в "0" то она всегда переводит картинку в кадр№1, хотя в данный момент основная переменная уже находилась в "1" и должен отображаться кадр №2. Я так понимаю, что теперь надо что-то подправить в скрипте который вызывается по OnDataChangeEx.
Код: (delphi)
begin
  if Sender is TM_Image then   // проверяем, что Sender это изображение
    with Sender as TM_Image do // приводим Sender к типу "TM_Image"
      if VariableEx.AsInt = 1 then
       Frame := 3        // показать 3-й кадр изображения
      else
       Frame := 1     // показать 1-й кадр изображения
end.
Что надо вписать в строку
Код: (delphi)
Frame := 1     // показать 1-й кадр изображения
, чтобы туда подставлялось значение основной переменной (1-й или 2-й кадр)?

9
Подскажите пожалуйста, как установить высший приоритет для доп. переменной. Чтобы когда переменная ЕХ в "1", то не происходило переключение кадров при изменении основной переменной. Хочу сделать, чтобы скрипт не выполнялся дальше при ЕХ="1". Подправте пожалуйста.
Код: (delphi)
begin
  if Sender is TM_Image then   //
    with Sender as TM_Image do //
    if VariableEx.AsInt = 1 then
    EXIT
      if AsInt = 1 then
        Frame := 2        //
      else                //
        Frame := 1;       //
end.         

10
Получилось. Оказывается, что надо обязательно "заливать" фигуру каким-нибудь цветом, иначе будет черная заливка и убрать ее через стандартные свойства объекта не получится, только через скрипт закрашивать надо. Вот так работает у меня:
Код: (delphi)
begin
  if Sender is TM_Shape then   // проверяем, что Sender это изображение
    with Sender as TM_Shape do // приводим Sender к типу "TM_Image"
 { если значение переменной (в виде целого числа),
   которая связана с изображением равно 1, то }
     begin
     FlashColor := clNone;
     case VariableEx.AsInt of              // если значение переменной равно:
     1:
        begin
          Color := clSilver;
          FlashColor := clYellow; // включить мигание зеленым цветом
        end;
    end;
  end;
end.

11
Здравствуйте. Попробовал с фигурой - не получается заставить светиться фоновым цветом, отображается черная дыра - желтый! Создал рисунок с тремя кадрами - так заработало, светит ярко!
Вот код которым переключаю кадры 1-2
Код: (delphi)
begin
  if Sender is TM_Image then   //
    with Sender as TM_Image do //
      if AsInt = 1 then
        Frame := 2        //
      else                //
        Frame := 1;       //
end.
И тут возникло два вопроса у меня.
1. Можно как-то мигать вторым или третьим кадром? ( при активации переменной ОнДатаЧейнж)
2. Как установить высший приоритет для доп. переменной. Чтобы когда переменная ЕХ в "1", то не происходило переключение кадров при изменении основной переменной. Попробовал "осуществить" задуманное, но не проходит компиляция. Подправите пожалуйста код.
Код: (delphi)
begin
  if Sender is TM_Image then   //
    with Sender as TM_Image do //
    if VariableEx.AsInt = 1 then
    EXIT
      if AsInt = 1 then
        Frame := 2        //
      else                //
        Frame := 1;       //
end.         
Еще... смотрел ваши проекты и мне понравились рисунки на мнемосхемах. В какой программе Вы их создаете?

12
Прозрачность точно 255. 100%.

13
Здравствуйте. Заметил такую вещь, если выбираю свечение лампочки ярко желтым цветом clYellow($FFFF00),  то при анимации цвет всегда темнее. С красным и зеленым также!? Скажите пожалуйста в чем может быть причина?
Еще, не подскажите как можно "вытащить" из переменной типа string, отдельно значения минуты- секунды?
Вот задавали уже вопрос на форуме, но решения  я так и не нашел https://simple-scada.com/forum/index.php?topic=63.msg1687#msg1687.

14
Добрый день. Сделал по вашему совету. Работает! Только есть необходимость вместе из сообщением "Потеряна связь с контроллером!" записать ноль в несколько переменных типа Integer (пока связь с ПЛК отсутствует) и одну внутреннюю переменную типа bool, взвести в "1".  Попробовал осуществить задуманное - не получилось. Временно закомментировал строки. Подскажите пожалуйста, что там не так. Спасибо.

15
Здравствуйте. Скажите пожалуйста, можно как-то зафиксировать масштабирование тренда в диапазоне например от 0 до 24? Т.к. очень не удобно каждый раз его возвращать в заданный диапазон.
И еще вопрос, может быть все таки есть какой-то способ вывести информацию о значениях тренда в каком-либо месте? Спасибо.

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