в чем, собственно проблема?
в чем, собственно проблема?
Я хочу сделать чтобы входы опрашивались постоянно при нажатой кнопки 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.