АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Цифровой вывод

Читайте также:
  1. Алгоритм цифровой подписи RSA
  2. Алгоритм цифровой подписи на основе эллиптических кривых ECDSA
  3. Алгоритмы электронной цифровой подписи
  4. Анализ результатов и выводы
  5. Аналого-цифровой измеритель среднего значения
  6. Аналоговый вывод
  7. В отличие от почек, которые выводят с мочой из организма преимущественно нейтральные соли, кожа способна выводить сами кислоты.
  8. Ввод, вывод вектора и матрицы
  9. Ввод/вывод аналоговых сигналов
  10. Вопрос 5. Какие выводы позволяет сделать сбалансированный бизнес-анализ на стадии имитации строительства предприятия?
  11. Вывод информации из базы данных
  12. Вывод общей формулы обратной матрицы

 

#include <NIDAQmx.h>

#include <cvirte.h>

#include <userint.h>

#include "second.h"

 

static int panelHandle;

 

int main (int argc, char *argv[])

{

if (InitCVIRTE (0, argv, 0) == 0)

return -1; /* out of memory */

if ((panelHandle = LoadPanel (0, "second.uir", PANEL)) < 0)

return -1;

DisplayPanel (panelHandle);

RunUserInterface ();

DiscardPanel (panelHandle);

return 0;

}

 

int CVICALLBACK rQuit (int panel, int control, int event,

void *callbackData, int eventData1, int eventData2)

{

switch (event)

{

case EVENT_COMMIT:

QuitUserInterface (0);

break;

}

return 0;

}

 

int CVICALLBACK rWrite (int panel, int control, int event,

void *callbackData, int eventData1, int eventData2)

{

TaskHandle taskHandle=0;

char chan[256];

uInt8 data[8];

/*char errBuff[2048]={'\0'};*/

switch (event)

{

case EVENT_COMMIT:

GetCtrlVal (panel, PANEL_CHANNEL, chan);

GetCtrlVal (panel, PANEL_SW_0, &data[0]);

GetCtrlVal (panel, PANEL_SW_1, &data[1]);

GetCtrlVal (panel, PANEL_SW_2, &data[2]);

GetCtrlVal (panel, PANEL_SW_3, &data[3]);

GetCtrlVal (panel, PANEL_SW_4, &data[4]);

GetCtrlVal (panel, PANEL_SW_5, &data[5]);

GetCtrlVal (panel, PANEL_SW_6, &data[6]);

GetCtrlVal (panel, PANEL_SW_7, &data[7]);

DAQmxCreateTask ("", &taskHandle);

DAQmxCreateDOChan (taskHandle, chan, "", DAQmx_Val_ChanForAllLines);

DAQmxStartTask (taskHandle);

DAQmxWriteDigitalLines (taskHandle, 1, 1, 10.0, DAQmx_Val_GroupByChannel, data, NULL, NULL);

 

DAQmxStopTask (taskHandle);

DAQmxClearTask (taskHandle);

break;

}

return 0;

}

Пример панели интерфейса пользователя приведен на рис. 65.

 

Рис. 65
Примеры проектов в LabWindows/CVI 8.0


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 |


При использовании материала, поставите ссылку на Студалл.Орг (0.008 сек.)