示例#1
0
    def __init__(self,
                 aid: AID,
                 substation: str,
                 IEDs: List[IED],
                 debug=False):
        super().__init__(aid, substation, debug)

        # Instance IEDs
        self.IEDs = {}
        for ied in IEDs:
            self.IEDs[ied.id] = ied
            ied.callback = self.receive_ied_event

        # Adiciona behaviours
        self.behaviours_enviodedados = \
            FipaSubscribeProtocol(self, is_initiator=False)
        # Permite enviar dados ao ADC
        self.behaviours_recebercomando = \
            FipaRequestProtocol(self, is_initiator=False)
        # Permite receber comandos do ADC

        self.behaviours_enviodedados.set_subscribe_handler(
            self.handle_subscribe)
        self.behaviours_recebercomando.set_request_handler(self.handle_request)

        self.deadtime = 1.5  # Tempo em segundos do deadtime
        # Mantém o ACom à escuta durante um certo tempo de deadtime antes de notificar eventos
        self.in_hold = False
        # Armazena temporariamente o documento enquanto ele está sendo construído
        self.document_to_send = None
示例#2
0
    def __init__(self, aid):
        super().__init__(aid=aid, debug=False)
        self.subscribe = FipaSubscribeProtocol(self, is_initiator=False)
        self.subscribe.set_subscribe_handler(self.on_subscribe)

        # informer
        def informer():
            inform = ACLMessage()
            inform.set_content(str(randint(0, 1000)))
            self.subscribe.send_inform(inform)

            self.call_later(5.0, informer)

        informer()
示例#3
0
 def __init__(self, aid, publisher_aid):
     super().__init__(aid=aid, debug=False)
     self.subscribe = FipaSubscribeProtocol(self, is_initiator=True)
     self.call_later(5.0, lambda: self.call_subscribe(publisher_aid))