发送的是16进制字符,如国产信捷PLC通信采用Modbus协义,举例如下;
//读出D4000 -D4040 内容
data1【0】 = 0X01;//地址
data1【1】 = 0X03;//读出指令
data1【2】 = 0X0F;//地址_h
data1【3】 = 0XA0;//地十_l
data1【4】 = 0X00;//个数高位
data1【5】 = 0X1F;//个数低位
data1【6】 = 0X07;//CRC_L
data1【7】 = 0X34;//CRC_H
然后发送到串口
com1.Write(data1, 0, data1.Length);
然后再接收
labUpLimet.Text= Con16_10( recivData.Substring(6, 4));//D4000
labDwLimet.Text = Con16_10(recivData.Substring(10, 4));//D4001
labzhengQuan.Text = Con16_10(recivData.Substring(14, 4));//D4002
labfanQuan.Text = Con16_10(recivData.Substring(18, 4));//D4003
//转速设定值(双字)
string speed_1 = CON_16_2(recivData.Substring(22, 4));//D4004 转速低位值
string speed_2 = CON_16_2(recivData.Substring(26, 4));//D4005 转速高位值
labSpeedPv.Text = con2_10( speed_2+speed_1);
//良品停机设定值 (双字) d4006
如还有疑问,可发送信息到本人邮箱;205072@163.com