Особенности СуперДжинов

Модераторы: Dmitry, SaniOK

Особенности СуперДжинов

Сообщение ruslan » 10 июл 2014, 14:03

При работе с Суперджинами оказалось что внутрь суперджина можно поместить только тег типа диджитал. В случае если на АРМ передается запакованое слово, и мы используем формулу для выцепления отдельного бита из слова. Смотрите вложения.
Как передать в суперждин биты, являющиеся частью слова из контроллера?


В суперджине.png
(44.96 KiB) Скачиваний: 99

в ждине.png
(30.42 KiB) Скачиваний: 90

На главной странице.png
(54.09 KiB) Скачиваний: 85
Аватар пользователя
ruslan
 
Сообщений: 30
Зарегистрирован: 13 авг 2012, 11:31
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0

Re: Особенности СуперДжинов

Сообщение Nikopol » 25 сен 2014, 13:33

У меня была подобная задача. Решил следующим образом. В джин передаю слово из которого нужно достать бит, а затем при помощи функции вытаскиваю нужный бит. Такая штука удобна на чтение состояния. Для изменения немного сложней, тоже написал функцию, но пробовал только для кнопок.

Вот код функций
Код: выделить все
/*
Function for reading bit from word
*/
INT FUNCTION  ReadBitFromWord (INT word, INT bit_num)

INT mask = Pow(2, bit_num);

   IF (word BITAND mask) = mask THEN
      RETURN 1;
   ELSE
       RETURN 0;
   END
END

/*
Function for writing bit to word
*/

INT FUNCTION  WriteBitToWord (INT word, INT bit_num, INT bit_val)

INT mask = Pow(2, bit_num);

   IF bit_val = 1  THEN
      RETURN word BITOR mask;
   ELSE
       RETURN word BITAND (NOT mask);
   END
END


Вот пример использования.
Есть джин управления регулятором. Переменные которые он получает отражены в свойствах (метаданные) страницы джина.
В качестве примера приведено изменение состояние 2-го бита при нажатии кнопки Ручн/Авт.
Также есть пример чтение состояния бита. Смотрите вложения.
Вложения
set_but_manauto.PNG
Настройки кнопки Ручн/Авт
(15.6 KiB) Скачиваний: 80
jenue.PNG
Вот так выглядит сам джин
(12.66 KiB) Скачиваний: 70
set_page.PNG
Параметры страницы (вкладка метаданные)
(16.56 KiB) Скачиваний: 71
Nikopol
 
Сообщений: 25
Зарегистрирован: 10 авг 2014, 19:44
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0

Re: Особенности СуперДжинов

Сообщение Nikopol » 25 сен 2014, 14:03

Вот еще вложение, а то больше 3-х не прикрепляются.
Вложения
set_read_bit.PNG
Чтение бита
(15.84 KiB) Скачиваний: 69
Nikopol
 
Сообщений: 25
Зарегистрирован: 10 авг 2014, 19:44
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0

Re: Особенности СуперДжинов

Сообщение dime5800 » 15 ноя 2017, 13:55

Добрый день. Есть задача вычитать параметры защит Sepam40 (в кол-ве 20 штук).
Вычитал параметры в локальную переменную в виде двумерного массива, в котором строка это номер устройства в сети, а столбец это конкретный параметр из массива.
Вопрос заключается в том как передать этот двумерный массив в суперджин для отображения?
Вот как вызываю суперджин в джине:
AssWin("!testing_get_par",%OriginX%,%OriginY%,1+4+512,"%TAG_NAME%");
WinTitle("%Title%");
И прилагаю пример фото как сделан суперджин https://drive.google.com/open?id=13-vZB ... VHBAF62UFE
dime5800
 
Сообщений: 1
Зарегистрирован: 15 ноя 2017, 13:01
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0


Вернуться в SCADA система Vijeo Citect

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron