读取三菱PLC数据D,读取时,读取到到数据总是一组固定值,不明白为什么总是一组相同的数据
下面是参数设置
dt.Columns.Add(new DataColumn("设备代号", typeof(System.String)));
dt.Columns.Add(new DataColumn("设备名称", typeof(System.String)));
dt.Columns.Add(new DataColumn("采数类型", typeof(System.String)));
dt.Columns.Add(new DataColumn("状态", typeof(System.String)));
dt.Columns.Add(new DataColumn("IP地址", typeof(System.String)));
dt.Columns.Add(new DataColumn("端口", typeof(System.String)));
dt.Rows.Add(new object[] { "01112-005", "H11A1-自动造型一线", "三菱PLC", "未采集", "10.1.0.12", "2003" });//一线造型机
dataGridView1.DataSource = dt;
PlcParamsDt = new DataTable();
PlcParamsDt.Columns.Add(new DataColumn("设备代号", typeof(System.String)));
PlcParamsDt.Columns.Add(new DataColumn("PlcDeviceType", typeof(System.String))); //数据格式
PlcParamsDt.Columns.Add(new DataColumn("PlcStartDevice", typeof(System.String)));//PLC取数地址
PlcParamsDt.Columns.Add(new DataColumn("PlcDeviceNum", typeof(System.String))); //数据长度
PlcParamsDt.Columns.Add(new DataColumn("SqlParamName", typeof(System.String))); //特征编码
PlcParamsDt.Columns.Add(new DataColumn("DivNum", typeof(System.String))); //读数因子
PlcParamsDt.Rows.Add(new object[] { "01112-005", "int", "D900", "2", "模板号", "1" });
PlcParamsDt.Rows.Add(new object[] { "01112-005", "int", "D901", "2", "开始时间年", "1" });
PlcParamsDt.Rows.Add(new object[] { "01112-005", "int", "D902", "2", "开始时间月", "1" });
PlcParamsDt.Rows.Add(new object[] { "01112-005", "int", "D903", "2", "开始时间日", "1" });
PlcParamsDt.Rows.Add(new object[] { "01112-005", "int", "D904", "2", "开始时间时", "1" });
PlcParamsDt.Rows.Add(new object[] { "01112-005", "int", "D905", "2", "开始时间分", "1" });
PlcParamsDt.Rows.Add(new object[] { "01112-005", "int", "D906", "2", "开始时间秒", "1" });
下面是读取数据
public int Receieve(out byte[] revData, out string sResult)
{
sResult = "";
revData = new byte[bufferSize];
try
{
int readSize;
lock (sendStream)
{
readSize = sendStream.Read(revData, 0, bufferSize);
}
if (readSize == 0)
{
sResult = "未接收到数据!";
return -1;
}
sResult = "接收数据成功!";
}
catch
{
}
return 0;
}
但是这个revData每次在执行完 sendStream.Read(revData, 0, bufferSize);后的数据都没有变化,这是为什么?