Пример #1
0
        private void Button1_MouseClick(object sender, MouseEventArgs e)
        {
            this.PeriodicRefreshTimer.Enabled = false;
            ModbusRTU.SuspendRead((byte)_ReadFunctionCode, _ReadAddress, _ReadDataLengthInBit);//鼠标单击本控件后,进入写寄存器状态,暂停寄存器的读操作

            switch (_ButtonClickAction)
            {
            case ModbusButtonClickActionEnum.Set:
                ModbusRTU.MasterDataRepos.Coils[_WriteAddress] = true;
                break;

            case ModbusButtonClickActionEnum.Reset:
                ModbusRTU.MasterDataRepos.Coils[_WriteAddress] = false;
                break;

            case ModbusButtonClickActionEnum.Toggle:
                ModbusRTU.MasterDataRepos.Coils[_WriteAddress] = !ModbusRTU.MasterDataRepos.Coils[_WriteAddress];
                break;

            default:
                break;
            }
            ModbusRTU.VoteToConfirmTransmitRegs('+', (byte)_WriteFunctionCode, _WriteAddress, _WriteDataLengthInBit);
            ModbusRTU.AssembleRequestADU(1, ModbusRTU.LoadUnmannedBuses((byte)_WriteFunctionCode, 0));
            ModbusRTU.ResumeRead((byte)_ReadFunctionCode, _ReadAddress, _ReadDataLengthInBit);//鼠标单击本控件后,进入写寄存器状态,暂停寄存器的读操作
            PeriodicRefreshTimer.Enabled = true;
        }
Пример #2
0
 private void ModbusView_MouseClick1(object sender, MouseEventArgs e)
 {
     this.PeriodicRefreshTimer.Enabled = false;
     ShowCaret(this.Handle);
     ModbusRTU.SuspendRead((byte)_ReadFunctionCode, _ReadAddress, _ReadDataLengthInWord);//鼠标单击本控件后,进入写寄存器状态,暂停寄存器的读操作
 }