<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>ZETLAB [тема: не могу выдать сигнал на ЦАП]</title>
		<link>http://zetlab.ru</link>
		<description>Новое в теме не могу выдать сигнал на ЦАП форума Форум по вопросам о продукции компании ZETLAB на сайте ZETLAB [zetlab.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Wed, 14 Oct 2026 12:52:14 +0300</pubDate>
		<item>
			<title>не могу выдать сигнал на ЦАП</title>
			<description><![CDATA[<b><a href="http://zetlab.ru/forums/messages/forum4/message4686/526-ne-mogu-vyidat-signal-na-tsap/">не могу выдать сигнал на ЦАП</a></b> в форуме <a href="http://zetlab.ru/forums/forum4/">Форум по вопросам о продукции компании ZETLAB</a>. <br />
			Добрый день!
Ответ отправлен Вам на электронную почту. <br />
			<i>12.02.2018 13:42:07, Екатерина Сатарова.</i>]]></description>
			<link>http://zetlab.ru/forums/messages/forum4/message4686/526-ne-mogu-vyidat-signal-na-tsap/</link>
			<guid>http://zetlab.ru/forums/messages/forum4/message4686/526-ne-mogu-vyidat-signal-na-tsap/</guid>
			<pubDate>Mon, 12 Feb 2018 13:42:07 +0300</pubDate>
			<category>Форум по вопросам о продукции компании ZETLAB</category>
		</item>
		<item>
			<title>не могу выдать сигнал на ЦАП</title>
			<description><![CDATA[<b><a href="http://zetlab.ru/forums/messages/forum4/message4685/526-ne-mogu-vyidat-signal-na-tsap/">не могу выдать сигнал на ЦАП</a></b> в форуме <a href="http://zetlab.ru/forums/forum4/">Форум по вопросам о продукции компании ZETLAB</a>. <br />
			Здравствуйте. Возникла похожая задача с этим устройством (zet 220 s/n 1223), необходимо передавать на устройство произвольный сигнал, представленный в цифровом виде, и воспользовавшись ЦАП вашего устройства получать сигнал в аналоге; для разработки используется C#. Есть ли возможность повторно выслать на мой почтовый адрес пример реализации и обновлённую версию программного компонента.
С уважением Юрий, ФГУП ВНИИФТРИ. <br />
			<i>12.02.2018 10:59:23, yuriym.</i>]]></description>
			<link>http://zetlab.ru/forums/messages/forum4/message4685/526-ne-mogu-vyidat-signal-na-tsap/</link>
			<guid>http://zetlab.ru/forums/messages/forum4/message4685/526-ne-mogu-vyidat-signal-na-tsap/</guid>
			<pubDate>Mon, 12 Feb 2018 10:59:23 +0300</pubDate>
			<category>Форум по вопросам о продукции компании ZETLAB</category>
		</item>
		<item>
			<title>не могу выдать сигнал на ЦАП</title>
			<description><![CDATA[<b><a href="http://zetlab.ru/forums/messages/forum4/message4565/526-ne-mogu-vyidat-signal-na-tsap/">не могу выдать сигнал на ЦАП</a></b> в форуме <a href="http://zetlab.ru/forums/forum4/">Форум по вопросам о продукции компании ZETLAB</a>. <br />
			Здравствуйте, Владимир

Рассмотрев поставленную проблему, мы постарались написать простенький проект на C# по передаче данных в генератор ZET220. Прикрепляем его к письму.

Данный проект генерирует синус с частотой 10 Гц и амплитудой 1 В. Код программы привязан к настройкам ZET220, частота ЦАП должна быть 200 кГц.
По нажатию на кнопку "ЗАПУСК" программа начинает генерировать синус, а по нажатию на кнопку "ОСТАНОВКА" перестает это делать.

При записи данных в генератор есть важный момент, нужно записывать данные на опережение. Расчет времени опережения приведен в примере.

P.S. Так как пользователей .NET было не так много, советуем обновить файл SRV.ocx на прикрепленный к письму и установить последнюю beta версию ПО ZETLab. С этим файлом генератор гарантированно работает.

С уважением, отдел технической поддержки ООО "ЭТМС" <br />
			<i>13.06.2017 10:56:31, Елена Зимина.</i>]]></description>
			<link>http://zetlab.ru/forums/messages/forum4/message4565/526-ne-mogu-vyidat-signal-na-tsap/</link>
			<guid>http://zetlab.ru/forums/messages/forum4/message4565/526-ne-mogu-vyidat-signal-na-tsap/</guid>
			<pubDate>Tue, 13 Jun 2017 10:56:31 +0300</pubDate>
			<category>Форум по вопросам о продукции компании ZETLAB</category>
		</item>
		<item>
			<title>не могу выдать сигнал на ЦАП</title>
			<description><![CDATA[<b><a href="http://zetlab.ru/forums/messages/forum4/message4564/526-ne-mogu-vyidat-signal-na-tsap/">не могу выдать сигнал на ЦАП</a></b> в форуме <a href="http://zetlab.ru/forums/forum4/">Форум по вопросам о продукции компании ZETLAB</a>. <br />
			using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using AxSRVLib;

namespace GeneratorCS1
{
public partial class Form1 : Form
{
public double dtime = 0.0;
public double ServerTime = 0.0, MyTime = 0.0;
double PI = Math.PI;
int ChannelDAC = 0; // ЦАП
int VrtChannelDAC = 0; // ЦАП
int iMaxChanDAC; // количество каналов ЦАП
float FreqDisDAC;
int iError;
string str = "";
double Amplituda = 1.0; // амплитуда сигнала генратора
double Freq = 10.0; // частота сигнала генератора
double interval = 0.1; // интервал генератора
double faza = 0;

AxSRV Serv;

public Form1()
{
InitializeComponent();
Serv = new AxSRV();
Serv.Parent = this;
Controls.Add(Serv);
comboBox1.ResetText();
comboBox1.Text = "Генератор";
comboBox2.ResetText();
comboBox2.Text = "Частота";
comboBox3.ResetText();
comboBox3.Text = "Амплитуда";

}

// старт генератор синусоиды
private void button1_Click(object sender, EventArgs e)
{
Amplituda = 300; // амплитуда в мВ, 300 -&gt; 0,3 В, 1000 -&gt; 1 В
Freq = 7.50; // частота в герцах

ChannelDAC = 0;
//iError = Serv.Connect(); // подключится к серверу
iError = Serv.ConnectDac(ChannelDAC); // подключится к серверу
if (iError &lt; 0)
MessageBox.Show("Ошибка подключения к серверу: " + iError.ToString()); // ошибка ZetLab

iError = Serv.GetStatus(ChannelDAC);
if (iError != 1) MessageBox.Show("Статус канала, не ЦАП: " + iError.ToString()); // ошибка ZetLab

iMaxChanDAC = Serv.MaxQuanChanDac(); // максимальное количество каналов ЦАП

iError = Serv.IsFreeChanDac(ChannelDAC); // канал ЦАП свободен?
if (iError != 0)
MessageBox.Show("Канал ЦАП занят: "+ChannelDAC.ToString() +" : " +iError.ToString());
VrtChannelDAC = Serv.IdChanDac(ChannelDAC, ref iError); // Получить виртуальный канал DAC
if (VrtChannelDAC &lt; 0)
MessageBox.Show("Ошибка выделения виртуального канала: " + VrtChannelDAC.ToString());

iError = Serv.SetChanDac(ChannelDAC); // подключить канал DAC
if (iError != 0) MessageBox.Show("Ошибка подключения канала: " + iError.ToString());
//iError = Serv.SetChanDac(VrtChannelDAC); // подключить канал DAC// подключить виртуальный канал
//if (iError != 0) MessageBox.Show("Ошибка подключения канала: " + iError.ToString());

str = Serv.Commentary(ChannelDAC);

str = Serv.Commentary(VrtChannelDAC);

iError = Serv.SetAttenuation(ChannelDAC, (float)1.0); // время затухания
if (iError != 0) MessageBox.Show("Ошибка затухания: " + iError.ToString());
FreqDisDAC = Serv.Frequency(ChannelDAC); // частота дискретизации DAC
if (FreqDisDAC &lt;= 0 || FreqDisDAC &gt; 2000) MessageBox.Show("Ошибка дискрета: " + iError.ToString());
//DecBufSize = Serv.DecadeBufferSize(0); // размер буфера по декаде 0. от 0 до 4
//i = Serv.BufferSize();

MyTime = Serv.CurrentTime(ChannelDAC);

ServerTime = Serv.CurrentTime(ChannelDAC);

interval = 0.50; // секунд
timer2.Interval = 100;
timer2.Enabled = true;
timer2.Start();

}

// стоп генератор
private void button2_Click(object sender, EventArgs e)
{
timer2.Enabled = false;
timer2.Stop();
iError = Serv.DisconnectVrtCh();
iError = Serv.DisconnectDac(ChannelDAC);
iError = Serv.Disconnect();
}

private void textBox1_TextChanged(object sender, EventArgs e)
{
// частота
}

private void textBox2_TextChanged(object sender, EventArgs e)
{
// амплитуда
}

// Обработка события от таймера. Запись синусоиды в ЦАП
private void timer2_Tick(object sender, EventArgs e)
{
ServerTime = Serv.CurrentTime(ChannelDAC);
if (MyTime &lt; ServerTime)
{
unsafe
{
int i = 0;
int psize = 1000;
float* pBufDAC = stackalloc float[psize];

for (i = 0; i &lt; (int)(FreqDisDAC * interval); i++)
{
pBufDAC[i] = (float)(Math.Sin((double)i / FreqDisDAC * Freq * 2 * PI + faza) * Amplituda); // генерим синус
}
faza = faza + FreqDisDAC * interval / FreqDisDAC * Freq * 2 * PI; //'запоминаем фазу
//long PutDataNet (long lChannel, double dTime, long lSize, long pData)
iError = Serv.PutDataNet(ChannelDAC, (MyTime + 1.0), (int)(FreqDisDAC * interval), (int)pBufDAC); // записать в ЦАП (FreqDisDAC * interval) отсчетов
//iError = Serv.PutDataNet(VrtChannelDAC, (MyTime + 1.0), (int)(FreqDisDAC * interval), (int)pBufDAC); // записать в ЦАП (FreqDisDAC * interval) отсчетов
if (iError != 0)
{
//MessageBox.Show("Ошибка PutDateNet: " + iError.ToString()); // ошибка ZetLab
//dtime = dtime + 1.0; // отладочный код
}
MyTime = MyTime + interval; // время следующего запуска
iError = axGridGL1.PaintNet((int)pBufDAC); // контрольная картинка, нарисовать график
//if (iError &lt; 0) ErrorZETLAB(iError);
}
//dtime = dtime + 1; // отладочный код
textBox1.Text = MyTime.ToString(); // показать время ЦАП
textBox2.Text = ServerTime.ToString(); // показать время сервера
}
}

private void ErrorZETLAB(int iError)
{
str = String.Format("Ошибка сервера ZETLAB {0}", iError);
MessageBox.Show(str);
//MessageBox.Show("Проверьте подключение ZET220");
}

}
} <br />
			<i>13.06.2017 10:54:42, Владимир.</i>]]></description>
			<link>http://zetlab.ru/forums/messages/forum4/message4564/526-ne-mogu-vyidat-signal-na-tsap/</link>
			<guid>http://zetlab.ru/forums/messages/forum4/message4564/526-ne-mogu-vyidat-signal-na-tsap/</guid>
			<pubDate>Tue, 13 Jun 2017 10:54:42 +0300</pubDate>
			<category>Форум по вопросам о продукции компании ZETLAB</category>
		</item>
		<item>
			<title>не могу выдать сигнал на ЦАП</title>
			<description><![CDATA[<b><a href="http://zetlab.ru/forums/messages/forum4/message2793/526-ne-mogu-vyidat-signal-na-tsap/">не могу выдать сигнал на ЦАП</a></b> в форуме <a href="http://zetlab.ru/forums/forum4/">Форум по вопросам о продукции компании ZETLAB</a>. <br />
			Здравствуйте,

Куплен ZET 220 №1217. Всё необходимое программное обеспечение куплено.
Нужно написать программу для снятия АЧХ на C#.
Проблема в следующем, не могу выдать сигнал на ЦАП.
Не смог разобраться с физическими и виртуальными каналами ЦАП, в документации не понятно написано.
Написал простую программку генератора, Исходный код предоставлен, весь проект в прикреплённом файле.
Например: Диапазон частот 0.5-100 гц. Амплитуда 0.3-1 вольт. Нужно выдавать синусоиду для определённого ряда фиксированных частот в заданном интервале времени. Например: 10гц - 20 сек, 20 герц - 50 сек, 75 гц - 1 мин и тп.

С уважением Владимир В. Кузнецов, ПАО ДНПП. <br />
			<i>13.06.2017 10:54:22, Владимир.</i>]]></description>
			<link>http://zetlab.ru/forums/messages/forum4/message2793/526-ne-mogu-vyidat-signal-na-tsap/</link>
			<guid>http://zetlab.ru/forums/messages/forum4/message2793/526-ne-mogu-vyidat-signal-na-tsap/</guid>
			<pubDate>Tue, 13 Jun 2017 10:54:22 +0300</pubDate>
			<category>Форум по вопросам о продукции компании ZETLAB</category>
		</item>
	</channel>
</rss>
