Подскажите каким образом можно реализовать следующий механизм:
Необходимо непрерывно посылать "тестовый сигнал" (битовый меандр) на СОМ порт, ответа на "тест-сигнал" не предполагается.
Как мне объяснили это можно реализовать с помощью механизма "Обмен по произвольному протоколу по RS". При этом канал TEST, реализующий эту посылку, должен быть выключен. В нужный момент все каналы, осуществляющие опрос по данному COM, должны быть выключены, а канал TEST - включен.
Включение и отключение каналов на данном СОМ порту мы оргназивали. а вот посылку непосредственно тест сигнала пока организовать не получается...
Наши действия: Создаем в Источниках/приемниках группу "Пользовательские драйверы/TYPE11" Создаем компонент UniversalPLC_type1_1 И вот тут возникают вопросы: Можно рассмортеть на примере: будем использовать порт СОМ9,на нем стоит 8 контроллеров В коментарии пишем: UDEF В компоненте 6 параметров: Порт: указываем 0х8 Адрес: какой адрес указывать? первый или последний? Параметр#1 (W) что указывать в этом поле? Параметр#2 (W) что указывать в этом поле? направление: указваем OUTPUT Тип данных: оставляем без изменения Float
В RTM создаем канал CALL.ChGroupReq тип Output привязка к Значение: UniversalPLC_type1_1 Параметр: 1 в аргументах создал 1 аргумент AGR_000 тип OUT
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
1. Все поля настроек в компоненте UniversalPLC_type1_1 кроме "Порт" оставить равными 0. Направление = INPUT. 2. CALL.ChGroupReq Тип: INPUT. Параметр: 1. AGR_000 тип INPUT, тип данных USINT. Начальное состояние - ВЫКЛЮЧЕН.
При выключении основных каналов обмена канал CALL.ChGroupReq должен включаться.
В аргумент канала CALL.ChGroupReq надо подавать битовый меандр с помощью программы или канала MOVE.
Posted by Сергей Кравчук (Участник № / Member № 5384) on :
Спасибо за ответ.
После отключения основных каналов (посылаем 1 в атрибут "состояние" основных каналов) мы включаем канал CALL.ChGroupReq (посылаем 0 в атрибут "состояние") Вопрос каким образом запустить канал CALL.ChGroupReq чтобы он циклически отправлял запрос?
quote:Отправитель / Originally posted by AdAstra Technical Support: В аргумент канала CALL.ChGroupReq надо подавать битовый меандр с помощью программы или канала MOVE.
В справке написано: "Обмен по произвольному протоколу по RS: атрибут Параметр канала CALL.ChGroupReq определяет количество аргументов, используемых для формирования запроса, эти аргументы не должны иметь привязки."
Как можно передать значение меандра в канал CALL.ChGroupReq.
И еще как изменить переиод меандра, чтобы он был равномерным? а то почему то он изменяет свое значение за произвольные и не равные между собой промежутки времени.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
На этот вопрос можно ответить только по анализу проекта. Присылайте ваш проект.