Forráskód Böngészése

五号机现场测试(较稳定)

oldwine 3 hónapja
szülő
commit
005a8b2b4b
4 módosított fájl, 95 hozzáadás és 30 törlés
  1. 2 2
      conf/5#nodes.csv
  2. 39 19
      models/billet_trace_pusher.py
  3. 42 5
      models/data_sender.py
  4. 12 4
      models/overhead_crane.py

+ 2 - 2
conf/5#nodes.csv

@@ -46,8 +46,8 @@ L6
 L7坯头位置,int,101,6,0,2,TRUE,FALSE,500,3
 L8坯头位置,int,101,8,0,2,TRUE,FALSE,500,3
 天车A1位置,dint,360,100,0,4,TRUE,FALSE,500,3
-天车A2位置,dint,360,104,0,4,TRUE,FALSE,500,3
-天车A3位置,dint,360,108,0,4,TRUE,FALSE,500,3
+天车A3位置,dint,360,104,0,4,TRUE,FALSE,500,3
+天车A2位置,dint,360,108,0,4,TRUE,FALSE,500,3
 车1自动触发信号,bool,310,46,0,1,TRUE,FALSE,500,3
 车1手动触发信号,bool,310,46,1,1,TRUE,FALSE,500,3
 车1自动触发结果,string,310,2,0,22,TRUE,FALSE,500,3

+ 39 - 19
models/billet_trace_pusher.py

@@ -53,25 +53,45 @@ class Trace_pusher:
             self.drawing_speed.append(self.data_s7.make_point(f'L{i+1}拉速'))
 
         if self.hostsend_flag:
+            # self.billet_position = [
+            #     Through_state_continues3(data_s7.make_point('集群限位L1_1[3]'), data_s7.make_point('集群限位L1_1[4]'), data_s7.make_point('集群限位L1_1[5]')),
+            #     Through_state_continues3(data_s7.make_point('集群限位L2_1[3]'), data_s7.make_point('集群限位L2_1[4]'), data_s7.make_point('集群限位L2_1[5]')),
+            #     Through_state_continues3(data_s7.make_point('集群限位L3_1[3]'), data_s7.make_point('集群限位L3_1[4]'), data_s7.make_point('集群限位L3_1[5]')),
+            #     Through_state_continues3(data_s7.make_point('集群限位L4_1[3]'), data_s7.make_point('集群限位L4_1[4]'), data_s7.make_point('集群限位L4_1[5]')),
+            #     Through_state_continues3(data_s7.make_point('集群限位L5_1[3]'), data_s7.make_point('集群限位L5_1[4]'), data_s7.make_point('集群限位L5_1[5]')),
+            #     Through_state_continues3(data_s7.make_point('集群限位L6_1[3]'), data_s7.make_point('集群限位L6_1[4]'), data_s7.make_point('集群限位L6_1[5]')),
+            #     Through_state_separation2(data_s7.make_point('集群限位L7_1[4]'), data_s7.make_point('集群限位L7_1[5]')),
+            #     Through_state_continues3(data_s7.make_point('集群限位L8_1[3]'), data_s7.make_point('集群限位L8_1[4]'), data_s7.make_point('集群限位L8_1[5]'))
+            # ]
+            # self.billet_out_sig = [
+            #     data_s7.make_point('集群限位L1_2[1]'),
+            #     data_s7.make_point('集群限位L2_2[1]'),
+            #     data_s7.make_point('集群限位L3_2[1]'),
+            #     data_s7.make_point('集群限位L4_2[1]'),
+            #     data_s7.make_point('集群限位L5_2[1]'),
+            #     data_s7.make_point('集群限位L6_2[1]'),
+            #     data_s7.make_point('集群限位L7_2[1]'),
+            #     data_s7.make_point('集群限位L8_2[1]')
+            # ]
             self.billet_position = [
-                Through_state_continues3(data_s7.make_point('集群限位L1_1[3]'), data_s7.make_point('集群限位L1_1[4]'), data_s7.make_point('集群限位L1_1[5]')),
-                Through_state_continues3(data_s7.make_point('集群限位L2_1[3]'), data_s7.make_point('集群限位L2_1[4]'), data_s7.make_point('集群限位L2_1[5]')),
-                Through_state_continues3(data_s7.make_point('集群限位L3_1[3]'), data_s7.make_point('集群限位L3_1[4]'), data_s7.make_point('集群限位L3_1[5]')),
-                Through_state_continues3(data_s7.make_point('集群限位L4_1[3]'), data_s7.make_point('集群限位L4_1[4]'), data_s7.make_point('集群限位L4_1[5]')),
-                Through_state_continues3(data_s7.make_point('集群限位L5_1[3]'), data_s7.make_point('集群限位L5_1[4]'), data_s7.make_point('集群限位L5_1[5]')),
-                Through_state_continues3(data_s7.make_point('集群限位L6_1[3]'), data_s7.make_point('集群限位L6_1[4]'), data_s7.make_point('集群限位L6_1[5]')),
-                Through_state_separation2(data_s7.make_point('集群限位L7_1[4]'), data_s7.make_point('集群限位L7_1[5]')),
-                Through_state_continues3(data_s7.make_point('集群限位L8_1[3]'), data_s7.make_point('集群限位L8_1[4]'), data_s7.make_point('集群限位L8_1[5]'))
+                self.data_s7.make_point('L1切割信号[1]'),
+                self.data_s7.make_point('L2切割信号[1]'),
+                self.data_s7.make_point('L3切割信号[1]'),
+                self.data_s7.make_point('L4切割信号[1]'),
+                self.data_s7.make_point('L5切割信号[1]'),
+                self.data_s7.make_point('L6切割信号[1]'),
+                self.data_s7.make_point('L7切割信号[1]'),
+                self.data_s7.make_point('L8切割信号[1]')
             ]
             self.billet_out_sig = [
-                data_s7.make_point('集群限位L1_2[1]'),
-                data_s7.make_point('集群限位L2_2[1]'),
-                data_s7.make_point('集群限位L3_2[1]'),
-                data_s7.make_point('集群限位L4_2[1]'),
-                data_s7.make_point('集群限位L5_2[1]'),
-                data_s7.make_point('集群限位L6_2[1]'),
-                data_s7.make_point('集群限位L7_2[1]'),
-                data_s7.make_point('集群限位L8_2[1]')
+                self.data_s7.make_point('L1切割信号[0]'),
+                self.data_s7.make_point('L2切割信号[0]'),
+                self.data_s7.make_point('L3切割信号[0]'),
+                self.data_s7.make_point('L4切割信号[0]'),
+                self.data_s7.make_point('L5切割信号[0]'),
+                self.data_s7.make_point('L6切割信号[0]'),
+                self.data_s7.make_point('L7切割信号[0]'),
+                self.data_s7.make_point('L8切割信号[0]')
             ]
         else:
             self.billet_position = [
@@ -389,11 +409,11 @@ class Trace_pusher:
             if direc == "right":
                 return self.get_billet_action(self.bed_right)
         
-    def get_billet_action(self, src):
+    def get_billet_action(self, src: list):
         for i in range(len(src)-1, -1, -1):
             if len(src[i]) >= 4:
-                tmp = [j[0] for j in src[i]]
-                src[i] = []
+                tmp = [j[0] for j in src.pop(i)]
+                src.append([])
                 return tmp
         
         return []

+ 42 - 5
models/data_sender.py

@@ -13,16 +13,18 @@ class Sender:
             'host_send': 'syn/billetHotsendBase/save',
             'car_add': 'syn/storageBill/add',
             'car_save': 'syn/billetHotsendBase/shipp/save',
-            'car_go': 'syn/billetHotsendBase/shipp/depart'
+            'car_go': 'syn/billetHotsendBase/shipp/depart',
+            'stack_add': 'syn/billet/addStacking'
         }
 
         self.url = {
             'billet_add': 'http://192.168.0.119:8181/jeecg-boot/actualControl/billetActual/reportRealTimeBilletBasicInfo',
             'heat_add': 'http://192.168.0.119:8181/jeecg-boot/actualControl/heatsActuals/reportRealTimeHeatsActuals',
-            'host_send': '/billetHotsendBase/billetHotsendBase/add',
-            'car_add': '/storageBill/add',
-            'car_save': '/billetHotsendBase/billetHotsendBase/add',
-            'car_go': '/billetHotsendBase/billetHotsendBase/rodLineDepart'
+            'host_send': 'http://192.168.0.119:8181/billetHotsendBase/billetHotsendBase/add',
+            'car_add': 'http://192.168.0.119:8181/storageBill/add',
+            'car_save': 'http://192.168.0.119:8181/billetHotsendBase/billetHotsendBase/add',
+            'car_go': 'http://192.168.0.119:8181/billetHotsendBase/billetHotsendBase/rodLineDepart',
+            'stack_add': 'http://192.168.0.119:8181/billet/stackingAndLoadingVehicles/addStacking'
         }
 
         self.heat_tangible_temp = {
@@ -117,6 +119,20 @@ class Sender:
             "licensePlate": ""
         }
 
+        self.stack_add_temp = {
+            "ccmNo": "",
+            "billetHotsendTypeConfigId": "",
+            "billetNoList": []
+        }
+
+        self.stack_dict = {
+            "601堆垛": '6',
+            "602堆垛": '7',
+            "604堆垛": '8',
+            "步进冷床": '9',
+            "501堆垛": '10',
+        }
+
         self.mqtt_cli = None
         self.http_flag = True
         self._cache = {}
@@ -333,6 +349,27 @@ class Sender:
         #此处应存储进数据库
         self.send('car_go', tmp)
 
+    def stack_add(self, ccmNo, billetNos, craneNo, Ltime, fromaddr, toaddr, layer=0, address=0):
+        tmp = self.stack_add_temp.copy()
+        
+        tmp['ccmNo'] = ccmNo
+        tmp['billetHotsendTypeConfigId'] = self.stack_dict.get(toaddr, '')
+        tmp['billetNoList'] = []
+        tmp['billetNoList'].append({
+            'billetNos' : ','.join(billetNos) if isinstance(billetNos, list) else billetNos,
+            'vehicleNumber' : craneNo,
+            'liftingTime' : Ltime,
+            'location' : fromaddr,
+            'destination' : toaddr,
+            'positionNum' : "",
+            'plateOrStack' : toaddr,
+            'layer' : str(layer),
+            'address' : str(address)
+        })
+
+        #此处应存储进数据库
+        self.send('stack_add', tmp)
+
 
 if __name__ == '__main__':
     import logging

+ 12 - 4
models/overhead_crane.py

@@ -38,10 +38,10 @@ class Crane:
             "车位3": [2000, 4000],
             "高线辊道": [60300, 62300],
             "601堆垛": [10000, 14000],
-            "5#小冷床(左)": [86000, 96000],
+            "5#小冷床(左)": [86000, 95000],
             "5#小冷床(右)": [72140, 76140],
-            "501堆垛": [110000, 114000],
-            "车位1": [119500, 121500],
+            "501堆垛": [105520, 117725],
+            "车位1": [119370, 122395],
             "车位2": [41800, 43800]
         }
 
@@ -95,6 +95,12 @@ class Crane:
                 self.logger.debug(f"天车{craneNo}正在等待或尝试夹起钢坯")
                 if self.get_billet(craneNo, areaNo):
                     self.logger.debug(f"天车{craneNo}获取到钢坯")
+                    #test
+                    if '5#' in areaNo:
+                        if '左' in areaNo:
+                            self.logger.debug(f"左侧冷床目前情况:{len(self.tracer_5.bed_left[0])}根|{len(self.tracer_5.bed_left[1])}根|{len(self.tracer_5.bed_left[2])}根")
+                        else:
+                            self.logger.debug(f"右侧冷床目前情况:{len(self.tracer_5.bed_right[2])}根|{len(self.tracer_5.bed_right[1])}根|{len(self.tracer_5.bed_right[0])}根")
                 else:
                     self.logger.debug(f"天车{craneNo}未获取到钢坯直接离开")
             else:
@@ -173,5 +179,7 @@ class Crane:
                 self.sender.host_send("6", tmp, "高线", craneNo, tmp_from)
         elif areaNo == "601堆垛":
             self.logger.info(f"有一夹子钢坯放置进了601堆垛")
+            self.sender.stack_add('6', tmp, craneNo, time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()), tmp_from, '601堆垛')
         elif areaNo == "501堆垛":
-            self.logger.info(f"有一夹子钢坯放置进了501堆垛")
+            self.logger.info(f"有一夹子钢坯放置进了501堆垛")
+            self.sender.stack_add('5', tmp, craneNo, time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()), tmp_from, '501堆垛')