diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..359bb53
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,3 @@
+# 默认忽略的文件
+/shelf/
+/workspace.xml
diff --git a/.idea/AutoControlSystem.iml b/.idea/AutoControlSystem.iml
new file mode 100644
index 0000000..042213b
--- /dev/null
+++ b/.idea/AutoControlSystem.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 0000000..105ce2d
--- /dev/null
+++ b/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..0b962ea
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..ab07734
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/EMV.py b/EMV.py
new file mode 100644
index 0000000..d9713a2
--- /dev/null
+++ b/EMV.py
@@ -0,0 +1,62 @@
+import socket
+import binascii
+
+# 网络继电器的 IP 和端口
+HOST = '192.168.20.18'
+PORT = 50000
+
+
+valve_commands = {
+ 1: {
+ 'open': '00000000000601050000FF00',
+ 'close': '000000000006010500000000',
+ },
+ 2: {
+ 'open': '00000000000601050001FF00',
+ 'close': '000000000006010500010000',
+ },
+ 3: {
+ 'open': '00000000000601050002FF00',
+ 'close': '000000000006010500020000',
+ }
+}
+
+
+# 将十六进制字符串转换为字节数据并发送
+def send_command(command):
+ byte_data = binascii.unhexlify(command)
+
+ # 创建套接字并连接到继电器
+ with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock:
+ sock.connect((HOST, PORT))
+ sock.send(byte_data)
+ response = sock.recv(1024)
+ return response
+
+
+# 控制电磁阀打开
+def open(grasp, throw, shake):
+ if grasp:
+ print("打开电磁阀 1")#抓取
+ send_command(valve_commands[1]['open'])
+ if throw:
+ print("打开电磁阀 2")#扔袋
+ send_command(valve_commands[2]['open'])
+ if shake:
+ print("打开电磁阀 3")#震动
+ send_command(valve_commands[3]['open'])
+
+
+# 控制电磁阀关闭
+def close(grasp, throw, shake ):
+ if grasp:
+ print("关闭电磁阀 1")
+ send_command(valve_commands[1]['close'])
+ if throw:
+ print("关闭电磁阀 2")
+ send_command(valve_commands[2]['close'])
+ if shake:
+ print("关闭电磁阀 3")
+ send_command(valve_commands[3]['close'])
+
+close(True,True,True)#参数传True和False
\ No newline at end of file
diff --git a/Trace/handeye_calibration.py b/Trace/handeye_calibration.py
index 1c5c2fd..de2128e 100644
--- a/Trace/handeye_calibration.py
+++ b/Trace/handeye_calibration.py
@@ -59,7 +59,7 @@ def getPosition(x,y,z,a,b,c,rotation,points):
camera2robot = np.loadtxt('./Trace/com_pose2.txt', delimiter=' ') #相对目录且分隔符采用os.sep
# robot2base = rotation
# camera2base = robot2base @ camera2robot
- target_position = np.dot(camera2robot, target)
+ target_position_raw = np.dot(camera2robot, target)
corner_points_camera = np.asarray(points)
corner_points_base = np.dot(camera2robot[:3, :3], corner_points_camera.T).T + camera2robot[:3, 3]
@@ -76,8 +76,14 @@ def getPosition(x,y,z,a,b,c,rotation,points):
# 单位化方向向量
short_edge_direction = edge_vector / np.linalg.norm(edge_vector)
+ delta = -30#沿法向量方向抬高和压低,-指表示抬高,+值表示压低
angle = np.asarray([a,b,c])
noraml = camera2robot[:3, :3]@angle
+ normal_vector = noraml / np.linalg.norm(noraml)
+ target_position = target_position_raw[:3] + delta * normal_vector # target_position 沿法向量移动
+
noraml_base = vec2rpy(noraml,short_edge_direction)
return target_position,noraml_base
+
+
diff --git a/Vision/camera_coordinate_dete.py b/Vision/camera_coordinate_dete.py
index 15ce6cd..e18f189 100644
--- a/Vision/camera_coordinate_dete.py
+++ b/Vision/camera_coordinate_dete.py
@@ -75,7 +75,7 @@ class Detection:
self.model = yolov8_segment_openvino(model_path, device, conf_thres=0.3, iou_thres=0.3)
- def get_position(self, Point_isVision=False, Box_isPoint=True, First_Depth =True, Iter_Max_Pixel = 30, save_img_point=0, Height_reduce = 60, width_reduce = 100, Xmin =330, Xmax = 1050, Ymin =290 ,Ymax = 690 ):
+ def get_position(self, Point_isVision=False, Box_isPoint=True, First_Depth =True, Iter_Max_Pixel = 30, save_img_point=0, Height_reduce = 80, width_reduce = 60, Xmin =160, Xmax = 1050, Ymin =290 ,Ymax = 780):
"""
检测料袋相关信息
:param Point_isVision: 点云可视化
@@ -618,6 +618,7 @@ class Detection:
print("RVC X Camera is not opened!")
return 0, None, None, None, None
+
def get_take_photo_position(self, Height_reduce = 30, width_reduce = 30):
"""
检测当前拍照点能否检测到料袋
diff --git a/Vision/camera_coordinate_dete_planevison.py b/Vision/camera_coordinate_dete_planevison.py
new file mode 100644
index 0000000..932870b
--- /dev/null
+++ b/Vision/camera_coordinate_dete_planevison.py
@@ -0,0 +1,494 @@
+#!/usr/bin/env python
+# -*- coding: UTF-8 -*-
+'''
+@Project :AutoControlSystem-master
+@File :camera_coordinate_dete.py
+@IDE :PyCharm
+@Author :hjw
+@Date :2024/8/27 14:24
+'''
+
+import numpy as np
+import cv2
+import open3d as o3d
+import time
+from Vision.tool.CameraRVC import camera_rvc
+from Vision.tool.CameraPe import camera_pe
+from Vision.yolo.yolov8_pt_seg import yolov8_segment
+from Vision.yolo.yolov8_openvino import yolov8_segment_openvino
+from Vision.tool.utils import find_position
+from Vision.tool.utils import class_names
+from Vision.tool.utils import get_disk_space
+from Vision.tool.utils import remove_nan_mean_value
+from Vision.tool.utils import out_bounds_dete
+from Vision.tool.utils import uv_to_XY
+from Vision.tool.utils import fit_plane_vision
+import os
+
+
+class Detection_plane_vsion:
+
+ def __init__(self, use_openvino_model=False, cameraType = 'RVC'):
+ self.use_openvino_model = use_openvino_model
+ self.cameraType = cameraType
+ if self.use_openvino_model == False:
+ model_path = ''.join([os.getcwd(), '/Vision/model/pt/one_bag.pt'])
+ device = 'cpu'
+ self.model = yolov8_segment()
+ self.model.load_model(model_path, device)
+ else:
+ model_path = ''.join([os.getcwd(), '/Vision/model/openvino/one_bag.xml'])
+ device = 'CPU'
+ self.model = yolov8_segment_openvino(model_path, device, conf_thres=0.6, iou_thres=0.6)
+
+ img_path = ''.join([os.getcwd(), '/Vision/model/data/2025_01_16_08_47_02.png'])
+ point_path = ''.join([os.getcwd(), '/Vision/model/data/2025_01_16_08_47_02.xyz'])
+ self.img = cv2.imread(img_path)
+ self.img = cv2.resize(self.img,((int(self.img.shape[1]/2),int(self.img.shape[0]/2))))
+ self.point = np.loadtxt(point_path).reshape(self.img.shape[0], self.img.shape[1], 3)
+ self.seg_distance_threshold = 5
+ pass
+
+ def get_position(self, Point_isVision=False, Box_isPoint=True, First_Depth=True, Iter_Max_Pixel=30,
+ save_img_point=0, Height_reduce=60, width_reduce=100, Xmin=0, Xmax=1050, Ymin=0, Ymax=780):
+ """
+ 检测料袋相关信息
+ :param Point_isVision: 点云可视化
+ :param Box_isPoint: True 返回点云值; False 返回box相机坐标
+ :param First_Depth: True 返回料袋中心点深度最小的点云值; False 返回面积最大的料袋中心点云值
+ :param Iter_Max_Pixel: [int] 点云为NAN时,向该点周围寻找替代值,寻找最大区域(Iter_Max_Pixel×Iter_Max_Pixel)
+ :param save_img_point: 0不保存 ; 1保存原图 ;2保存处理后的图 ; 3保存点云和原图;4 保存点云和处理后的图; 5 异常数据保存(点云NAN)
+ :param Height_reduce: 检测框的高内缩像素
+ :param width_reduce: 检测框的宽内缩像素
+ :param Xmin: 限定料袋中心点的范围
+ :param Xmax: 限定料袋中心点的范围
+ :param Ymin: 限定料袋中心点的范围
+ :param Ymax: 限定料袋中心点的范围
+
+ :return ret: bool 相机是否正常工作
+ :return img: ndarray 返回img
+ :return xyz: list 目标中心点云值形如[x,y,z]
+ :return nx_ny_nz: list 拟合平面法向量,形如[a,b,c]
+ :return box_list: list 内缩检测框四顶点,形如[[x1,y1],[],[],[]]
+
+ """
+ #ret, img, pm, _depth_align = self.camera_rvc.get_img_and_point_map() # 拍照,获取图像及
+ ret = 1
+ img = self.img
+ pm = self.point
+ # self.camera_rvc.caminit_isok = True
+
+ if True:
+ if ret == 1:
+ if save_img_point != 0:
+ if get_disk_space(path=os.getcwd()) < 15: # 内存小于15G,停止保存数据
+ save_img_point = 0
+ print('系统内存不足,无法保存数据')
+ else:
+ save_path = ''.join([os.getcwd(), '/Vision/model/data/',
+ time.strftime('%Y_%m_%d_%H_%M_%S', time.localtime(time.time()))])
+ save_img_name = ''.join([save_path, '.png'])
+ save_point_name = ''.join([save_path, '.xyz'])
+ if save_img_point == 5:
+ Abnormal_data_img = img.copy()
+ if save_img_point == 1 or save_img_point == 3:
+ cv2.imwrite(save_img_name, img)
+ if save_img_point == 3 or save_img_point == 4 or save_img_point == 5:
+ row_list = list(range(1, img.shape[0], 2))
+ column_list = list(range(1, img.shape[1], 2))
+ pm_save = pm.copy()
+ pm_save1 = np.delete(pm_save, row_list, axis=0)
+ point_new = np.delete(pm_save1, column_list, axis=1)
+ point_new = point_new.reshape(-1, 3)
+ if save_img_point == 5:
+ Abnormal_data_point = point_new.copy()
+ else:
+ np.savetxt(save_point_name, point_new)
+ if self.use_openvino_model == False:
+ flag, det_cpu, dst_img, masks, category_names = self.model.model_inference(img, 0)
+ else:
+ flag, det_cpu, scores, masks, category_names = self.model.segment_objects(img)
+ if flag == 1:
+ xyz = []
+ nx_ny_nz = []
+ RegionalArea = []
+ Depth_Z = []
+ uv = []
+ seg_point = []
+ box_list = []
+ if Point_isVision == True:
+ pm2 = pm.copy()
+ pm2 = pm2.reshape(-1, 3)
+ pm2 = pm2[~np.isnan(pm2).all(axis=-1), :]
+ pm2[:, 2] = pm2[:, 2] + 0.25
+ pcd2 = o3d.geometry.PointCloud()
+ pcd2.points = o3d.utility.Vector3dVector(pm2)
+ # o3d.visualization.draw_geometries([pcd2])
+
+ for i, item in enumerate(det_cpu):
+
+ # 画box
+ box_x1, box_y1, box_x2, box_y2 = item[0:4].astype(np.int32)
+ if self.use_openvino_model == False:
+ label = category_names[int(item[5])]
+ else:
+ label = class_names[int(item[4])]
+ rand_color = (0, 255, 255)
+ score = item[4]
+ org = (int((box_x1 + box_x2) / 2), int((box_y1 + box_y2) / 2))
+ x_center = int((box_x1 + box_x2) / 2)
+ y_center = int((box_y1 + box_y2) / 2)
+ text = '{}|{:.2f}'.format(label, score)
+ cv2.putText(img, text, org=org, fontFace=cv2.FONT_HERSHEY_SIMPLEX, fontScale=0.8,
+ color=rand_color,
+ thickness=2)
+ # 画mask
+ # mask = masks[i].cpu().numpy().astype(int)
+ if self.use_openvino_model == False:
+ mask = masks[i].cpu().data.numpy().astype(int)
+ else:
+ mask = masks[i].astype(int)
+ mask = mask[box_y1:box_y2, box_x1:box_x2]
+
+ # mask = masks[i].numpy().astype(int)
+ h, w = box_y2 - box_y1, box_x2 - box_x1
+ mask_colored = np.zeros((h, w, 3), dtype=np.uint8)
+ mask_colored[np.where(mask)] = rand_color
+ ##################################
+ imgray = cv2.cvtColor(mask_colored, cv2.COLOR_BGR2GRAY)
+ # cv2.imshow('mask',imgray)
+ # cv2.waitKey(1)
+ # 2、二进制图像
+ ret, binary = cv2.threshold(imgray, 10, 255, 0)
+ # 阈值 二进制图像
+ # cv2.imshow('bin',binary)
+ # cv2.waitKey(1)
+ contours, hierarchy = cv2.findContours(binary, cv2.RETR_TREE, cv2.CHAIN_APPROX_NONE)
+ # all_point_list = contours_in(contours)
+ # print(len(all_point_list))
+ max_contour = None
+ max_perimeter = 0
+ for contour in contours: # 排除小分割区域或干扰区域
+ perimeter = cv2.arcLength(contour, True)
+ if perimeter > max_perimeter:
+ max_perimeter = perimeter
+ max_contour = contour
+
+ '''
+ 拟合最小外接矩形,计算矩形中心
+ '''
+
+ rect = cv2.minAreaRect(max_contour)
+ if rect[1][0] - width_reduce > 30 and rect[1][1] - Height_reduce > 30:
+ rect_reduce = (
+ (rect[0][0], rect[0][1]), (rect[1][0] - width_reduce, rect[1][1] - Height_reduce),
+ rect[2])
+ else:
+ rect_reduce = (
+ (rect[0][0], rect[0][1]), (rect[1][0], rect[1][1]), rect[2])
+
+ # cv2.boxPoints可以将轮廓点转换为四个角点坐标
+ box_outside = cv2.boxPoints(rect)
+ # 这一步不影响后面的画图,但是可以保证四个角点坐标为顺时针
+ startidx = box_outside.sum(axis=1).argmin()
+ box_outside = np.roll(box_outside, 4 - startidx, 0)
+ box_outside = np.intp(box_outside)
+ box_outside = box_outside.reshape((-1, 1, 2)).astype(np.int32)
+
+ # cv2.boxPoints可以将轮廓点转换为四个角点坐标
+ box_reduce = cv2.boxPoints(rect_reduce)
+ startidx = box_reduce.sum(axis=1).argmin()
+ box_reduce = np.roll(box_reduce, 4 - startidx, 0)
+ box_reduce = np.intp(box_reduce)
+ box_reduce = box_reduce.reshape((-1, 1, 2)).astype(np.int32)
+
+ '''
+ 提取区域范围内的(x, y)
+ '''
+ mask_inside = np.zeros(binary.shape, np.uint8)
+ cv2.fillPoly(mask_inside, [box_reduce], (255))
+ pixel_point2 = cv2.findNonZero(mask_inside)
+ # result = np.zeros_like(color_image)
+ select_point = []
+ for i in range(pixel_point2.shape[0]):
+ select_point.append(pm[pixel_point2[i][0][1] + box_y1, pixel_point2[i][0][0] + box_x1])
+ select_point = np.array(select_point)
+ pm_seg = select_point.reshape(-1, 3)
+ pm_seg = pm_seg[~np.isnan(pm_seg).all(axis=-1), :] # 剔除 nan
+ if pm_seg.size < 100:
+ print("分割点云数量较少,无法拟合平面")
+ continue
+
+ # cv2.imshow('result', point_result)
+ '''
+ 拟合平面,计算法向量
+ '''
+ pcd = o3d.geometry.PointCloud()
+ pcd.points = o3d.utility.Vector3dVector(pm_seg)
+ plane_model, inliers = pcd.segment_plane(distance_threshold=self.seg_distance_threshold,
+ ransac_n=5,
+ num_iterations=5000)
+ [a, b, c, d] = plane_model
+ print('[a, b, c, d]',[a, b, c, d] )
+ # print(f"Plane equation: {a:.2f}x + {b:.2f}y + {c:.2f}z + {d:.2f} = 0")
+ # inlier_cloud = pcd.select_by_index(inliers) # 点云可视化
+ # inlier_cloud.paint_uniform_color([1.0, 0, 0])
+ # outlier_cloud = pcd.select_by_index(inliers, invert=True)
+ # outlier_cloud.paint_uniform_color([0, 1, 0])
+ # o3d.visualization.draw_geometries([inlier_cloud, outlier_cloud])
+
+ box_outside = box_outside + [[[box_x1, box_y1]], [[box_x1, box_y1]], [[box_x1, box_y1]],
+ [[box_x1, box_y1]]]
+ box = box_reduce + [[[box_x1, box_y1]], [[box_x1, box_y1]], [[box_x1, box_y1]],
+ [[box_x1, box_y1]]]
+
+ box[0][0][1], box[0][0][0] = out_bounds_dete(pm.shape[0], pm.shape[1], box[0][0][1],
+ box[0][0][0])
+ box[1][0][1], box[1][0][0] = out_bounds_dete(pm.shape[0], pm.shape[1], box[1][0][1],
+ box[1][0][0])
+ box[2][0][1], box[2][0][0] = out_bounds_dete(pm.shape[0], pm.shape[1], box[2][0][1],
+ box[2][0][0])
+ box[3][0][1], box[3][0][0] = out_bounds_dete(pm.shape[0], pm.shape[1], box[3][0][1],
+ box[3][0][0])
+ if Box_isPoint == True:
+ box_point_x1, box_point_y1, box_point_z1 = remove_nan_mean_value(pm, box[0][0][1],
+ box[0][0][0],
+ iter_max=Iter_Max_Pixel)
+ box_point_x2, box_point_y2, box_point_z2 = remove_nan_mean_value(pm, box[1][0][1],
+ box[1][0][0],
+ iter_max=Iter_Max_Pixel)
+ box_point_x3, box_point_y3, box_point_z3 = remove_nan_mean_value(pm, box[2][0][1],
+ box[2][0][0],
+ iter_max=Iter_Max_Pixel)
+ box_point_x4, box_point_y4, box_point_z4 = remove_nan_mean_value(pm, box[3][0][1],
+ box[3][0][0],
+ iter_max=Iter_Max_Pixel)
+ else:
+ x1, y1, z1 = uv_to_XY(box[0][0][0], box[0][0][1])
+ x2, y2, z2 = uv_to_XY(box[1][0][0], box[1][0][1])
+ x3, y3, z3 = uv_to_XY(box[2][0][0], box[2][0][1])
+ x4, y4, z4 = uv_to_XY(box[3][0][0], box[3][0][1])
+ x_rotation_center = int((box[0][0][0] + box[1][0][0] + box[2][0][0] + box[3][0][0]) / 4)
+ y_rotation_center = int((box[0][0][1] + box[1][0][1] + box[2][0][1] + box[3][0][1]) / 4)
+ point_x, point_y, point_z = remove_nan_mean_value(pm, y_rotation_center, x_rotation_center,
+ iter_max=Iter_Max_Pixel)
+ if x_rotation_center < Xmin or x_rotation_center > Xmax or y_rotation_center < Ymin or y_rotation_center > Ymax:
+ continue
+ cv2.circle(img, (x_rotation_center, y_rotation_center), 4, (255, 255, 255), 5) # 标出中心点
+ if np.isnan(point_x): # 点云值为无效值
+ continue
+ else:
+ if Box_isPoint == True:
+ box_list.append(
+ [[box_point_x1, box_point_y1, box_point_z1],
+ [box_point_x2, box_point_y2, box_point_z2],
+ [box_point_x3, box_point_y3, box_point_z3],
+ [box_point_x4, box_point_y4, box_point_z4]])
+ print(box_list)
+ else:
+ box_list.append([[x1, y1, z1],
+ [x2, y2, z2],
+ [x3, y3, z3],
+ [x4, y4, z4],
+ ])
+ if self.cameraType == 'RVC':
+ xyz.append([point_x * 1000, point_y * 1000, point_z * 1000])
+ Depth_Z.append(point_z * 1000)
+ elif self.cameraType == 'Pe':
+ xyz.append([point_x, point_y, point_z])
+ Depth_Z.append(point_z)
+ nx_ny_nz.append([a, b, c])
+ RegionalArea.append(cv2.contourArea(max_contour))
+ uv.append([x_rotation_center, y_rotation_center])
+ seg_point.append(pm_seg)
+ cv2.polylines(img, [box], True, (0, 255, 0), 2)
+ cv2.polylines(img, [box_outside], True, (226, 12, 89), 2)
+
+ _idx = find_position(Depth_Z, RegionalArea, 100, First_Depth)
+
+ if _idx == None:
+ if save_img_point == 5:
+ cv2.imwrite(save_img_name, Abnormal_data_img)
+ np.savetxt(save_point_name, Abnormal_data_point)
+ return 1, img, None, None, None
+ else:
+ cv2.circle(img, (uv[_idx][0], uv[_idx][1]), 30, (0, 0, 255), 20) # 标出中心点
+
+ if Point_isVision == True:
+ # 拟合平面展示
+ plane_vision = fit_plane_vision(box_list, [a, b, c, d])
+ pcd = o3d.geometry.PointCloud()
+ pcd.points = o3d.utility.Vector3dVector(seg_point[_idx])
+ plane_model, inliers = pcd.segment_plane(distance_threshold=self.seg_distance_threshold,
+ ransac_n=5,
+ num_iterations=5000)
+ inlier_cloud = pcd.select_by_index(inliers) # 点云可视化
+ inlier_cloud.paint_uniform_color([1.0, 0, 0])
+ outlier_cloud = pcd.select_by_index(inliers, invert=True)
+ outlier_cloud.paint_uniform_color([0, 0, 1])
+ o3d.visualization.draw_geometries([inlier_cloud, outlier_cloud, pcd2, plane_vision])
+ if save_img_point == 2 or save_img_point == 4:
+ save_img = cv2.resize(img, (720, 540))
+ cv2.imwrite(save_img_name, save_img)
+ return 1, img, xyz[_idx], nx_ny_nz[_idx], box_list[_idx]
+ else:
+ if save_img_point == 2 or save_img_point == 4:
+ save_img = cv2.resize(img, (720, 540))
+ cv2.imwrite(save_img_name, save_img)
+ if save_img_point == 5:
+ cv2.imwrite(save_img_name, Abnormal_data_img)
+ np.savetxt(save_point_name, Abnormal_data_point)
+ return 1, img, None, None, None
+
+ else:
+ print("RVC X Camera capture failed!")
+ return 0, None, None, None, None
+
+ else:
+ print("RVC X Camera is not opened!")
+ return 0, None, None, None, None
+
+ def get_take_photo_position(self, Height_reduce=30, width_reduce=30):
+ """
+ 专用于拍照位置点查找,检测当前拍照点能否检测到料袋
+ :param Height_reduce:
+ :param width_reduce:
+ :return ret: bool 相机是否正常工作
+ :return img: ndarry 返回img
+ :return find_target: bool 是否有目标
+ :return xyz: list 目标中心点云值,形如[x,y,z]
+
+ """
+ ret = 1
+ img = self.img
+ pm = self.point
+ find_target = False
+
+ if ret == 1:
+ if self.use_openvino_model == False:
+ flag, det_cpu, dst_img, masks, category_names = self.model.model_inference(img, 0)
+ else:
+ flag, det_cpu, scores, masks, category_names = self.model.segment_objects(img)
+ if flag == 1:
+ xyz = []
+ RegionalArea = []
+ Depth_Z = []
+ uv = []
+ for i, item in enumerate(det_cpu):
+ find_target = True
+ # 画box
+ box_x1, box_y1, box_x2, box_y2 = item[0:4].astype(np.int32)
+ if self.use_openvino_model == False:
+ label = category_names[int(item[5])]
+ else:
+ label = class_names[int(item[4])]
+ rand_color = (0, 255, 255)
+ score = item[4]
+ org = (int((box_x1 + box_x2) / 2), int((box_y1 + box_y2) / 2))
+ x_center = int((box_x1 + box_x2) / 2)
+ y_center = int((box_y1 + box_y2) / 2)
+ text = '{}|{:.2f}'.format(label, score)
+ cv2.putText(img, text, org=org, fontFace=cv2.FONT_HERSHEY_SIMPLEX, fontScale=0.8,
+ color=rand_color,
+ thickness=2)
+ # 画mask
+ # mask = masks[i].cpu().numpy().astype(int)
+ if self.use_openvino_model == False:
+ mask = masks[i].cpu().data.numpy().astype(int)
+ else:
+ mask = masks[i].astype(int)
+ mask = mask[box_y1:box_y2, box_x1:box_x2]
+
+ # mask = masks[i].numpy().astype(int)
+ h, w = box_y2 - box_y1, box_x2 - box_x1
+ mask_colored = np.zeros((h, w, 3), dtype=np.uint8)
+ mask_colored[np.where(mask)] = rand_color
+ ##################################
+ imgray = cv2.cvtColor(mask_colored, cv2.COLOR_BGR2GRAY)
+ # cv2.imshow('mask',imgray)
+ # cv2.waitKey(1)
+ # 2、二进制图像
+ ret, binary = cv2.threshold(imgray, 10, 255, 0)
+ # 阈值 二进制图像
+ # cv2.imshow('bin',binary)
+ # cv2.waitKey(1)
+ contours, hierarchy = cv2.findContours(binary, cv2.RETR_TREE, cv2.CHAIN_APPROX_NONE)
+ # all_point_list = contours_in(contours)
+ # print(len(all_point_list))
+ max_contour = None
+ max_perimeter = 0
+ for contour in contours: # 排除小分割区域或干扰区域
+ perimeter = cv2.arcLength(contour, True)
+ if perimeter > max_perimeter:
+ max_perimeter = perimeter
+ max_contour = contour
+
+ '''
+ 拟合最小外接矩形,计算矩形中心
+ '''
+
+ rect = cv2.minAreaRect(max_contour)
+ if rect[1][0] - width_reduce < 30 or rect[1][1] - Height_reduce < 30:
+ rect_reduce = (
+ (rect[0][0], rect[0][1]), (rect[1][0] - width_reduce, rect[1][1] - Height_reduce), rect[2])
+ else:
+ rect_reduce = (
+ (rect[0][0], rect[0][1]), (rect[1][0], rect[1][1]), rect[2])
+ # cv2.boxPoints可以将轮廓点转换为四个角点坐标
+ box_outside = cv2.boxPoints(rect)
+ # 这一步不影响后面的画图,但是可以保证四个角点坐标为顺时针
+ startidx = box_outside.sum(axis=1).argmin()
+ box_outside = np.roll(box_outside, 4 - startidx, 0)
+ box_outside = np.intp(box_outside)
+ box_outside = box_outside.reshape((-1, 1, 2)).astype(np.int32)
+
+ # cv2.boxPoints可以将轮廓点转换为四个角点坐标
+ box_reduce = cv2.boxPoints(rect_reduce)
+ startidx = box_reduce.sum(axis=1).argmin()
+ box_reduce = np.roll(box_reduce, 4 - startidx, 0)
+ box_reduce = np.intp(box_reduce)
+ box_reduce = box_reduce.reshape((-1, 1, 2)).astype(np.int32)
+
+ box_outside = box_outside + [[[box_x1, box_y1]], [[box_x1, box_y1]], [[box_x1, box_y1]],[[box_x1, box_y1]]]
+ box = box_reduce + [[[box_x1, box_y1]], [[box_x1, box_y1]], [[box_x1, box_y1]], [[box_x1, box_y1]]]
+
+ box[0][0][1], box[0][0][0] = out_bounds_dete(pm.shape[0], pm.shape[1], box[0][0][1], box[0][0][0])
+ box[1][0][1], box[1][0][0] = out_bounds_dete(pm.shape[0], pm.shape[1], box[1][0][1], box[1][0][0])
+ box[2][0][1], box[2][0][0] = out_bounds_dete(pm.shape[0], pm.shape[1], box[2][0][1], box[2][0][0])
+ box[3][0][1], box[3][0][0] = out_bounds_dete(pm.shape[0], pm.shape[1], box[3][0][1], box[3][0][0])
+
+ x_rotation_center = int((box[0][0][0] + box[1][0][0] + box[2][0][0] + box[3][0][0]) / 4)
+ y_rotation_center = int((box[0][0][1] + box[1][0][1] + box[2][0][1] + box[3][0][1]) / 4)
+ point_x, point_y, point_z = remove_nan_mean_value(pm, y_rotation_center, x_rotation_center)
+ cv2.circle(img, (x_rotation_center, y_rotation_center), 4, (255, 255, 255), 5) # 标出中心点
+ if np.isnan(point_x): # 点云值为无效值
+ continue
+ else:
+ if self.cameraType == 'RVC':
+ xyz.append([point_x * 1000, point_y * 1000, point_z * 1000])
+ Depth_Z.append(point_z * 1000)
+ elif self.cameraType == 'Pe':
+ xyz.append([point_x, point_y, point_z])
+ Depth_Z.append(point_z)
+ RegionalArea.append(cv2.contourArea(max_contour))
+ uv.append([x_rotation_center, y_rotation_center])
+
+ cv2.polylines(img, [box], True, (0, 255, 0), 2)
+ cv2.polylines(img, [box_outside], True, (226, 12, 89), 2)
+
+ _idx = find_position(Depth_Z, RegionalArea, 100,True)
+
+ if _idx == None:
+ return 1, img, find_target, None
+ else:
+ cv2.circle(img, (uv[_idx][0], uv[_idx][1]), 30, (0, 0, 255), 20) # 标出中心点
+ return 1, img, find_target, xyz[_idx]
+ else:
+ return 0, None, None
+
+
+ def release(self):
+ self.model.clear()
+
+
+
diff --git a/Vision/tool/utils.py b/Vision/tool/utils.py
index 81248b8..27ff772 100644
--- a/Vision/tool/utils.py
+++ b/Vision/tool/utils.py
@@ -151,6 +151,7 @@ def remove_nan(pm, y, x):
break
return point_x, point_y, point_z
+
def get_disk_space(path='C:'):
usage = psutil.disk_usage(path)
@@ -164,19 +165,27 @@ def get_disk_space(path='C:'):
def find_position(Depth_Z, RegionalArea, RegionalArea_Threshold, first_depth=True):
if first_depth == True:
sorted_id = sorted(range(len(Depth_Z)), key=lambda k: Depth_Z[k], reverse=False)
- Depth_Z1 = [Depth_Z[i] for i in sorted_id]
- RegionalArea1 = [RegionalArea[i] for i in sorted_id]
- for i in range(len(Depth_Z1)):
- if RegionalArea1[i] > RegionalArea_Threshold:
- return sorted_id[i]
+ # Depth_Z1 = [Depth_Z[i] for i in sorted_id]
+ # RegionalArea1 = [RegionalArea[i] for i in sorted_id]
+ # for i in range(len(Depth_Z1)):
+ # if RegionalArea1[i] > RegionalArea_Threshold:
+ # return sorted_id[i]
+ if len(sorted_id)>0:
+ return sorted_id[0]
+ else:
+ return
else:
sorted_id = sorted(range(len(RegionalArea)), key=lambda k: RegionalArea[k], reverse=True)
- Depth_Z1 = [Depth_Z[i] for i in sorted_id]
- RegionalArea1 = [RegionalArea[i] for i in sorted_id]
- for i in range(len(Depth_Z1)):
- if RegionalArea1[i] > RegionalArea_Threshold:
- return sorted_id[i]
+ # Depth_Z1 = [Depth_Z[i] for i in sorted_id]
+ # RegionalArea1 = [RegionalArea[i] for i in sorted_id]
+ # for i in range(len(Depth_Z1)):
+ # if RegionalArea1[i] > RegionalArea_Threshold:
+ # return sorted_id[i]
+ if len(sorted_id)>0:
+ return sorted_id[0]
+ else:
+ return
class_names = ['box', 'other']
@@ -328,6 +337,52 @@ def draw_comparison(img1, img2, name1, name2, fontsize=2.6, text_thickness=3):
+def fit_plane_vision(box_list, normal_vector):
+ plane_x = []
+ plane_y = []
+ plane_z = []
+ print(box_list)
+ plane_x.append(box_list[0][0][0])
+ plane_x.append(box_list[0][1][0])
+ plane_x.append(box_list[0][2][0])
+ plane_x.append(box_list[0][3][0])
+ plane_y.append(box_list[0][0][1])
+ plane_y.append(box_list[0][1][1])
+ plane_y.append(box_list[0][2][1])
+ plane_y.append(box_list[0][3][1])
+ plane_z.append(box_list[0][0][2])
+ plane_z.append(box_list[0][1][2])
+ plane_z.append(box_list[0][2][2])
+ plane_z.append(box_list[0][3][2])
+ # 定义平面方程的参数
+ a = normal_vector[0]
+ b = normal_vector[1]
+ c = normal_vector[2]
+ d = normal_vector[3]
+
+ # 定义平面的范围
+ x_range = (int(min(plane_x)), int(max(plane_x)))
+ y_range = (int(min(plane_y)), int(max(plane_y)))
+ z_range = (int(min(plane_z)), int(max(plane_z)))
+
+ # 生成平面网格
+ x = np.linspace(x_range[0], x_range[1], 10)
+ y = np.linspace(y_range[0], y_range[1], 20)
+ X, Y = np.meshgrid(x, y)
+ Z = -(a * X + b * Y + d) / c # 根据平面方程计算 Z 坐标
+
+ # 确保 Z 坐标在指定范围内
+ Z = np.clip(Z, z_range[0], z_range[1])
+
+ # 创建 TriangleMesh 对象
+ import open3d as o3d
+ plane_mesh = o3d.geometry.TriangleMesh()
+ plane_mesh.vertices = o3d.utility.Vector3dVector(np.vstack((X.ravel(), Y.ravel(), Z.ravel())).T)
+ plane_mesh.triangles = o3d.utility.Vector3iVector(
+ np.array([[i, i + 1, i + 100] for i in range(99)] + [[i + 1, i + 101, i + 100] for i in range(99)]))
+ plane_mesh.paint_uniform_color([1, 0.5, 0.5]) # 设置平面颜色
+
+ return plane_mesh
diff --git a/get_position_test.py b/get_position_test.py
index b1947dd..5cec46f 100644
--- a/get_position_test.py
+++ b/get_position_test.py
@@ -11,6 +11,7 @@ import cv2
import os
from Vision.camera_coordinate_dete import Detection
+from Vision.camera_coordinate_dete_planevison import Detection_plane_vsion
from Trace.handeye_calibration import *
from Vision.tool.utils import get_disk_space
from Vision.tool.utils import remove_nan_mean_value
@@ -41,6 +42,23 @@ def detectionPosition_test():
cv2.imshow('img', img)
cv2.waitKey(0)
+def Detection_plane_vsion_test():
+ detection = Detection_plane_vsion()
+ while True:
+ ret, img, xyz, nx_ny_nz, box = detection.get_position(Point_isVision=True, save_img_point=1)
+ if ret==1:
+ print('xyz点云坐标:', xyz)
+ print('nx_ny_nz法向量:', nx_ny_nz)
+ print('矩形框四顶点:', box)
+ # img = cv2.resize(img,(720, 540))
+ if xyz!=None:
+ transformation_matrix = R_matrix(521.534, 0.705, 850.03, 0.0, 90.0, 0.0) # (x, y, z, u, v, w)
+ target_position, noraml_base = getPosition(xyz[0], xyz[1], xyz[2], nx_ny_nz[0], nx_ny_nz[1], nx_ny_nz[2], transformation_matrix, box)
+ print("target_position:", target_position)
+ print("noraml_base", noraml_base)
+ cv2.imshow('img', img)
+ cv2.waitKey(0)
+
def take_photo_position_test():
detection = Detection()
while True:
@@ -65,6 +83,7 @@ def detectionPerson_test():
else:
cv2.destroyAllWindows()
+
print("person", person)
# video_path = ''.join([os.getcwd(), '/Vision/model/data/1.mp4'])
# cam = cv2.VideoCapture(video_path)
@@ -77,7 +96,6 @@ def detectionPerson_test():
# cv2.waitKey(1)
# else:
# break
-
def HIK_Camera_test():
MY_CAMERA = camera_HIK("192.168.1.121", 554, "admin", "zlzk.123")
while True:
@@ -86,6 +104,7 @@ def HIK_Camera_test():
img = cv2.resize(frame, (800, 600))
cv2.imshow('img', img)
cv2.waitKey(1)
+
def detectionBagNum_test():
detectionBagNum = DetectionBagNum()
video_path = ''.join([os.getcwd(), '/Vision/model/data/2.mp4'])
@@ -115,4 +134,4 @@ def bag_collection_test():
if __name__ == '__main__':
- detectionPosition_test()
\ No newline at end of file
+ Detection_plane_vsion_test()
\ No newline at end of file
diff --git a/log/log.log b/log/log.log
index 9138c0a..feedae0 100644
--- a/log/log.log
+++ b/log/log.log
@@ -1,1564 +1,33 @@
-2025-01-11 16:55:33 - INFO - ϵͳ
-2025-01-11 16:56:07 - INFO - ϵͳ
-2025-01-11 16:56:39 - ERROR - ظ
-2025-01-11 16:56:39 - INFO -
-2025-01-11 16:56:45 - ERROR - ظ
-2025-01-11 16:56:45 - INFO -
-2025-01-11 16:56:50 - ERROR - ظ
-2025-01-11 16:56:50 - INFO -
-2025-01-11 16:56:55 - ERROR - ظ
-2025-01-11 16:56:55 - INFO -
-2025-01-11 16:57:01 - ERROR - ظ
-2025-01-11 16:57:01 - INFO -
-2025-01-11 16:57:06 - ERROR - ظ
-2025-01-11 16:57:06 - INFO -
-2025-01-11 16:57:12 - ERROR - ظ
-2025-01-11 16:57:12 - INFO -
-2025-01-11 16:57:14 - INFO - ƶλ:ֱߣm0:7.0-m2:50.0-m3:1.0-m4:7.0-m5:50.0-m6:1.0
-2025-01-11 16:57:14 - INFO - {"dsID":"www.hc-system.com.HCRemoteCommand","reqType":"AddRCC","emptyList":"1","instructions":[{"oneshot":"1","action":"10","m0":"7.0","m1":"50.0","m2":"1.0","m3":"7.0","m4":"50.0","m5":"1.0","ckStatus":"0x3F","speed":"50","delay":"0","smooth":"0","tool":"2"}]}
-2025-01-11 16:57:17 - ERROR - ظ
-2025-01-11 16:57:17 - INFO -
-2025-01-11 16:57:22 - ERROR - ظ
-2025-01-11 16:57:23 - INFO -
-2025-01-11 16:57:28 - ERROR - ظ
-2025-01-11 16:57:28 - INFO -
-2025-01-11 16:57:33 - ERROR - ظ
-2025-01-11 16:57:33 - INFO -
-2025-01-11 16:57:39 - ERROR - ظ
-2025-01-11 16:57:39 - INFO -
-2025-01-11 16:57:44 - ERROR - ظ
-2025-01-11 16:57:44 - INFO -
-2025-01-11 16:57:50 - ERROR - ظ
-2025-01-11 16:57:50 - INFO -
-2025-01-11 16:57:52 - INFO - ƶλ:ֱߣm0:7.0-m2:51.0-m3:1.0-m4:7.0-m5:51.0-m6:1.0
-2025-01-11 16:57:52 - INFO - {"dsID":"www.hc-system.com.HCRemoteCommand","reqType":"AddRCC","emptyList":"1","instructions":[{"oneshot":"1","action":"10","m0":"7.0","m1":"51.0","m2":"1.0","m3":"7.0","m4":"51.0","m5":"1.0","ckStatus":"0x3F","speed":"50","delay":"0","smooth":"0","tool":"2"}]}
-2025-01-11 16:57:55 - ERROR - ظ
-2025-01-11 16:57:55 - INFO -
-2025-01-11 16:58:00 - ERROR - ظ
-2025-01-11 16:58:01 - INFO -
-2025-01-11 16:58:06 - ERROR - ظ
-2025-01-11 16:58:06 - INFO -
-2025-01-11 16:58:11 - ERROR - ظ
-2025-01-11 16:58:11 - INFO -
-2025-01-11 16:58:17 - ERROR - ظ
-2025-01-11 16:58:17 - INFO -
-2025-01-11 16:58:22 - ERROR - ظ
-2025-01-11 16:58:22 - INFO -
-2025-01-11 16:58:28 - ERROR - ظ
-2025-01-11 16:58:28 - INFO -
-2025-01-11 16:58:33 - ERROR - ظ
-2025-01-11 16:58:33 - INFO -
-2025-01-11 16:58:39 - ERROR - ظ
-2025-01-11 16:58:39 - INFO -
-2025-01-11 16:58:44 - ERROR - ظ
-2025-01-11 16:58:44 - INFO -
-2025-01-11 16:58:49 - ERROR - ظ
-2025-01-11 16:58:49 - INFO -
-2025-01-11 16:58:55 - ERROR - ظ
-2025-01-11 16:58:55 - INFO -
-2025-01-11 16:59:00 - ERROR - ظ
-2025-01-11 16:59:00 - INFO -
-2025-01-11 16:59:06 - ERROR - ظ
-2025-01-11 16:59:06 - INFO -
-2025-01-11 16:59:11 - ERROR - ظ
-2025-01-11 16:59:11 - INFO -
-2025-01-11 16:59:16 - ERROR - ظ
-2025-01-11 16:59:17 - INFO -
-2025-01-11 16:59:22 - ERROR - ظ
-2025-01-11 16:59:22 - INFO -
-2025-01-11 16:59:27 - ERROR - ظ
-2025-01-11 16:59:27 - INFO -
-2025-01-11 16:59:33 - ERROR - ظ
-2025-01-11 16:59:33 - INFO -
-2025-01-11 16:59:38 - ERROR - ظ
-2025-01-11 16:59:38 - INFO -
-2025-01-11 16:59:44 - ERROR - ظ
-2025-01-11 16:59:44 - INFO -
-2025-01-11 16:59:49 - ERROR - ظ
-2025-01-11 16:59:49 - INFO -
-2025-01-11 16:59:54 - ERROR - ظ
-2025-01-11 16:59:55 - INFO -
-2025-01-11 17:00:00 - ERROR - ظ
-2025-01-11 17:00:00 - INFO -
-2025-01-11 17:00:05 - ERROR - ظ
-2025-01-11 17:00:05 - INFO -
-2025-01-11 17:00:11 - ERROR - ظ
-2025-01-11 17:00:11 - INFO -
-2025-01-11 17:00:16 - ERROR - ظ
-2025-01-11 17:00:16 - INFO -
-2025-01-11 17:00:17 - INFO - ƶλ:ֱߣm0:7.0-m2:456.0-m3:1.0-m4:7.0-m5:456.0-m6:1.0
-2025-01-11 17:00:18 - INFO - {"dsID":"www.hc-system.com.HCRemoteCommand","reqType":"AddRCC","emptyList":"1","instructions":[{"oneshot":"1","action":"10","m0":"7.0","m1":"456.0","m2":"1.0","m3":"7.0","m4":"456.0","m5":"1.0","ckStatus":"0x3F","speed":"50","delay":"0","smooth":"0","tool":"2"}]}
-2025-01-11 17:00:21 - ERROR - ظ
-2025-01-11 17:00:22 - INFO -
-2025-01-11 17:00:27 - ERROR - ظ
-2025-01-11 17:00:27 - INFO -
-2025-01-11 17:00:32 - ERROR - ظ
-2025-01-11 17:00:32 - INFO -
-2025-01-11 17:00:38 - ERROR - ظ
-2025-01-11 17:00:38 - INFO -
-2025-01-11 17:00:43 - ERROR - ظ
-2025-01-11 17:00:43 - INFO -
-2025-01-11 17:00:49 - ERROR - ظ
-2025-01-11 17:00:49 - INFO -
-2025-01-11 17:00:54 - ERROR - ظ
-2025-01-11 17:00:54 - INFO -
-2025-01-11 17:00:59 - ERROR - ظ
-2025-01-11 17:01:00 - INFO -
-2025-01-11 17:01:05 - ERROR - ظ
-2025-01-11 17:01:05 - INFO -
-2025-01-11 17:01:10 - ERROR - ظ
-2025-01-11 17:01:10 - INFO -
-2025-01-11 17:01:16 - ERROR - ظ
-2025-01-11 17:01:16 - INFO -
-2025-01-11 17:01:21 - ERROR - ظ
-2025-01-11 17:01:21 - INFO -
-2025-01-11 17:01:26 - ERROR - ظ
-2025-01-11 17:01:27 - INFO -
-2025-01-11 17:01:32 - ERROR - ظ
-2025-01-11 17:01:32 - INFO -
-2025-01-11 17:01:37 - ERROR - ظ
-2025-01-11 17:01:37 - INFO -
-2025-01-11 17:01:43 - ERROR - ظ
-2025-01-11 17:01:43 - INFO -
-2025-01-11 17:01:48 - ERROR - ظ
-2025-01-11 17:01:48 - INFO -
-2025-01-11 17:01:54 - ERROR - ظ
-2025-01-11 17:01:54 - INFO -
-2025-01-11 17:01:59 - ERROR - ظ
-2025-01-11 17:01:59 - INFO -
-2025-01-11 17:02:04 - ERROR - ظ
-2025-01-11 17:02:05 - INFO -
-2025-01-11 17:02:10 - ERROR - ظ
-2025-01-11 17:02:10 - INFO -
-2025-01-11 17:02:15 - ERROR - ظ
-2025-01-11 17:02:15 - INFO -
-2025-01-11 17:02:21 - ERROR - ظ
-2025-01-11 17:02:21 - INFO -
-2025-01-11 17:02:26 - ERROR - ظ
-2025-01-11 17:02:26 - INFO -
-2025-01-11 17:02:32 - ERROR - ظ
-2025-01-11 17:02:32 - INFO -
-2025-01-11 17:02:37 - ERROR - ظ
-2025-01-11 17:02:37 - INFO -
-2025-01-11 17:02:42 - ERROR - ظ
-2025-01-11 17:02:42 - INFO -
-2025-01-11 17:02:48 - ERROR - ظ
-2025-01-11 17:02:48 - INFO -
-2025-01-11 17:02:53 - ERROR - ظ
-2025-01-11 17:02:53 - INFO -
-2025-01-11 17:02:59 - ERROR - ظ
-2025-01-11 17:02:59 - INFO -
-2025-01-11 17:03:04 - ERROR - ظ
-2025-01-11 17:03:04 - INFO -
-2025-01-11 17:03:09 - ERROR - ظ
-2025-01-11 17:03:10 - INFO -
-2025-01-11 17:03:15 - ERROR - ظ
-2025-01-11 17:03:15 - INFO -
-2025-01-11 17:03:20 - ERROR - ظ
-2025-01-11 17:03:20 - INFO -
-2025-01-11 17:03:26 - ERROR - ظ
-2025-01-11 17:03:26 - INFO -
-2025-01-11 17:03:31 - ERROR - ظ
-2025-01-11 17:03:31 - INFO -
-2025-01-11 17:03:37 - ERROR - ظ
-2025-01-11 17:03:37 - INFO -
-2025-01-11 17:03:42 - ERROR - ظ
-2025-01-11 17:03:42 - INFO -
-2025-01-11 17:03:47 - ERROR - ظ
-2025-01-11 17:03:48 - INFO -
-2025-01-11 17:03:53 - ERROR - ظ
-2025-01-11 17:03:53 - INFO -
-2025-01-11 17:03:58 - ERROR - ظ
-2025-01-11 17:03:58 - INFO -
-2025-01-11 17:04:04 - ERROR - ظ
-2025-01-11 17:04:04 - INFO -
-2025-01-11 17:04:09 - ERROR - ظ
-2025-01-11 17:04:09 - INFO -
-2025-01-11 17:04:15 - ERROR - ظ
-2025-01-11 17:04:15 - INFO -
-2025-01-11 17:04:20 - ERROR - ظ
-2025-01-11 17:04:20 - INFO -
-2025-01-11 17:04:25 - ERROR - ظ
-2025-01-11 17:04:26 - INFO -
-2025-01-11 17:04:31 - ERROR - ظ
-2025-01-11 17:04:31 - INFO -
-2025-01-11 17:04:36 - ERROR - ظ
-2025-01-11 17:04:36 - INFO -
-2025-01-11 17:04:42 - ERROR - ظ
-2025-01-11 17:04:42 - INFO -
-2025-01-11 17:04:47 - ERROR - ظ
-2025-01-11 17:04:47 - INFO -
-2025-01-11 17:04:52 - ERROR - ظ
-2025-01-11 17:04:53 - INFO -
-2025-01-11 17:04:58 - ERROR - ظ
-2025-01-11 17:04:58 - INFO -
-2025-01-11 17:05:03 - ERROR - ظ
-2025-01-11 17:05:03 - INFO -
-2025-01-11 17:05:09 - ERROR - ظ
-2025-01-11 17:05:09 - INFO -
-2025-01-11 17:05:14 - ERROR - ظ
-2025-01-11 17:05:14 - INFO -
-2025-01-11 17:05:20 - ERROR - ظ
-2025-01-11 17:05:20 - INFO -
-2025-01-11 17:05:25 - ERROR - ظ
-2025-01-11 17:05:25 - INFO -
-2025-01-11 17:05:30 - ERROR - ظ
-2025-01-11 17:05:31 - INFO -
-2025-01-11 17:05:36 - ERROR - ظ
-2025-01-11 17:05:36 - INFO -
-2025-01-11 17:05:41 - ERROR - ظ
-2025-01-11 17:05:41 - INFO -
-2025-01-11 17:05:47 - ERROR - ظ
-2025-01-11 17:05:47 - INFO -
-2025-01-11 17:05:52 - ERROR - ظ
-2025-01-11 17:05:52 - INFO -
-2025-01-11 17:05:58 - ERROR - ظ
-2025-01-11 17:05:58 - INFO -
-2025-01-11 17:06:03 - ERROR - ظ
-2025-01-11 17:06:03 - INFO -
-2025-01-11 17:06:08 - ERROR - ظ
-2025-01-11 17:06:08 - INFO -
-2025-01-11 17:06:14 - ERROR - ظ
-2025-01-11 17:06:14 - INFO -
-2025-01-11 17:06:19 - ERROR - ظ
-2025-01-11 17:06:19 - INFO -
-2025-01-11 17:06:25 - ERROR - ظ
-2025-01-11 17:06:25 - INFO -
-2025-01-11 17:06:30 - ERROR - ظ
-2025-01-11 17:06:30 - INFO -
-2025-01-11 17:06:35 - ERROR - ظ
-2025-01-11 17:06:36 - INFO -
-2025-01-11 17:06:41 - ERROR - ظ
-2025-01-11 17:06:41 - INFO -
-2025-01-11 17:06:46 - ERROR - ظ
-2025-01-11 17:06:46 - INFO -
-2025-01-11 17:06:52 - ERROR - ظ
-2025-01-11 17:06:52 - INFO -
-2025-01-11 17:06:57 - ERROR - ظ
-2025-01-11 17:06:57 - INFO -
-2025-01-11 17:07:03 - ERROR - ظ
-2025-01-11 17:07:03 - INFO -
-2025-01-11 17:07:08 - ERROR - ظ
-2025-01-11 17:07:08 - INFO -
-2025-01-11 17:07:13 - ERROR - ظ
-2025-01-11 17:07:14 - INFO -
-2025-01-11 17:07:19 - ERROR - ظ
-2025-01-11 17:07:19 - INFO -
-2025-01-11 17:07:24 - ERROR - ظ
-2025-01-11 17:07:24 - INFO -
-2025-01-11 17:07:30 - ERROR - ظ
-2025-01-11 17:07:30 - INFO -
-2025-01-11 17:07:35 - ERROR - ظ
-2025-01-11 17:07:35 - INFO -
-2025-01-11 17:07:40 - ERROR - ظ
-2025-01-11 17:07:41 - INFO -
-2025-01-11 17:07:46 - ERROR - ظ
-2025-01-11 17:07:46 - INFO -
-2025-01-11 17:07:51 - ERROR - ظ
-2025-01-11 17:07:51 - INFO -
-2025-01-11 17:07:57 - ERROR - ظ
-2025-01-11 17:07:57 - INFO -
-2025-01-11 17:08:02 - ERROR - ظ
-2025-01-11 17:08:02 - INFO -
-2025-01-11 17:08:08 - ERROR - ظ
-2025-01-11 17:08:08 - INFO -
-2025-01-11 17:08:13 - ERROR - ظ
-2025-01-11 17:08:13 - INFO -
-2025-01-11 17:08:18 - ERROR - ظ
-2025-01-11 17:08:19 - INFO -
-2025-01-11 17:08:24 - ERROR - ظ
-2025-01-11 17:08:24 - INFO -
-2025-01-11 17:08:29 - ERROR - ظ
-2025-01-11 17:08:29 - INFO -
-2025-01-11 17:08:35 - ERROR - ظ
-2025-01-11 17:08:35 - INFO -
-2025-01-11 17:08:40 - ERROR - ظ
-2025-01-11 17:08:40 - INFO -
-2025-01-11 17:08:46 - ERROR - ظ
-2025-01-11 17:08:46 - INFO -
-2025-01-11 17:08:51 - ERROR - ظ
-2025-01-11 17:08:51 - INFO -
-2025-01-11 17:08:56 - ERROR - ظ
-2025-01-11 17:08:57 - INFO -
-2025-01-11 17:09:02 - ERROR - ظ
-2025-01-11 17:09:02 - INFO -
-2025-01-11 17:09:07 - ERROR - ظ
-2025-01-11 17:09:07 - INFO -
-2025-01-11 17:09:13 - ERROR - ظ
-2025-01-11 17:09:13 - INFO -
-2025-01-11 17:09:18 - ERROR - ظ
-2025-01-11 17:09:18 - INFO -
-2025-01-11 17:09:24 - ERROR - ظ
-2025-01-11 17:09:24 - INFO -
-2025-01-11 17:09:29 - ERROR - ظ
-2025-01-11 17:09:29 - INFO -
-2025-01-11 17:09:34 - ERROR - ظ
-2025-01-11 17:09:34 - INFO -
-2025-01-11 17:09:40 - ERROR - ظ
-2025-01-11 17:09:40 - INFO -
-2025-01-11 17:09:45 - ERROR - ظ
-2025-01-11 17:09:45 - INFO -
-2025-01-11 17:09:51 - ERROR - ظ
-2025-01-11 17:09:51 - INFO -
-2025-01-11 17:09:56 - ERROR - ظ
-2025-01-11 17:09:56 - INFO -
-2025-01-11 17:10:01 - ERROR - ظ
-2025-01-11 17:10:02 - INFO -
-2025-01-11 17:10:07 - ERROR - ظ
-2025-01-11 17:10:07 - INFO -
-2025-01-11 17:10:12 - ERROR - ظ
-2025-01-11 17:10:12 - INFO -
-2025-01-11 17:10:18 - ERROR - ظ
-2025-01-11 17:10:18 - INFO -
-2025-01-11 17:10:23 - ERROR - ظ
-2025-01-11 17:10:23 - INFO -
-2025-01-11 17:10:29 - ERROR - ظ
-2025-01-11 17:10:29 - INFO -
-2025-01-11 17:10:34 - ERROR - ظ
-2025-01-11 17:10:34 - INFO -
-2025-01-11 17:10:39 - ERROR - ظ
-2025-01-11 17:10:40 - INFO -
-2025-01-11 17:10:45 - ERROR - ظ
-2025-01-11 17:10:45 - INFO -
-2025-01-11 17:10:50 - ERROR - ظ
-2025-01-11 17:10:50 - INFO -
-2025-01-11 17:10:56 - ERROR - ظ
-2025-01-11 17:10:56 - INFO -
-2025-01-11 17:11:01 - ERROR - ظ
-2025-01-11 17:11:01 - INFO -
-2025-01-11 17:11:07 - ERROR - ظ
-2025-01-11 17:11:07 - INFO -
-2025-01-11 17:11:12 - ERROR - ظ
-2025-01-11 17:11:12 - INFO -
-2025-01-11 17:11:17 - ERROR - ظ
-2025-01-11 17:11:17 - INFO -
-2025-01-11 17:11:23 - ERROR - ظ
-2025-01-11 17:11:23 - INFO -
-2025-01-11 17:11:28 - ERROR - ظ
-2025-01-11 17:11:28 - INFO -
-2025-01-11 17:11:34 - ERROR - ظ
-2025-01-11 17:11:34 - INFO -
-2025-01-11 17:11:39 - ERROR - ظ
-2025-01-11 17:11:39 - INFO -
-2025-01-11 17:11:44 - ERROR - ظ
-2025-01-11 17:11:45 - INFO -
-2025-01-11 17:11:50 - ERROR - ظ
-2025-01-11 17:11:50 - INFO -
-2025-01-11 17:11:55 - ERROR - ظ
-2025-01-11 17:11:55 - INFO -
-2025-01-11 17:12:01 - ERROR - ظ
-2025-01-11 17:12:01 - INFO -
-2025-01-11 17:12:06 - ERROR - ظ
-2025-01-11 17:12:06 - INFO -
-2025-01-11 17:12:12 - ERROR - ظ
-2025-01-11 17:12:12 - INFO -
-2025-01-11 17:12:17 - ERROR - ظ
-2025-01-11 17:12:17 - INFO -
-2025-01-11 17:12:22 - ERROR - ظ
-2025-01-11 17:12:22 - INFO -
-2025-01-11 17:12:28 - ERROR - ظ
-2025-01-11 17:12:28 - INFO -
-2025-01-11 17:12:33 - ERROR - ظ
-2025-01-11 17:12:33 - INFO -
-2025-01-11 17:12:39 - ERROR - ظ
-2025-01-11 17:12:39 - INFO -
-2025-01-11 17:12:44 - ERROR - ظ
-2025-01-11 17:12:44 - INFO -
-2025-01-11 17:12:49 - ERROR - ظ
-2025-01-11 17:12:50 - INFO -
-2025-01-11 17:12:55 - ERROR - ظ
-2025-01-11 17:12:55 - INFO -
-2025-01-11 17:13:00 - ERROR - ظ
-2025-01-11 17:13:00 - INFO -
-2025-01-11 17:13:06 - ERROR - ظ
-2025-01-11 17:13:06 - INFO -
-2025-01-11 17:13:11 - ERROR - ظ
-2025-01-11 17:13:11 - INFO -
-2025-01-11 17:13:17 - ERROR - ظ
-2025-01-11 17:13:17 - INFO -
-2025-01-11 17:13:22 - ERROR - ظ
-2025-01-11 17:13:22 - INFO -
-2025-01-11 17:13:27 - ERROR - ظ
-2025-01-11 17:13:28 - INFO -
-2025-01-11 17:13:33 - ERROR - ظ
-2025-01-11 17:13:33 - INFO -
-2025-01-11 17:13:38 - ERROR - ظ
-2025-01-11 17:13:38 - INFO -
-2025-01-11 17:13:44 - ERROR - ظ
-2025-01-11 17:13:44 - INFO -
-2025-01-11 17:13:49 - ERROR - ظ
-2025-01-11 17:13:49 - INFO -
-2025-01-11 17:13:55 - ERROR - ظ
-2025-01-11 17:13:55 - INFO -
-2025-01-11 17:14:00 - ERROR - ظ
-2025-01-11 17:14:00 - INFO -
-2025-01-11 17:14:05 - ERROR - ظ
-2025-01-11 17:14:05 - INFO -
-2025-01-11 17:14:11 - ERROR - ظ
-2025-01-11 17:14:11 - INFO -
-2025-01-11 17:14:16 - ERROR - ظ
-2025-01-11 17:14:16 - INFO -
-2025-01-11 17:14:22 - ERROR - ظ
-2025-01-11 17:14:22 - INFO -
-2025-01-11 17:14:27 - ERROR - ظ
-2025-01-11 17:14:27 - INFO -
-2025-01-11 17:14:32 - ERROR - ظ
-2025-01-11 17:14:33 - INFO -
-2025-01-11 17:14:38 - ERROR - ظ
-2025-01-11 17:14:38 - INFO -
-2025-01-11 17:14:43 - ERROR - ظ
-2025-01-11 17:14:43 - INFO -
-2025-01-11 17:14:49 - ERROR - ظ
-2025-01-11 17:14:49 - INFO -
-2025-01-11 17:14:54 - ERROR - ظ
-2025-01-11 17:14:54 - INFO -
-2025-01-11 17:15:00 - ERROR - ظ
-2025-01-11 17:15:00 - INFO -
-2025-01-11 17:15:05 - ERROR - ظ
-2025-01-11 17:15:05 - INFO -
-2025-01-11 17:15:10 - ERROR - ظ
-2025-01-11 17:15:11 - INFO -
-2025-01-11 17:15:16 - ERROR - ظ
-2025-01-11 17:15:16 - INFO -
-2025-01-11 17:15:21 - ERROR - ظ
-2025-01-11 17:15:21 - INFO -
-2025-01-11 17:15:27 - ERROR - ظ
-2025-01-11 17:15:27 - INFO -
-2025-01-11 17:15:32 - ERROR - ظ
-2025-01-11 17:15:32 - INFO -
-2025-01-11 17:15:38 - ERROR - ظ
-2025-01-11 17:15:38 - INFO -
-2025-01-11 17:15:43 - ERROR - ظ
-2025-01-11 17:15:43 - INFO -
-2025-01-11 17:15:48 - ERROR - ظ
-2025-01-11 17:15:48 - INFO -
-2025-01-11 17:15:54 - ERROR - ظ
-2025-01-11 17:15:54 - INFO -
-2025-01-11 17:15:59 - ERROR - ظ
-2025-01-11 17:15:59 - INFO -
-2025-01-11 17:16:05 - ERROR - ظ
-2025-01-11 17:16:05 - INFO -
-2025-01-11 17:16:10 - ERROR - ظ
-2025-01-11 17:16:10 - INFO -
-2025-01-11 17:16:15 - ERROR - ظ
-2025-01-11 17:16:16 - INFO -
-2025-01-11 17:16:21 - ERROR - ظ
-2025-01-11 17:16:21 - INFO -
-2025-01-11 17:16:26 - ERROR - ظ
-2025-01-11 17:16:26 - INFO -
-2025-01-11 17:16:32 - ERROR - ظ
-2025-01-11 17:16:32 - INFO -
-2025-01-11 17:16:37 - ERROR - ظ
-2025-01-11 17:16:37 - INFO -
-2025-01-11 17:16:43 - ERROR - ظ
-2025-01-11 17:16:43 - INFO -
-2025-01-11 17:16:48 - ERROR - ظ
-2025-01-11 17:16:48 - INFO -
-2025-01-11 17:16:53 - ERROR - ظ
-2025-01-11 17:16:54 - INFO -
-2025-01-11 17:16:59 - ERROR - ظ
-2025-01-11 17:16:59 - INFO -
-2025-01-11 17:17:04 - ERROR - ظ
-2025-01-11 17:17:04 - INFO -
-2025-01-11 17:17:10 - ERROR - ظ
-2025-01-11 17:17:10 - INFO -
-2025-01-11 17:17:15 - ERROR - ظ
-2025-01-11 17:17:15 - INFO -
-2025-01-11 17:17:21 - ERROR - ظ
-2025-01-11 17:17:21 - INFO -
-2025-01-11 17:17:26 - ERROR - ظ
-2025-01-11 17:17:26 - INFO -
-2025-01-11 17:17:31 - ERROR - ظ
-2025-01-11 17:17:31 - INFO -
-2025-01-11 17:17:37 - ERROR - ظ
-2025-01-11 17:17:37 - INFO -
-2025-01-11 17:17:42 - ERROR - ظ
-2025-01-11 17:17:42 - INFO -
-2025-01-11 17:17:48 - ERROR - ظ
-2025-01-11 17:17:48 - INFO -
-2025-01-11 17:17:53 - ERROR - ظ
-2025-01-11 17:17:53 - INFO -
-2025-01-11 17:17:58 - ERROR - ظ
-2025-01-11 17:17:59 - INFO -
-2025-01-11 17:18:04 - ERROR - ظ
-2025-01-11 17:18:04 - INFO -
-2025-01-11 17:18:09 - ERROR - ظ
-2025-01-11 17:18:09 - INFO -
-2025-01-11 17:18:15 - ERROR - ظ
-2025-01-11 17:18:15 - INFO -
-2025-01-11 17:18:20 - ERROR - ظ
-2025-01-11 17:18:20 - INFO -
-2025-01-11 17:18:26 - ERROR - ظ
-2025-01-11 17:18:26 - INFO -
-2025-01-11 17:18:31 - ERROR - ظ
-2025-01-11 17:18:31 - INFO -
-2025-01-11 17:18:36 - ERROR - ظ
-2025-01-11 17:18:37 - INFO -
-2025-01-11 17:18:42 - ERROR - ظ
-2025-01-11 17:18:42 - INFO -
-2025-01-11 17:18:47 - ERROR - ظ
-2025-01-11 17:18:47 - INFO -
-2025-01-11 17:18:53 - ERROR - ظ
-2025-01-11 17:18:53 - INFO -
-2025-01-11 17:18:58 - ERROR - ظ
-2025-01-11 17:18:58 - INFO -
-2025-01-11 17:19:04 - ERROR - ظ
-2025-01-11 17:19:04 - INFO -
-2025-01-11 17:19:09 - ERROR - ظ
-2025-01-11 17:19:09 - INFO -
-2025-01-11 17:19:14 - ERROR - ظ
-2025-01-11 17:19:14 - INFO -
-2025-01-11 17:19:20 - ERROR - ظ
-2025-01-11 17:19:20 - INFO -
-2025-01-11 17:19:25 - ERROR - ظ
-2025-01-11 17:19:25 - INFO -
-2025-01-11 17:19:31 - ERROR - ظ
-2025-01-11 17:19:31 - INFO -
-2025-01-11 17:19:36 - ERROR - ظ
-2025-01-11 17:19:36 - INFO -
-2025-01-11 17:19:41 - ERROR - ظ
-2025-01-11 17:19:42 - INFO -
-2025-01-11 17:19:47 - ERROR - ظ
-2025-01-11 17:19:47 - INFO -
-2025-01-11 17:19:52 - ERROR - ظ
-2025-01-11 17:19:52 - INFO -
-2025-01-11 17:19:58 - ERROR - ظ
-2025-01-11 17:19:58 - INFO -
-2025-01-11 17:20:03 - ERROR - ظ
-2025-01-11 17:20:03 - INFO -
-2025-01-11 17:20:09 - ERROR - ظ
-2025-01-11 17:20:09 - INFO -
-2025-01-11 17:20:14 - ERROR - ظ
-2025-01-11 17:20:14 - INFO -
-2025-01-11 17:20:19 - ERROR - ظ
-2025-01-11 17:20:20 - INFO -
-2025-01-11 17:20:25 - ERROR - ظ
-2025-01-11 17:20:25 - INFO -
-2025-01-11 17:20:30 - ERROR - ظ
-2025-01-11 17:20:30 - INFO -
-2025-01-11 17:20:36 - ERROR - ظ
-2025-01-11 17:20:36 - INFO -
-2025-01-11 17:20:41 - ERROR - ظ
-2025-01-11 17:20:41 - INFO -
-2025-01-11 17:20:47 - ERROR - ظ
-2025-01-11 17:20:47 - INFO -
-2025-01-11 17:20:52 - ERROR - ظ
-2025-01-11 17:20:52 - INFO -
-2025-01-11 17:20:57 - ERROR - ظ
-2025-01-11 17:20:57 - INFO -
-2025-01-11 17:21:03 - ERROR - ظ
-2025-01-11 17:21:03 - INFO -
-2025-01-11 17:21:08 - ERROR - ظ
-2025-01-11 17:21:08 - INFO -
-2025-01-11 17:21:14 - ERROR - ظ
-2025-01-11 17:21:14 - INFO -
-2025-01-11 17:21:19 - ERROR - ظ
-2025-01-11 17:21:19 - INFO -
-2025-01-11 17:21:24 - ERROR - ظ
-2025-01-11 17:21:25 - INFO -
-2025-01-11 17:21:30 - ERROR - ظ
-2025-01-11 17:21:30 - INFO -
-2025-01-11 17:21:35 - ERROR - ظ
-2025-01-11 17:21:35 - INFO -
-2025-01-11 17:21:41 - ERROR - ظ
-2025-01-11 17:21:41 - INFO -
-2025-01-11 17:21:46 - ERROR - ظ
-2025-01-11 17:21:46 - INFO -
-2025-01-11 17:21:52 - ERROR - ظ
-2025-01-11 17:21:52 - INFO -
-2025-01-11 17:21:57 - ERROR - ظ
-2025-01-11 17:21:57 - INFO -
-2025-01-11 17:22:02 - ERROR - ظ
-2025-01-11 17:22:03 - INFO -
-2025-01-11 17:22:08 - ERROR - ظ
-2025-01-11 17:22:08 - INFO -
-2025-01-11 17:22:13 - ERROR - ظ
-2025-01-11 17:22:13 - INFO -
-2025-01-11 17:22:19 - ERROR - ظ
-2025-01-11 17:22:19 - INFO -
-2025-01-11 17:22:24 - ERROR - ظ
-2025-01-11 17:22:24 - INFO -
-2025-01-11 17:22:30 - ERROR - ظ
-2025-01-11 17:22:30 - INFO -
-2025-01-11 17:22:35 - ERROR - ظ
-2025-01-11 17:22:35 - INFO -
-2025-01-11 17:22:40 - ERROR - ظ
-2025-01-11 17:22:40 - INFO -
-2025-01-11 17:22:46 - ERROR - ظ
-2025-01-11 17:22:46 - INFO -
-2025-01-11 17:22:51 - ERROR - ظ
-2025-01-11 17:22:51 - INFO -
-2025-01-11 17:22:57 - ERROR - ظ
-2025-01-11 17:22:57 - INFO -
-2025-01-11 17:23:02 - ERROR - ظ
-2025-01-11 17:23:02 - INFO -
-2025-01-11 17:23:07 - ERROR - ظ
-2025-01-11 17:23:08 - INFO -
-2025-01-11 17:23:13 - ERROR - ظ
-2025-01-11 17:23:13 - INFO -
-2025-01-11 17:23:18 - ERROR - ظ
-2025-01-11 17:23:18 - INFO -
-2025-01-11 17:23:24 - ERROR - ظ
-2025-01-11 17:23:24 - INFO -
-2025-01-11 17:23:29 - ERROR - ظ
-2025-01-11 17:23:29 - INFO -
-2025-01-11 17:23:35 - ERROR - ظ
-2025-01-11 17:23:35 - INFO -
-2025-01-11 17:23:40 - ERROR - ظ
-2025-01-11 17:23:40 - INFO -
-2025-01-11 17:23:45 - ERROR - ظ
-2025-01-11 17:23:46 - INFO -
-2025-01-11 17:23:51 - ERROR - ظ
-2025-01-11 17:23:51 - INFO -
-2025-01-11 17:23:56 - ERROR - ظ
-2025-01-11 17:23:56 - INFO -
-2025-01-11 17:24:02 - ERROR - ظ
-2025-01-11 17:24:02 - INFO -
-2025-01-11 17:24:07 - ERROR - ظ
-2025-01-11 17:24:07 - INFO -
-2025-01-11 17:24:13 - ERROR - ظ
-2025-01-11 17:24:13 - INFO -
-2025-01-11 17:24:18 - ERROR - ظ
-2025-01-11 17:24:18 - INFO -
-2025-01-11 17:24:23 - ERROR - ظ
-2025-01-11 17:24:23 - INFO -
-2025-01-11 17:24:29 - ERROR - ظ
-2025-01-11 17:24:29 - INFO -
-2025-01-11 17:24:34 - ERROR - ظ
-2025-01-11 17:24:34 - INFO -
-2025-01-11 17:24:40 - ERROR - ظ
-2025-01-11 17:24:40 - INFO -
-2025-01-11 17:24:45 - ERROR - ظ
-2025-01-11 17:24:45 - INFO -
-2025-01-11 17:24:50 - ERROR - ظ
-2025-01-11 17:24:51 - INFO -
-2025-01-11 17:24:56 - ERROR - ظ
-2025-01-11 17:24:56 - INFO -
-2025-01-11 17:25:01 - ERROR - ظ
-2025-01-11 17:25:01 - INFO -
-2025-01-11 17:25:07 - ERROR - ظ
-2025-01-11 17:25:07 - INFO -
-2025-01-11 17:25:12 - ERROR - ظ
-2025-01-11 17:25:12 - INFO -
-2025-01-11 17:25:18 - ERROR - ظ
-2025-01-11 17:25:18 - INFO -
-2025-01-11 17:25:23 - ERROR - ظ
-2025-01-11 17:25:23 - INFO -
-2025-01-11 17:25:28 - ERROR - ظ
-2025-01-11 17:25:29 - INFO -
-2025-01-11 17:25:34 - ERROR - ظ
-2025-01-11 17:25:34 - INFO -
-2025-01-11 17:25:39 - ERROR - ظ
-2025-01-11 17:25:39 - INFO -
-2025-01-11 17:25:45 - ERROR - ظ
-2025-01-11 17:25:45 - INFO -
-2025-01-11 17:25:50 - ERROR - ظ
-2025-01-11 17:25:50 - INFO -
-2025-01-11 17:25:56 - ERROR - ظ
-2025-01-11 17:25:56 - INFO -
-2025-01-11 17:26:01 - ERROR - ظ
-2025-01-11 17:26:01 - INFO -
-2025-01-11 17:26:06 - ERROR - ظ
-2025-01-11 17:26:06 - INFO -
-2025-01-11 17:26:12 - ERROR - ظ
-2025-01-11 17:26:12 - INFO -
-2025-01-11 17:26:17 - ERROR - ظ
-2025-01-11 17:26:17 - INFO -
-2025-01-11 17:26:23 - ERROR - ظ
-2025-01-11 17:26:23 - INFO -
-2025-01-11 17:26:28 - ERROR - ظ
-2025-01-11 17:26:28 - INFO -
-2025-01-11 17:26:33 - ERROR - ظ
-2025-01-11 17:26:34 - INFO -
-2025-01-11 17:26:39 - ERROR - ظ
-2025-01-11 17:26:39 - INFO -
-2025-01-11 17:26:44 - ERROR - ظ
-2025-01-11 17:26:44 - INFO -
-2025-01-11 17:26:50 - ERROR - ظ
-2025-01-11 17:26:50 - INFO -
-2025-01-11 17:26:55 - ERROR - ظ
-2025-01-11 17:26:55 - INFO -
-2025-01-11 17:27:01 - ERROR - ظ
-2025-01-11 17:27:01 - INFO -
-2025-01-11 17:27:06 - ERROR - ظ
-2025-01-11 17:27:06 - INFO -
-2025-01-11 17:27:11 - ERROR - ظ
-2025-01-11 17:27:12 - INFO -
-2025-01-11 17:27:17 - ERROR - ظ
-2025-01-11 17:27:17 - INFO -
-2025-01-11 17:27:22 - ERROR - ظ
-2025-01-11 17:27:22 - INFO -
-2025-01-11 17:27:28 - ERROR - ظ
-2025-01-11 17:27:28 - INFO -
-2025-01-11 17:27:33 - ERROR - ظ
-2025-01-11 17:27:33 - INFO -
-2025-01-11 17:27:39 - ERROR - ظ
-2025-01-11 17:27:39 - INFO -
-2025-01-11 17:27:44 - ERROR - ظ
-2025-01-11 17:27:44 - INFO -
-2025-01-11 17:27:49 - ERROR - ظ
-2025-01-11 17:27:49 - INFO -
-2025-01-11 17:27:55 - ERROR - ظ
-2025-01-11 17:27:55 - INFO -
-2025-01-11 17:28:00 - ERROR - ظ
-2025-01-11 17:28:00 - INFO -
-2025-01-11 17:28:06 - ERROR - ظ
-2025-01-11 17:28:06 - INFO -
-2025-01-11 17:28:11 - ERROR - ظ
-2025-01-11 17:28:11 - INFO -
-2025-01-11 17:28:16 - ERROR - ظ
-2025-01-11 17:28:17 - INFO -
-2025-01-11 17:28:22 - ERROR - ظ
-2025-01-11 17:28:22 - INFO -
-2025-01-11 17:28:27 - ERROR - ظ
-2025-01-11 17:28:27 - INFO -
-2025-01-11 17:28:33 - ERROR - ظ
-2025-01-11 17:28:33 - INFO -
-2025-01-11 17:28:38 - ERROR - ظ
-2025-01-11 17:28:38 - INFO -
-2025-01-11 17:28:44 - ERROR - ظ
-2025-01-11 17:28:44 - INFO -
-2025-01-11 17:28:49 - ERROR - ظ
-2025-01-11 17:28:49 - INFO -
-2025-01-11 17:28:54 - ERROR - ظ
-2025-01-11 17:28:55 - INFO -
-2025-01-11 17:29:00 - ERROR - ظ
-2025-01-11 17:29:00 - INFO -
-2025-01-11 17:29:05 - ERROR - ظ
-2025-01-11 17:29:05 - INFO -
-2025-01-11 17:29:11 - ERROR - ظ
-2025-01-11 17:29:11 - INFO -
-2025-01-11 17:29:16 - ERROR - ظ
-2025-01-11 17:29:16 - INFO -
-2025-01-11 17:29:21 - ERROR - ظ
-2025-01-11 17:29:22 - INFO -
-2025-01-11 17:29:27 - ERROR - ظ
-2025-01-11 17:29:27 - INFO -
-2025-01-11 17:29:32 - ERROR - ظ
-2025-01-11 17:29:32 - INFO -
-2025-01-11 17:29:38 - ERROR - ظ
-2025-01-11 17:29:38 - INFO -
-2025-01-11 17:29:43 - ERROR - ظ
-2025-01-11 17:29:43 - INFO -
-2025-01-11 17:29:49 - ERROR - ظ
-2025-01-11 17:29:49 - INFO -
-2025-01-11 17:29:54 - ERROR - ظ
-2025-01-11 17:29:54 - INFO -
-2025-01-11 17:29:59 - ERROR - ظ
-2025-01-11 17:30:00 - INFO -
-2025-01-11 17:30:05 - ERROR - ظ
-2025-01-11 17:30:05 - INFO -
-2025-01-11 17:30:10 - ERROR - ظ
-2025-01-11 17:30:10 - INFO -
-2025-01-11 17:30:16 - ERROR - ظ
-2025-01-11 17:30:16 - INFO -
-2025-01-11 17:30:21 - ERROR - ظ
-2025-01-11 17:30:21 - INFO -
-2025-01-11 17:30:27 - ERROR - ظ
-2025-01-11 17:30:27 - INFO -
-2025-01-11 17:30:32 - ERROR - ظ
-2025-01-11 17:30:32 - INFO -
-2025-01-11 17:30:37 - ERROR - ظ
-2025-01-11 17:30:37 - INFO -
-2025-01-11 17:30:43 - ERROR - ظ
-2025-01-11 17:30:43 - INFO -
-2025-01-11 17:30:48 - ERROR - ظ
-2025-01-11 17:30:48 - INFO -
-2025-01-11 17:30:54 - ERROR - ظ
-2025-01-11 17:30:54 - INFO -
-2025-01-11 17:30:59 - ERROR - ظ
-2025-01-11 17:30:59 - INFO -
-2025-01-11 17:31:04 - ERROR - ظ
-2025-01-11 17:31:05 - INFO -
-2025-01-11 17:31:10 - ERROR - ظ
-2025-01-11 17:31:10 - INFO -
-2025-01-11 17:31:15 - ERROR - ظ
-2025-01-11 17:31:15 - INFO -
-2025-01-11 17:31:21 - ERROR - ظ
-2025-01-11 17:31:21 - INFO -
-2025-01-11 17:31:26 - ERROR - ظ
-2025-01-11 17:31:26 - INFO -
-2025-01-11 17:31:32 - ERROR - ظ
-2025-01-11 17:31:32 - INFO -
-2025-01-11 17:31:37 - ERROR - ظ
-2025-01-11 17:31:37 - INFO -
-2025-01-11 17:31:42 - ERROR - ظ
-2025-01-11 17:31:42 - INFO -
-2025-01-11 17:31:48 - ERROR - ظ
-2025-01-11 17:31:48 - INFO -
-2025-01-11 17:31:53 - ERROR - ظ
-2025-01-11 17:31:53 - INFO -
-2025-01-11 17:31:59 - ERROR - ظ
-2025-01-11 17:31:59 - INFO -
-2025-01-11 17:32:04 - ERROR - ظ
-2025-01-11 17:32:04 - INFO -
-2025-01-11 17:32:09 - ERROR - ظ
-2025-01-11 17:32:10 - INFO -
-2025-01-11 17:32:15 - ERROR - ظ
-2025-01-11 17:32:15 - INFO -
-2025-01-11 17:32:20 - ERROR - ظ
-2025-01-11 17:32:20 - INFO -
-2025-01-11 17:32:26 - ERROR - ظ
-2025-01-11 17:32:26 - INFO -
-2025-01-11 17:32:31 - ERROR - ظ
-2025-01-11 17:32:31 - INFO -
-2025-01-11 17:32:37 - ERROR - ظ
-2025-01-11 17:32:37 - INFO -
-2025-01-11 17:32:42 - ERROR - ظ
-2025-01-11 17:32:42 - INFO -
-2025-01-11 17:32:47 - ERROR - ظ
-2025-01-11 17:32:48 - INFO -
-2025-01-11 17:32:53 - ERROR - ظ
-2025-01-11 17:32:53 - INFO -
-2025-01-11 17:32:58 - ERROR - ظ
-2025-01-11 17:32:58 - INFO -
-2025-01-11 17:33:04 - ERROR - ظ
-2025-01-11 17:33:04 - INFO -
-2025-01-11 17:33:09 - ERROR - ظ
-2025-01-11 17:33:09 - INFO -
-2025-01-11 17:33:15 - ERROR - ظ
-2025-01-11 17:33:15 - INFO -
-2025-01-11 17:33:20 - ERROR - ظ
-2025-01-11 17:33:20 - INFO -
-2025-01-11 17:33:25 - ERROR - ظ
-2025-01-11 17:33:25 - INFO -
-2025-01-11 17:33:31 - ERROR - ظ
-2025-01-11 17:33:31 - INFO -
-2025-01-11 17:33:36 - ERROR - ظ
-2025-01-11 17:33:36 - INFO -
-2025-01-11 17:33:42 - ERROR - ظ
-2025-01-11 17:33:42 - INFO -
-2025-01-11 17:33:47 - ERROR - ظ
-2025-01-11 17:33:47 - INFO -
-2025-01-11 17:33:52 - ERROR - ظ
-2025-01-11 17:33:53 - INFO -
-2025-01-11 17:33:58 - ERROR - ظ
-2025-01-11 17:33:58 - INFO -
-2025-01-11 17:34:03 - ERROR - ظ
-2025-01-11 17:34:03 - INFO -
-2025-01-11 17:34:09 - ERROR - ظ
-2025-01-11 17:34:09 - INFO -
-2025-01-11 17:34:14 - ERROR - ظ
-2025-01-11 17:34:14 - INFO -
-2025-01-11 17:34:20 - ERROR - ظ
-2025-01-11 17:34:20 - INFO -
-2025-01-11 17:34:25 - ERROR - ظ
-2025-01-11 17:34:25 - INFO -
-2025-01-11 17:34:30 - ERROR - ظ
-2025-01-11 17:34:31 - INFO -
-2025-01-11 17:34:36 - ERROR - ظ
-2025-01-11 17:34:36 - INFO -
-2025-01-11 17:34:41 - ERROR - ظ
-2025-01-11 17:34:41 - INFO -
-2025-01-11 17:34:47 - ERROR - ظ
-2025-01-11 17:34:47 - INFO -
-2025-01-11 17:34:52 - ERROR - ظ
-2025-01-11 17:34:52 - INFO -
-2025-01-11 17:34:57 - ERROR - ظ
-2025-01-11 17:34:58 - INFO -
-2025-01-11 17:35:03 - ERROR - ظ
-2025-01-11 17:35:03 - INFO -
-2025-01-11 17:35:08 - ERROR - ظ
-2025-01-11 17:35:08 - INFO -
-2025-01-11 17:35:14 - ERROR - ظ
-2025-01-11 17:35:14 - INFO -
-2025-01-11 17:35:19 - ERROR - ظ
-2025-01-11 17:35:19 - INFO -
-2025-01-11 17:35:25 - ERROR - ظ
-2025-01-11 17:35:25 - INFO -
-2025-01-11 17:35:30 - ERROR - ظ
-2025-01-11 17:35:30 - INFO -
-2025-01-11 17:35:35 - ERROR - ظ
-2025-01-11 17:35:36 - INFO -
-2025-01-11 17:35:41 - ERROR - ظ
-2025-01-11 17:35:41 - INFO -
-2025-01-11 17:35:46 - ERROR - ظ
-2025-01-11 17:35:46 - INFO -
-2025-01-11 17:35:52 - ERROR - ظ
-2025-01-11 17:35:52 - INFO -
-2025-01-11 17:35:57 - ERROR - ظ
-2025-01-11 17:35:57 - INFO -
-2025-01-11 17:36:03 - ERROR - ظ
-2025-01-11 17:36:03 - INFO -
-2025-01-11 17:36:08 - ERROR - ظ
-2025-01-11 17:36:08 - INFO -
-2025-01-11 17:36:13 - ERROR - ظ
-2025-01-11 17:36:13 - INFO -
-2025-01-11 17:36:19 - ERROR - ظ
-2025-01-11 17:36:19 - INFO -
-2025-01-11 17:36:24 - ERROR - ظ
-2025-01-11 17:36:24 - INFO -
-2025-01-11 17:36:30 - ERROR - ظ
-2025-01-11 17:36:30 - INFO -
-2025-01-11 17:36:35 - ERROR - ظ
-2025-01-11 17:36:35 - INFO -
-2025-01-11 17:36:40 - ERROR - ظ
-2025-01-11 17:36:41 - INFO -
-2025-01-11 17:36:46 - ERROR - ظ
-2025-01-11 17:36:46 - INFO -
-2025-01-11 17:36:51 - ERROR - ظ
-2025-01-11 17:36:51 - INFO -
-2025-01-11 17:36:57 - ERROR - ظ
-2025-01-11 17:36:57 - INFO -
-2025-01-11 17:37:02 - ERROR - ظ
-2025-01-11 17:37:02 - INFO -
-2025-01-11 17:37:08 - ERROR - ظ
-2025-01-11 17:37:08 - INFO -
-2025-01-11 17:37:13 - ERROR - ظ
-2025-01-11 17:37:13 - INFO -
-2025-01-11 17:37:18 - ERROR - ظ
-2025-01-11 17:37:18 - INFO -
-2025-01-11 17:37:24 - ERROR - ظ
-2025-01-11 17:37:24 - INFO -
-2025-01-11 17:37:29 - ERROR - ظ
-2025-01-11 17:37:29 - INFO -
-2025-01-11 17:37:35 - ERROR - ظ
-2025-01-11 17:37:35 - INFO -
-2025-01-11 17:37:40 - ERROR - ظ
-2025-01-11 17:37:40 - INFO -
-2025-01-11 17:37:45 - ERROR - ظ
-2025-01-11 17:37:46 - INFO -
-2025-01-11 17:37:51 - ERROR - ظ
-2025-01-11 17:37:51 - INFO -
-2025-01-11 17:37:56 - ERROR - ظ
-2025-01-11 17:37:56 - INFO -
-2025-01-11 17:38:02 - ERROR - ظ
-2025-01-11 17:38:02 - INFO -
-2025-01-11 17:38:07 - ERROR - ظ
-2025-01-11 17:38:07 - INFO -
-2025-01-11 17:38:13 - ERROR - ظ
-2025-01-11 17:38:13 - INFO -
-2025-01-11 17:38:18 - ERROR - ظ
-2025-01-11 17:38:18 - INFO -
-2025-01-11 17:38:23 - ERROR - ظ
-2025-01-11 17:38:24 - INFO -
-2025-01-11 17:38:29 - ERROR - ظ
-2025-01-11 17:38:29 - INFO -
-2025-01-11 17:38:34 - ERROR - ظ
-2025-01-11 17:38:34 - INFO -
-2025-01-11 17:38:40 - ERROR - ظ
-2025-01-11 17:38:40 - INFO -
-2025-01-11 17:38:45 - ERROR - ظ
-2025-01-11 17:38:45 - INFO -
-2025-01-11 17:38:50 - ERROR - ظ
-2025-01-11 17:38:51 - INFO -
-2025-01-11 17:38:56 - ERROR - ظ
-2025-01-11 17:38:56 - INFO -
-2025-01-11 17:39:01 - ERROR - ظ
-2025-01-11 17:39:01 - INFO -
-2025-01-11 17:39:07 - ERROR - ظ
-2025-01-11 17:39:07 - INFO -
-2025-01-11 17:39:12 - ERROR - ظ
-2025-01-11 17:39:12 - INFO -
-2025-01-11 17:39:18 - ERROR - ظ
-2025-01-11 17:39:18 - INFO -
-2025-01-11 17:39:23 - ERROR - ظ
-2025-01-11 17:39:23 - INFO -
-2025-01-11 17:39:28 - ERROR - ظ
-2025-01-11 17:39:29 - INFO -
-2025-01-11 17:39:34 - ERROR - ظ
-2025-01-11 17:39:34 - INFO -
-2025-01-11 17:39:39 - ERROR - ظ
-2025-01-11 17:39:39 - INFO -
-2025-01-11 17:39:45 - ERROR - ظ
-2025-01-11 17:39:45 - INFO -
-2025-01-11 17:39:50 - ERROR - ظ
-2025-01-11 17:39:50 - INFO -
-2025-01-11 17:39:56 - ERROR - ظ
-2025-01-11 17:39:56 - INFO -
-2025-01-11 17:40:01 - ERROR - ظ
-2025-01-11 17:40:01 - INFO -
-2025-01-11 17:40:06 - ERROR - ظ
-2025-01-11 17:40:06 - INFO -
-2025-01-11 17:40:12 - ERROR - ظ
-2025-01-11 17:40:12 - INFO -
-2025-01-11 17:40:17 - ERROR - ظ
-2025-01-11 17:40:17 - INFO -
-2025-01-11 17:40:23 - ERROR - ظ
-2025-01-11 17:40:23 - INFO -
-2025-01-11 17:40:28 - ERROR - ظ
-2025-01-11 17:40:28 - INFO -
-2025-01-11 17:40:33 - ERROR - ظ
-2025-01-11 17:40:34 - INFO -
-2025-01-11 17:40:39 - ERROR - ظ
-2025-01-11 17:40:39 - INFO -
-2025-01-11 17:40:44 - ERROR - ظ
-2025-01-11 17:40:44 - INFO -
-2025-01-11 17:40:50 - ERROR - ظ
-2025-01-11 17:40:50 - INFO -
-2025-01-11 17:40:55 - ERROR - ظ
-2025-01-11 17:40:55 - INFO -
-2025-01-11 17:41:01 - ERROR - ظ
-2025-01-11 17:41:01 - INFO -
-2025-01-11 17:41:06 - ERROR - ظ
-2025-01-11 17:41:06 - INFO -
-2025-01-11 17:41:11 - ERROR - ظ
-2025-01-11 17:41:11 - INFO -
-2025-01-11 17:41:17 - ERROR - ظ
-2025-01-11 17:41:17 - INFO -
-2025-01-11 17:41:22 - ERROR - ظ
-2025-01-11 17:41:22 - INFO -
-2025-01-11 17:41:28 - ERROR - ظ
-2025-01-11 17:41:28 - INFO -
-2025-01-11 17:41:33 - ERROR - ظ
-2025-01-11 17:41:33 - INFO -
-2025-01-11 17:41:38 - ERROR - ظ
-2025-01-11 17:41:39 - INFO -
-2025-01-11 17:41:44 - ERROR - ظ
-2025-01-11 17:41:44 - INFO -
-2025-01-11 17:41:49 - ERROR - ظ
-2025-01-11 17:41:49 - INFO -
-2025-01-11 17:41:55 - ERROR - ظ
-2025-01-11 17:41:55 - INFO -
-2025-01-11 17:42:00 - ERROR - ظ
-2025-01-11 17:42:00 - INFO -
-2025-01-11 17:42:06 - ERROR - ظ
-2025-01-11 17:42:06 - INFO -
-2025-01-11 17:42:11 - ERROR - ظ
-2025-01-11 17:42:11 - INFO -
-2025-01-11 17:42:16 - ERROR - ظ
-2025-01-11 17:42:17 - INFO -
-2025-01-11 17:42:22 - ERROR - ظ
-2025-01-11 17:42:22 - INFO -
-2025-01-11 17:42:27 - ERROR - ظ
-2025-01-11 17:42:27 - INFO -
-2025-01-11 17:42:33 - ERROR - ظ
-2025-01-11 17:42:33 - INFO -
-2025-01-11 17:42:38 - ERROR - ظ
-2025-01-11 17:42:38 - INFO -
-2025-01-11 17:42:43 - ERROR - ظ
-2025-01-11 17:42:44 - INFO -
-2025-01-11 17:42:49 - ERROR - ظ
-2025-01-11 17:42:49 - INFO -
-2025-01-11 17:42:54 - ERROR - ظ
-2025-01-11 17:42:54 - INFO -
-2025-01-11 17:43:00 - ERROR - ظ
-2025-01-11 17:43:00 - INFO -
-2025-01-11 17:43:05 - ERROR - ظ
-2025-01-11 17:43:05 - INFO -
-2025-01-11 17:43:11 - ERROR - ظ
-2025-01-11 17:43:11 - INFO -
-2025-01-11 17:43:16 - ERROR - ظ
-2025-01-11 17:43:16 - INFO -
-2025-01-11 17:43:21 - ERROR - ظ
-2025-01-11 17:43:22 - INFO -
-2025-01-11 17:43:27 - ERROR - ظ
-2025-01-11 17:43:27 - INFO -
-2025-01-11 17:43:32 - ERROR - ظ
-2025-01-11 17:43:32 - INFO -
-2025-01-11 17:43:38 - ERROR - ظ
-2025-01-11 17:43:38 - INFO -
-2025-01-11 17:43:43 - ERROR - ظ
-2025-01-11 17:43:43 - INFO -
-2025-01-11 17:43:49 - ERROR - ظ
-2025-01-11 17:43:49 - INFO -
-2025-01-11 17:43:54 - ERROR - ظ
-2025-01-11 17:43:54 - INFO -
-2025-01-11 17:43:59 - ERROR - ظ
-2025-01-11 17:43:59 - INFO -
-2025-01-11 17:44:05 - ERROR - ظ
-2025-01-11 17:44:05 - INFO -
-2025-01-11 17:44:10 - ERROR - ظ
-2025-01-11 17:44:10 - INFO -
-2025-01-11 17:44:16 - ERROR - ظ
-2025-01-11 17:44:16 - INFO -
-2025-01-11 17:44:21 - ERROR - ظ
-2025-01-11 17:44:21 - INFO -
-2025-01-11 17:44:26 - ERROR - ظ
-2025-01-11 17:44:27 - INFO -
-2025-01-11 17:44:32 - ERROR - ظ
-2025-01-11 17:44:32 - INFO -
-2025-01-11 17:44:37 - ERROR - ظ
-2025-01-11 17:44:37 - INFO -
-2025-01-11 17:44:43 - ERROR - ظ
-2025-01-11 17:44:43 - INFO -
-2025-01-11 17:44:48 - ERROR - ظ
-2025-01-11 17:44:48 - INFO -
-2025-01-11 17:44:54 - ERROR - ظ
-2025-01-11 17:44:54 - INFO -
-2025-01-11 17:44:59 - ERROR - ظ
-2025-01-11 17:44:59 - INFO -
-2025-01-11 17:45:04 - ERROR - ظ
-2025-01-11 17:45:05 - INFO -
-2025-01-11 17:45:10 - ERROR - ظ
-2025-01-11 17:45:10 - INFO -
-2025-01-11 17:45:15 - ERROR - ظ
-2025-01-11 17:45:15 - INFO -
-2025-01-11 17:45:21 - ERROR - ظ
-2025-01-11 17:45:21 - INFO -
-2025-01-11 17:45:26 - ERROR - ظ
-2025-01-11 17:45:26 - INFO -
-2025-01-11 17:45:32 - ERROR - ظ
-2025-01-11 17:45:32 - INFO -
-2025-01-11 17:45:37 - ERROR - ظ
-2025-01-11 17:45:37 - INFO -
-2025-01-11 17:45:42 - ERROR - ظ
-2025-01-11 17:45:43 - INFO -
-2025-01-11 17:45:48 - ERROR - ظ
-2025-01-11 17:45:48 - INFO -
-2025-01-11 17:45:53 - ERROR - ظ
-2025-01-11 17:45:53 - INFO -
-2025-01-11 17:45:59 - ERROR - ظ
-2025-01-11 17:45:59 - INFO -
-2025-01-11 17:46:04 - ERROR - ظ
-2025-01-11 17:46:04 - INFO -
-2025-01-11 17:46:10 - ERROR - ظ
-2025-01-11 17:46:10 - INFO -
-2025-01-11 17:46:15 - ERROR - ظ
-2025-01-11 17:46:15 - INFO -
-2025-01-11 17:46:20 - ERROR - ظ
-2025-01-11 17:46:20 - INFO -
-2025-01-11 17:46:26 - ERROR - ظ
-2025-01-11 17:46:26 - INFO -
-2025-01-11 17:46:31 - ERROR - ظ
-2025-01-11 17:46:31 - INFO -
-2025-01-11 17:46:37 - ERROR - ظ
-2025-01-11 17:46:37 - INFO -
-2025-01-11 17:46:42 - ERROR - ظ
-2025-01-11 17:46:42 - INFO -
-2025-01-11 17:46:47 - ERROR - ظ
-2025-01-11 17:46:48 - INFO -
-2025-01-11 17:46:53 - ERROR - ظ
-2025-01-11 17:46:53 - INFO -
-2025-01-11 17:46:58 - ERROR - ظ
-2025-01-11 17:46:58 - INFO -
-2025-01-11 17:47:04 - ERROR - ظ
-2025-01-11 17:47:04 - INFO -
-2025-01-11 17:47:09 - ERROR - ظ
-2025-01-11 17:47:09 - INFO -
-2025-01-11 17:47:15 - ERROR - ظ
-2025-01-11 17:47:15 - INFO -
-2025-01-11 17:47:20 - ERROR - ظ
-2025-01-11 17:47:20 - INFO -
-2025-01-11 17:47:25 - ERROR - ظ
-2025-01-11 17:47:25 - INFO -
-2025-01-11 17:47:31 - ERROR - ظ
-2025-01-11 17:47:31 - INFO -
-2025-01-11 17:47:36 - ERROR - ظ
-2025-01-11 17:47:36 - INFO -
-2025-01-11 17:47:42 - ERROR - ظ
-2025-01-11 17:47:42 - INFO -
-2025-01-11 17:47:47 - ERROR - ظ
-2025-01-11 17:47:47 - INFO -
-2025-01-11 17:47:52 - ERROR - ظ
-2025-01-11 17:47:53 - INFO -
-2025-01-11 17:47:58 - ERROR - ظ
-2025-01-11 17:47:58 - INFO -
-2025-01-11 17:48:03 - ERROR - ظ
-2025-01-11 17:48:03 - INFO -
-2025-01-11 17:48:09 - ERROR - ظ
-2025-01-11 17:48:09 - INFO -
-2025-01-11 17:48:14 - ERROR - ظ
-2025-01-11 17:48:14 - INFO -
-2025-01-11 17:48:20 - ERROR - ظ
-2025-01-11 17:48:20 - INFO -
-2025-01-11 17:48:25 - ERROR - ظ
-2025-01-11 17:48:25 - INFO -
-2025-01-11 17:48:30 - ERROR - ظ
-2025-01-11 17:48:31 - INFO -
-2025-01-11 17:48:36 - ERROR - ظ
-2025-01-11 17:48:36 - INFO -
-2025-01-11 17:48:41 - ERROR - ظ
-2025-01-11 17:48:41 - INFO -
-2025-01-11 17:48:47 - ERROR - ظ
-2025-01-11 17:48:47 - INFO -
-2025-01-11 17:48:52 - ERROR - ظ
-2025-01-11 17:48:52 - INFO -
-2025-01-11 17:48:58 - ERROR - ظ
-2025-01-11 17:48:58 - INFO -
-2025-01-11 17:49:03 - ERROR - ظ
-2025-01-11 17:49:03 - INFO -
-2025-01-11 17:49:08 - ERROR - ظ
-2025-01-11 17:49:08 - INFO -
-2025-01-11 17:49:14 - ERROR - ظ
-2025-01-11 17:49:14 - INFO -
-2025-01-11 17:49:19 - ERROR - ظ
-2025-01-11 17:49:19 - INFO -
-2025-01-11 17:49:25 - ERROR - ظ
-2025-01-11 17:49:25 - INFO -
-2025-01-11 17:49:30 - ERROR - ظ
-2025-01-11 17:49:30 - INFO -
-2025-01-11 17:49:35 - ERROR - ظ
-2025-01-11 17:49:36 - INFO -
-2025-01-11 17:49:41 - ERROR - ظ
-2025-01-11 17:49:41 - INFO -
-2025-01-11 17:49:46 - ERROR - ظ
-2025-01-11 17:49:46 - INFO -
-2025-01-11 17:49:52 - ERROR - ظ
-2025-01-11 17:49:52 - INFO -
-2025-01-11 17:49:57 - ERROR - ظ
-2025-01-11 17:49:57 - INFO -
-2025-01-11 17:50:03 - ERROR - ظ
-2025-01-11 17:50:03 - INFO -
-2025-01-11 17:50:08 - ERROR - ظ
-2025-01-11 17:50:08 - INFO -
-2025-01-11 17:50:13 - ERROR - ظ
-2025-01-11 17:50:13 - INFO -
-2025-01-11 17:50:19 - ERROR - ظ
-2025-01-11 17:50:19 - INFO -
-2025-01-11 17:50:24 - ERROR - ظ
-2025-01-11 17:50:24 - INFO -
-2025-01-11 17:50:30 - ERROR - ظ
-2025-01-11 17:50:30 - INFO -
-2025-01-11 17:50:35 - ERROR - ظ
-2025-01-11 17:50:35 - INFO -
-2025-01-11 17:50:40 - ERROR - ظ
-2025-01-11 17:50:41 - INFO -
-2025-01-11 17:50:46 - ERROR - ظ
-2025-01-11 17:50:46 - INFO -
-2025-01-11 17:50:51 - ERROR - ظ
-2025-01-11 17:50:51 - INFO -
-2025-01-11 17:50:57 - ERROR - ظ
-2025-01-11 17:50:57 - INFO -
-2025-01-11 17:51:02 - ERROR - ظ
-2025-01-11 17:51:02 - INFO -
-2025-01-11 17:51:08 - ERROR - ظ
-2025-01-11 17:51:08 - INFO -
-2025-01-11 17:51:13 - ERROR - ظ
-2025-01-11 17:51:13 - INFO -
-2025-01-11 17:51:18 - ERROR - ظ
-2025-01-11 17:51:18 - INFO -
-2025-01-11 17:51:24 - ERROR - ظ
-2025-01-11 17:51:24 - INFO -
-2025-01-11 17:51:29 - ERROR - ظ
-2025-01-11 17:51:29 - INFO -
-2025-01-11 17:51:35 - ERROR - ظ
-2025-01-11 17:51:35 - INFO -
-2025-01-11 17:51:40 - ERROR - ظ
-2025-01-11 17:51:40 - INFO -
-2025-01-11 17:51:45 - ERROR - ظ
-2025-01-11 17:51:46 - INFO -
-2025-01-11 17:51:51 - ERROR - ظ
-2025-01-11 17:51:51 - INFO -
-2025-01-11 17:51:56 - ERROR - ظ
-2025-01-11 17:51:56 - INFO -
-2025-01-11 17:52:02 - ERROR - ظ
-2025-01-11 17:52:02 - INFO -
-2025-01-11 17:52:07 - ERROR - ظ
-2025-01-11 17:52:07 - INFO -
-2025-01-11 17:52:13 - ERROR - ظ
-2025-01-11 17:52:13 - INFO -
-2025-01-11 17:52:18 - ERROR - ظ
-2025-01-11 17:52:18 - INFO -
-2025-01-11 17:52:23 - ERROR - ظ
-2025-01-11 17:52:23 - INFO -
-2025-01-11 17:52:29 - ERROR - ظ
-2025-01-11 17:52:29 - INFO -
-2025-01-11 17:52:34 - ERROR - ظ
-2025-01-11 17:52:34 - INFO -
-2025-01-11 17:52:40 - ERROR - ظ
-2025-01-11 17:52:40 - INFO -
-2025-01-11 17:52:45 - ERROR - ظ
-2025-01-11 17:52:45 - INFO -
-2025-01-11 17:52:50 - ERROR - ظ
-2025-01-11 17:52:51 - INFO -
-2025-01-11 17:52:56 - ERROR - ظ
-2025-01-11 17:52:56 - INFO -
-2025-01-11 17:53:01 - ERROR - ظ
-2025-01-11 17:53:01 - INFO -
-2025-01-11 17:53:07 - ERROR - ظ
-2025-01-11 17:53:07 - INFO -
-2025-01-11 17:53:12 - ERROR - ظ
-2025-01-11 17:53:12 - INFO -
-2025-01-11 17:53:18 - ERROR - ظ
-2025-01-11 17:53:18 - INFO -
-2025-01-11 17:53:23 - ERROR - ظ
-2025-01-11 17:53:23 - INFO -
-2025-01-11 17:53:28 - ERROR - ظ
-2025-01-11 17:53:28 - INFO -
-2025-01-11 17:53:34 - ERROR - ظ
-2025-01-11 17:53:34 - INFO -
-2025-01-11 17:53:39 - ERROR - ظ
-2025-01-11 17:53:39 - INFO -
-2025-01-11 17:53:45 - ERROR - ظ
-2025-01-11 17:53:45 - INFO -
-2025-01-11 17:53:50 - ERROR - ظ
-2025-01-11 17:53:50 - INFO -
-2025-01-11 17:53:55 - ERROR - ظ
-2025-01-11 17:53:56 - INFO -
-2025-01-11 17:54:01 - ERROR - ظ
-2025-01-11 17:54:01 - INFO -
-2025-01-11 17:54:06 - ERROR - ظ
-2025-01-11 17:54:06 - INFO -
-2025-01-11 17:54:12 - ERROR - ظ
-2025-01-11 17:54:12 - INFO -
-2025-01-11 17:54:17 - ERROR - ظ
-2025-01-11 17:54:17 - INFO -
-2025-01-11 17:54:23 - ERROR - ظ
-2025-01-11 17:54:23 - INFO -
-2025-01-11 17:54:28 - ERROR - ظ
-2025-01-11 17:54:28 - INFO -
-2025-01-11 17:54:33 - ERROR - ظ
-2025-01-11 17:54:34 - INFO -
-2025-01-11 17:54:39 - ERROR - ظ
-2025-01-11 17:54:39 - INFO -
-2025-01-11 17:54:44 - ERROR - ظ
-2025-01-11 17:54:44 - INFO -
-2025-01-11 17:54:50 - ERROR - ظ
-2025-01-11 17:54:50 - INFO -
-2025-01-11 17:54:55 - ERROR - ظ
-2025-01-11 17:54:55 - INFO -
-2025-01-11 17:55:00 - ERROR - ظ
-2025-01-11 17:55:01 - INFO -
-2025-01-11 17:55:06 - ERROR - ظ
-2025-01-11 17:55:06 - INFO -
-2025-01-11 17:55:11 - ERROR - ظ
-2025-01-11 17:55:11 - INFO -
-2025-01-11 17:55:17 - ERROR - ظ
-2025-01-11 17:55:17 - INFO -
-2025-01-11 17:55:22 - ERROR - ظ
-2025-01-11 17:55:22 - INFO -
-2025-01-11 17:55:28 - ERROR - ظ
-2025-01-11 17:55:28 - INFO -
-2025-01-11 17:55:33 - ERROR - ظ
-2025-01-11 17:55:33 - INFO -
-2025-01-11 17:55:38 - ERROR - ظ
-2025-01-11 17:55:39 - INFO -
-2025-01-11 17:55:44 - ERROR - ظ
-2025-01-11 17:55:44 - INFO -
-2025-01-11 17:55:49 - ERROR - ظ
-2025-01-11 17:55:49 - INFO -
-2025-01-11 17:55:55 - ERROR - ظ
-2025-01-11 17:55:55 - INFO -
-2025-01-11 17:56:00 - ERROR - ظ
-2025-01-11 17:56:00 - INFO -
-2025-01-11 17:56:06 - ERROR - ظ
-2025-01-11 17:56:06 - INFO -
-2025-01-11 17:56:11 - ERROR - ظ
-2025-01-11 17:56:11 - INFO -
-2025-01-11 17:56:16 - ERROR - ظ
-2025-01-11 17:56:16 - INFO -
-2025-01-11 17:56:22 - ERROR - ظ
-2025-01-11 17:56:22 - INFO -
-2025-01-11 17:56:27 - ERROR - ظ
-2025-01-11 17:56:27 - INFO -
-2025-01-11 17:56:33 - ERROR - ظ
-2025-01-11 17:56:33 - INFO -
-2025-01-11 17:56:38 - ERROR - ظ
-2025-01-11 17:56:38 - INFO -
-2025-01-11 17:56:43 - ERROR - ظ
-2025-01-11 17:56:44 - INFO -
-2025-01-11 17:56:49 - ERROR - ظ
-2025-01-11 17:56:49 - INFO -
-2025-01-11 17:56:54 - ERROR - ظ
-2025-01-11 17:56:54 - INFO -
-2025-01-11 17:57:00 - ERROR - ظ
-2025-01-11 17:57:00 - INFO -
-2025-01-11 17:57:05 - ERROR - ظ
-2025-01-11 17:57:05 - INFO -
-2025-01-11 17:57:11 - ERROR - ظ
-2025-01-11 17:57:11 - INFO -
-2025-01-11 17:57:16 - ERROR - ظ
-2025-01-11 17:57:16 - INFO -
-2025-01-11 17:57:21 - ERROR - ظ
-2025-01-11 17:57:21 - INFO -
-2025-01-11 17:57:27 - ERROR - ظ
-2025-01-11 17:57:27 - INFO -
-2025-01-11 17:57:32 - ERROR - ظ
-2025-01-11 17:57:32 - INFO -
-2025-01-11 17:57:38 - ERROR - ظ
-2025-01-11 17:57:38 - INFO -
-2025-01-11 17:57:43 - ERROR - ظ
-2025-01-11 17:57:43 - INFO -
-2025-01-11 17:57:48 - ERROR - ظ
-2025-01-11 17:57:49 - INFO -
-2025-01-11 17:57:54 - ERROR - ظ
-2025-01-11 17:57:54 - INFO -
-2025-01-11 17:57:59 - ERROR - ظ
-2025-01-11 17:57:59 - INFO -
-2025-01-11 17:58:05 - ERROR - ظ
-2025-01-11 17:58:05 - INFO -
-2025-01-11 17:58:10 - ERROR - ظ
-2025-01-11 17:58:10 - INFO -
-2025-01-11 17:58:16 - ERROR - ظ
-2025-01-11 17:58:16 - INFO -
-2025-01-11 17:58:21 - ERROR - ظ
-2025-01-11 17:58:21 - INFO -
-2025-01-11 17:58:26 - ERROR - ظ
-2025-01-11 17:58:26 - INFO -
-2025-01-11 17:58:32 - ERROR - ظ
-2025-01-11 17:58:32 - INFO -
-2025-01-11 17:58:37 - ERROR - ظ
-2025-01-11 17:58:37 - INFO -
-2025-01-11 17:58:43 - ERROR - ظ
-2025-01-11 17:58:43 - INFO -
-2025-01-11 17:58:48 - ERROR - ظ
-2025-01-11 17:58:48 - INFO -
-2025-01-11 17:58:53 - ERROR - ظ
-2025-01-11 17:58:54 - INFO -
-2025-01-11 17:58:59 - ERROR - ظ
-2025-01-11 17:58:59 - INFO -
-2025-01-11 17:59:04 - ERROR - ظ
-2025-01-11 17:59:04 - INFO -
-2025-01-11 17:59:10 - ERROR - ظ
-2025-01-11 17:59:10 - INFO -
-2025-01-11 17:59:15 - ERROR - ظ
-2025-01-11 17:59:15 - INFO -
-2025-01-11 17:59:21 - ERROR - ظ
-2025-01-11 17:59:21 - INFO -
-2025-01-11 17:59:26 - ERROR - ظ
-2025-01-11 17:59:26 - INFO -
-2025-01-11 17:59:31 - ERROR - ظ
-2025-01-11 17:59:32 - INFO -
-2025-01-11 17:59:37 - ERROR - ظ
-2025-01-11 17:59:37 - INFO -
-2025-01-11 17:59:42 - ERROR - ظ
-2025-01-11 17:59:42 - INFO -
-2025-01-11 17:59:48 - ERROR - ظ
-2025-01-11 17:59:48 - INFO -
-2025-01-11 17:59:53 - ERROR - ظ
-2025-01-11 17:59:53 - INFO -
-2025-01-11 17:59:58 - ERROR - ظ
-2025-01-11 17:59:59 - INFO -
-2025-01-11 18:00:04 - ERROR - ظ
-2025-01-11 18:00:04 - INFO -
-2025-01-11 18:00:09 - ERROR - ظ
-2025-01-11 18:00:09 - INFO -
-2025-01-11 18:00:15 - ERROR - ظ
-2025-01-11 18:00:15 - INFO -
-2025-01-11 18:00:20 - ERROR - ظ
-2025-01-11 18:00:20 - INFO -
-2025-01-11 18:00:26 - ERROR - ظ
-2025-01-11 18:00:26 - INFO -
-2025-01-11 18:00:31 - ERROR - ظ
-2025-01-11 18:00:31 - INFO -
-2025-01-11 18:00:36 - ERROR - ظ
-2025-01-11 18:00:37 - INFO -
-2025-01-11 18:00:42 - ERROR - ظ
-2025-01-11 18:00:42 - INFO -
-2025-01-11 18:00:47 - ERROR - ظ
-2025-01-11 18:00:47 - INFO -
-2025-01-11 18:00:53 - ERROR - ظ
-2025-01-11 18:00:53 - INFO -
-2025-01-11 18:00:58 - ERROR - ظ
-2025-01-11 18:00:58 - INFO -
-2025-01-11 18:01:04 - ERROR - ظ
-2025-01-11 18:01:04 - INFO -
-2025-01-11 18:01:09 - ERROR - ظ
-2025-01-11 18:01:09 - INFO -
-2025-01-11 18:01:14 - ERROR - ظ
-2025-01-11 18:01:14 - INFO -
-2025-01-11 18:01:20 - ERROR - ظ
-2025-01-11 18:01:20 - INFO -
-2025-01-11 18:01:25 - ERROR - ظ
-2025-01-11 18:01:25 - INFO -
-2025-01-11 18:01:31 - ERROR - ظ
-2025-01-11 18:01:31 - INFO -
-2025-01-11 18:01:36 - ERROR - ظ
-2025-01-11 18:01:36 - INFO -
-2025-01-11 18:01:41 - ERROR - ظ
-2025-01-11 18:01:42 - INFO -
-2025-01-11 18:01:47 - ERROR - ظ
-2025-01-11 18:01:47 - INFO -
-2025-01-11 18:01:52 - ERROR - ظ
-2025-01-11 18:01:52 - INFO -
-2025-01-11 18:01:58 - ERROR - ظ
-2025-01-11 18:01:58 - INFO -
-2025-01-11 18:02:03 - ERROR - ظ
-2025-01-11 18:02:03 - INFO -
-2025-01-11 18:02:09 - ERROR - ظ
-2025-01-11 18:02:09 - INFO -
-2025-01-11 18:02:14 - ERROR - ظ
-2025-01-11 18:02:14 - INFO -
-2025-01-11 18:02:19 - ERROR - ظ
-2025-01-11 18:02:19 - INFO -
-2025-01-11 18:02:25 - ERROR - ظ
-2025-01-11 18:02:25 - INFO -
-2025-01-11 18:02:30 - ERROR - ظ
-2025-01-11 18:02:30 - INFO -
-2025-01-11 18:02:36 - ERROR - ظ
-2025-01-11 18:02:36 - INFO -
-2025-01-11 18:02:41 - ERROR - ظ
-2025-01-11 18:02:41 - INFO -
-2025-01-11 18:02:46 - ERROR - ظ
-2025-01-11 18:02:47 - INFO -
-2025-01-11 18:02:52 - ERROR - ظ
-2025-01-11 18:02:52 - INFO -
-2025-01-11 18:02:57 - ERROR - ظ
-2025-01-11 18:02:57 - INFO -
-2025-01-11 18:03:03 - ERROR - ظ
-2025-01-11 18:03:03 - INFO -
-2025-01-11 18:03:08 - ERROR - ظ
-2025-01-11 18:03:08 - INFO -
-2025-01-11 18:03:14 - ERROR - ظ
-2025-01-11 18:03:14 - INFO -
-2025-01-11 18:03:19 - ERROR - ظ
-2025-01-11 18:03:19 - INFO -
-2025-01-11 18:03:24 - ERROR - ظ
-2025-01-11 18:03:25 - INFO -
-2025-01-11 18:03:30 - ERROR - ظ
-2025-01-11 18:03:30 - INFO -
-2025-01-11 18:03:35 - ERROR - ظ
-2025-01-11 18:03:35 - INFO -
-2025-01-11 18:03:41 - ERROR - ظ
-2025-01-11 18:03:41 - INFO -
-2025-01-11 18:03:46 - ERROR - ظ
-2025-01-11 18:03:46 - INFO -
-2025-01-11 18:03:51 - ERROR - ظ
-2025-01-11 18:03:52 - INFO -
-2025-01-11 18:03:57 - ERROR - ظ
-2025-01-11 18:03:57 - INFO -
-2025-01-11 18:04:02 - ERROR - ظ
-2025-01-11 18:04:02 - INFO -
-2025-01-11 18:04:08 - ERROR - ظ
-2025-01-11 18:04:08 - INFO -
-2025-01-11 18:04:13 - ERROR - ظ
-2025-01-11 18:04:13 - INFO -
-2025-01-11 18:04:19 - ERROR - ظ
-2025-01-11 18:04:19 - INFO -
-2025-01-11 18:04:24 - ERROR - ظ
-2025-01-11 18:04:24 - INFO -
-2025-01-11 18:04:29 - ERROR - ظ
-2025-01-11 18:04:30 - INFO -
-2025-01-11 18:04:35 - ERROR - ظ
-2025-01-11 18:04:35 - INFO -
-2025-01-11 18:04:40 - ERROR - ظ
-2025-01-11 18:04:40 - INFO -
-2025-01-11 18:04:46 - ERROR - ظ
-2025-01-11 18:04:46 - INFO -
-2025-01-11 18:04:51 - ERROR - ظ
-2025-01-11 18:04:51 - INFO -
-2025-01-11 18:04:56 - ERROR - ظ
-2025-01-11 18:04:57 - INFO -
-2025-01-11 18:05:02 - ERROR - ظ
-2025-01-11 18:05:02 - INFO -
-2025-01-11 18:05:07 - ERROR - ظ
-2025-01-11 18:05:07 - INFO -
-2025-01-11 18:05:13 - ERROR - ظ
-2025-01-11 18:05:13 - INFO -
-2025-01-11 18:05:18 - ERROR - ظ
-2025-01-11 18:05:18 - INFO -
-2025-01-11 18:05:24 - ERROR - ظ
-2025-01-11 18:05:24 - INFO -
-2025-01-11 18:05:29 - ERROR - ظ
-2025-01-11 18:05:29 - INFO -
-2025-01-11 18:05:34 - ERROR - ظ
-2025-01-11 18:05:35 - INFO -
-2025-01-11 18:05:40 - ERROR - ظ
-2025-01-11 18:05:40 - INFO -
-2025-01-11 18:05:45 - ERROR - ظ
-2025-01-11 18:05:45 - INFO -
-2025-01-11 18:05:51 - ERROR - ظ
-2025-01-11 18:05:51 - INFO -
-2025-01-11 18:05:56 - ERROR - ظ
-2025-01-11 18:05:56 - INFO -
-2025-01-11 18:06:02 - ERROR - ظ
-2025-01-11 18:06:02 - INFO -
-2025-01-11 18:06:07 - ERROR - ظ
-2025-01-11 18:06:07 - INFO -
-2025-01-11 18:06:12 - ERROR - ظ
-2025-01-11 18:06:12 - INFO -
-2025-01-11 18:06:18 - ERROR - ظ
-2025-01-11 18:06:18 - INFO -
-2025-01-11 18:06:23 - ERROR - ظ
-2025-01-11 18:06:23 - INFO -
-2025-01-11 18:06:29 - ERROR - ظ
-2025-01-11 18:06:29 - INFO -
-2025-01-11 18:06:34 - ERROR - ظ
-2025-01-11 18:06:34 - INFO -
-2025-01-11 18:06:39 - ERROR - ظ
-2025-01-11 18:06:40 - INFO -
-2025-01-11 18:06:45 - ERROR - ظ
-2025-01-11 18:06:45 - INFO -
-2025-01-11 18:06:50 - ERROR - ظ
-2025-01-11 18:06:50 - INFO -
+024-12-16 14:46:23 - INFO - ����ϵͳ
+2024-12-16 14:46:55 - ERROR - �ظ�
+2024-12-16 14:47:22 - INFO - �û������˳�����
+2024-12-16 15:40:00 - INFO - ����ϵͳ
+2024-12-16 15:40:22 - ERROR - ��¼����ʧ��
+2024-12-16 15:40:22 - INFO - �˳�ϵͳ
+2024-12-16 15:59:52 - INFO - ����ϵͳ
+2024-12-16 16:00:25 - ERROR - �ظ�
+2024-12-17 09:37:22 - INFO - ����ϵͳ
+2024-12-17 09:37:30 - INFO - ����Ͷ�ϴ���:1
+2024-12-17 09:37:31 - INFO - �����������
+2024-12-17 09:37:31 - INFO - �л����Զ�����״̬
+2024-12-17 09:37:32 - INFO - ��һ��ȷ������
+2024-12-17 09:37:32 - INFO - ��Ӧ��1:Ͷ�Ͽ�ʼ
+2024-12-17 09:37:32 - INFO - ����IO����: 3��1
+2024-12-17 09:37:37 - INFO - ����IO����: 3��0
+2024-12-17 09:37:37 - INFO - Ͷ�Ͽ�ʼ
+2024-12-17 09:37:42 - INFO - �������
+2024-12-17 09:37:42 - INFO - Ͷ��ֹͣ
+2024-12-17 09:37:44 - INFO - �����������
+2024-12-17 09:37:44 - INFO - �л����Զ�����״̬
+2024-12-17 09:37:44 - INFO - �������
+2024-12-17 09:37:44 - ERROR - super-class __init__() of type StopDialog was never called
+2024-12-17 09:37:44 - ERROR - ��е��δ����ʵ��·�ߵ��ƶ���δ��Ѱ�ҵ�����·����λ
+2024-12-17 09:37:44 - INFO - ����IO����: 3��2
+2024-12-17 09:37:44 - INFO - �ƶ���λ��:����ֱ�ߣ�X:7.0-Y:50.0-Z:1.0-U:12.0-V:0.0-W:1.0
+2024-12-17 09:37:44 - INFO - ����IO����: 3��0
+2024-12-17 09:37:54 - ERROR - �ظ�
+2024-12-17 19:35:21 - INFO - ����ϵͳ
+2024-12-17 19:35:53 - ERROR - �ظ�
+2024-12-20 17:01:09 - INFO - ����ϵͳ
+2024-12-20 17:01:11 - ERROR - ��¼����ʧ��
+2024-12-20 17:01:11 - INFO - �˳�ϵͳ
diff --git a/log/log.log.2024-12-14 b/log/log.log.2024-12-14
new file mode 100644
index 0000000..b6b837c
--- /dev/null
+++ b/log/log.log.2024-12-14
@@ -0,0 +1,40 @@
+2024-12-14 16:10:42 - INFO - ϵͳ
+2024-12-14 16:11:15 - ERROR - ظ
+2024-12-14 16:14:02 - INFO - ƶλ:·m0:1.0-m2:0.0-m3:0.0-m4:0.0-m5:0.0-m6:0.0
+2024-12-14 16:14:06 - ERROR - ظ
+2024-12-14 16:14:10 - INFO - Ͷϴ:1
+2024-12-14 16:14:11 - INFO - л
+2024-12-14 16:14:11 - INFO - лԶ״̬
+2024-12-14 16:14:12 - INFO - һȷ
+2024-12-14 16:14:12 - INFO - Ӧ1:ͶϿʼ
+2024-12-14 16:14:12 - INFO - IO: 31
+2024-12-14 16:14:14 - ERROR - ظ
+2024-12-14 16:14:17 - INFO - IO: 30
+2024-12-14 16:14:17 - INFO - ͶϿʼ
+2024-12-14 16:14:21 - ERROR - ظ
+2024-12-14 16:21:15 - INFO - ˳ϵͳ
+2024-12-14 16:21:15 - ERROR - ظ
+2024-12-14 16:21:15 - ERROR - model
+2024-12-14 16:21:27 - INFO - ϵͳ
+2024-12-14 16:21:59 - ERROR - ظ
+2024-12-14 16:37:33 - INFO - л
+2024-12-14 16:37:33 - INFO - лԶ״̬
+2024-12-14 16:37:34 - INFO - һȷ
+2024-12-14 16:37:34 - INFO - Ӧ1:ͶϿʼ
+2024-12-14 16:37:34 - INFO - IO: 31
+2024-12-14 16:37:38 - ERROR - ظ
+2024-12-14 16:37:39 - INFO - Ͷϴ:10
+2024-12-14 16:37:39 - INFO - л
+2024-12-14 16:37:39 - INFO - лԶ״̬
+2024-12-14 16:37:39 - INFO - IO: 30
+2024-12-14 16:37:39 - INFO - ͶϿʼ
+2024-12-14 16:37:46 - ERROR - ظ
+2024-12-14 16:39:27 - INFO -
+2024-12-14 16:39:27 - INFO - Ͷֹͣ
+2024-12-14 16:39:28 - INFO -
+2024-12-14 16:39:28 - INFO - Ͷֹͣ
+2024-12-14 16:39:30 - INFO - Ͷͣ
+2024-12-14 16:39:30 - ERROR - ظ
+2024-12-14 16:39:30 - INFO - Ͷͣ
+2024-12-14 16:39:38 - ERROR - ظ
+2024-12-14 16:41:47 - INFO - û˳