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

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

Автор Тема: Вопросы по скриптам в Simple-Scada 2  (Прочитано 386630 раз)

ARV

  • Постоялец
  • ***
  • Сообщений: 117
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #1575 : 26 Сентября 2024, 09:33:44 »
Данная конструкция отлично работает в Object-Pascal.

Что нужно изменить, чтобы заработала в скрипте? Сделать массив фиксированного размера?

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3134
    • Просмотр профиля
    • Simple-Scada
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #1576 : 26 Сентября 2024, 09:59:28 »
Цитировать
Данная конструкция отлично работает в Object-Pascal.
Попробуйте проверить, перед тем как писать ответ.

Цитировать
Что нужно изменить, чтобы заработала в скрипте? Сделать массив фиксированного размера?
Конечно, как и в Object Pascal. Чтобы память под строки была выделена. Либо выделять её вручную, если массив динамический.

ARV

  • Постоялец
  • ***
  • Сообщений: 117
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #1577 : 26 Сентября 2024, 10:11:48 »
Цитировать
Данная конструкция отлично работает в Object-Pascal.
Попробуйте проверить, перед тем как писать ответ.
Попробуйте сами, прежде чем сомневаться в моём опыте (см. скриншот).

Free-Pascal - слыхали о таком? Подозреваю, что что вы пользуетесь
Цитировать
RemObjects Pascal Script
Created By Carlo Kok                
ck@carlo-kok.com

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3134
    • Просмотр профиля
    • Simple-Scada
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #1578 : 26 Сентября 2024, 10:24:36 »
Цитировать
RemObjects Pascal Script
Вы можете использовать любые сторонние интерпретаторы паскаля, только не нужно копировать их код в стандартный Object Pascal и удивляться, что он не работает. Мы не следим за разработкой сторонних интерпретаторов и не копируем их синтаксис. С чего Вы взяли, что в Simple-Scada реализован синтаксис RemObjects Pascal Script? Мы никогда не утверждали, что он поддерживается. Вы в техподдержку Embarcadero тоже напишете, когда этот код не скомпилируется, например в Delphi 10?
Удивительно, что приходится писать об этом. Ещё раз призываем Вас отказаться от использования Simple-Scada. Мы готовы вернуть деньги за приобретённые ключи.
« Изменён: 26 Сентября 2024, 10:30:47 от Simple-Scada »

ARV

  • Постоялец
  • ***
  • Сообщений: 117
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #1579 : 26 Сентября 2024, 10:58:00 »
Политику применения той или иной SCADA определяю не я, и не я оплачиваю её, так что так просто от меня вам не отделаться...

У вас в документации нигде не сказано, какой именно диалект синтаксиса паскаля вы используете, так что ссылаться на "стандартный Object Pascal" без ссылки на этот стандарт (он вообще есть?) не корректно. Мои вопросы в этом случае вполне закономерны: много лет синтаксис был корректным, а тут вдруг нет!


Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3134
    • Просмотр профиля
    • Simple-Scada
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #1580 : 26 Сентября 2024, 11:31:45 »
См. первую строку руководства по скриптам. Если мы добавим синтаксис RemObjects Pascal Script (или каких-то других интерпретаторов/компиляторов), то там же напишем об этом, а также напишем в списке изменений. Сейчас синтаксис практически полностью соответствует компиляторам Object Pascal. Никаких изменений в сторону синтаксиса RemObjects Pascal Script и других ответвлений / диалектов основанных на Object Pascal нет и не планируется в будущем. Мы не используем их и не следим за их изменениями.

Цитировать
много лет синтаксис был корректным, а тут вдруг нет!
Корректный синтаксис в RemObjects Pascal Script не имеет никакого отношения к нашей SCADA-системе. По поводу их синтаксиса обратитесь к разработчикам RemObjects Pascal Script. В Simple-Scada не используется RemObjects Pascal Script и другие основанные на Object Pascal интерпретаторы/компиляторы.
« Изменён: 26 Сентября 2024, 11:45:20 от Simple_Scada »

ARV

  • Постоялец
  • ***
  • Сообщений: 117
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #1581 : 26 Сентября 2024, 12:20:36 »
Корректный синтаксис в RemObjects Pascal Script не имеет никакого отношения к нашей SCADA-системе
Чтобы не было недопонимания в дальнейшем: RemObjects Pascal Script - это компонент (GNU), реализующий скриптовую интерпретацию текстов синтаксиса Object Pascal. Я просто предположил, что в Simple-Scada вы не стали изобретать велосипед, а взяли готовый бесплатный свободный компонент и допилили его под себя. Но, похоже, у вас свой велосипед...

Скриншот, что я приводил, это вовсе не скрипт, а исходник Free Pascal (современная инкарнация Object Pascal), и этот исходник скомпилировался без ошибок. Поскольку компиляция велась именно компилятором, а не каким-то там компонентом (который по определению обеспечивает лишь какую-то совместимость с самим компилятором), я и был уверен, что синтаксис у меня 100% корректный для [вашего] Object Pascal.

То, что там у вас в первой строке документации написано, мне не говорит ни о чем, т.к. даже википедия утверждает, что Object Pascal-ей больше одного: https://wiki.freepascal.org/Object_Pascal и https://en.wikipedia.org/wiki/Object_Pascal

Процитирую:
Цитировать
This is a (probably incomplete) list of IDEs, compilers and dialects supporting Object Pascal:

Clascal
Mac Pascal
THINK Pascal
Metrowerks Pascal
Turbo Pascal
Delphi
Kylix
GNU Pascal
Virtual Pascal
Turbo51
WDSibyl/OpenSibyl
Free Pascal
PascalABC.net
Pascal Script
Oxygene
DWScript
Smart Pascal
MIDletPascal
Speedsoft Sibyl and WDSibyl
Насколько я в курсе, международного стандарта языка Object Pascal (как и Pascal вообще), на который можно было бы сослаться, не существует (в отличие от того же C/C++).
« Изменён: 26 Сентября 2024, 12:33:02 от ARV »

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3134
    • Просмотр профиля
    • Simple-Scada
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #1582 : 26 Сентября 2024, 12:44:11 »
Прочитайте ещё раз наш предыдущий ответ. Если он Вам непонятен, то нам нечего добавить.
Цитировать
Я просто предположил, что в Simple-Scada вы не стали изобретать велосипед, а взяли готовый бесплатный свободный компонент и допилили его под себя. Но, похоже, у вас свой велосипед...
Так и сделали. Взяли Object Pascal компилятор (не диалект на нём основанный) и используем его, о чем и сказано в руководстве.
Если завтра Вы возьмёте синтаксис, например, из Oxygene, или напишете свой диалект основанный на Object Pascal (или это сделает кто-то другой) и он не будет работать в скаде, то не нужно спрашивать у нас почему, обратитесь сразу к его создателю. Есть стандартный паскаль, о его стандартах и истории развития можете прочитать в интернете. Object Pascal это он же с поддержкой ООП. Скада реализует Object Pascal, а не диалекты на нём основанные. Если бы было не так, мы бы написали об этом в руководстве. Все диалекты Object Pascal, которые Вы процитировали, также не поддерживаются и никогда не будут поддерживаться. Не нужно додумывать то чего нет. Считайте, что всё о чём не сказано в руководстве - не поддерживается. Может так будет проще.

ARV

  • Постоялец
  • ***
  • Сообщений: 117
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #1583 : 26 Сентября 2024, 12:48:15 »
Последняя просьба в этом контексте: дайте ссылочку на взятый вами за эталон компилятор.

LebedevIS

  • Новичок
  • *
  • Сообщений: 7
  • Keep calm and keep coding
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #1584 : 02 Октября 2024, 11:24:13 »
Последняя просьба в этом контексте: дайте ссылочку на взятый вами за эталон компилятор.

Я так полагаю это PaxCompiler который может работать в тандеме с Embarcadero Delphi for Win32 compiler version 33.0 (26.0.36039.7899)

Max

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #1585 : 04 Октября 2024, 10:00:20 »
Добрый день. Подскажите пожалуйста, может быть есть скрипт для подсчета астрономического восхода и захода солнца? Планируется ли добавление в функционал расписания включение/отключения по заходу/восходу?
« Изменён: 04 Октября 2024, 10:21:41 от Simple_Scada »

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1273
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #1586 : 04 Октября 2024, 10:27:53 »
Здравствуйте.

Цитировать
может быть есть скрипт для подсчета астрономического восхода и захода солнца
Какого-либо готового решения нет. Обычно, для данных целей используется астрономическое реле времени, которое может управлять включением/отключением в зависимости от восхода/захода солнца по заданным координатам местности.

Цитировать
планируется ли добавление в функционал расписания включение/отключения по заходу/восходу?
Добавление такого функционала в ближайшем будущем не планируется.
« Изменён: 04 Октября 2024, 10:33:43 от Simple-Scada »

Eugene_

  • Пользователь
  • **
  • Сообщений: 88
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #1587 : 04 Октября 2024, 10:45:19 »
Добрый день. Подскажите пожалуйста, может быть есть скрипт для подсчета астрономического восхода и захода солнца? Планируется ли добавление в функционал расписания включение/отключения по заходу/восходу?
Только для отображения на SCADA, не управления реле: если есть доступ в интернет с сервера SCADA (важно: что не есть best practic) - можно брать запросом http данные с API серверов погоды о восходе/заходе солнца, есть с бесплатными доступом (см. описание в помощи SCADA) Пример ответа во вложении.

samum

  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #1588 : 04 Октября 2024, 10:46:53 »
здравствуйте. проблема открытия окна "Устройства и принтеры". Вернее в первый раз окно открывается не поверх Simple-Scada. При последующих запусках всё норм (поверх всех окон).
Вызываю через RunApplication(GetClientName, 'control', 'printers');
помогите решить проблему на Windows 10 Simple-Scada 2.6.12.0

Simple Scada

  • Глобальный модератор
  • *****
  • Сообщений: 220
    • Просмотр профиля
    • Simple-Scada
Re: Вопросы по скриптам в Simple-Scada 2
« Ответ #1589 : 04 Октября 2024, 15:15:54 »
Здравствуйте.

Попробуйте использовать следующий код:
Код: (delphi)
RunApplication(GetClientName, 'shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}');