Российский производитель и разработчик сертифицированного измерительного оборудования с 1987 года

Переключение TTL_OUT. е-154

Вы не вошли.

 Поиск | Регистрация | Вход 

Alena
29.05.2017 14:55:45
#1

Гость

Переключение TTL_OUT. е-154

Здравствуйте. Столкнулась со странной проблемой.
Я использую функцию TTL_OUT, как переключатель. То есть подача 0 или 1 на цифровые линии D01 и D02. В мануале сказано, что можно с ними работать только однократным ( асинхронным) образом. Это да.
Суть в том,что :
включаем

pModule->TTL_OUT(WORD(0x03));// плата переключается на измерение ВАХ
pModule->TTL_OUT(WORD(0x00));//плата переключается на измерение фототока и 
//напряжения
pModule->TTL_OUT(WORD(0x01)); // плата переключается на мультиметр

это не рабочий код, это как сигналы с цифровых линий переключают ключ

Конечно же, сначала мы подключаем модуль, и  делаем

pModule->ENABLE_TTL_OUT(true);

Проблема в том, что если я хочу чтобы события переключались автоматически с помощью таймера ( 1 сек), вот так ( вначале FlagCondition = true) :

 if (FlagCondition) {
	pModule->ENABLE_TTL_OUT(true)
	pModule->TTL_OUT(WORD(0x03));
   StartVAH(); 
   }
   else{
	pModule->TTL_OUT(WORD(0x00));
	StartADC();
   }
Application->ProcessMessages();
FlagCondition = !FlagCondition;

то StartADC(); выдает неправильные результаты, работает, да ,но результаты неправильные.
а если я делаю все то же самое, только переключаю функции кнопкой, где флаг FlagCondition меняется по нажатию кнопки, а не автоматически по таймеру, то все работает правильно.  Время таймера я уже  увеличивала, результат тот же.
Подскажите пожалуйста,в чем ошибка.

я думаю,что как то неправильно переключаю TTL_OUT, потому что , если написать так:

 if (FlagCondition) {
	pModule->ENABLE_TTL_OUT(true)
	pModule->TTL_OUT(WORD(0x03));
   Label1->Caption = "типа Работает вах, проверяем переключение TTL_OUT, функция  StartVAH() ни при чем"; 
   }
   else{
	pModule->TTL_OUT(WORD(0x00));
	StartADC();
   }

то StartADC(); так же работает неправильно .

29.05.2017 18:08:03
#2

Сотрудник "Л Кард"
Здесь с 24.04.2014
Сообщений: 1,488

Re: Переключение TTL_OUT. е-154

1. А что такое StartADC() и StartVAH()?
2. Засылайте весь проект приложения. Будем посмотреть.

Alena
30.05.2017 09:59:00
#3

Гость

Re: Переключение TTL_OUT. е-154

@Тихомиров Сергей, https://yadi.sk/d/1QfuQd7Q3JeW6q

Вот, я добавила комментарии. Должно быть понятно.
Заранее спасибо.

Alena
30.05.2017 10:10:00
#4

Гость

Re: Переключение TTL_OUT. е-154

@Тихомиров Сергей,  эмммм, наверно проблема решилась

	
pModule->TTL_OUT(WORD(0x00)); // задействован 1 выход на переключателе 
//посылаем 00 на ( D01 и D02)
Sleep(150);

просто поставила задержку после TTL_OUT big_smile

30.05.2017 17:05:58
#5

Сотрудник "Л Кард"
Здесь с 24.04.2014
Сообщений: 1,488

Re: Переключение TTL_OUT. е-154

Если это действительно так, то это говорит о том, что после момента переключения (функция TTL_OUT) Ваша аппаратура реально выходит на рабочий режим только  через определённое время (в Вашем случае ~150 мс).

Контакты

Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4, стр. 2

Многоканальный телефон:
+7 (495) 785-95-25

Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru

Время работы: с 9-00 до 19-00 мск