private void Button7_Click(object sender, EventArgs e) { if (btnLink.Text != "已链接") { MessageBox.Show("PLC尚未联机,请联机!"); return; } if (string.IsNullOrEmpty(txtRUAddress.Text.Trim())) { MessageBox.Show("读取地址不能是空"); return; } if (string.IsNullOrEmpty(txtUWordLength.Text.Trim())) { MessageBox.Show("读取长度不能是空"); return; } var rst = MyPLC.Read(txtRUAddress.Text.Trim(), ushort.Parse(txtUWordLength.Text)); if (rst.IsSuccess) { var v1 = rst.Content; //var v1 = MyPLC.ByteTransform.TransBool(rst.Content, 0, 1); txtRUMeg_Write($"[{DateTime.Now.ToString("HH:mm:ss")}][{txtRUAddress.Text}]{string.Join(",", v1)} \r\n"); } else { txtRUMeg_Write($"[{DateTime.Now.ToString("HH:mm:ss")}][Err]{rst.Message}\r\n"); } }
/// <summary> /// 读取寄存器数据(高位在前,低位在后) /// </summary> /// <param name="plcAddr">PLC地址(TCP为0)</param> /// <param name="regType">寄存器类型</param> /// <param name="startAddr">开始地址</param> /// <param name="N">长度</param> /// <param name="rData">反转处理:高在前,低位在后</param> /// <param name="er"></param> /// <returns></returns> public bool Read(int plcAddr, ERegType regType, int startAddr, int N, out string rData, out string er) { return(_devPLC.Read(plcAddr, regType, startAddr, N, out rData, out er)); }