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

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

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

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


Сообщения - vaarman

Страницы: [1]
1
Цитировать
при нажатии кнопки Win удаляется выделенный код скрипта из редактора. Исправьте плиз.
Исправили.

Цитировать
И ещё из предложений - реализации систему групп пользователей. Чтобы применять права к группе сразу,  потому что мой пример показывает, что может быть список из 10 мастеров и у каждого свой пароль,  и в случае каких-то изменений в правах,  их нужно делать для каждого отдельно.
Можно сделать так, чтобы каждый пользователь группы наследовал права группы, но если ему индивидуально какое-то право изменено, это изменение будет иметь преимущество перед правом группы
Да, группы скорее всего добавим в будущем.


Добрый день!
Искала как раз информацию по пользователям в simple-scada, подскажите тогда еще, могу ли я добавлять нового пользователя уже из клиента, не из среды разработки? Например, на объекте несколько пользователей, но заранее неизвестно сколько их, какие они себе хотят логин/пароль, чтобы они самостоятельно создавали учетки и меняли пароли. И что будет в этом случае с правами доступа вновь добавленных пользователей? Так как необходимо две группы пользователей "мастер" и "оператор", у каждой группы свои права доступа на отдельные окна и элементы. Заранее спасибо

2
Спасибо за подсказку!

3
Здравствуйте!
Прошу помочь разобраться с работой функции setbit
Имеется следующий код
Код: (delphi)
var
  VarNm: Variant;    //объявляем внутренние переменные
  dwStatus: Int64;  //объявляем внутренние переменные
  dwCmd: Int64;    //объявляем внутренние переменные

begin

  if not (Sender is TM_Object) then   // если скрипт вызван не объектом, то прерываем выполнение
    Exit;
  with (Sender as TM_Object) do

    VarNm := TM_Object(Sender).Variable.Name;     // получаем имя переменной, которая привязана к этому объекту

    dwStatus:= GetVariableByName('GV_' + VarNm + '_dwStatus').Value; //ищем переменную  с именем 'GV_' + VarNm + '_dwStatus' и получаем ее значение (переменная из OPC сервера типа longword)
    dwCmd:= GetVariableByName('GV_' + VarNm + '_dwCmd').Value;  //ищем переменную  с именем  'GV_' + VarNm + '_dwCmd' и получаем ее значение (переменная из OPC сервера типа longword)

     if  GetBit(dwStatus, 5) = true  then       //проверяем, если 5 бит переменной dwStatus равен единице, то
    dwCmd:=SetBit(dwCmd,  1, True);        // устанавливаем 1 бит переменной dwCmd в единицу
end.
 

Так вот, все работает корректно ровно до момента  dwCmd:=SetBit(dwCmd,  1, True). То есть считываются значения правильно, но не записывает нужный мне бит. Может связано с приведением типов переменных? Может подскажите, заранее спасибо

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