в чем, собственно проблема?
Вид для печати
в чем, собственно проблема?
Я хочу сделать чтобы входы опрашивались постоянно при нажатой кнопки buttonReadRCN , а при отжатой поле должно быть пустое. Этот код опрашивает один раз входы и счетчик останавливается как его перезапустить.
правильный путь -- завести отдельный поток, и опрашивать прибор в нем.
простой путь -- опрашивать прибор по таймеру, проверяя состояние кнопки.
попробую второй вариант, так как первый вариант даже не представляю, как это делать.
По вашему совету подключил таймер но данные не обновляются в чем проблема не пойму помогите разобраться.
Код://опрос входов МДВВ
private void buttonReadRCN_Click(object sender, EventArgs e)
{
if (OprosCn)
{
//стереть строку
textBoxMemo.Text = "";
//установить цвет кнопки отключено
buttonReadRCN.BackColor = System.Drawing.Color.Lime;
//Стоп таймера
timer1.Stop();
}
else
{
IntPtr name = Marshal.StringToCoTaskMemAnsi("r.Cn");
int bitMask = 0;
ConnectionError res = (ConnectionError)NativeMethods.ReadUInt(
deviceAddress, 0, name, ref bitMask, -1);
if (res == ConnectionError.Ok)
{
string inputs = string.Empty;
for ( i = 12; --i >= 0; )
{
if (((1 << i) & bitMask) != 0)
inputs += '1';
else
inputs += '0';
}
textBoxMemo.Text = inputs;
}
else
MessageBox.Show("Ошибка чтения r.Cn: " + res.ToString());
Marshal.FreeCoTaskMem(name);
//установить цвет кнопки рабочий
buttonReadRCN.BackColor = System.Drawing.Color.Crimson;
//Запуск таймера
timer1.Start();
}
OprosCn = !OprosCn;
}
private void timer1_Tick(object sender, EventArgs e)
{
if (i==0)
{
i = 12;
}
this.Invalidate();
}
}
так работать не будет. buttonReadRCN_Click() вызывается один раз по нажатию кнопки.
опрос надо вставить в timer1_Tick() и делать его в цикле по флагу, а сам флаг выставлять в buttonReadRCN_Click().
Здравствуйте. Вопрос по WriteWord(16, 0, “r-S”, 0, 0) – команда останавливает регулирование на ТРМ151, в вот WriteWord(16, 0, “r-S”, 1, 0) его не запускает (а должна по tags). Пишу на VBA для Excel. Прибор сконфигурирован с разрешением останова и запуска.
Посоветуйте куда обратиться лучше по ТРМ151 + owen_io.dll.
Ну а с Windows8 owen_io.dll работает?
Нет принципиальной разницы ТРМ-151 или другой прибор. Сначала изучаете список оперативныйх параметров прибора http://www.owen.ru/documents/94181849, выбираете что хотите читать/писать, дальше читаете хелп на библиотеку. Можно посмотреть примеры по программированию МДВВ в этой ветке. Не вижу причин библиотеке не работать с Win8.