================================================================================
eTest_Continuous_Sampling vWFNg̊Tv
===============================================================================

Tv̊Tv

Wf[^IɃt@CɕۑȂAATvOsTvłB
̃Tv̓ptH[}XAvP[VƂāA
gpPCƃ{[hŎWX[vbgv邽߂Ɏgp邱Ƃł܂B
WX[vbgő剻̂߂ɁÃf[^擾vZX̓|[OōsA
Wf[^̓oCi`ŒZԂɕۑ܂B
ۑoCif[^CSVɕϊ@\pӂĂ܂B

Tv̎dl

Egp`lƃTvOxw肵āATvOs܂B
EWf[^t@Cɕۑݒł܂B
Eۑ̃oCit@CǂݍŁACSV`ɃRo[g鎖ł܂B
EΏAD{[h
@SAD{[h
Ef[^Wp[^
@{[hWF}10V

Tv̎gp@

01.gpAD{[h̃foCXATvOxA`lݒ肵A{^NbN܂B
02.AD{[hɓڂĂ郁eʂƎWāAɊi[łWԂ͕ς܂B
	̎WԂ͈͓̔ŁAt@CۑbPʂŐݒ肵܂B
03.Wf[^̕ۑw肵܂B
04.WJn{^NbNƁAATvOJn܂B
05.ݒ肵ԊuŁAWf[^t@CɕۑĂ܂B
	ۑt@C̃t@Cɂ́At@C쐬\4̐Iɕt܂B
	f[^̓oCi`ō쐬邽߁AGfB^GNZœǂݍގ͂ł܂B
06.W~{^̃NbNA܂̓G[܂ŎWp܂B
07.G[eW̏Ԃ́Aʉ̃eLXg{bNXɕ\܂B

ۑĂoCit@CCSV`ɕϊɂ́At@CRo[g{^NbN܂B

01.Ro[goCit@CƁACSVt@C̕ۑw肵܂B
02.Ro[gJn{^NbNƁARo[gs܂B
03.LZ{^NbNƁARo[g~܂B

vO~O

EATvO̎@
	ATvOŁAȂSĂ̎Wf[^擾KvꍇAFIFO`Ŏgp܂B
	`̐ݒ́AeTest_Continuous_Sampling.vbButtonInit_Click\bhŁA
	AioSetAiMemoryType֐ɂĐݒ肳Ă܂Bi74sj
	܂AATvOs߂ɁAϊ~̓R}h~ɂĂ܂B
	ϊ~̐ݒ́AAioSetAiStopTrigger֐gp܂Bi80sj

	FIFOɎWf[^i[ꑱƁAI[o[t[ɂW삪~Ă܂߁A
	ȂȂ悤ɒIɃf[^擾Kv܂B
	Iȃf[^擾ɂ͂̕@܂ÃTvł͍łɓ삷|[O̎@ōsĂ܂B
	|[OɂIȃf[^擾́AeTest_Continuous_Sampling.vbButtonStart_Click\bhA
	139sڂDo`Loop WhileɎĂ܂B
	AioGetAiSamplingCount֐FIFOɊi[ς݂̃Tv擾A
	萔ĂAioGetAiSamplingData֐ɂAFIFOf[^擾Ă܂B
	̃[v́A~R}hsG[ȂǁA{[h~܂ŉivɌJԂ܂B

EFIFOɊi[łő厞Ԃ̌vZ
	FIFOIɃf[^擾śAI[o[t[܂ł̎ԂZԂłKv܂B
	܂AFIFÕTCYAɊi[łőTvvZ܂B
	́AeTest_Continuous_Sampling.vbGetMaxSamplesTu[`ōsĂ܂B

	AioGetAiMemorySize֐gpāAFIFÕTCYoCgPʂŎ擾܂B
	܂AFIFOɊi[łTv́Aȉ̂悤Ɏgp`lɂĕω邽߁A
	AioGetAiChannels֐Ŏgp`l擾Ă܂B
		Tv@@`l@~@f[^

	foCXAI-1204Z-PCIȊȌꍇA1_̎Wf[^ɂA2oCg̃gp܂B
	āAFIFOɊi[\ȍőTv͈ȉ̎ŌvZ܂B
		őTv@@FIFOTCY@@i2@~@`lj

	AI-1204Z-PCIł́AWf[^̓oX}X^]ɂăhCoDLLō쐬ꂽɓ]A
	̃FIFOƂĎgpĂ邽߁Af[^̊i[̃foCXƂ͈قȂ܂B
	ڍׂɊւẮA[X^[g]-[SẴvO]-[CONTEC API-PAC(W32)]-[API-AIO(WDM) HELP]-
	[API-AIO(WDM) HELP]-[AiOo̓hCo]-[`[gA]-[@\AiO]-[Xebv5F]̐ݒ]-
	[[U[obt@̐ݒ]́AZ-V[Y̏ꍇQƂĂB

	FIFOI[o[t[܂ł̎Ԃ́AFIFOɊi[\ȍőTv
	TvONbN邱Ƃɂ苁߂܂Bi96sj

EWf[^̃oCiۑ
	Wf[^̓oCi`Ńt@Cɕۑ܂Bt@Cւ̕ۑ́A
	eTest_Continuous_Sampling.vbSaveDataToBinaryTu[`ōsĂ܂B
	̃Tu[`́At@CA`lATvAWf[^zp[^ƂĎ󂯎܂B
	oCit@C͈ȉ̃tH[}bgō쐬܂B
	iȉ2`lgp̗ŁAۂ̃oCit@Cɂ͉sR[h͓Ă܂j
	`lƃTv́AoCi`CSV`փt@CRo[gۂɕKvȏłB

	`li2oCgj
	Tvi4oCgj
	Sample0-Channel0f[^i4oCgj
	Sample0-Channel1f[^i4oCgj
	Sample1-Channel0f[^i4oCgj
	Sample1-Channel1f[^i4oCgj
	E
	E
	E

	̃Tu[`́A|[O[vR[܂Bi162sj

EoCit@CCSVt@Cւ̃Ro[g
	oCit@CCSVt@Cւ̃Ro[ǵAConvert.vbɎĂ܂B
	Ro[gs߂ɁAŏɃoCif[^Integer^zɓǂݍ݂܂B
	̍ہAoCit@C̃tH[}bgɏ]A`li2oCgjATvi4oCgjA
	Wf[^i`l~Tv~4oCgj̏œǂݍ݂܂B

	CSV`ł̃t@Cۑɂ͎Ԃ邽߁AvOXo[Rg[Őis󋵂\A
	LZ{^ŕۑ~ł悤ɂĂ܂B

EG[̏
	API-AIO(WDM)֐R[̃G[́AErrorHandlerTu[`ɋLqĂ܂B
	̃Tu[`́A֐AG[R[hp[^ƂĎ󂯎܂B
	G[R[hAioGetErrorString֐ɂāAG[e𕶎ɕϊ邱Ƃł܂B

JX^}CỸqg
EgpWύXɂͥ

	̓W̐ݒAioSetAiRange֐Őݒ肵܂B
	eTest_Continuous_Sampling.vbButtonInitClick\bhł̊֐gp܂B

EWf[^d̒Pʂŕۑɂͥ

	Wf[^d̒Pʂŕۑɂ͂̕@l܂B
	1AioGetAiSamplingData֐̑AioGetAiSamplingDataExgpāA
	FIFOf[^擾̍ۂɓdf[^ƂĎ荞ޕ@łA
	AioGetAiSamplingDataEx֐͓ŃoCif[^df[^ɕϊĂ邽߁A
	AioGetAiSamplingData֐sԂ܂B
	̂߁AATvÕX[vbgĂ܂܂B

	ЂƂ̕@́AoCif[^CSVt@Cւ̃Ro[gɁAdϊs@łB
	̕@łΎW̃X[vbgւ̉e͂܂B
	doCilւ̕ϊɂ́AAPI-AIO(WDM)Ɋ܂܂郂W[t@CuDataConvert.vbvgpł܂B
	̃t@CɊ܂܂BinaryToVoltTu[`́AoCif[^ddɕϊ܂B
	W[t@C̏ڍׂɊւẮA[X^[g]-[SẴvO]-[CONTEC API-PAC(W32)]-[API-AIO(WDM) HELP]-
	[API-AIO(WDM) HELP]-[AiOo̓hCo]-[TvvO]-[̑]-[TvW[]QƂĂB
	DataConvert.vbgpɂ́AvWFNgt@CƓtH_DataConvert.vbRs[A
	Visual Basic̃j[́A[vWFNg]-[ڂ̒ǉ]ADataConvert.vbvWFNgɒǉ܂B

	܂AConvert.vb87sڂFor[vȉ̂悤ɕύX܂B
	BinaryToVoltTu[`Ɏw肷郌W̍őEŏl╪\́AgpAD{[hɍ킹Đݒ肵܂B

		' `ľJԂ
		For j = 0 To channels - 1
            Dim temp As String
            Dim volt As Single
            volt = BinaryToVolt(10, -10, 12, data(i * channels + j)	' oCid֕ϊ
            temp = Format(volt, "#0.0####")
            sw.Write(temp)
            If j <> channels - 1 Then
                sw.Write(",")
            End If
        Next

