public void SetMData(PlcSimple pc, bool value) { List <bool> valueShort = new List <bool>(); valueShort.Add((bool)value); master.WriteMultipleCoils((byte)SlaveId, (ushort)pc.Address, valueShort.ToArray()); }
public void WriteDData(PlcSimple pc, ushort[] value) { // List<ushort> valueShort = new List<ushort>(); //for(int i=0;i<90;i++) //valueShort.Add((ushort)value); // for (int i = 0; i < 10; i++) // { //master.WriteSingleRegister((ushort)(pc.Address, ushort value); master.WriteMultipleRegisters((byte)SlaveId, (ushort)(pc.Address), value); // } //master.WriteSingleRegisterAsync((ushort)pc.Address, (ushort)90); }
public Device(string filename, ServerInfo serverParam, int plcid) { CsvStreamReader csvFile = new CsvStreamReader(); DataTable dt = csvFile.OpenCSV(filename); plcId = plcid; plcLstD = new List <PlcSimple>(); plcLstM = new List <PlcSimple>(); if (dt != null && dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { PlcSimple plcSimple = new PlcSimple(dt.Rows[i].ItemArray[1].ToString(), dt.Rows[i].ItemArray[0].ToString()); plcSimple.SetParam(getStrArr(dt.Rows[i].ItemArray)); if (plcSimple.Area.Equals(Constant.D_ID)) { plcLstD.Add(plcSimple); } else { plcLstM.Add(plcSimple); } plcSimple.SetPlcAddressOffset(plcId); } } else { MessageBox.Show(Constant.ErrorPlcFile + filename); ConstantMethod.AppExit(); } //获取serverip 和 port //serverParam = ConstantMethod.LoadServerParam(serverfile); dtTool = new DataTransform(serverParam); dtTool.SetDPlcSimple(plcLstD); dtTool.SetMPlcSimple(plcLstM); dtTool.StartGetData(); }