Форум: Техническая поддержка

Тема: Чтение состояний с первых 2-х входных цифровых линий. E154

Вы не вошли.

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

Alena
04.04.2017 17:11:00
#1

Гость

Чтение состояний с первых 2-х входных цифровых линий. E154

Здравствуйте.
Мне нужно прочитать состояния первых двух цифровых линий DI1 и DI2.
Это нужно для того, что на нашем устройстве по нажатию кнопки на вход DI1 посылается +2.5 вольта( лог 1). и программа начинает выполнять Функцию 1 (это символично).
Если кнопка в выключенном состоянии, на линии DI1 нет напряжения (логический ноль),соответственно, то выполняется Функция 2.

	 WORD TTL_Canale1;
	 WORD TTL_NoCanale;

	TTL_Canale1 = 0x01; //DI1 - 1
	TTL_NoCanale = 0x00; //DI1 - 0

void TForm3::SelectMethod(void){

	if (pModule->TTL_IN(&TTL_Canale1)) {

	Form3->Label12->Caption = "АЦП запущено";

	}
	if (pModule->TTL_IN(&TTL_NoCanale)) {

	Form3->Label12->Caption = "Мультиметр запущен";
	}
}

Скажите,пожалуйста, в чем ошибка , потому что у меня вылетает  Access violation at adress 0040464D

Alena
04.04.2017 17:17:26
#2

Гость

Re: Чтение состояний с первых 2-х входных цифровых линий. E154

	
TTL_Canale1 = WORD(0x01); //1
TTL_NoCanale = WORD(0x00); //0

так тоже  не работает

04.04.2017 17:52:41
#3

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

Re: Чтение состояний с первых 2-х входных цифровых линий. E154

Попробуйте так:

void TForm3::SelectMethod(void)
{
    WORD TtlIn;

    // считаем текущие состояния всех входных цифровых линий
    pModule->TTL_IN(&TtlIn);
    // проанализируем состояние цифровой линии DI1
    if(TtlIn & 0x1) Form3->Label12->Caption = "АЦП запущено";
    else            Form3->Label12->Caption = "Мультиметр запущен";
}
Alena
05.04.2017 12:35:01
#4

Гость

Re: Чтение состояний с первых 2-х входных цифровых линий. E154

Спасибо,помогло

Контакты

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

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

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

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