|
@@ -51,10 +51,93 @@ class SiemensCPU(Input):
|
|
|
data = struct.unpack(">BBBB", status)
|
|
|
#print(''.join(["{:02X}".format(x) for x in inputs]))
|
|
|
|
|
|
- cooling_enabled = tuple([data[1] & (1 << i) > 0 for i in range(8)])
|
|
|
- heating_enabled = tuple([data[2] & (1 << i) > 0 for i in range(8)])
|
|
|
+ unterteil_faehrt_aus, \
|
|
|
+ unterteil_faehrt_ein, \
|
|
|
+ auswerfer_1_heben, \
|
|
|
+ auswerfer_1_senken, \
|
|
|
+ auswerfer_2_heben, \
|
|
|
+ auswerfer_2_senken, \
|
|
|
+ abdruecker_seitenteil_links_einfahren, \
|
|
|
+ abdruecker_seitenteil_links_ausfahren = [data[0] & (1 << i) > 0 for i in range(8)]
|
|
|
|
|
|
- self._q.put(PlantState(timestamp, "S7", cpu_state, hydraulics_powered, cooling_enabled, heating_enabled))
|
|
|
+ abdruecker_seitenteil_rechts_einfahren, \
|
|
|
+ abdruecker_seitenteil_rechts_ausfahren, \
|
|
|
+ rolltor_schliessen, \
|
|
|
+ rolltor_oeffnen, \
|
|
|
+ gaswagen_ausfahren, \
|
|
|
+ gaswagen_einfahren, \
|
|
|
+ schwenkplatte_abklappen, \
|
|
|
+ schwenkplatte_einklappen = [data[1] & (1 << i) > 0 for i in range(8)]
|
|
|
+
|
|
|
+ losteil_1_unterteil_einfahren, \
|
|
|
+ losteil_1_unterteil_ausfahren, \
|
|
|
+ losteil_2_einfahren, \
|
|
|
+ losteil_2_ausfahren, \
|
|
|
+ losteil_3_einfahren, \
|
|
|
+ losteil_3_ausfahren, \
|
|
|
+ losteil_4_einfahren, \
|
|
|
+ losteil_4_ausfahren = [data[2] & (1 << i) > 0 for i in range(8)]
|
|
|
+
|
|
|
+ losteil_5_einfahren, \
|
|
|
+ losteil_5_ausfahren, \
|
|
|
+ seitenteil_links_schliessen, \
|
|
|
+ seitenteil_rechts_schliessen, \
|
|
|
+ seitenteil_links_und_rechts_oeffnen, \
|
|
|
+ sandschleuse_schliessen, \
|
|
|
+ sandschleuse_oeffnen, \
|
|
|
+ sandmessung_3_wege_ventil_schliessen = [data[3] & (1 << i) > 0 for i in range(8)]
|
|
|
+
|
|
|
+ sandmessung_3_wege_ventil_oeffnen, \
|
|
|
+ schuss, \
|
|
|
+ hubtisch_senken, \
|
|
|
+ hubtisch_heben, \
|
|
|
+ oberteil_heben, \
|
|
|
+ oberteil_senken = [data[4] & (1 << i) > 0 for i in range(6)]
|
|
|
+
|
|
|
+ self._q.put(PlantState(timestamp, "S7", cpu_state,
|
|
|
+ unterteil_faehrt_aus, \
|
|
|
+ unterteil_faehrt_ein, \
|
|
|
+ auswerfer_1_heben, \
|
|
|
+ auswerfer_1_senken, \
|
|
|
+ auswerfer_2_heben, \
|
|
|
+ auswerfer_2_senken, \
|
|
|
+ abdruecker_seitenteil_links_einfahren, \
|
|
|
+ abdruecker_seitenteil_links_ausfahren, \
|
|
|
+
|
|
|
+ abdruecker_seitenteil_rechts_einfahren, \
|
|
|
+ abdruecker_seitenteil_rechts_ausfahren, \
|
|
|
+ rolltor_schliessen, \
|
|
|
+ rolltor_oeffnen, \
|
|
|
+ gaswagen_ausfahren, \
|
|
|
+ gaswagen_einfahren, \
|
|
|
+ schwenkplatte_abklappen, \
|
|
|
+ schwenkplatte_einklappen, \
|
|
|
+
|
|
|
+ losteil_1_unterteil_einfahren, \
|
|
|
+ losteil_1_unterteil_ausfahren, \
|
|
|
+ losteil_2_einfahren, \
|
|
|
+ losteil_2_ausfahren, \
|
|
|
+ losteil_3_einfahren, \
|
|
|
+ losteil_3_ausfahren, \
|
|
|
+ losteil_4_einfahren, \
|
|
|
+ losteil_4_ausfahren, \
|
|
|
+
|
|
|
+ losteil_5_einfahren, \
|
|
|
+ losteil_5_ausfahren, \
|
|
|
+ seitenteil_links_schliessen, \
|
|
|
+ seitenteil_rechts_schliessen, \
|
|
|
+ seitenteil_links_und_rechts_oeffnen, \
|
|
|
+ sandschleuse_schliessen, \
|
|
|
+ sandschleuse_oeffnen, \
|
|
|
+ sandmessung_3_wege_ventil_schliessen, \
|
|
|
+
|
|
|
+ sandmessung_3_wege_ventil_oeffnen, \
|
|
|
+ schuss, \
|
|
|
+ hubtisch_senken, \
|
|
|
+ hubtisch_heben, \
|
|
|
+ oberteil_heben, \
|
|
|
+ oberteil_senken
|
|
|
+ ))
|
|
|
|
|
|
def get_timestamp(self, cpu_time):
|
|
|
if not self.cpu_start_time:
|