Как мне заменить отображение поля Type аларма?Решено

Обсуждение SCADA-систем: Citect SCADA, Vijeo Citect, CitectSCADA, CitectFacilities, PowerLogic SCADA, PowerSCADA, MX4SCADA, Desigo Insight.
gogol
Сообщений в теме: 10
Сообщения: 34
Зарегистрирован: 16 апр 2014, 13:56

Как мне заменить отображение поля Type аларма?

#1

Сообщение gogol » 04 июн 2014, 09:02

В поле type страницы алармов у меня сейчас отображаются значения - Квитирован/Неквитирован.
По справке я нашел возможные значения: {Type,n} The type of alarm or condition: ACKNOWLEDGED/CLEARED/DISABLED/UNACKNOWLEDGED

Вопрос: как мне заменить отображение?
с Квитирован на Подтвержена
с Неквитирован на Неподтверждена.

Поиском по файлам замены
ACKNOWLEDGED на Квитирован
UNACKNOWLEDGED на Неквитирован
не нашел.



Аватара пользователя
alex
Администратор
Сообщений в теме: 9
Сообщения: 1756
Зарегистрирован: 05 апр 2010, 21:58
Откуда: Москва
Благодарил (а): 47 раз
Поблагодарили: 104 раза
Контактная информация:

Re: Как мне заменить отображение поля Type аларма?

#2

Сообщение alex » 05 июн 2014, 08:55

Проект Include, таблица russian.dbf
p.s. Лучше редактировать через надстройку к Excel.



gogol
Сообщений в теме: 10
Сообщения: 34
Зарегистрирован: 16 апр 2014, 13:56

Re: Как мне заменить отображение поля Type аларма?

#3

Сообщение gogol » 05 июн 2014, 09:19

Нет такого файла в проекте include
Версия Citect SCADA 7.20 SP3 Rus



Аватара пользователя
alex
Администратор
Сообщений в теме: 9
Сообщения: 1756
Зарегистрирован: 05 апр 2010, 21:58
Откуда: Москва
Благодарил (а): 47 раз
Поблагодарили: 104 раза
Контактная информация:

Re: Как мне заменить отображение поля Type аларма?

#4

Сообщение alex » 05 июн 2014, 11:17

По версии CitectSCADA 7.20 SP3 не помню, были изменения в реализации мультиязычности в более свежих релизах. Но ключевое слово мультиязычность (multiple languages), можно посмотреть во встроенной помощи к скаде.



gogol
Сообщений в теме: 10
Сообщения: 34
Зарегистрирован: 16 апр 2014, 13:56

Re: Как мне заменить отображение поля Type аларма?

#5

Сообщение gogol » 05 июн 2014, 12:48

Нашел использование КВИТИРОВАНА/НЕКВИТИРОВАНА только в
C:\Program Files\Citect\CitectSCADA 7.20\Bin\CtRes32.dll
замена в ней проблему решила.
Но метод мягко сказать не очень.



Аватара пользователя
alex
Администратор
Сообщений в теме: 9
Сообщения: 1756
Зарегистрирован: 05 апр 2010, 21:58
Откуда: Москва
Благодарил (а): 47 раз
Поблагодарили: 104 раза
Контактная информация:

Re: Как мне заменить отображение поля Type аларма?

#6

Сообщение alex » 05 июн 2014, 13:36

Грубо :) надо будет поставить старую версию попробовать, по идее должно было все работать при добавлении русского языка в проект штатным способом через таблицу



gogol
Сообщений в теме: 10
Сообщения: 34
Зарегистрирован: 16 апр 2014, 13:56

Re: Как мне заменить отображение поля Type аларма?

#7

Сообщение gogol » 05 июн 2014, 15:18

Грубо и не практично, но иначе не получилось.
в russian.dbf прописывал - не меняются.



Аватара пользователя
alex
Администратор
Сообщений в теме: 9
Сообщения: 1756
Зарегистрирован: 05 апр 2010, 21:58
Откуда: Москва
Благодарил (а): 47 раз
Поблагодарили: 104 раза
Контактная информация:

Re: Как мне заменить отображение поля Type аларма?Решено

#8

Сообщение alex » 06 июн 2014, 20:10

Как вариант можно пойти более корректным способом, и что самое главное предусмотренный самими разработчиками Citect. Итак, покопавшись во внутренностях Cicode включаемого проекта Tab_Style_Include в части отображения таблицы алармов, можно решить задачу локализации практически всех имеющихся полей без правки ресурсов dll-модулей следующим образом...

Создаем параметр, как показано на рис. ниже...

CitectAlarmSystemHack.png

Далее в Cicode Editor пишем свою процедуру приблизительно следующего содержания:

STRING FUNCTION MyAlarmGetDsp (STRING listID, STRING AN, STRING field)

    STRING str1 = "";
    STRING str2 = "";
   
    str1 = AlarmGetDsp(StrToInt(AN), field);
   
    SELECT CASE str1
        CASE "ACKNOWLEDGED"
            str2 = "Подтверждено";
        CASE "UNACKNOWLEDGED"
            str2 = "Не подтверждено";
        CASE ELSE
            str2 = "";
    END SELECT
   
    IF (str2 <> "") THEN str1 = str2; END
       
    RETURN str1;

END

Данная процедура - так называемый hook, которая замещает стандартную процедуру вывода значений полей в таблицах алармов на пользовательскую, таким образом можно локализовать все что невозможно стандартным способом в Vijeo Citect/СitectSCADA 7.20 SPx путем замещения что называется на лету. Как результат:

Results of Hack.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.



gogol
Сообщений в теме: 10
Сообщения: 34
Зарегистрирован: 16 апр 2014, 13:56

Re: Как мне заменить отображение поля Type аларма?

#9

Сообщение gogol » 09 июн 2014, 15:42

Спасибо, очень полезный прием, но у меня не сработал.

Уточните, откуда берется название секции
и как формируется имя параметра?
У вас нет необходимых прав для просмотра вложений в этом сообщении.



gogol
Сообщений в теме: 10
Сообщения: 34
Зарегистрирован: 16 апр 2014, 13:56

Re: Как мне заменить отображение поля Type аларма?

#10

Сообщение gogol » 09 июн 2014, 16:08

Поле Type не изменилось.
У вас нет необходимых прав для просмотра вложений в этом сообщении.




Если эта тема может быть полезна другим, поделитесь ссылкой:

Вернуться в «Citect SCADA, Vijeo Citect, CitectSCADA, CitectFacilities, PowerLogic SCADA, PowerSCADA, MX4SCADA, Desigo Insight»