def test_s7(self): """ Objective: Test if the S7 server returns the values expected. """ src_tsaps = (0x100, 0x200) dst_tsaps = (0x102, 0x200, 0x201) s7_con = s7comm_client.s7(self.server_host, self.server_port) res = None for src_tsap in src_tsaps: for dst_tsap in dst_tsaps: try: s7_con.src_tsap = src_tsap s7_con.dst_tsap = dst_tsap res = src_tsap, dst_tsap break except s7comm_client.S7ProtocolError: continue if res: break s7_con.src_ref = 10 s7_con.s.settimeout(s7_con.timeout) s7_con.s.connect((s7_con.ip, s7_con.port)) s7_con.Connect() identities = s7comm_client.GetIdentity(self.server_host, self.server_port, res[0], res[1]) s7_con.plc_stop_function() dic = { 17: { 1: "v.0.0" }, 28: { 1: "Technodrome", 2: "Siemens, SIMATIC, S7-200", 3: "Mouser Factory", 4: "Original Siemens Equipment", 5: "88111222", 7: "IM151-8 PN/DP CPU", 10: "", 11: "", }, } for line in identities: sec, item, val = line.split(";") try: self.assertTrue(dic[int(sec)][int(item)] == val.strip()) except AssertionError: print((sec, item, val)) raise
def test_s7(self): """ Objective: Test if the S7 server returns the values expected. """ src_tsaps = (0x100, 0x200) dst_tsaps = (0x102, 0x200, 0x201) s7_con = s7comm_client.s7('127.0.0.1', self.server_port) res = None for src_tsap in src_tsaps: for dst_tsap in dst_tsaps: try: s7_con.src_tsap = src_tsap s7_con.dst_tsap = dst_tsap res = src_tsap, dst_tsap break except s7comm_client.S7ProtocolError: continue if res: break s7_con.src_ref = 10 s7_con.s.settimeout(s7_con.timeout) s7_con.s.connect((s7_con.ip, s7_con.port)) s7_con.Connect() identities = s7comm_client.GetIdentity('127.0.0.1', self.server_port, res[0], res[1]) dic = { 17: {1: "v.0.0"}, 28: { 1: "Technodrome", 2: "Siemens, SIMATIC, S7-200", 3: "Mouser Factory", 4: "Original Siemens Equipment", 5: "88111222", 7: "IM151-8 PN/DP CPU", 10: "", 11: "" } } for line in identities: sec, item, val = line.split(";") try: self.assertTrue(dic[int(sec)][int(item)] == val.strip()) except AssertionError: print sec, item, val raise