Esempio n. 1
0
        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");
            }
        }
Esempio n. 2
0
 /// <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));
 }