lenasher
Forum Member / Участник форума
Участник № / Member № 6606
отправлено / posted
Здравствуйте, программа динамически формирует выходной аргумент типа STRING. Необходимо записать строку в Отчет тревог с возможностью задавать свойства Квитирования, и категории сообщений (например, ошибка, инф., тревога, как в словарях сообщений). Подскажите, пожалуйста, алгоритм действий.
Сообщения / Posts 33 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Передавайте строку из программы в аргументы 0 и 1 канала CALL.STRING поочередно. Привяжите к этому каналу "Словарь сообщений" (на вкладке "Архивирование" редактора канала CALL.STRING). В реальном времени в этот словарь будут записываться тексты из аргументов CALL.STRING. Генерируйте сообщения в ОТ через числовой канал, настроенный на ОТ и этот словарь (например, канал HEX16 с взведенным флагом "Вид представления DEC") - значения канала синхронно с генерацией строки той же программой изменяйте 0/1.
Сообщения / Posts 17315 | Из / From: Россия
| IP / IP: IP адрес / IP address |
lenasher
Forum Member / Участник форума
Участник № / Member № 6606
lenasher
Forum Member / Участник форума
Участник № / Member № 6606
отправлено / posted
После предложенных манипуляций в ОТ идет сообщение из словаря, а не из аргументов канала CALL.STRING. Также, в руководстве есть запись: Запись длинных строк в канал CALL Длинные (до 64 байт) строки могут быть записаны в аргументы каналов CALL.STRING, CALL.ChGroupReq и CALL.TVC. Аргументы не должны иметь привязок и иметь тип данных STRING. Т.е. Аргументы могут быть STRING или нет?
Сообщения / Posts 33 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Аргументы канала CALL.STRING должны иметь тип данных STRING.
Как Вы наблюдали содержимое атрибутов канала CALL.STRING? В каких именно аргументах? Оно соответствует строкам, генерируемым программой? Как Вы привязали словарь сообщений к каналу CALL.SCRIPT? Какой канал посылает ожидаемые сообщения в ОТ? Как меняются его значения?
отправлено / posted
Проверка осуществлена в рамках реального проекта. Прислать его не можем.
Разработка специальных тестовых проектов по конкретные задачи проекта пользователя не входит в функции службы техподдержки. Надеемся на понимание.
Сообщения / Posts 17315 | Из / From: Россия
| IP / IP: IP адрес / IP address |
lenasher
Forum Member / Участник форума
Участник № / Member № 6606
отправлено / posted
1. Данные STRING в панели МРВ видны в аргументах канала CALL.STRING и соответствует выходным аргументам типа OUT STRING ПРОГРАММЫ. (Только почему-то выводится 4 символа). 2. В свойствах канала CALL.STRING -> Архивация отметила ОТЧЕТ ТРЕВОГ и выбрала Индекс аварийного словаря. 3. В числовой канал, для которого тоже выбран Архивация -> Индекс аварийного словаря посылаю 1. Числовой канал HEX32 и словарь ДЛЯ_HEX32
Сообщения / Posts 33 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
1. Привязку аргументов программы к аргументам CALL.STRING следует делать в аргументах CALL.Progr. 2. В свойствах канала CALL.STRING -> "Архивация" не надо отмечать "Отчет тревог". Достаточно привязать словарь.
3. Сколько аргументов у канала CALL.STRING? 4. В какой аргумент канала CALL.STRING передается строка, формируемая программой? 5. Когда Вы подаете "1" в канал HEX16? До генерации нужной строки в программе или после? Сначала надо изменить строку в аргументе CALL.STRING и только потом подавать "1" в канал HEX16.
Сообщения / Posts 17315 | Из / From: Россия
| IP / IP: IP адрес / IP address |
lenasher
Forum Member / Участник форума
Участник № / Member № 6606
отправлено / posted
У нас нет возможности анализировать пользовательские проекты на правильность решения задачи. В порядке исключения отвечаю на Ваш вопрос. Программа написана неверно.
Для проверки работы узла в реальном времени после запуска узла выключите канал Программа#1:8 (через "Панель МРВ/Компоненты/Программа#1:8/атрибут3=1(OFF)"). Вручную меняйте значение (0/1) канала DOMess16. Увидите в ОТ сообщения с заданными в программе строками.
Сообщения / Posts 17315 | Из / From: Россия
| IP / IP: IP адрес / IP address |
lenasher
Forum Member / Участник форума
Участник № / Member № 6606
отправлено / posted
Больше двух аргументов у канала CALL.STRING задавать можно? Динамически менять атрибуты словарей, можно (связывать, например, аргумент программы OUT и атрибут 130, Категория сообщения, словаря ДЛЯ_HEX32)?
Сообщения / Posts 33 | Из / From: Россия
| IP / IP: IP адрес / IP address |
fenestarh
Junior Member / Новичок
Участник № / Member № 6982
отправлено / posted
Здравствуйте. Простите, что поднимаю эту тему, но у меня не получается выдать сообщение из канала CALL.String. Я храню строку в атрибуте 80 "Комментарий", индекс аварийного словаря привязан, но когда пишу в созданный канал HEX16 (у него то же привязан индекс аварийного словаря) 1, то выдаётся сообщение из словаря, а не моё из String-а. Подскажите, что я возможно делаю не так?
Сообщения / Posts 14 | Из / From: Russia
| IP / IP: IP адрес / IP address |
fenestarh
Junior Member / Новичок
Участник № / Member № 6982
отправлено / posted
Вопрос снят. Строка для сообщения должна храниться в аргументе CALL.String.
Сообщения / Posts 14 | Из / From: Russia
| IP / IP: IP адрес / IP address |