Cavi DROP
Informazioni generali
I cavi drop collegano i TP ai DP o SCP.
Partendo da un area SCP è possibile lanciare la procedura che li creerà in automatico. La procedura genera un log che è possibile consultare dal tab Drop cables log list.
Per semplificare le successive descrizioni bisogna introdurre alcune specifiche sui materiali:
- per cavi con materiale interrato si intendendo cavi con materiale:
- 4238777 4 OFs G657.A1 Microcable
- 4238778 12 OFs G657.A1 Microcable
- 4238779 24 OFs G657.A1 Microcable
- per cavi con materiale aereo si intendono i cavi con materiale:
- 4239779 4 f.o. Aerial drop cable
- 4239780 12 f.o. Aerial drop cable
- 4239781 24 f.o. Aerial drop cable
- 11221084 36 f.o. Aerial drop cable
- 11221085 48 f.o. Aerial drop cable
- tratte di tipo aereo sono tutte le tratte che hanno un lines_types con is_aerial=true
- tratte di tipo interrato sono tutte le tratte che hanno un lines_types con is_aerial=false
Fasi principali della procedura:
- Controlli preliminari
- Assegnazione degli elementi alle aree SCP
- Cancellazione dei cavi errati
- Creazione dei nuovi cavi
- Controlli di qualità
Controlli preliminari
- Non sarà possibile procedere se l'id del progetto dell'area per cui si è lanciata la procedura corrisponde ad uno dei seguenti:
- 2407432 PER01/02e
- 2407438 PER01/01e
- 2407444 PER01/01w
- 2407450 PER01/02w
Errore: il progetto risulta consegnato, quindi non è possibile procedere.
- Non sarà possibile procedere se l'area per la quale si è premuto il pulsante non è un area SCP
Errore: L'area selezionata non è un area SCP
Assegnazione degli elementi alle aree SCP
Non verrà spiegato in questo paragrafo il funzionamento della procedura, si rimanda alla sezione specifica.
La procedura viene eseguita su tutto il progetto, il risultato dell'assegnazione viene inserito nel log prodotto dalla procedura di creazione dei cavi DROP.
Cancellazione dei cavi errati
Cancellazione in base alle UI del TP
Vengono selezionati tutti i TP dell'area SCP selezionata ed i corrispettivi cavi DROP collegati che abbiano una discrepanza tra le UI del TP e la somma del numero delle fibre dei cavi.
Per ogni TP così ottenuti viene calcolata la quantità di cavi dimensionati necessari per poter coprire la quantità delle UI. Questi poi verranno confrontati con i cavi esistenti sul TP.
Qual ora dovessero essere presenti cavi in più o diversi rispetto a quelli aspettati per il TP dovranno essere cancellati. Prima di procedere alla cancellazione verrà verificato lo stato dei cavi. I cavi sono cancellabili solo se lo è stato inferiore a design approved. Sia nel caso si possano cancellare i cavi che non, verranno esposte nel log le seguenti diciture.Il nodo x è collegato a dei cavi che non risultano corretti in base alle ui.Almeno uno dei cavi collegati al nodo è in stato 'Design Approved' o superiore. Verranno cancellati i cavi con stati minori se presenti. Si prega di verificare e sistemare manualmente eventuali discrepanze.Il nodo x è collegato a dei cavi che non risultano corretti in base alle ui.I cavi collegati al nodo verranno cancellati.
Cancellazione in base ai tipi di tratta
Cavi errati tra SCP e TP
Vengono selezionati tutti i cavi dell'area che hanno come nodo iniziale un SCP e come nodo finale un TP e che hanno un materiale diverso dai materiali interrati sovrascritti
Cavi errati tra DP e TP
Vengono selezionati tutti i cavi dell'area che hanno come nodo iniziale un DP e come nodo finale un TP e che rispettano una delle seguenti condizioni
- almeno una delle tratte che compongono il cavo sia di tipo aereo e cavo con materiale interrato
- almeno una delle tratte che compongono il cavo sia di tipo interrato e cavo con materiale diverso da quello interrato
Quindi per i cavi selezionati verrà controllato la stato per verificare che siano cancellabili, se lo sono verranno cancellati, qual ora non lo siano verrà segnalato nel log.
Il cavo X risulta avere il materiale sbagliato rispetto alle tratte , non è possibile cancellarlo perché lo stato è 'Design approved' o maggiore.
Il cavo X risulta avere il materiale sbagliato rispetto alle tratte , verrà cancellato. Informazione del cavo: materiale [...]; nodi [...]
N.B. Per la cancellazione dei cavi viene richiamato il trigger che normalmente viene utilizzato quando si cancellano i cavi dall'interfaccia.
Creazione nuovi cavi DROP
La creazione dei nuovi cavi procede nel seguente ordine, prima vengono creati i cavi da SCP a TP e poi quelli da DP a TP. Per entrambe verranno selezionati dei dati comuni:
- Le informazioni dell'area SCP
- Le informazioni del nodo SCP a cui l'area appartine
- Le informazioni delle project claimed entity se presenti dell'area SCP
Creazione cavi da SCP a TP
Selezione dei dati necessari alla procedura:
- Vengono selezionati tutti i TP dell'area SCP di tipo BEP o BDP con il rispettivo numero di UI e se presente l'id della sezione di cui sono i nodi finali, se il risultato della query è vuoto verrà restituito il seguente errore
Non sono presenti TP nell'area SCP. - Vengono selezionate le tratte dell'area SCP di tipo aereo
Ricerca del percorso per il nuovo cavo
Per ogni TP precedentemente selezionato si verifica se:
- nel percorso tra SCP e TP ci sono tratte di tipo aereo se dovessero esserci non sarà possibile creare il cavo e verrà segnalato nel log.
Il nodo ottico id X non ha tutte le tratte che lo connettono in interrata (lista id : [...]). - che il TP non abbia già una sezione entrante se dovesse esserci non sarà possibile creare il cavo e verrà segnalato nel log
Per il nodo ottico id X è già presente un cavo in ingresso.
N.B. per cercare le tratte tra SCP e TP viene utilizzato la routing di pgr_dijkstra che trova il percorso più breve tra i nodi fisici di SCP e TP, qual ora non dovesse trovarlo sarà segnalato nel log.Non è possibile ricostruire il percorso tra X e Y
Se i controlli vengono superati, verrà creato un cavo tra SCP ed il TP in esame (utilizzando la creazione partendo dai nodi). La creazione del cavo verrà affrontata successivamente essendo comune.
Creazione cavi da DP a TP
Selezione dei dati necessari alla procedura:
- Vengono selezionati tutti i TP dell'area SCP con il rispettivo numero di UI e la tratta collegata
- Vengono selezionati tutti i TP dell'area SCP che hanno più di una tratta collegata
- Vengono selezionate tutte le tratte dell'area SCP con net use = DROP
- Vengono selezionati tutti i DP dell'area SCP
- Vengono selezionate tutte le relazioni nodo cavo degli TP selezionati al primo punto
- Vengono selezionati tutti i TP dell'area SCP che sono nodo di ordine 1 di un cavo
Ricerca del percorso per il nuovo cavo
Per ogni TP precedentemente selezionato si verifica se:
- sia connesso a una tratta
Il nodo ottico id X non è collegato a nessuna tratta, non verrà processato. - la tratta connessa sia una tratta all'interno dell'area e che abbia il net use corretto
Per il nodo ottico id X non è possibile ottenere l'informazione della tratta, verificare che sia connessa alla stessa area del nodo o che abbia utilizzo corretto, il nodo non può processato. - non abbia più di una tratta connessa
Il nodo ottico id X è collegato a più tratte, non verrà processato - non abbia cavi in ingresso che lo collegano ad un nodo diverso da DP (se il cavo lo dovesse collegare ad un DP verrà segnalata la presenza del collegamento esistente, la verifica della correttezza verrà fatta successivamente)
Il nodo ottico id X ha almeno un cavo in ingresso non verrà processato.
Algoritmo di ricerca del DP da collegare al TP
Per ogni TP viene eseguito un algoritmo ricorsivo che cerca il primo DP collegato tramite le tratte al TP. I parametri di ingresso dell'algoritmo sono:
(prima iterazione)
- tratta: tratta collegata al TP
- dataset di dati del progetto: mappa dei DP dove la chiave è l'id del nodo fisico, mappa delle tratte dove la chiave è l'id di uno dei nodi fisici della tratta (qui la tratta sarà presente due volte nella mappa: la prima con la chiave uguale all'id del source e la seconda con la chiave uguale all'id del target)
- nodo iniziale: id del nodo fisico del TP
Nella classe dell'algoritmo è presente un set che contiene gli id delle tratte che sono già state attraversate, questo per evitare possibili loop.
L'algoritmo funziona nel seguente modo
- controllo che la tratta in ingresso non sia tra quelle già controllate, se lo è viene restituito null
- la tratta in ingresso viene aggiunta alla lista delle tratte già controllate
- viene cercato il nodo "finale" della tratta, in pratica è il nodo source/target della tratta diverso dal id del nodo iniziale
- ottenuto il nodo "finale" si verifica se sia presente un nodo DP collegato al id del nodo fisico finale
- se presente un DP, verrà restituito questo e l'algoritmo terminerà
- se non è stato trovato il DP, verranno cercate le tratte nel dataset collegate al nodo finale,
- se non presenti l'algoritmo restituisce null
- altrimenti per tutte le tratte trovate verrà chiamato l'algoritmo al punto 1 passando la tratta trovata, il dataset e il nodo "finale"
Una volta concluso l'algoritmo della ricerca dei DP se il DP non viene trovato il TP verrà segnalato nel log Per il nodo ottico id X non è stato trovare il DP verificare il tipo delle tratte connesse (devono essere drop) e verificare che il percorso non abbia interruzioni.
Se al contrario il DP viene trovato verrà fatta una verifica in cui si controllerà se il TP era già precedentemente collegato ad un DP e se questo DP è uguale a quello trovatoIl TP id X è collegato al DP id Y, non verranno apportate modifiche.
Oppure Il TP id X è collegato al DP id Y, il collegamento risulta ERRATO, il cavo verrà CANCELLATO e ricreato. (QUESTA FUNZIONALITÀ È ANCORA DA IMPLEMENTARE, SI PREGA DI CANCELLARE A MANO)
Nel caso il TP non fosse collegato ad un DP precedentemente e venga trovato il percorso verso ad un DP si procederà alla creazione del cavo partendo dai nodi.
Creazione del cavo partendo dai nodi
Dati due nodi, nodo iniziale e finale, si procede alla creazione del nuovo cavo, di seguito la base del cavo creato:
- net use = DROP
- flag is_primaria = false
- flag is_adduzione = true
- stato oggetto = Design
- drawing = stesso drawing dell'area SCP
Settaggio del materiale
- Sul cavo verrà settato sul campo originalUi le UI del TP in modo da mantenere l'informazione.
- Per il numero fibre verrà selezionata la quantità giusta del numero fibre in base alle orginalUi ed al flag notUse48 che in questo caso sarà sempre impostato a true. Il numero di fibre segue la seguente logica
- UI <= 4 allora 4
- UI <= 12 allora 12
- UI <= 24 OPPURE notUseMoreThan24 allora 24
- UI <= 36 allora 36
- infine per tutti i valori superiori 48
- Per il materiale dei cavi tra:
- SCP e TP verrà cercato il materiale corrispondente al numero fibre ricavato prima tra i materiali dei cavi interrati.
- DP e TP verrà cercato il materiale tra dei cavi aerei se il cavo risulta aereo, altrimenti tra il materiale dei cavi interrati (nella creazione da nodi, il cavo risulta inizialmente sempre interrato)
- Vengono create le relazioni tra cavo e nodi, la relazione con ordine 1 avrà come id del nodo quello del SCP o del DP e come relazione con ordine 2 l'id del TP
Creazione del cavo partendo da un cavo esistente
La creazione di un cavo partendo da un cavo esistente è sostanzialmente come la procedura di creazione partendo dal nodo con leggere variazioni
- viene verificato se il cavo esistente risulta essere un cavo aereo in base al materiale
- per il set del materiale si usa il numero di fibre che viene passato e non le UI del TP
- flag notUse48 in questo caso dipenderà dal fatto che il cavo sia o no aereo, notUse48 = true se il cavo non è aereo notUse48 =false se il cavo è aereo
Inserimento cavi e relazioni
Per ogni cavo creato partendo dai nodi verranno:
- inserito 1 record nella tabella pcab_cables
- dopo l'inserimento del cavo verrà usato l'id generato per impostarlo sulle relazioni con i nodi e inseriti 2 record nella tabella pcab_r_cables_nodes
- create ed inserite le prj_claimed_entites per il cavo e le relazioni cavi nodi copiando le configurazioni da quello dell'area SCP, questo se l'area SCP aveva le claimed entities
Tracciamento dei cavi
Per il tracciamento dei cavi, viene richiamata la stessa procedura che viene richiamata dall'interfaccia. Qual ora ci fossero dei problemi, verranno segnalati nel logErrore durante il traccia cavo id X: [messaggio]
Modifica del materiale dei cavo
Vale solo per la procedura cavi da DP a TP.
Per tutti i cavi precedentemente inseriti viene eseguita una query per selezionare quei cavi che hanno tratte di tipo aereo. Per ciascuno di questi cavi verrà selezionato il numero di fibre da utilizzare e il nuovo materiale a seguito verranno eseguite le query per aggiornare il dato sul database per il cavo e per le sezioni.
Di seguito vengono aggiornate anche le r_cables_fibers in base al materiale del cavo con il metodo che viene utilizzato dal traccia cavo.
Aggiunta dei cavi addizionali
Per ogni cavo viene confrontato originalUi con fibers_number del materiale, se originalUi > fibers_number allora verrà segnalata l'aggiunta dei cavi nel log.Il cavo id X (tra DP/SCP id Y e tp id Z ) ha più ui di quante sono le fibre. Verranno aggiunti ulteriori cavi.
Per ogni cavo si cercherò di capire la quantità di fibre di cavi che possa coprire il valori di originalUi, per fare questo
- qt_max_mat: viene cercato la quantità di cavi dal materiale massimo di fibre che sarà uguale a originalUi / fibers_number arrotondando per difetto
- infine verrà cercata l'ultimo materiale da aggiungere, questo sarà dato da originalUi - (fibers_number * qt_max_mat) se questo valore dovesse essere diverso da zero verranno usati i metodi di calcolo del numero fibra già spiegati al paragrafo Settaggio del materiale
I cavi verranno creati partendo dal cavo preso in esame come descritto precedentemente, verranno inseriti nel database e tracciati
Aggiornamento del net use dei cavi
Non è ben chiaro perché necessario ma poco prima della fine della procedura si è reso necessario aggiornare ulteriormente il net use dei cavi creati precedentemente ed impostarlo a DROP.
Segnalazione cavi con errori ed aggiornamento della geometria
Per tutti i cavi creati precedentemente verrà controllata la presenza di errori dovuti al traccia cavo o l'assenza di geometria, e verranno segnalati nel log. Inoltre per tutti i cavi che non hanno la geometria verrà creata una geometria fittizia, una linea di cui i vertici sono i nodi ottici presenti nelle relazioni cavo nodo.Non è possibile tracciare i seguenti cavi: [lista id cavi]
Verrà creata una geometria fittizia per renderli visibili in mappa.
La creazione della geometria fittizia è necessaria perché la presenza di cavi senza geometria creava problemi in fare di apertura di aree di modifica.
Controlli di qualità
A seguito della creazione dei cavi drop vengono eseguiti alcuni controlli.
- Verifica dei cavi che dovrebbero essere DROP: vengono selezionati tutti i cavi dell'area SCP collegati ad un TP che hanno il net use diverso da DROP
I seguenti cavi dovrebbero essere drop, si prega di verificare: - Verifica di cavi DROP dell'area SCP che non hanno geometria
I seguenti cavi drop non hanno geometria, si prega di verificare: - Verifica la presenza di cavi DROP che attraversano più aree SCP di cui una è quella per cui si è lanciato la procedure
I seguenti cavi drop attraversano multiple aree scp, si prega di verificare:

No Comments