예제 #1
0
 public PlcDatapackageUpdate2()
 {
     RunReadAndWriteToDbPlcDataPackageIntervalRoutine();
     databaseService = new DatabaseService();
     plcService      = new PlcService();
     plcDataPackage  = new PlcDataPackage {
     };
 }
예제 #2
0
 public static void CurrentlyMeasurement_LoadOne(PlcDataPackage plcDataPackage)
 {
     try
     {
         Instance.UpdateCurrentlyMeasurmentFields(plcDataPackage);
     } catch (System.NullReferenceException ex)
     {
         Console.WriteLine("Error : {0}", ex.ToString());
     }
 }
예제 #3
0
        private void ReadToDbPlcDataPackage()
        {
            plcDataPackage = plcService.ReadPlcDataPackage();

            databaseService.CreatePlcDataPackage(plcDataPackage);

            Diagrams.SetNewSpeedAndTimeData(plcDataPackage.Ramp_actual_speed_freq, plcDataPackage.Time.ToOADate());

            Visualization.SetNewPlcDataPackage(plcDataPackage);
        }
예제 #4
0
 public void UpdateCurrentlyMeasurmentFields(PlcDataPackage data)
 {
     this.Invoke((MethodInvoker) delegate()
     {
         checkBox24.Checked = data.Occupancy0;
         checkBox23.Checked = data.Occupancy1;
         checkBox22.Checked = data.Occupancy2;
         checkBox21.Checked = data.Occupancy3;
         checkBox20.Checked = data.Occupancy4;
         checkBox19.Checked = data.Occupancy5;
         checkBox18.Checked = data.Occupancy6;
         checkBox17.Checked = data.Occupancy7;
         checkBox16.Checked = data.PlatformSize0;
         checkBox15.Checked = data.PlatformSize1;
         checkBox14.Checked = data.PlatformSize2;
         checkBox13.Checked = data.PlatformSize3;
         checkBox12.Checked = data.PlatformSize4;
         checkBox11.Checked = data.PlatformSize5;
         checkBox10.Checked = data.PlatformSize6;
         checkBox9.Checked  = data.PlatformSize7;
         checkBox1.Checked  = data.SignalingTrips0;
         checkBox2.Checked  = data.SignalingTrips1;
         checkBox3.Checked  = data.SignalingTrips2;
         checkBox4.Checked  = data.SignalingTrips3;
         checkBox5.Checked  = data.SignalingTrips4;
         checkBox6.Checked  = data.SignalingTrips5;
         checkBox7.Checked  = data.SignalingTrips6;
         checkBox8.Checked  = data.SignalingTrips7;
         checkBox32.Checked = data.Entrance;
         checkBox29.Checked = data.Entrance_big_vehicle;
         checkBox28.Checked = data.Entrance_small_vehicle;
         checkBox26.Checked = data.Parking_in_move;
         checkBox34.Checked = data.Parking_occupied;
         checkBox35.Checked = data.Big_platform_occupied;
         textBox43.Text     = data.Weight0.ToString();
         textBox42.Text     = data.Weight1.ToString();
         textBox41.Text     = data.Weight2.ToString();
         textBox40.Text     = data.Weight3.ToString();
         textBox39.Text     = data.Weight4.ToString();
         textBox38.Text     = data.Weight5.ToString();
         textBox37.Text     = data.Weight6.ToString();
         textBox36.Text     = data.Weight7.ToString();
         textBox51.Text     = data.Vehicle_weight.ToString();
         textBox49.Text     = data.Rotation_angle.ToString();
         textBox48.Text     = data.Rotation_time.ToString();
         textBox45.Text     = data.Ramp_actual_speed_freq.ToString();
         textBox19.Text     = data.Time.ToString();
         textBox44.Text     = data.Minimum_weight.ToString();
         textBox52.Text     = data.Boundary_weight.ToString();
         textBox53.Text     = data.Maximum_weight.ToString();
     });
 }
예제 #5
0
 public static void SetNewPlcDataPackage(PlcDataPackage newData)
 {
     try
     {
         data = newData;
         Instance.updateVisualizationData();
     }
     catch (NullReferenceException ex)
     {
         //błąd występuje jak użytkonik nie otworzyl wizualizacji
         Console.WriteLine("Wizualizacja nie jest otwarta, error: {0}", ex);
     }
 }
예제 #6
0
        public PlcDataPackage ReadPlcDataBytesPackage()
        {
            PlcDataPackage plcDataPackage = new PlcDataPackage {
            };

            try
            {
                plcDataPackage = ReadBytess(PlcConnection);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Nie można pobrać danych");
            }
            return(plcDataPackage);
        }
 public void CreatePlcDataPackage(PlcDataPackage plcDataPackage)
 {
     MeasurementDatabase.CreatePlcDataPackage(plcDataPackage);
 }
예제 #8
0
        public PlcDataPackage ReadBytess(Plc plc)
        {
            PlcDataPackage data = new PlcDataPackage {
            };

            var db3Bytes = (byte[])plc.Read(DataType.DataBlock, 3, 0, VarType.Byte, 3);

            data.Occupancy0 = db3Bytes[0].SelectBit(0);
            data.Occupancy1 = db3Bytes[0].SelectBit(1);
            data.Occupancy2 = db3Bytes[0].SelectBit(2);
            data.Occupancy3 = db3Bytes[0].SelectBit(3);
            data.Occupancy4 = db3Bytes[0].SelectBit(4);
            data.Occupancy5 = db3Bytes[0].SelectBit(5);
            data.Occupancy6 = db3Bytes[0].SelectBit(6);
            data.Occupancy7 = db3Bytes[0].SelectBit(7);

            data.SignalingTrips0 = db3Bytes[1].SelectBit(0);
            data.SignalingTrips1 = db3Bytes[1].SelectBit(1);
            data.SignalingTrips2 = db3Bytes[1].SelectBit(2);
            data.SignalingTrips3 = db3Bytes[1].SelectBit(3);
            data.SignalingTrips4 = db3Bytes[1].SelectBit(4);
            data.SignalingTrips5 = db3Bytes[1].SelectBit(5);
            data.SignalingTrips6 = db3Bytes[1].SelectBit(6);
            data.SignalingTrips7 = db3Bytes[1].SelectBit(7);

            data.PlatformSize0 = db3Bytes[2].SelectBit(0);
            data.PlatformSize1 = db3Bytes[2].SelectBit(1);
            data.PlatformSize2 = db3Bytes[2].SelectBit(2);
            data.PlatformSize3 = db3Bytes[2].SelectBit(3);
            data.PlatformSize4 = db3Bytes[2].SelectBit(4);
            data.PlatformSize5 = db3Bytes[2].SelectBit(5);
            data.PlatformSize6 = db3Bytes[2].SelectBit(6);
            data.PlatformSize7 = db3Bytes[2].SelectBit(7);

            data.Weight0 = ((ushort)plc.Read("DB3.DBW22.0")).ConvertToShort();
            data.Weight1 = ((ushort)plc.Read("DB3.DBW24.0")).ConvertToShort();
            data.Weight2 = ((ushort)plc.Read("DB3.DBW26.0")).ConvertToShort();
            data.Weight3 = ((ushort)plc.Read("DB3.DBW28.0")).ConvertToShort();
            data.Weight4 = ((ushort)plc.Read("DB3.DBW30.0")).ConvertToShort();
            data.Weight5 = ((ushort)plc.Read("DB3.DBW32.0")).ConvertToShort();
            data.Weight6 = ((ushort)plc.Read("DB3.DBW34.0")).ConvertToShort();
            data.Weight7 = ((ushort)plc.Read("DB3.DBW36.0")).ConvertToShort();

            //var db33Bytes = (byte[])plc.Read(DataType.DataBlock, 3, 38, VarType.Byte, 1);

            //data.VehicleSize0 = db33Bytes[0].SelectBit(0);
            //data.VehicleSize1 = db33Bytes[0].SelectBit(1);
            //data.VehicleSize2 = db33Bytes[0].SelectBit(2);
            //data.VehicleSize3 = db33Bytes[0].SelectBit(3);
            //data.VehicleSize4 = db33Bytes[0].SelectBit(4);
            //data.VehicleSize5 = db33Bytes[0].SelectBit(5);
            //data.VehicleSize6 = db33Bytes[0].SelectBit(6);
            //data.VehicleSize7 = db33Bytes[0].SelectBit(7);

            var db14Bytes = (byte[])plc.Read(DataType.DataBlock, 14, 0, VarType.Byte, 2);

            data.Entrance               = db14Bytes[0].SelectBit(0);
            data.Entrance_enabled       = db14Bytes[0].SelectBit(1);
            data.Entrance_big_vehicle   = db14Bytes[0].SelectBit(2);
            data.Entrance_small_vehicle = db14Bytes[0].SelectBit(3);
            data.Left_right             = db14Bytes[0].SelectBit(4);
            data.Parking_in_move        = db14Bytes[0].SelectBit(5);
            data.Parking_out            = db14Bytes[0].SelectBit(6);
            data.Out_enabled            = db14Bytes[0].SelectBit(7);
            data.Vehicle_too_heavy_for_small_platform = db14Bytes[1].SelectBit(0);
            data.Parking_occupied      = db14Bytes[1].SelectBit(1);
            data.Big_platform_occupied = db14Bytes[1].SelectBit(2);


            data.Vehicle_weight          = ((ushort)plc.Read("DB14.DBW4.0")).ConvertToShort();
            data.Platform_to_rotate_down = ((ushort)plc.Read("DB14.DBW6.0")).ConvertToShort();
            data.Rotation_angle          = ((ushort)plc.Read("DB14.DBW8.0")).ConvertToShort();
            data.Rotation_time           = ((uint)plc.Read("DB14.DBD10.0")).ConvertToInt();
            data.Ramp_command_speed_freq = ((uint)plc.Read("DB14.DBD14.0")).ConvertToDouble();
            data.Ramp_engine_speed_freq  = ((uint)plc.Read("DB14.DBD18.0")).ConvertToDouble();
            data.Ramp_actual_speed_freq  = ((uint)plc.Read("DB14.DBD22.0")).ConvertToDouble();
            data.Minimum_weight          = ((uint)plc.Read("DB14.DBD26.0")).ConvertToDouble();
            data.Boundary_weight         = ((uint)plc.Read("DB14.DBD30.0")).ConvertToDouble();
            data.Maximum_weight          = ((uint)plc.Read("DB14.DBD34.0")).ConvertToDouble();
            data.Inventer_status         = ((ushort)plc.Read("DB14.DBW38.0")).ConvertToShort();
            data.Inventer_command_speed  = ((ushort)plc.Read("DB14.DBW40.0")).ConvertToShort();
            data.Inventer_actual_speed   = ((ushort)plc.Read("DB14.DBW42.0")).ConvertToShort();

            data.RunStop        = ((ushort)plc.Read("DB29.DBW0.0")).ConvertToShort();
            data.RxTx           = ((ushort)plc.Read("DB29.DBW2.0")).ConvertToShort();
            data.link           = ((ushort)plc.Read("DB29.DBW4.0")).ConvertToShort();
            data.error          = ((ushort)plc.Read("DB29.DBW6.0")).ConvertToShort();
            data.maint          = ((ushort)plc.Read("DB29.DBW8.0")).ConvertToShort();
            data.RunTimeCycle   = ((uint)plc.Read("DB14.DBD18.0")).ConvertToDouble();
            data.WriteLocalTime = ((ushort)plc.Read("DB29.DBW26.0")).ConvertToShort();

            var db16Bytes = (byte[])plc.Read(DataType.DataBlock, 16, 0, VarType.Byte, 2);

            data.engineError_Alarm              = db16Bytes[0].SelectBit(0);
            data.engineError_alarmReset         = db16Bytes[0].SelectBit(1);
            data.engineError_Notify             = db16Bytes[0].SelectBit(2);
            data.engineError_notifyReset        = db16Bytes[0].SelectBit(3);
            data.controlSystemError_Alarm       = db16Bytes[0].SelectBit(4);
            data.controlSystemError_alarmReset  = db16Bytes[0].SelectBit(5);
            data.controlSystemError_Notify      = db16Bytes[0].SelectBit(6);
            data.controlSystemError_notifyReset = db16Bytes[0].SelectBit(7);
            data.entranceSensorError_Alarm      = db16Bytes[1].SelectBit(0);
            data.entranceSensorError_alarmReset = db16Bytes[1].SelectBit(1);
            data.vehicleTooHeavy = db16Bytes[1].SelectBit(2);
            data.Error_Alarm     = db16Bytes[1].SelectBit(3);

            data.Time = DateTime.Now;

            return(data);
        }
        private string[] convertPlcDataPackageStringTable(PlcDataPackage plcDataPackage)
        {
            ArrayList values = new ArrayList();

            values.Add("DEFAULT");
            values.Add(plcDataPackage.Occupancy0.ToString());
            values.Add(plcDataPackage.Occupancy1.ToString());
            values.Add(plcDataPackage.Occupancy2.ToString());
            values.Add(plcDataPackage.Occupancy3.ToString());
            values.Add(plcDataPackage.Occupancy4.ToString());
            values.Add(plcDataPackage.Occupancy5.ToString());
            values.Add(plcDataPackage.Occupancy6.ToString());
            values.Add(plcDataPackage.Occupancy7.ToString());
            values.Add(plcDataPackage.PlatformSize0.ToString());
            values.Add(plcDataPackage.PlatformSize1.ToString());
            values.Add(plcDataPackage.PlatformSize2.ToString());
            values.Add(plcDataPackage.PlatformSize3.ToString());
            values.Add(plcDataPackage.PlatformSize4.ToString());
            values.Add(plcDataPackage.PlatformSize5.ToString());
            values.Add(plcDataPackage.PlatformSize6.ToString());
            values.Add(plcDataPackage.PlatformSize7.ToString());
            values.Add(plcDataPackage.SignalingTrips0.ToString());
            values.Add(plcDataPackage.SignalingTrips1.ToString());
            values.Add(plcDataPackage.SignalingTrips2.ToString());
            values.Add(plcDataPackage.SignalingTrips3.ToString());
            values.Add(plcDataPackage.SignalingTrips4.ToString());
            values.Add(plcDataPackage.SignalingTrips5.ToString());
            values.Add(plcDataPackage.SignalingTrips6.ToString());
            values.Add(plcDataPackage.SignalingTrips7.ToString());
            values.Add(plcDataPackage.Entrance.ToString());
            values.Add(plcDataPackage.Entrance_enabled.ToString());
            values.Add(plcDataPackage.Entrance_big_vehicle.ToString());
            values.Add(plcDataPackage.Entrance_small_vehicle.ToString());
            values.Add(plcDataPackage.Left_right.ToString());
            values.Add(plcDataPackage.Parking_in_move.ToString());
            values.Add(plcDataPackage.Parking_out.ToString());
            values.Add(plcDataPackage.Out_enabled.ToString());
            values.Add(plcDataPackage.Vehicle_too_heavy_for_small_platform.ToString());
            values.Add(plcDataPackage.Parking_occupied.ToString());
            values.Add(plcDataPackage.Big_platform_occupied.ToString());
            values.Add(plcDataPackage.Weight0.ToString());
            values.Add(plcDataPackage.Weight1.ToString());
            values.Add(plcDataPackage.Weight2.ToString());
            values.Add(plcDataPackage.Weight3.ToString());
            values.Add(plcDataPackage.Weight4.ToString());
            values.Add(plcDataPackage.Weight5.ToString());
            values.Add(plcDataPackage.Weight6.ToString());
            values.Add(plcDataPackage.Weight7.ToString());
            values.Add(plcDataPackage.VehicleSize0.ToString());
            values.Add(plcDataPackage.VehicleSize1.ToString());
            values.Add(plcDataPackage.VehicleSize2.ToString());
            values.Add(plcDataPackage.VehicleSize3.ToString());
            values.Add(plcDataPackage.VehicleSize4.ToString());
            values.Add(plcDataPackage.VehicleSize5.ToString());
            values.Add(plcDataPackage.VehicleSize6.ToString());
            values.Add(plcDataPackage.VehicleSize7.ToString());
            values.Add(plcDataPackage.Vehicle_weight.ToString());
            values.Add(plcDataPackage.Platform_to_rotate_down.ToString());
            values.Add(plcDataPackage.Rotation_angle.ToString());
            values.Add(plcDataPackage.Rotation_time.ToString());
            values.Add(plcDataPackage.Ramp_command_speed_freq.ToString());
            values.Add(plcDataPackage.Ramp_engine_speed_freq.ToString());
            values.Add(plcDataPackage.Ramp_actual_speed_freq.ToString());
            values.Add(plcDataPackage.Minimum_weight.ToString());
            values.Add(plcDataPackage.Boundary_weight.ToString());
            values.Add(plcDataPackage.Maximum_weight.ToString());
            values.Add(plcDataPackage.Inventer_status.ToString());
            values.Add(plcDataPackage.Inventer_command_speed.ToString());
            values.Add(plcDataPackage.Inventer_actual_speed.ToString());
            values.Add(plcDataPackage.RunStop.ToString());
            values.Add(plcDataPackage.RxTx.ToString());
            values.Add(plcDataPackage.link.ToString());
            values.Add(plcDataPackage.error.ToString());
            values.Add(plcDataPackage.RunTimeCycle.ToString());
            values.Add(plcDataPackage.WriteLocalTime.ToString());
            values.Add(plcDataPackage.Inventer_actual_speed.ToString());
            values.Add(plcDataPackage.engineError_Alarm.ToString());
            values.Add(plcDataPackage.engineError_alarmReset.ToString());
            values.Add(plcDataPackage.engineError_Notify.ToString());
            values.Add(plcDataPackage.engineError_notifyReset.ToString());
            values.Add(plcDataPackage.controlSystemError_Alarm.ToString());
            values.Add(plcDataPackage.controlSystemError_alarmReset.ToString());
            values.Add(plcDataPackage.controlSystemError_Notify.ToString());
            values.Add(plcDataPackage.controlSystemError_notifyReset.ToString());
            values.Add(plcDataPackage.entranceSensorError_Alarm.ToString());
            values.Add(plcDataPackage.entranceSensorError_alarmReset.ToString());
            values.Add(plcDataPackage.vehicleTooHeavy.ToString());
            values.Add(plcDataPackage.Error_Alarm.ToString());
            values.Add(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
            return(values.ToArray(typeof(string)) as string[]);
        }
        private string[] convertPlcDataPackageToTypesTable(PlcDataPackage plcDataPackage)
        {
            ArrayList types = new ArrayList();

            types.Add("int");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("int");
            types.Add("int");
            types.Add("int");
            types.Add("int");
            types.Add("int");
            types.Add("int");
            types.Add("int");
            types.Add("int");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("int");
            types.Add("int");
            types.Add("int");
            types.Add("int");
            types.Add("double");
            types.Add("double");
            types.Add("double");
            types.Add("double");
            types.Add("double");
            types.Add("double");
            types.Add("int");
            types.Add("int");
            types.Add("int");
            types.Add("int");
            types.Add("int");
            types.Add("int");
            types.Add("int");
            types.Add("int");
            types.Add("double");
            types.Add("int");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("bool");
            types.Add("time");
            return(types.ToArray(typeof(string)) as string[]);
        }
 public void CreatePlcDataPackage(PlcDataPackage plcDataPackage)
 {
     Connection.insertInto(PLC_DATA_PACKAGE, getPlcDataPackageTableColumns(), convertPlcDataPackageToTypesTable(plcDataPackage), convertPlcDataPackageStringTable(plcDataPackage));
 }