示例#1
0
    
    input_line = 0
    def read_callback(*msg):
        
        if msg[1] is True and msg[0] == input_line: # if signal is high and address is 0
            defective = random.randint(0,4)
            
            if defective == 0:
                print "Part defective"
                mws.triggerInput(1,3.0)# args: address , time to raise level - default 0.5
            else:
                print "Part OK"
                mws.triggerInput(0,3.0)# args: address , time to raise level - default 0.5
        
    mws = ModbusWrapperServer(port)
    mws.startServer()
    
    # handler to exit on ctrl+c
    def signal_handler(signal, frame):
            print('You pressed Ctrl+C!')
            mws.stopServer()
            sys.exit(0)
    signal.signal(signal.SIGINT, signal_handler)
    print('Press Ctrl+C')

    mws.stateChangeListener(input_line) # listens to line 0 of baxter
    mws.state_changed.connect(read_callback) # links a callback
    
    
    signal.pause()