This is topic Управление модулем in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.
Здравствуйте. Есть модуль i-7065, подскажите как с помощью trace mode замкнуть например один из его релейных выходов. Делаю по быстрому старту, добавляю модуль, затем com-порт, затем по нажатию на кнопке посылаю в DO модуля методом прямой передачи значение @0401, но ничего не выходит. В dcon utility всё работает
Posted by Romсheg (Участник № / Member № 3792) on :
А зачем вы в канал записываете строку пакета протокола обмена с модулем? В канал надо значение 1 записывать, чтобы первый выход активизировать, протокольную часть обмена берет на себя рантайм ТМ.
Posted by oddytz1985 (Участник № / Member № 4669) on :
Спасибо, реле замыкается, а как теперь его разомкнуть, посылаю 0 но ничего не меняется?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Если Вы действительно действовали по "Быстрому старту", то можно полагать, что COM-порт Вы настроили именно тот, на который настроен компонент модуля 7065, и именно так, как требуется для обмена с модулем. Чтобы команда проходила в модуль - в момент запуска профайлера утилита DCON должна быть выключена, - канал CH, который связан с "Приемником" 7065, должен быть OUT типа HEX16, - кнопка должна передавать сигнал через OUT-аргумент экрана в атрибут ВХОД канала CH, - передаваемое значение должно быть числовым (в десятичном формате), @0401 передаваться не будет.
Надо убедиться по протоколу профайлера, что нет ошибок инициализации COM-порта. Если ошибок в протоколе нет, через окно КОМПОНЕНТЫ в профайлере можно посмотреть значение в самом канале (оно должно соответствовать посланной с экрана команде) и его атрибут ДОСТОВЕРНОСТЬ (I, 4). Если I=F, можно предположить, что попытка передать команду была, но подтверждения ее передачи канал не получил.
Для более полного анализа можно использовать любой перехватчик трафика COM-порта. Или воспользоваться записями в протоколе профайлера дополнительных данных по обмену. Для этого надо в окне КОМПОНЕНТЫ ввести в любой атрибут канала строку debug=200 В протоколе профайлера будут зафиксированы передаваемые по протоколу DCON команды и принимаемые ответы.
Posted by oddytz1985 (Участник № / Member № 4669) on :
Ещё один вопрос. На вход модуля подаётся напряжение от блока питания замыкающееся и размыкающееся с помощью кнопки. В TM создал канал привязанный к DI модуля. На экране есть текстовое поле которое связано с атрибутом, привязанным к реальному значению канала. Когда кнопка не нажата в это текстовое поле выводится значение 15 ( когда нажата - 14) как и dcon utility. Но когда я замыкаю выходное реле, значение этого текстового поля ( которое связано со входом модуля) становится 270. Как мне сделать так чтобы значение текстового поля не зависело от того замкнут релейный выход или нет?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Согласно протоколу DCON при запросе DI модуля 7065 возвращается 2-байтовое число, в котором первый (старший) байт возвращает состояние выходных реле, а второй (младший) байт - состояние дискретных входов. Для индикации состояния каждого отдельного реле следует применять бинарные индикаторы с масками, соответствующими нужным битам. Например, для индикации состояния первого бита (первого реле) нужно использовать вид индикации Arg&Конст с Конст=1.
Если все же необходимо индицировать состояние всех реле в числовом виде, надо привязывать ГЭ "Текст" к атрибуту "Байт 0" (100) канала DI.
Posted by oddytz1985 (Участник № / Member № 4669) on :
Имеется модуль I-7024, нужно на экран вывести значение на одном из его выходов. Создаю канал, привязываю к нему DO#1 модуля, далее привязываю текстовое поле к атрибуту "Байт 0" (100) но в текстовом поле ничего не отображается. Подскажите, пожалуйста, как мне это сделать.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Модуль I-7024 - это модуль АНАЛОГОВОГО выхода. Чтобы считать значение на одном из его выходов нужен в "Источниках" компонент ReadBack, связать его с каналом Float и его значение вывести на экран.
Posted by oddytz1985 (Участник № / Member № 4669) on :
Здравствуйте, мне необходимо посылать команду $AA2 модулям I-7000 чтобы считать их конфигурацию, а затем ответ модуля на команду вывести в гэ "текст". Не могли бы вы в подробностях описать как это сделать.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Встроенный драйвер обмена с модулями серии I-7000 не поддерживает команды считывания конфигурации. Штатными средствами Trace Mode 6 эту задачу решить нельзя.
Posted by oddytz1985 (Участник № / Member № 4669) on :
Это касается всех команд? Считать значения PowerOn и PowerSafe тоже не получится?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Эти команды тоже не поддерживаются. Список поддерживаемых функций можно посмотреть в разделе "Приложения/Подтипы каналов/Подтип 8".
Posted by oddytz1985 (Участник № / Member № 4669) on :
Ещё один вопрос. Имеются 3 кнопки по нажатию на которые на выполняются посылка значений 7, 3, 0 соответственно, на выходы модуля 7065 (замыкание, размыкание реле). Аргумент экрана связан со входным значением канала типа output HEX-16. Проблема в том что значения 7 и 3 передаются нормально, а 0 передаваться не хочет. В чем может быть дело.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Если Вы передаете с трех кнопок значения в один и тот же канал output HEX16, то все 3 кнопки должны работать одинаково. Скорее всего, дело в очередности нажатия кнопок: если Вы повторно нажимаете одну и ту же кнопку, сигнал повторно не будет передан в модуль. В релизе 6.07.7 в такой ситуации и повторение одного и того же сигнала будет отработано.
Posted by oddytz1985 (Участник № / Member № 4669) on :
TM обновил. Передаю 7, реле замыкаются, 0 передается только в том случае, если предварительно передать сначала 3. Ситуация неприятна тем, что под передачей 0 у меня значится аварийное отключение питания. Можно как-нибудь это исправить?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Во всех трех "Кнопках" Вы используете функцию управления "Передать значение/Прямая" без "Восстановления значения"? Все три "Кнопки" привязаны к одному и тому же аргументу? В этом случае после передачи 7 и нажатия на кнопку "0" должен передаваться 0. Вы можете после запуска профайлера по команде меню "Вид/Компоненты" открыть окно "Просмотр компонентов" и посмотреть как при Ваших операциях на экране меняется значение канала, получающего значение с экрана. Если этот канал связан с модулем I-7065, то по атрибуту 4 (Достоверность) канала можно проследить, передан ли "0" в модуль. Если при изменении значения канала с 7 на 0 его атрибут 4 остается равным T, значит, передача "0" осуществлена успешно.