コード例 #1
0
        public static void Data_operation(object datatemp)
        {
            Discharge__send_frame discharge_Send_Frame = JsonConvert.DeserializeObject <Discharge__send_frame>(datatemp.ToString());

            if (discharge_Send_Frame != null)
            {
                Zhgd_iot_discharge_current data = new Zhgd_iot_discharge_current();
                data.sn           = discharge_Send_Frame.sn;
                data.is_warning   = discharge_Send_Frame.is_warning;
                data.warning_type = discharge_Send_Frame.warning_type;
                data.@timestamp   = discharge_Send_Frame.@timestamp;
                data.weight       = discharge_Send_Frame.weight;
                data.dip_x        = discharge_Send_Frame.dip_x;
                data.dip_y        = discharge_Send_Frame.dip_y;

                //进行数据put
                DPC.Discharge_operation.Send_discharge_Current(data);
            }
        }
コード例 #2
0
        static void Get_real_current_func()
        {
            try
            {
                //先得到token
                Get_token_result get_Token_Result = Get_token(Unload_userName, Unload_password);
                if (get_Token_Result != null && get_Token_Result.status == "1" && get_Token_Result.data != null && !string.IsNullOrEmpty(get_Token_Result.data.token))
                {
                    //得到设备列表
                    Get_Device_list_result get_Device_List_Result = Get_Device_list(Unload_userName, get_Token_Result.data.token);
                    if (get_Device_List_Result != null && get_Token_Result.status == "1" && get_Device_List_Result.data != null && get_Device_List_Result.data.Length > 0)
                    {
                        string equmient_list = "";
                        foreach (Unload_device unload_Device in get_Device_List_Result.data)
                        {
                            if (unload_Device.activated == "1")
                            {
                                equmient_list += unload_Device.unload_id + ",";
                            }
                        }
                        if (equmient_list != "")
                        {
                            equmient_list = equmient_list.Substring(0, equmient_list.Length - 1);
                        }
                        //得到实时数据
                        Get_Real_list_result get_Real_List_Result = Get_Real_list(Unload_userName, get_Token_Result.data.token, equmient_list);
                        if (get_Real_List_Result != null && get_Real_List_Result.status == "1" && get_Real_List_Result.data != null && get_Real_List_Result.data.Length > 0)
                        {
                            foreach (Unload_real unload_Real in get_Real_List_Result.data)
                            {
                                Zhgd_iot_discharge_current data = new Zhgd_iot_discharge_current();
                                data.sn = unload_Real.unload_id;
                                if (unload_Real.upstate == 2)
                                {
                                    data.is_warning   = "Y";
                                    data.warning_type = new string[] { Warning_type.重量告警 };
                                }
                                else
                                {
                                    data.is_warning   = "N";
                                    data.warning_type = new string[] { };
                                }
                                data.@timestamp = unload_Real.time;
                                data.weight     = unload_Real.weight;
                                if (unload_Real.bias < 0)
                                {
                                    data.dip_x = System.Math.Abs(unload_Real.bias);
                                }
                                else
                                {
                                    data.dip_y = unload_Real.bias;
                                }

                                //进行数据put
                                DPC.Discharge_operation.Send_discharge_Current(data);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                ToolAPI.XMLOperation.WriteLogXmlNoTail("Get_real_current_func异常", ex.Message);
            }
        }
コード例 #3
0
        //实时数据
        //7A 7A 01 00 02 01 15 00 31 32 33 34 35 36 37 38 17 10 31 17 34 00 01 00 02 00 03 00 01 15 03 7B 7B
        //有报警7A 7A 01 00 02 01 15 00 31 32 33 34 35 36 37 38 17 10 31 17 34 00 01 00 02 00 03 00 0f DB E2 7B 7B
        static public void ReceiveDispose_Current(byte[] data, TcpSocketClient client, bool isCurrent)
        {
            try
            {
                Zhgd_iot_discharge_current dataFrame = new Zhgd_iot_discharge_current();
                //设备编号
                byte[] sn = new byte[8];   //设备编号
                for (int i = 0; i < 8; i++)
                {
                    sn[i] = data[i];
                }
                dataFrame.sn = Encoding.ASCII.GetString(sn);  //获取设备编号ASCII
                //RTC
                string tStr = ConvertData.ToHexString(data, 8, 6);
                try
                {
                    dataFrame.timestamp = DPC_Tool.GetTimeStamp(DateTime.ParseExact(tStr, "yyMMddHHmmss", System.Globalization.CultureInfo.InvariantCulture));
                }
                catch (Exception)
                {
                    dataFrame.timestamp = DPC_Tool.GetTimeStamp(DateTime.Now);
                }
                //当前载重
                UShortValue us = new UShortValue();
                us.bValue1       = data[14];
                us.bValue2       = data[15];
                dataFrame.weight = us.sValue;
                //倾角X
                ShortValue s = new ShortValue();
                s.bValue1       = data[16];
                s.bValue2       = data[17];
                dataFrame.dip_x = (double)((double)(s.sValue) / 100d);
                //倾角Y
                s.bValue1       = data[18];
                s.bValue2       = data[19];
                dataFrame.dip_y = (double)((double)(s.sValue) / 100d);
                //报警状态
                string        state = Convert.ToString(data[20], 2).PadLeft(8, '0');
                List <string> vs    = new List <string>();
                dataFrame.is_warning = "N";
                //  dataFrame.WeightWarning = (byte)(state[7] - 48);
                if ((byte)(state[6] - 48) == 1)
                {
                    vs.Add(Warning_type.重量告警); dataFrame.is_warning = "Y";
                }
                //dataFrame.WeightAlarm = (byte)(state[6] - 48);
                // dataFrame.AngleWarning = (byte)(state[5] - 48);
                if ((byte)(state[4] - 48) == 1)
                {
                    vs.Add(Warning_type.重量告警); dataFrame.is_warning = "Y";
                }
                //dataFrame.AngleAlarm = (byte)(state[4] - 48);
                //离线数据应答
                if (!isCurrent)
                {
                    byte[] result = SendJoint_OffLine();
                    if (result != null)
                    {
                        client.SendBuffer(result);
                    }
                }

                //进行数据put
                Discharge_operation.Send_discharge_Current(dataFrame);
            }
            catch (Exception)
            { }
        }