public async Task ReadCoilsAsyncThrowsOnInvalidNumberOfPoints(ushort numOfPoints) { // Arrange var target = new ModbusMaster(new Mock <IModbusTransport>().Object); // Act/Assert await Assert.ThrowsAsync <ArgumentOutOfRangeException>( "numberOfPoints", () => target.ReadCoilsAsync(1, 0, numOfPoints)); }
private async void ReadButton_Click(object sender, EventArgs e) { UIEnabled(bFlg: false); try { int tab_idx = tabControl1.SelectedIndex; bool[] task = await Master.ReadCoilsAsync((byte)devno, (ushort)TargetSensor.CoilAddress, (ushort)TargetSensor.CoilsMaps.Count); int item_idx2 = 0; foreach (typeBase coilsMap in TargetSensor.CoilsMaps) { if (task[item_idx2]) { ((typeCh)coilsMap).bit = 1; } else { ((typeCh)coilsMap).bit = 0; } item_idx2++; } TabPage pg = tabControl1.TabPages[tab_idx]; DataGridView mdgv = (DataGridView)pg.Controls[0]; item_idx2 = 0; foreach (typeBase coilsMap2 in TargetSensor.CoilsMaps) { mdgv[1, item_idx2].Value = coilsMap2.ToString(); item_idx2++; } } catch (SlaveException) { MessageBox.Show("Device error response."); } catch (Exception ex2) { if (ex2.Message != null) { MessageBox.Show(ex2.Message); } else { MessageBox.Show("Error"); } } UIEnabled(bFlg: true); }