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

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

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

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


Сообщения - Timothy Clement

Страницы: [1] 2 3 ... 12
1
1. Время на ПК соответствует текущему времени?
2. Какой "Имя компьютера" задано в ОС?
3. Откройте в проводнике Windows путь "%ProgramData%\Simple-Scada 2" и перейдите в папку с проектом. В ней есть файлы с именами "doneRepXX.pdf"?
4. Какой именно код используется для отправки сообщений?
5. Отправка сообщений без вложений выполняется сервером скады?
6. Проблема возникает только на одном ПК, или на других тоже?
1. Время соответствует текущему, Пермский край +2 МСК.
2. Имя компьютера RUS-EKONIVA
3. В указанной папке есть 1 файл doneRep176 сформированный сегодня в 15.50, в это же время есть ошибке на сервере с неотправленными отчетами в Телеграм
4. Отчет отправляется в скрипте Done_SQL
Код: (delphi)
    30:
      begin
        if not DataSet.IsEmpty then
          begin
            if DataSet[3].AsInt = UNL_Port.Value then
            begin
             aStr := 'Готов';
                SelIdRecipe.Value := DataSet[0].AsInt;
                StartTimeSQL.Value := MySQLDateTime(TimeStartRecipes.Value, dttMillisecond);
                EndTimeSQL.Value := MySQLDateTime(TimeEndRecipes.Value, dttMillisecond);
                StartTimeSQL.Value := StringReplace(StartTimeSQL.Value, Chr(39), '', [rfReplaceAll, rfIgnoreCase]);
                EndTimeSQL.Value := StringReplace(EndTimeSQL.Value, Chr(39), '', [rfReplaceAll, rfIgnoreCase]);
                aReport := ReportBuild("Отчёт по заказу подробный");                       //строим отчет
                aTelegram := SendTelegram('Отчет по заказу №'+DataSet[0].AsStr);  // создаём telegram сообщение
                aTelegram.AttachReport(aReport, 'Отчёт по заказу подробный');  // прикрепляем отчет к telegram сообщению
            end
            else aStr := 'Выполняется';

            if DataSet[1].AsInt <> UNL_Port.Value then
              begin
                aSngl := UNL_Weight.Value + DataSet[2].AsFloat;
                RunSQL('UPDATE `orders` SET `portdone` = '+QuotedStr(IntToStr(UNL_Port.Value))+' , '+
                                            '`status` = '+QuotedStr(aStr)+' , '+
                                            '`wdone` = '+QuotedStr(FloatToStr(aSngl))+
                                            ' WHERE `id` = '+QuotedStr(DataSet[0].AsStr),nil,20);
              if DataSet[3].AsInt = UNL_Port.Value then
                begin
                  UNL_Port.Value := 0;
                  UNL_OrderNum.Value := 0;
                end;
              end;
          UNL_Weight.Value := 0;
          end;
      end;
5. Простое сообщение с текстом скриптом по кнопке также не отправляется, ошибки на сервере те же.
6. На другом ПК проверить нет возможности.

Повторюсь - отправка исправно работала 1,5 года без каких-либо изменений в проекте и конфигурации компьютера.

2
Добрый день!
Помогите разобраться в причине, по которой перестали приходить сообщения с отчетами Telegram.
Есть действующий проект который работает более года, настроена отправка сообщений в Телеграм после формирования отчета, отчет идёт вложением.
Всё хорошо работало до 11 октября, после сообщения перестали доходить, на сервере ошибки.
При тесте через настройки доходит сообщение от Simple-Scada.
В проекте ничего не менялось, версия скады 2.6.15.0.

3
Ваши вопросы / Re: Username not supported by the opc server
« : 14 Апреля 2025, 16:00:19 »
Уважаемый dalbaeb! Вы пытаетесь соединиться с симулятором Codesys по протоколу OPCUA. Насколько мне известно, это невозможно, не создает симулятор opcua-сервер. Для проверки своего проекта вам нужен контроллер либо можете поднять сервер в программе UAExpert.

4
Добрый день. После попытки записи в скаду, остановите проект и сервер, в папке со скадой найдите папку Logs (запись логов должна быть включена  настройках). Откройте Server-log, там найдете сообщение об ошибке после выполнения скрипта записи в БД.
Либо используйте скрипт  Ошибка SQL-запроса

5
Добрый день! Иногда возникают ситуации, когда свойств Переменная и Доп. переменная не хватает для реализации нужного функционала в скриптах. Спасает свойство Тег, в которое можно поставить доп. значение.
Но, Тег может принимать только числовое значение, а иногда есть необходимость передать строку или больше одного значения. Тут выручает свойство Подзказка (Hint), но её использование для передачи строки в скрипт выглядит как костыль.
Может есть смысл сделать свойство Тег строковым? А в скрипте уже преобразовать в число если необходимо. Или оставить Тег числовой, но добавить свойство Теги - массив строк, к которому можно будет обращаться в скрипте - Tags[0]... Надеюсь понятно донёс суть предложения.

6
Добрый день, тут интересно другое. Тип данных подразумевает выделение памяти программой, как в таком случае не происходит ошибки переполнения памяти? Поправьте если не прав

7
Добрый день!
После обновления до версии 2.6.15.0 перестали создаваться таблицы в настройках проекта.
При выполнении проверки пишет что связь с БД установлена, при выборе "Создать БД и таблицы" ничего не происходит, ошибок нет, таблица не создается.
Пробовал на 2 разных машинах с версиями MySQL 8.0.28 и 8.0.36.
Нашел лечение следующим образом - выбираю "Создать таблицу переменных", естественно получаю сообщение что такой БД не существует,
после этого нажимаю "Создать БД и таблицы", и таблица успешно создается.

8

В arOPC примерно 7000 тегов, 625 блоков. Очень много блоков по 1-3 тега, но есть и по 125.

То есть где-то бутылочное горлышко... Или для симуляции это нормальное явление? Что посоветуете?

Добрый день. А какое число стоит в параметре "Разрыв в регистрах"?
Я что-то такое как вы описываете наблюдал в одном проекте где этот параметр равнялся 1, а фактически разрывы достигали по 70-100 регистров между тегами. Устранение разрывов или увеличение этого параметра должно помочь.

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

10
Добрый день! Я так понимаю что планировалось дешевое рабочее решение. Но если есть возможность потратить ещё 3-5 тыс. руб. то купите считыватель с Modbus. Или с этим считывателем попробуйте программку USB HID Logger, она может записывать и в ОРС сразу если нужно, но опять же платная.

11
Добрый день!
Хотел бы попросить уменьшить прозрачность выделенной строки в таблице, потому что объективно её плохо видно. При выделении строки в клиенте она подсвечивается тем же цветом, который настроен для фиксированных строк и столбцов, но по ощущениям прозрачность около 50. Может есть смысл привязать прозрачность выделения к прозрачности фиксированного цвета.

12
Здравствуйте. Помогите написать скрипт для подсчета времени наработки. Готового решения в справке не нашел, через таймер тоже не получилось сделать. Кто имеет опыт в данном направлении, подскажите пожалуйста.
Добрый день! Я делал так - создал внутреннюю переменную(ые) Int64 с восстановлением, которая будет хранить количество секунд. Далее в скрипте "Прошла секунда" проверяется состояние переменных работы устройства. Если устройство работает, увеличиваем переменную с количеством секунд на 1. Для вывода времени на мнемосхему используем внутреннюю переменную типа String, используя функцию SecondsToString(КолвоСекунд) - получаем из числа секунд строку вида ЧЧ:ММ:СС.

13
Добрый день, проверил в версии 2.6.11 - там работает корректно, показывает информацию о поле. В 14 версии действительно показывает инфо по фигуре при клике на поле

14
Может я все ещё не до конца понял, но можно сделать так:
Полю которое выводит единицы измерения в свойство Hint записать %sensor_name%
либо сразу переменную %sensor_name%_switch_unit присвоить свойству этого поля  "VariableEx"

15
Добрый день, объект шаблона можно получить функцией GetTemplateObject, а затем соответственно обратится к свойствам объекта, переменная и т.д

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