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

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

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

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


Сообщения - Кирилл_ШКЫ

Страницы: [1]
1
Большое спасибо за помощь!

Правильно ли я понимаю, что свойства классов классов TM_Object и TM_Control наследуются только на чтение? А переменная же не наследует свойство Format, оно у неё "собственное"(скрин 2), потому доступно на запись.

Если да, то, по возможности, добавьте это уточнение в руководство(скрин 1), было бы удобно.

2
Добрый день!

Задача: отображать значение переменной Х типа single в форматах:
1)"0" если Х > 1, т.е. отображать "53", например, когда переменная равно 53.282
2) "0.00E+00" если Х < 1, т.е. отображать "2.82E-2" когда переменная равно 0.0282

Моё решение (Работает):
1) Исходной переменной Х при объявлении задать формат "0". Создать внутреннюю переменную Х_2  задать ей формат "0.00E+00"
2) Создать 2 поля TM_Field, одному присвоить Х, другому Х_2 (и Х в качестве доп.переменной). Наложить одно поле на другое.
3) Создать скрипты(приведены ниже):
    а) Скрывать объект, если переменная ушла из своего диапазона, иначе отображать (OnDataChange)
    б) Сопоставлять значение Х и Х_2 при изменении Х (OnDataChangeEx)

Вопросы:
1) Правильно ли я понимаю, что такой подход сейчас единственно возможный? Свойство Format ведь доступно только для чтения? (См скрин 1)
2) Не планируется ли открыть данное свойство на запись?

Дополнительно:
3) Не планируется ли сделать для пользователей возможность конструировать свои объекты типа фигура, т.к. эллипса и прямоугольника не хватает? Ну или дать возможность из набора эллипсов и прямоугольников собирать один объект с едиными свойствами.
4) Можно ли указать в руководстве какие свойства доступны на запись, а какие только на чтение? Было бы полезно. Или укажите если я не заметил это.

Заранее благодарен.

Приложение (листинг скриптов)
1) Сокрытие
Код: (delphi)
begin
            if Sender is TM_Field then   // проверяем, что Sender это поле
              with Sender as TM_Field do // приводим Sender к типу "TM_Field"
                begin
                  if Value  < 5 THEN
                    Visible  := FALSE // скрываем поле
                  ELSE
                    Visible  := TRUE;
                end;
end.
2) сопоставление внешней и внутренней переменной
Код: (delphi)
begin
          if Sender is TM_Field then   // проверяем, что Sender это поле
            with Sender as TM_Field do // приводим Sender к типу "TM_Field"
               TM_Field(Sender).Variable.Value := TM_Field(Sender).VariableEx.Value; // передача значения из внешнего тега во внутренний
end.

3
Решение проблемы:
1) установить пакет Codesys security agent, затем на вкладки "Вид - безопасность" сгенерировать сертификат для подключения по OPC UA на ПЛК (скрин 1), после чего перезагрузить его
2) Символьная конфигурация, уставки - включить наборы символов
3) Device - символьные права - задать разрешения
4) Device - права доступа - Remote connnections - OPC UA - задать права доступа

Полезные ссылки:
Настройка обмена по OPC UA:
https://www.youtube.com/watch?v=ifXP_zV3Wv8

4
OPC сервер кодесиса поддерживает анонимное подключение. Соответственно, проблема в настройках либо ПЛК, либо СКАДЫ.
Что за "хэлп для ОРС по настройке доступа", который вы упоминаете? Можете поделиться файлом?

UAExpert, например, выдаёт другие ошибки при попытке подключения (см скрин)

5
Добрый день!

Дано: контроллер xinje xs-3, на нём программа сделанная в среде Codesys 3.5, используется OPC UA сервер кодесиса.

Проблема: при попытке подключиться к серверу из редактора Simple Scada 2 (как из окна импортировать переменные, так и из окна OPC-серверы) отображается ошибка "simple scada UA activate exception. User Policy: Anonymous not supported by the OPC Server" (на скриншоте)

Что может быть не так на стороне скады?

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