コード例 #1
0
        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());
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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();
        }