Esempio n. 1
0
 public void DealData(string value, int zoomFlag = 1)
 {
     try
     {
         //获取设置的数据
         ushort valueSet = (ushort)(decimal.Parse(value) * zoomFlag);
         //判断modBus是否已经打开
         if (null == modbus)
         {
             MessageBox.Show("请先打开串口,否则无法设置参数");
             return;
         }
         //电阻
         if (modbus.WriteDatasEx(this._address, BitConverter.GetBytes(valueSet), 3000))
         {
             //如果修改成功的话,就重新读取这个数值
             byte[] dataList = modbus.ReadDataFromPLC(this._address, 2, 3000);
             this._sender.Text = ((decimal)((BitConverter.ToUInt16(dataList, 0)) / (zoomFlag * 1.0f))) + "";
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
Esempio n. 2
0
 /// <summary>
 /// 设置系统的参数
 /// </summary>
 /// <param name="address"></param>
 /// <param name="value"></param>
 /// <param name="modbus"></param>
 private void SetValue(ushort address, byte value, PLCSerialPort modbus)
 {
     //  modbus.WriteMultipleRegisters(ConstPara.SlaveId,address,new ushort[]{value});
     _plcSerialPort.WriteDatasEx(address, new byte[] { value }, 3000);
 }