Пример #1
0
    def testPacketSendingTimeout(self):
        self.server.simulate_connect()

        self.client.connection.T3 = 0.1

        self.assertEqual(
            self.client.send_and_waitfor_response(secsgem.SecsS01F01()), None)
Пример #2
0
    def testPacketSendingFailed(self):
        self.server.simulate_connect()

        self.server.fail_next_send()

        self.assertEqual(
            self.client.send_and_waitfor_response(secsgem.SecsS01F01()), None)
Пример #3
0
    def testAreYouThereHandler(self):
        self.establishCommunication()

        system_id = self.server.get_next_system_counter()
        self.server.simulate_packet(
            self.server.generate_stream_function_packet(
                system_id, secsgem.SecsS01F01()))

        packet = self.server.expect_packet(system_id=system_id)

        self.assertIsNot(packet, None)
        self.assertEqual(packet.header.sType, 0x00)
        self.assertEqual(packet.header.sessionID, 0x0)
        self.assertEqual(packet.header.stream, 1)
        self.assertEqual(packet.header.function, 2)
Пример #4
0
    def testStreamFunctionReceivingUnselected(self):
        self.server.simulate_connect()

        self.client.register_stream_function(1, 1, self.handleS01F01)

        #send s01e01
        system_id = self.server.get_next_system_counter()
        self.server.simulate_packet(
            self.server.generate_stream_function_packet(
                system_id, secsgem.SecsS01F01()))

        packet = self.server.expect_packet(system_id=system_id)

        self.assertIsNot(packet, None)
        self.assertEqual(packet.header.sType, 0x07)
        self.assertEqual(packet.header.sessionID, 0xffff)
Пример #5
0
    def testStreamFunctionReceivingUnhandledFunction(self):
        self.server.simulate_connect()

        self.performSelect()

        #send s01e01
        system_id = self.server.get_next_system_counter()
        self.server.simulate_packet(
            self.server.generate_stream_function_packet(
                system_id, secsgem.SecsS01F01()))

        packet = self.server.expect_packet(system_id=system_id)

        self.assertIsNot(packet, None)
        self.assertEqual(packet.header.sType, 0x00)
        self.assertEqual(packet.header.sessionID, 0)
        self.assertEqual(packet.header.stream, 9)
        self.assertEqual(packet.header.function, 5)
Пример #6
0
    def testSecsPacketWithoutSecsDecode(self):
        self.server.simulate_connect()

        packet = self.server.expect_packet(s_type=0x01)

        self.assertIsNot(packet, None)
        self.assertEqual(packet.header.sType, 0x01)
        self.assertEqual(packet.header.sessionID, 0xffff)

        self.server.simulate_packet(
            secsgem.HsmsPacket(
                secsgem.HsmsSelectRspHeader(packet.header.system)))

        system_id = self.server.get_next_system_counter()
        self.server.simulate_packet(
            self.server.generate_stream_function_packet(
                system_id, secsgem.SecsS01F01()))

        print(self.client)
Пример #7
0
    def testStreamFunctionReceivingExceptingCallback(self):
        self.server.simulate_connect()

        f = Mock(side_effect=Exception("testException"))

        self.client.register_stream_function(1, 1, f)

        self.performSelect()

        #send s01e01
        system_id = self.server.get_next_system_counter()
        self.server.simulate_packet(
            self.server.generate_stream_function_packet(
                system_id, secsgem.SecsS01F01()))

        packet = self.server.expect_packet(system_id=system_id)

        self.assertIsNot(packet, None)
        self.assertEqual(packet.header.sType, 0x00)
        self.assertEqual(packet.header.sessionID, 0)
        self.assertEqual(packet.header.stream, 1)
        self.assertEqual(packet.header.function, 0)
Пример #8
0
            _dataFormat = [
                    [
                        secsgem.SVID,
                        secsgem.SVNAME,
                    ]
            ]
            _toHost = True
            _toEquipment = False
            _hasReply = False
            _isReplyRequired = False
            _isMultiBlock = False

        self.secsStreamsFunctions[1].update({
                12: SecsS01F12_r,
            })
        
# In[]
if __name__ == '__main__':    
    h = SampleEquipment("127.0.0.1", 5000, False, 0, "sampleequipment")
    h.enable()
    code.interact("equipment object is available as variable 'h', press ctrl-d to stop", local=locals())
    # In[]
    msg = secsgem.SecsS01F01()
    print(msg)
    
    # In[]
    h.send_and_waitfor_response(msg)
    
    # In[]
    h.disable()
Пример #9
0
# S1F15: OFFline Request
# S1F17: Online Request
# S2F41: Remote Command
# S2F45: Limit
# S2F49: Enhanced Remote Command
# S7F1: Process Program Inquiy
# S7F3: Process Program Send
# S2F17: Timer Request
# S2F31: Timer Set

# In[]

if __name__ == '__main__':

    # Request equipment status VID
    print(secsgem.SecsS01F01())
    print(secsgem.SecsS01F02())

    # Request state variable SVID list
    print(secsgem.SecsS01F11())
    print(secsgem.SecsS01F12())

    # Request equipment constant ECID
    print(secsgem.SecsS02F13())
    print(secsgem.SecsS02F14())

    # Change equipment constant ECID
    print(secsgem.SecsS02F15())
    print(secsgem.SecsS02F16())

    # Set trace condition
Пример #10
0
    def testStreamFunctionSending(self):
        self.server.simulate_connect()

        self.performSelect()

        #send s01e01
        clientCommandThread = threading.Thread(target=self.client.send_and_waitfor_response, args=(secsgem.SecsS01F01(),), \
            name="TestSecsHandlerPassive_testStreamFunctionSending")
        clientCommandThread.daemon = True  # make thread killable on program termination
        clientCommandThread.start()

        packet = self.server.expect_packet(function=1)

        self.assertIsNot(packet, None)
        self.assertEqual(packet.header.sType, 0x00)
        self.assertEqual(packet.header.sessionID, 0)
        self.assertEqual(packet.header.stream, 1)
        self.assertEqual(packet.header.function, 1)

        self.server.simulate_packet(
            self.server.generate_stream_function_packet(
                packet.header.system, secsgem.SecsS01F02()))

        clientCommandThread.join(1)
        self.assertFalse(clientCommandThread.isAlive())