ЄС-11

Цифрова комутаційна система

Науково-виробничий центр
"Автоматизовані мікропроцесорні системи"
ЄДРПОУ: 13807402 тел: +380-32-237-21-36

Користувальницькькі налаштування

Налаштування сайту


extrasoft:buildproject:convchan

Програма конвертації таблиць каналів

Програма ConvertChannels374 призначена для оптимізації та упорядкування таблиць каналів комутатора, побудованого на базі кросу 374. На вхід програми подається символьний файл з таблицями каналів верхніх секцій комутатора (-Ln файли); після їх аналізу та оптимізації програма створює фрагмент файлу загального опису комутатора з таблицею каналів. Основна функція програми - спустити канали з рівня 8 mbs (верхніх секцій) до рівня підключення потоків IKM-30 (нижніх секцій). Також, у вихідний файл виводяться довідкові та статистичні таблиці використання каналів та напрямків.

Основне призначення вихідного файлу - це використання його в якості складової частини загального опису комутатора.

Командний рядок

Програма ConvertChannels374 - це консольна програма з запуском та передачею параметрів через командний рядок; порядок вказування параметрів в рядку суттєвий :

  ConvertChannels374 InpFil OutFil ModeKey 
  • InpFil - каталог розміщення, назва та розширення головного вхідного файлу - обов'язковий параметр; в цьому ж каталозі буде створено вихідний файл з переліком синтаксичних помилок (розширення - .Lst);
  • OutFil - каталог розміщення, назва та розширення вихідного файлу;
  • ModeKey - режими роботи програми, а саме:
    • -Wn - перетворення кирилиці з кодування Dos766 у кодування Win1251, але тільки у вкладених вхідних файлах, для формування файлу .Lst;

В командному рядку допускається вказувати перенаправлення стандартного виводу з терминалу StdOut у файл - >FileName.

Імена файлів в командному рядку бажано брати в подвійні лапки - особливо якщо в іменах зустрічаються пробіли. Символи \ у назвах файлів треба подвоювати!

Приклад командного рядка:

  ConvertChannels374 062-ChanTable.Inc "C:\\Switch\\TrosChanl.-Prj-" -Wn > Chan.Err
  • Основний вхідний файл - 062-ChanTable.Inc у поточному каталозі;
  • Вихідний файл з переліком синтаксичних помилок 062-ChanTable.Inc.Lst у поточному каталозі;
  • Вихідний файл з результатами - С:\Switch\TrosChanl.-Prj-;
  • Режим роботи - перекодування кирилиці, але тільки у вкладених вхідних файлах; кирилиця потрапить до файлу 062-ChanTable.Lst;

Підключення вкладених вхідних файлів

Приклад підключення будь-якого файлу:

  include 062KA-ln-V1.inc  ;;

Якщо в назві файлу присутні пробіли або інші сумнівні символи - назву файлу треба брати в подвійні лапки. Рівень вкладеності директив include - не більше 9. Принцип розподілу інформації по вкладеним файлам довільний; як правило, це секційні файли опису каналів (-Ln) комутатора.

Головний вхідний файл

Як правило, у головному вхідному файлі вказується, які секційні файли обробляються. Приклад файлу:

;;################################################################
;;      канали комутатора                 Trostjanec - 062
;;################################################################
include 062KA-ln-V1.inc  ;;
include 062KB-ln-V1.inc  ;;
;;################################################################
;--------------------------------------------------
;; C    Pc76q
AlloctOksPass C,1,H--,0A,8--,32,<--23456789ABCDEFGHIJKLMNOPQRSTUV>
AlloctOksPass C,2,H--,0G,8--,32,<-123456789ABCDEFGHIJKLMNOPQRSTUV>
      AlloctHwa        C,3, HP2N,  0C, 0I     ;
      AlloctHwa        C,4, HP2N,  0D, 0J     ;
      AlloctHwa        C,5, HP2N,  0E, 0K     ;
      AlloctHwa        C,6, HP2N,  0F, 0L     ;
;---------------------------------------------------
;; D    Pc76q
AlloctOksPass D,1,H--,0A,8--,32,<-123456789ABCDEFGHIJKLMNOPQRSTUV>
AlloctOksPass D,2,H--,0G,8--,32,<--23456789ABCDEFGHIJKLMNOPQRSTUV>
AlloctOksPass D,3,H--,0C,8--,32,<-123456789ABCDEFGHIJKLMNOPQRSTUV>
AlloctOksPass D,4,H--,0I,8--,32,<-123456789ABCDEFGHIJKLMNOPQRSTUV>
AlloctOksPass D,5,H--,0E,8--,32,<--23456789ABCDEFGHIJKLMNOPQRSTUV>
AlloctOksPass D,6,H--,0K,8--,32,<--23456789ABCDEFGHIJKLMNOPQRSTUV>
;---------------------------------------------------------
;; E    Cikm6
AlloctOksPass E,1,C--,0A,8--,32,<-123456789ABCDEF-HIJKLMNOPQRSTUV>
AlloctOksPass E,2,C--,0G,8--,32,<-123456789ABCDEF-HIJKLMNOPQRSTUV>
      AlloctHwa        E,3, HP2N,  0C, 0I     ;
      AlloctHwa        E,4, HP2N,  0D, 0J     ;
      AlloctHwa        E,5, HP2N,  0E, 0K     ;
      AlloctHwa        E,6, HP2N,  0F, 0L     ;
;---------------------------------------------------------

Директиви AlloctOksPass, AlloctHwa та AlloctOksHMix визначають схеми підняття потоків в комутаторі; можна використовувати директиви опису з секційних файлів плат (-Pl) готового дворівневого комутатора.

Повідомлення програми

Опис повідомлень програми приведено в Програмі конвертації таблиць аналізу номерів.

Обробка вхідних даних

На вхід програми ConvertChannel374 подається символьний файл з типовою таблицею каналів (-Ln файл), взятий з опису “верхньої секції” комутатора; допускається подача файлів від обох секцій одразу. Програма аналізує директиви опису каналів та, після опускання, об'єднання одно-іменних напрямків та переформатування виводить їх у вихідний файл.

Директиви підняття потоків

Ці директиви визначають схему підняття потоків комутатора до рівня 8 mbs; фактично ці директиви визначають по-канальну відповідність між рівнем IKM-30 та рівнем 8 mbs. Обробка параметрів цих директив дозволяє вирішити обернену задачу - спустити всі канали до рівня підключення потоків IKM-30 - яке використовується в загальному описі комутатора. Можна використовувати директиви опису з секційних файлів плат (-Pl) готового дворівневого комутатора.

Схеми підняття потоків та, відповідно, їх опускання визначається директивами:

AlloctOksPass C,1,H--,0A,8--,32,<--23456789ABCDEFGHIJKLMNOPQRSTUV>
AlloctOksHway C,1,H--,0A,8--,32,<--23456789ABCDEFGHIJKLMNOPQRSTUV>
AlloctOksHMix   F, 2, C--, 0B, 8--, 0H, 8--
    AlloctHwa        C,3, HP2N,  0C, 0I     ;

Ці директиви не поступають у вихідний файл. Інформація, що міститься у цих директивах, запам'ятовується, та використовується для визначення відповідності між “верхнім” та “нижнім” каналом. Як-що для якогось каналу невизначена схема опускання, то у вихідному файлі він відмічається символом '~' - як не оброблений.

Директиви опису каналів

Одиночний канал
LineAloc  x1Dn,A9F3, 00eh,77, 0,   iDc+vFa, %rSht,It,gwt,All,SS0   ;
		ExtraNumer  A9F3, 57, Nsp

В цих директивах позиція каналу, (у прикладі - A9F3), змінюється на відповідну позицію каналу рівня IKM-30 та перетворена директива запам'ятовується для формування напрямку. Якщо канал не має відповідності на рівні IKM-30, він відмічається символом '~' - ~A9F3.

Транки каналів
TrunkLine ySs7,<A2A,A3A>,<VUTSRQPONMLKJIH-FEDCBA987654321->,00ah,  ,<mI, dOv,A ,It,0 ,All,SS8>

В цих директивах субтракт рівня 8 mbs, (у прикладі - A2A,A3A), змінюється на відповідний потік IKM-30, також обробляється список каналів; перетворена директива запам'ятовується для формування напрямку. Якщо субтракт не має відповідності на рівні IKM-30, він відмічається символом '~' - ~A2A.

Група каналів
 MultyLine  xAbn,G3,<12345> ,1,05,<0,Ft,A,Ic,gAB>,ALL,Abn6051

Аналогічно, субтракт змінюється на потік, перетворена директива запам'ятовується для формування напрямку.

Транзитний канал
ChanAloc  x2Tz,A8CF, 0,59, 0,   0, AAD6,

Позиції обох каналів (в прикладі A8CF та AAD6) змінюються на відповідні позиції каналів рівня IKM-30 та перетворена директива запам'ятовується. Після отримання оберненого транзитного каналу (у прикладі AA6D » A8CF) ці обидві директиви опису транзитних каналів замінюються на одну директиву TranzitPair. Якщо канал не має відповідності на рівні IKM-30, він відмічається символом '~' - ~A8CF.

Директиви визначення напрямків та сотень

Початок та кінець напрямку
  HundredStart Bad4
       . . . . . . . . . . . . . .
  HundredStart Bad4

Директиви визначають початок та кінець напрямку (тут Bad4); всі канали визначені між цими директивами попадають в один напрямок - Bad4. Напрямок може складатися з декількох частин - особливо якщо на вхід програми подається декілька вхідних файлів -Ln. Вкладене визначення напрямків не допускається; вкладенність унеможливлює об'єднання одно-іменних напрямків. Після обробки, всі канали одного напрямку виводяться разом. З каналів, що не попали в жоден з напрямків, формується напрямок NoName.

Початок нової сотні
  HundredStart Abnt

Директива визначає початок нової сотні (тут Abnt) та, відповідно, автоматичне завершення попередньої сотні. Під час формування вихідного файлу, програма зберігає послідовність цих директив, з тим щоби канали зберегли свої сотні.

Директиви визначення режимів роботи каналів

Для спрощення опису таблиці каналів (файл -Ln) користувач може може перевизначати режими роботи каналів (ключі) за допомогою відповідних директив:

  iNo = DsNoInform    ;
  nPr = DsModNo810    ;
  wE=CtCllKtgrE

Визначення ключів запам'ятовуються та у відсортованому вигляді виводяться у вихідний файл. У випадку неідентичного перевизначення ключа формується повідомлення про помилку.

Формування вихідного файлу

Програма ConvertChannel374 аналізує директиви у вхідних даних (можливо декілька вхідних файлів) та, після сортування та переформатування, виводить їх у вихідний файл у вигляді директив загального опису комутатора. Тексти пояснень програма формує в кирилиці Win1251. Інформація у вихідному файлі групується у фрагменти опису.

Перевизначення режимів роботи каналів

Цей фрагмент файлу формується з відповідних директив, що зустрічалися у вхідних даних. Виводиться тільки перше визначення; ідентичні повторні визначення ігноруються, не ідентичні - вважаються помилкою. Визначення упорядковані по іменам ключів. Приклад фрагменту:

;;################################################################
;;	Визначення режімів роботи каналів,           визначених: 30
;;================================================================
Ft         = FnModTonal        ;; вR- <м-лc - ІRа
Ia         = DrInternal+DrTownOnly+DrOverTown;;;;;;;;;;;+DrOverSeas
Ic         = DrInternal+DrTownOnly
It         = DrInternal+DrTownOnly+DrOverTown+DrOverSeas	;1-категорiя
No8        = DsModNo810   

Напрямки та канали

Цей фрагмент формується з директив визначення тональних каналів та напрямків; всі канали, як-що це було можливо, приведені до рівня IKM-30. Канали згруповані по напрямкам, напрямки упорядковані за назвами. Приклад одного напрямку:

;;################################################################
;;	Напрямки та канали           Використано напрямків  46
;;      Пустих напрямків  0  :  
;;================================================================
        DirectionStrt    5ESS3
  TrunkLine  xBrd,<L2>,<MOQSU>,00eh,00,<0,bMa,%rSht,It,gwt,All,SS0>  
  TrunkLine  xBrd,<M2>,<QS>,00eh,00,<0,bMa,%rSht,It,gwt,All,SS0>  
  TrunkLine  xBrd,<M2>,<U>,00eh,00,<wE,bMa,%rSht,It,gwt,All,SS0>  
;;!!    В транку  /M2,/  тільки один канал  /U/  - використовуйте /LineAlloc/  
  TrunkLine  xBrd,<H2>,<13579BDFIKMOQSU>,00eh,00,<0,bMa,%rSht,It,gwt,All,SS0>  
  TrunkLine  xBrd,<I2>,<13579BD>,00eh,00,<0,bMa,%rSht,It,gwt,All,SS0>  
  TrunkLine  xBrd,<L3>,<MOQSU>,00eh,00,<0,bMa,%rSht,It,gwt,All,SS0>  
  TrunkLine  xBrd,<M3>,<QS>,00eh,00,<0,bMa,%rSht,It,gwt,All,SS0>  
  TrunkLine  xBrd,<M3>,<U>,00eh,00,<wE,bMa,%rSht,It,gwt,All,SS0>  
;;!!    В транку  /M3,/  тільки один канал  /U/  - використовуйте /LineAlloc/  
  TrunkLine  xBrd,<H3>,<13579BDFIKMOQSU>,00eh,00,<0,bMa,%rSht,It,gwt,All,SS0>  
  TrunkLine  xBrd,<I3>,<13579BD>,00eh,00,<0,bMa,%rSht,It,gwt,All,SS0>  
        DirectionEnds    5ESS3

В кінці цього фрагменту виводяться канали, що не попали в жоден з напрямків; ці канали групуються в напрямок ~~NoName~~:

        DirectionStrt    ~~None~~
      HundredStart    0,Hnd00; Пуста сотня (не?снуючий номер)
  TrunkLine  ySs7,<J3>,<765----->,00ah,,<mI,dOv,AT,It,0,All,SS8>  
  TrunkLine  ySs7,<G1>,<543--->,00ah,,<mI,dOv,AT,It,0,All,SS8>  
  TrunkLine  ySs7,<G1>,<V>,00ah,,<wE,0,AT,It,0,All,SS8>  
;;!!    В транку  /G1,/  тільки один канал  /V/  - використовуйте /LineAlloc/  
  LineAloc  x1Dn,I49,00eh,34,0,iDc+vSn+vFa,%rSht,It,gwt,All,SS0  ;
          ExtraNumer  I49,6,Nsp  
  LineAloc  x1Dn,I17,00eh,33,0,iDc,A,It,0,All,SS0  ;
  LineAloc  x1Dn,I19,00eh,34,0,iDc,A,It,0,All,SS0  ;

Статистика напрямків

Ця довідкова таблиця містить перелік всіх напрямків та число каналів у кожному напрямку. Додатково вказується тип та число використаних канальних драйверів у цьому напрямку:

;;################################################################
;;	Статистика напрямків  ::  напрямкок  >>  тип та число каналів
;;================================================================
;;  5ESS3     / 60/ >>  xBrd / 60/, 
;;  AMTS      / 45/ >>  ySs7 / 45/, 
;;  AMTS_R    / 47/ >>  ySs7 / 47/, 
;;  ATSKC     / 76/ >>  x1Dn / 36/,  xBrd / 40/, 
;;  ATSKC_v   / 31/ >>  x1Dn / 31/, 
;;  BAD1      / 60/ >>  ySs7 / 60/, 
;;  BAD2      / 60/ >>  ySs7 / 60/, 

Статистика каналів

Складається з декількох довідкових таблиць.

Перелік типів каналів

містить число каналів кожного типу та скільки каналів кожного типу використано в кожному напрямку:

;;################################################################
;;	Статистика каналів  ::  тип каналу  >>  напрямок та число каналів
;;================================================================
;;   x1Dn / 424/ >> ATSKC/36/, ATSKC_v/31/, Bilka/29/, Borom/29/, Buym/9/, Dern/5/, 
;;                  Gaj/29/, Giga/9/, Greb/9/, Kamen/27/, Kvt2/58/, Ludj/15/, 
;;                  Mach/5/, Mart/5/, Niza/5/, Pech/5/, Pola/14/, ~~None~~/104/, 
;;   x2Wh /  30/ >> OPM/30/, 
;;   xAbn /   6/ >> ~~None~~/6/, 
Перелік категорій АВН або ISUP

містить кількість каналів, що мають таку категорію:

;;################################################################
;;	Статистика каналів  ::  Категорія АВН/ISUP  >>  число каналів 
;;================================================================
;;  Категорія  0     >>  каналів     5
;;  Категорія  00ah  >>  каналів   338
;;  Категорія  00eh  >>  каналів   408
;;  Категорія  0e0h  >>  каналів   744
;;################################################################
Перелік початкових точок аналізу номера

містить кількість каналів, що використовують таку точку аналізу номера:

;;################################################################
;;	Статистика каналів  ::  Аналіз номера  >>  число каналів 
;;================================================================
;;  Початкова точка  %rSht  >>  каналів   540
;;  Початкова точка  A      >>  каналів   711
;;  Початкова точка  AK     >>  каналів    30
;;  Початкова точка  AT     >>  каналів   214
;;################################################################
Перелік точок аналізу зворотнього номера

містить кількість каналів, що використовують таку точку аналізу зворотнього номера:

;;################################################################
;;	Статистика каналів  ::  Аналіз зворотнього номера  >>  число каналів 
;;================================================================
;;  Початкова точка  All    >>  каналів  1437
;;  Початкова точка  Bilka  >>  каналів    29
;;  Початкова точка  Gaj    >>  каналів    29
;;################################################################
Перелік блоків параметрів транків

містить кількість каналів, що використовують такі блоки:

;;################################################################
;;	Статистика каналів  ::  Блоки параметрів транків  >>  число каналів 
;;================================================================
;;  Назва блоку  S68  >>  каналів     6
;;  Назва блоку  SS0  >>  каналів   884
;;  Назва блоку  SS8  >>  каналів   605
;;################################################################

Транзитні канали

В кінці файлу програма виводить таблицю транзитних каналів.

;;################################################################
;;	Транзитні канали,           визначених: 44
;;================================================================
Точки сигналізації

в цьому фрагменті приведено транзитні канали, що зсилаються сам на себе:

;;	Точки сигналізації,           сформовано: 54
    AlarmPoint   H6D,0   ;; A5F7 <<<<< 
    AlarmPoint   H6F,0   ;; A5F8 <<<<< 
    AlarmPoint   H6I,0   ;; A5F9 <<<<< 
    AlarmPoint   H6K,0   ;; A5FA <<<<< 
Транзитні пари

в цьому фрагменті однією директивою описані обидва канали транзитного з'єднання:

;;	Транзитні пари,               сформовано: 22
      TranzitPair  H5I,0,M49,0   ;; A5E9 <> AAD5
      TranzitPair  I6F,0,M4D,0   ;; A6F8 <> AAD7
      TranzitPair  I6S,0,M4U,0   ;; A6FE <> AADF
      TranzitPair  K3U,0,M4B,0   ;; A8CF <> AAD6
      TranzitPair  K6U,0,M4M,0   ;; A8FF <> AADB
      TranzitPair  L5O,0,M41,0   ;; A9EC <> AAD1
Не побудовані пари

В цьому фрагменті вказуються канали, що були не коректно описані, або не знайшли своєї пари:

;;	Не побудовані пари,              помилок: 0

Використання вихідного файлу

На вхід програми ConvertChanels374 може одночасно поступати декілька файлів опису каналів (-Ln) від різних секцій - найкраще від верхніх. Програма використовує схему підняття потоків IKM-30 та створює файл з оптимальною таблицею каналів, приведеною до рівня потоків IKM-30. Всі канали одно-іменних напрямків об'єднанні, всі канали за межами напрямків відсортовані та зібрані в один напрямок NoName. Всі транзитні канали об'єднуються у відповідні пари та описуються однією директивою.

Основне призначення вихідного файлу - це використання його в якості складової частини загального опису комутатора.

======================================================================================
extrasoft/buildproject/convchan.txt · В останнє змінено: 2015/04/17 15:24 (зовнішнє редагування)