ООО «НПП Электромеханика» Описание протокола передачи данных по ГОСТ Р МЭК 60870-5-101–2006 ПЦ6806-03М. А1 -------------------------------------------------------------------------------------------------------------------------------------ASDU 100 Команда опроса -> активация , <FC3>, <ASDU 100 C_IC_NA>, <причина передачи 6> <- ACK , <FC0> -> запрос данных , < FC11> <- подтверждение активации , <FC8>, <ASDU 100 C_IC_NA>, <причина передачи 7> -> запрос данных , <FC11> <- данные , <FC8>, <ASDU 11>, <причина передачи 21> -> запрос данных , <FC11> <- завершение активации , <FC8>, <ASDU 100 C_IC_NA>, <причина передачи 10> Группа 1: Измеренные данные (мгновенные значения) возвращается посредством ASDU 11 SQ=1 Измеренные данные (мгновенные значения) Мгновенное действующее значение напряжения фазы A (Ua), 0,1В 0x0200 +/- Мгновенное действующее значение напряжения фазы B (Ub) , 0,1В 0x0201 +/- Мгновенное действующее значение напряжения фазы C (Uc) , 0,1В Мгновенное действующее значение тока фазы A (Ia) , 1мА Мгновенное действующее значение тока фазы B (Ib) , 1мА 0x0202 0x0203 0x0204 +/+/+/- Мгновенное действующее значение тока фазы C (Ic) , 1мА Мгновенная активная мощность фазы A (Pa) , 0,1 Вт Мгновенная активная мощность фазы B (Pb) , 0,1 Вт 0x0205 0x0206 0x0207 +/+/+/- Мгновенная активная мощность фазы C (Pc) , 0,1 Вт Мгновенная реактивная мощность фазы A (Qa) , 0,1 вар 0x0208 0x0209 +/+/- Мгновенная реактивная мощность фазы B (Qb) , 0,1 вар Мгновенная реактивная мощность фазы C (Qc) , 0,1 вар 0x020A 0x020B +/+/- Мгновенная полная мощность фазы A (Sa) , 0,1 ВА Мгновенная полная мощность фазы B (Sb) , 0,1 ВА 0x020C 0x020D +/+/- Мгновенная полная мощность фазы C (Sc) , 0,1 ВА 0x020E +/- Мгновенное действующее значение межфазного напряжения (Uab) , 0,1В Мгновенное действующее значение межфазного напряжения (Ubc) , 0,1В 0x020F 0x0210 +/+/- Мгновенное действующее значение межфазного напряжения (Uac) , 0,1В Мгновенное действующее напряжение нулевой последовательности (3U0) , 0,1В 0x0211 +/- 0x0212 +/- Мгновенное действующее значение тока нулевой последовательности (3I0) , 0,1В Мгновенное среднее значение напряжения (U) , 0,1В 0x0213 +/- 0x0214 +/- Мгновенное среднее значение тока (I) , 1мА 0x0215 +/- Мгновенная активная мощность трехфазной системы (P_) , Вт Мгновенная реактивная мощность трехфазной системы (Q_), вар 0x0216 0x0217 +/+/- Мгновенная полная мощность трехфазной системы (S_) , ВА 0x0218 +/- Группа 2: Измеренные данные (интегрированные значения) возвращается посредством ASDU 11 SQ=1 Интегрированное действующее значение напряжения фазы A (Ura), 0,1В 0x0240 +/- Интегрированное действующее значение напряжения фазы B (Urb) , 0,1В Интегрированное действующее значение напряжения фазы C (Urc) , 0,1В 0x0241 0x0242 +/+/- Интегрированное действующее значение тока фазы A (Ira) , 1мА Интегрированное действующее значение тока фазы B (Irb) , 1мА 0x0243 0x0244 +/+/- Интегрированное действующее значение тока фазы C (Irc) , 1мА 0x0245 +/- Интегрированная активная мощность фазы A (Pra), 0,1 Вт Интегрированная активная мощность фазы B (Prb) , 0,1 Вт 0x0246 0x0247 +/+/- Интегрированная активная мощность фазы C (Prc) , 0,1 Вт Интегрированная реактивная мощность фазы A (Qra) , 0,1 вар 0x0248 0x0249 +/+/- Интегрированная реактивная мощность фазы B (Qrb) , 0,1 вар 0x024A +/- Интегрированная реактивная мощность фазы C (Qrc) , 0,1 вар Интегрированная полная мощность фазы A (Sra) , 0,1 ВА 0x024B 0x024C +/+/- Интегрированная полная мощность фазы B (Srb) , 0,1 ВА Интегрированная полная мощность фазы C (Src) , 0,1 ВА 0x024D 0x024E +/+/- Интегрированное действующее значение межфазного напряжения (Urab) , 0,1В 0x024F Интегрированное действующее значение межфазного напряжения (Urbc) , 0,1В 0x0250 +/+/- Интегрированное действующее значение межфазного напряжения (Urac) , 0,1В Интегрированное действующее напряжение нулевой последовательности (3Ur0) , 0,1В Интегрированное действующее значение тока нулевой последовательности (3Ir0) , 1 мА Интегрированное среднее значение напряжения (Ur) , 0,1В Интегрированное среднее значение тока (Ir) , 1 мА 0x0251 +/- 0x0252 +/- 0x0253 +/- 0x0254 0x0255 +/+/- Интегрированная активная мощность трехфазной системы (P_) , Вт 0x0256 +/- Интегрированная реактивная мощность трехфазной системы (Q_) , вар Интегрированная полная мощность трехфазной системы (S_) , ВА 0x0257 0x0258 +/+/- Группа 3: Дополнительные измеренные данные возвращается посредством ASDU 11 SQ=1 Частота Температура 0x0280 0x0281 Угол между током и напряжением фазы А 0x0282 +/+/- Угол между током и напряжением фазы В Угол между током и напряжением фазы С 0x0283 0x0284 Угол между фазными напряжениями А и В 0x0285 Угол между фазными напряжениями B и С Угол между фазными напряжениями С и A 0x0286 0x0287 Коэффициент мощности (Cos) фазы А 0x0288 0x0289 Коэффициент мощности (Cos) фазы B Коэффициент мощности (Cos) фазы C Коэффициент мощности (Cos) общий 0x028A 0x028B Группа 4: Состояние ТС, ТУ, Уставок. Передаются посредством ASDU <1> SQ=1 Состояние ТС1 0x02B0 Состояние ТС2 Состояние ТС3 0x02B1 0x02B2 Состояние ТС4 0x02B3 Состояние ТС5 Состояние ТС6 0x02B4 0x02B5 Состояние ТС7 Состояние ТС8 0x02B6 0x02B7 Состояние ТУ1 Состояние ТУ2 0x02C0 0x02C1 Состояние ТУ3 0x02C2 Состояние ТУ4 Состояние Уставки 1 0x02C3 0x02D0 Состояние Уставки 2 Состояние Уставки 3 0x02D1 0x02D2 Состояние Уставки 4 0x02D3 Состояние Уставки 5 Состояние Уставки 6 0x02D4 0x02D5 Состояние Уставки 7 Состояние Уставки 8 0x02D6 0x02D7 Состояние Уставки 9 Состояние Уставки 10 0x02D8 0x02D9 Состояние Уставки 11 0x02DA Состояние Уставки 12 Состояние Уставки 13 0x02DB 0x02DC Состояние Уставки 14 Состояние Уставки 15 0x02DD 0x02DE Состояние Уставки 16 0x02DF Группа 5: Состояние ТС, ТУ. Передаются посредством ASDU <2> SQ=1 Состояние ТУ1 Состояние ТУ2 0x02F0 Состояние ТУ3 Состояние ТУ4 0x02F1 +/- Состояние ТС1 Состояние ТС2 0x02F4 Состояние ТС3 0x02F5 Состояние ТС4 Состояние ТС5 0x02F6 Состояние ТС6 Состояние ТС7 0x02F7 Состояние ТС8 Группа 16: тип прибора передается на верхний уровень посредством ASDU 7 SQ=1 с описателем качества 0. Информация об устройстве (структура Sns_TYPE) Резерв Модель = 0x0668 Номер модификации и ревизии 0x2000 Mod_N_R = 0xXX05 Биты исполнения и версия программы Серийный номер, мл. слово 0x2001 M_Pr_V Серийный номер, ст. слово Контрольная сумма ПО общая, мл. слово 0x2002 0x2003 Контрольная сумма ПО общая, ст. слово Контрольная сумма метрологически значимой части ПО, мл. слово Контрольная сумма метрологически значимой части ПО, ст. слово 0x2004 ASDU 101 Передача интегральных сумм – режим С. -> активация , <FC3>, <ASDU 101 C_IC_NA>, <причина передачи 6> <- ACK , <FC0> -> запрос данных , < FC11> <- подтверждение активации , <FC8>, <ASDU 101 C_IC_NA>, <причина передачи 7> -> запрос данных , <FC11> <- данные , <FC8>, <ASDU 15>, <причина передачи 38> -> запрос данных , <FC11> <- завершение активации , <FC8>, <ASDU 101 C_IC_NA>, <причина передачи 10> Счетчики 1 группа: Счетчики энергии возвращаются ASDU 15 Энергия активная потреблённая (Ep+) 0x023A +/- Энергия активная возвращённая (Ep-) Энергия реактивная потреблённая (ErL) 0x023B 0x023C +/+/- Энергия реактивная возвращённая (ErC) 0x023D +/- Счетчики 2 группа: Счетчики ТС возвращаются ASDU 15 Счётчик ТС1 Счётчик ТС2 0х023E 0х023F +/+/- ASDU 102 Читает один объект данных по заданному адресу ->запрос, <FC11>, <ASDU 102>, <причина передачи 5> <-ответ, <FC8>, <ASDU 11>, <причина передачи 5> При ошибке выдается отрицательная квитанция с FC9 в виде отраженного ASDU с соответствующей причиной передачи 44,45,46,47 Установка ТУ Выполняется в два этапа: 1) Подготовительная команда <ASDU 45,46>, <причина передачи 6> SCO = 80/81 (80 – предварительный выбор, отключить; 81 – предварительный выбор, включить;) -> активация , <FC3>, <ASDU 45,46>, <причина передачи 6> <- ACK , <FC0> -> запрос данных , < FC11> <- подтверждение активации , <FC8>, < ASDU 45,46>, <причина передачи 7> 2) Непосредственно команда включения отключения <ASDU 45,46>, <причина передачи 6> SCO = 0/1 (0 – исполнение, отключить; 1 – исполнение, включить;) -> активация , <FC3>, <ASDU 45,46>, <причина передачи 6> <- ACK , <FC0> -> запрос данных , < FC11> <- подтверждение активации , <FC8>, < ASDU 45,46>, <причина передачи 7> При неправильном адресе объекта, несовпадении предварительной и исполнительной команд, отсылается отраженный ASDU в виде отрицательной квитанции с функциональным кодом 1 и причиной передачи 47. При подаче сигнала включения включение произойдет на время, согласно QU. При подаче сигнала отключения при QU==3 произойдет отключение, при QU==0,1,2 сначала будет выдан импульс вкл на соответствующее время. QU== 1 – короткий импульс 2 – длинный импульс 3 – постоянный выход (только для <ASDU 45>, для <ASDU 46>– короткий импульс) При QU равном другому значению выдается отрицательная квитанция с причиной 47. По требованию стандарта адреса команд как объектов информации должны отличаться от адресов ТУ, к которым они относятся. Для телеуправления (<ASDU 45,46>) выбран адрес ТУ + 0x1000. Запись конфигурации (адрес, скорость, протокол и др.) <ASDU 49> Выполняется в два этапа: 1) Подготовительная команда <ASDU 49>, <причина передачи 6> QOS = 80 -> активация , <FC3>, <ASDU 49>, <причина передачи 6> <- ACK , <FC0> -> запрос данных , < FC11> <- подтверждение активации , <FC8>, < ASDU 49>, <причина передачи 7> 2) Непосредственно команда изменения конфигурационного параметра <ASDU 49>, <причина передачи 6> QOS = 0 -> активация , <FC3>, <ASDU 49>, <причина передачи 6> <- ACK , <FC0> -> запрос данных , < FC11> <- подтверждение активации , <FC8>, < ASDU 49>, <причина передачи 7> При неправильном адресе объекта, несовпадении предварительной и исполнительной команд, отсылается отраженный ASDU в виде отрицательной квитанции с функциональным кодом 1 и причиной передачи 47. Адреса параметров конфигурации Адрес в сети Скорость в сети текущего канала 0x0800 0x0801 +/+ +/+ Протокол передачи данных текущего канала Время для периодической передачи, с 0x0802 0x0803 +/+ +/+ Время для спорадической передачи счетчиков энергии, мин. 0x0804 +/+ Тип ASDU для спорадической передачи ТС, ТУ, Уставок (ASDU 1,2,30) 0x0810 +/+ Тип ASDU для спорадической передачи ТИТ (ASDU 11,12,35) Тип ASDU для спорадической передачи счетчиков (ASDU 15,16,37) 0x0811 0x0812 +/+ +/+ Тип ASDU для передачи ТС, ТУ, Уставок (ASDU 1,2,30) Тип ASDU для передачи ТИТ (ASDU 11,12,35) 0x0813 0x0814 +/+ +/+ Тип ASDU для передачи счетчиков (ASDU 15,16,37) 0x0815 +/+ *Количество двухэлементных каналов ТУ (0, 1, 2) (ASDU 3,4,31) *Количество двухэлементных каналов ТС (0, 1, 2, 3, 4 ) (ASDU 3,4) 0x0816 0x0817 +/+ +/+ **Время блокировки ТС канала 1 (ТУ1, ТУ2 ТС1, ТС2) **Время блокировки ТС канала 2 (ТУ3, ТУ4 ТС3, ТС4) 0x0818 0x0819 +/+ +/+ *Для каждого канала задействуется два выхода ТУ и два входа ТС в порядке возрастания нумерации(ТУ1, ТУ2, ТС1, ТС2 для первого канала, ТУ3, ТУ4, ТС3, ТС4 для второго канала). **Время блокировки ТС используется только если соответствующие ТС сконфигурированы как двухэлементные. Вся конфигурация не перемещаема Запись конфигурации (конфигурация прибора, конфигурация уставок, конфигурация журнала профилей и др.) <ASDU 51> -> активация , <FC3>, <ASDU 51>, <причина передачи 6> <- ACK , <FC0> -> запрос данных , < FC11> <- подтверждение активации , <FC8>, < ASDU 51>, <причина передачи 7> При неправильном адресе объекта, отсылается отраженный ASDU в виде отрицательной квитанции с функциональным кодом 1 и причиной передачи 47. Конфигурация прибора (структура SENSORCONFIG) 0x0840 +/+ Конфигурация журнала профилей (TJprof_config) 0x0841 0x0842 +/+ +/+ 0x0843 +/+ 0x0844 +/+ 0x0860 0x0861 +/+ +/+ Конфигурация уставки 2 (структура UST_CONFIG) 0x0862 +/+ Конфигурация уставки 3 (структура UST_CONFIG) 0x0863 0x0864 +/+ +/+ 0x0865 +/+ Запуск/Останов журнала профилей – одноэлементная информация (запись ASDU 45 - чтение ASDU 102, возвращается ASDU 1) Конфигурация уставки 1 (структура UST_CONFIG) Конфигурация уставки 4 (структура UST_CONFIG) 0x0866 0x0867 +/+ +/+ Конфигурация уставки 5 (структура UST_CONFIG) 0x0868 +/+ Конфигурация уставки 6 (структура UST_CONFIG) 0x0869 0x086A +/+ +/+ Конфигурация уставки 7 (структура UST_CONFIG) 0x086B 0x086C +/+ +/+ Конфигурация уставки 8 (структура UST_CONFIG) 0x086D 0x086E +/+ +/+ 0x086F +/+ Конфигурация уставки 9 (структура UST_CONFIG) 0x0870 0x0871 +/+ +/+ Конфигурация уставки 10 (структура UST_CONFIG) 0x0872 0x0873 +/+ +/+ Конфигурация уставки 11 (структура UST_CONFIG) 0x0874 +/+ Конфигурация уставки 12 (структура UST_CONFIG) 0x0875 0x0876 +/+ +/+ Конфигурация уставки 13 (структура UST_CONFIG) 0x0877 0x0878 +/+ +/+ Конфигурация уставки 14 (структура UST_CONFIG) 0x0879 0x087A +/+ +/+ 0x087B +/+ Конфигурация уставки 15 (структура UST_CONFIG) 0x087C 0x087D +/+ +/+ Конфигурация уставки 16 (структура UST_CONFIG) 0x087E 0x087F +/+ +/+ логика вкл-выкл ТУ1 (структура TU_MASK) 0x0890 +/+ логика вкл-выкл ТУ2 (структура TU_MASK) 0x0891 0x0892 +/+ +/+ логика вкл-выкл ТУ3 (структура TU_MASK) 0x0893 0x0894 +/+ +/+ логика вкл-выкл ТУ4 (структура TU_MASK) 0x0895 0x0896 +/+ +/+ 0x0897 +/+ UST_CONFIG typedef struct { // unsigned char Type; unsigned char OnOffTU; unsigned short Value; unsigned short TimeTo; на unsigned short ReturnValue; } UST_CONFIG; //Типы уставок #define UST_NOTYPE // // // // Тип уставки 1-вкл; 0-выкл ТУ Значение для данного типа уставки Время с момента возникновения условия // срабатывание уставки до ее фактического // срабатывания(1/256 c) // Резерв 0 // Уставка отсутствует #define UST_MAX_CURRENT #define UST_MIN_CURRENT #define UST_MAX_VOLTAGE 1 // Уставка по макс. току 2 // Уставка по мин. току 3 // Уставка по макс. напряжению #define #define #define #define #define #define #define #define 4 // 5 // 6 // 7 // 8 // 9 // 10// 11// // 12// // 13// // 14// // 15// UST_MIN_VOLTAGE UST_MAX_ACTIVE_POWER UST_MIN_ACTIVE_POWER UST_MAX_REACTIVE_POWER UST_MIN_REACTIVE_POWER UST_MAX_FREQUENCY UST_MIN_FREQUENCY UST_MAX_NULL_CURRENT #define UST_MIN_NULL_CURRENT #define UST_MAX_NULL_VOLTAGE #define UST_MIN_NULL_VOLTAGE #define UST_MAX_TEMP температуре #define UST_MIN_TEMP Уставка по мин. напряжению Уставка по макс. активной мощности Уставка по мин. активной мощности Уставка по макс. реактивной Уставка по мин. реактивной Уставка по макс. частоте Уставка по мин. частоте Уставка по макс. току нулевой последовательности Уставка по мин. току нулевой последовательности Уставка по макс. напряжению нулевой последовательности Уставка по мин. напряжению нулевой последовательности Уставка по макс. внутренней 16// Уставка по температуре #define UST_REMOTE_SIGNALING 128//Уставки по ТС мин. внутренней TU_MASK typedef struct { unsigned short unsigned short unsigned short unsigned short бесконечное) } TU_MASK; no; and; or; TimeAfter; // маска no // маска and // маска or //Время удержания ТУ в секундах (0 SENSORCONFIG typedef struct { unsigned int CrashMagazinMask; unsigned char CrashMagazinTCMask; unsigned char TCtime; } SENSORCONFIG; TJPROF_CONFIG typedef struct { unsigned long unsigned short unsigned short TUSTMASK unsigned short }TJprof_config; //Маска параметров Код 0x00000001 0x00000002 0x00000004 0x00000008 Мгновенный Мгновенное Мгновенная Мгновенная parmask; fsec; interval; ustmask; after_cnt; //Маска параметров //Тип интервала времени записи //Интервал времени между записями //Маска: связь уставки с остановом //Количество записей после останова Наименование параметра ток по фазе А напряжение по фазе А активная мощность по фазе А реактивная мощность по фазе А Тип unsigned short unsigned short short short – 0x00000010 0x00000020 0x00000040 0x00000080 0x00000100 0x00000200 0x00000400 0x00000800 0x00001000 0x00002000 0x00004000 0x00008000 0x00010000 0x00020000 0x00040000 0x00080000 0x00100000 Мгновенный ток по фазе В Мгновенное напряжение по фазе В Мгновенная активная мощность по фазе В Мгновенная реактивная мощность по фазе В Мгновенный ток по фазе С Мгновенное напряжение по фазе С Мгновенная активная мощность по фазе С Мгновенная реактивная мощность по фазе С Мгновенные значения линейного напряжения AB Мгновенные значения линейного напряжения ВС Мгновенные значения линейного напряжения СА Мгновенные значения тока нулевой последовательности (3I0) Мгновенные значения напряжения нулевой последовательности (3U0) Частота Мощность суммарная активная (мгновенная) Мощность суммарная реактивная (мгновенная) Состояние ТУ/ТС unsigned short unsigned short short short unsigned short unsigned short short short unsigned short unsigned short unsigned short unsigned short unsigned short unsigned short long long STATETU, STATETC /*Для преобразования величин, приведенных в данной таблице, к реальным значениям с плавающей точкой используйте правила перевода значений регистров в единицы физических величин*/ /*Маска параметров определяет, какие данные будут записаны в журнал профилей. Порядок записи параметров определяется по возрастанию величины маски. Маска может иметь любую возможную комбинацию по логической операции "ИЛИ" из указанного набора констант.*/ /*Если fsec=0, интервал между записями будет отсчитываться в периодах измерения. Структура записи – MAGAZINEPROF_PERIOD; fsec=1, интервал между записями будет отсчитываться в секундах; в начало записи будет помещаться метка времени измерения. Структура записи – MAGAZINEPROF_SEC.*/ /*interval – интервал времени между записями, который отсчитывается в зависимости от значения переменной fsec в периодах измерения или секундах. Производится усреднение данных на этом интервале*/ /*after_cnt – количество записей в журнале, которое будет сделано после автоматического останова записи в журнал профилей*/ /*run – 1 запускает журнал, 0 останавливает журнал*/ TUSTMASK typedef struct { unsigned char unsigned char unsigned char unsigned char unsigned char unsigned char unsigned char unsigned char unsigned char unsigned char unsigned char unsigned char unsigned char unsigned char unsigned char unsigned char } TUSTMASK; UST1 UST2 UST3 UST4 UST5 UST6 UST7 UST8 UST9 UST10 UST11 UST12 UST13 UST14 UST15 UST16 :1; :1; :1; :1; :1; :1; :1; :1; :1; :1; :1; :1; :1; :1; :1; :1; //Останов //Останов //Останов //Останов //Останов //Останов //Останов //Останов //Останов //Останов //Останов //Останов //Останов //Останов //Останов //Останов по по по по по по по по по по по по по по по по уставке уставке уставке уставке уставке уставке уставке уставке уставке уставке уставке уставке уставке уставке уставке уставке 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 /*Останов происходит по срабатыванию уставки, если соответствующее ей битовое поле равно единице.*/ ASDU 103 Синхронизация времени Команда пишет в прибор семь байтов текущего времени В ответ возвращается время прибора в момент прихода команды синхронизации. -> активация , <FC3>, <ASDU 103>, <причина передачи 6> (метка времени, которая записывается в прибор) <- ACK , <FC0> -> запрос данных , < FC11> <- подтверждение активации , <FC8>, <ASDU 103>, <причина передачи 7> (метка времени прибора в момент прихода команды активация) Периодическая передача Данные ТИТ помещаются в буфер для периодической передачи, через интервалы времени для периодической передачи. Время для периодической передачи задается в секундах (0…65535 с), если «0» - периодическая передача отключена. Отсчет времени начинается с момента установки или включения питания на границе перехода на следующую секунду. Спорадическая передача Данные ТИТ помещаются в буфер для спорадической передачи, если изменение параметра больше или равно величине апертуры. ТС, ТУ, Уставки помещаются в буфер для спорадической передачи по каждому изменению. При отсутствии готовых данных класса 2 передаются данные класса 1 (если они готовы). При наличие в приборе данных для спорадической передачи при любом ответе выставляется бит ACD в контрольном байте. Для чтения спорадических данных -> запрос данных , < FC10> <- данные , <FC8>, <ASDU 12>, <причина передачи 3> Если спорадических данных больше нет, то бит ACD сброшен. Если спорадических данных сразу нет, то придет отрицательная квитанция <FC9>. Для передачи спорадических данных используются ASDU, выбранные в конфигурации (адреса 0x0810, 0x0811, 0x0812). Спорадическая передача времени Спорадическая передача счетчиков энергии При включении прибора, а также по истечении времени для спорадической передачи счетчиков, время cp56 и счетчики энергии помещается в буфер данных класса 1 для спорадической передачи, выставляется флаг ACD. Время для спорадической передачи счетчиков задается в минутах (1…60), отсчет времени для спорадической передачи счетчиков ведется от начала часа. При чтении время передается с помощью ASDU 103 () -> запрос данных , < FC10> <- данные , <FC8>, <ASDU 103>, <причина передачи 3> Таким образом, меткой времени для счетчиков энергии служит метка времени, переданная прибором спорадически ASDU 103. Загрузка параметров. Выполняется с помощью ASDU 111, согласно стандарту, используется для загрузки одного параметра, который сразу идет в работу (активируется). Адреса апертур соответствуют адресам параметров плюс постоянное смещение (0x1000). Адреса флагов для периодических данных соответствуют адресам параметров плюс постоянное смещение (0x2000). Чтение выполняется ком 102 по адресу (параметр + смещение). Возвращаются ASDU 11. Если апертура равна нулю, то соответствующий ей параметр спорадически не передается. Апертуры задаются в единицах соответствующих измеряемых величин (0...65535). По умолчанию апертуры равны 2. -> активация , <FC3>, <ASDU 111>, <причина передачи 6> (апертура по адресу параметра, например тока) <- ACK , <FC0> -> запрос данных , < FC11> <- подтверждение активации , <FC8>, <ASDU 111>, <причина передачи 7> (отражение) Чтение журналов (файлов) Файл – это журнал. Файл состоит из секций (макс объем секции 64000 байт), секция состоит из сегментов (макс объем сегмента 240 байт). Сегмент – это одна запись. Чтение заголовков (директории) ->запрос директории, <FC3>, <ASDU 122>, <причина передачи 5> (имя файла = 0, имя секции = 0, SCQ=0) <- ACK , <FC0> -> запрос данных , < FC11> <-ответ, <FC8>, <ASDU 126>, <причина передачи 5> В ответ приходит информация о журналах имя файла расшифровка 0x04; // журнал событий 0x0E; // журнал вкл/выкл 0x10; // журнал профилей Чтение журнала ->выбор файла, <FC3>, <ASDU 122>, <причина передачи 13> (имя файла, имя секции =1, SCQ=1) <- ACK , <FC0> -> запрос данных , < FC11> <-ответ, <FC8>, <ASDU 120>, <причина передачи 13> ->вызов файла, <FC3>, <ASDU 122>, <причина передачи 13> (имя файла, имя секции =1, SCQ=2) <- ACK , <FC0> -> запрос данных , < FC11> <-ответ, <FC8>, <ASDU 121>, <причина передачи 13> ->вызов секции, <FC3>, <ASDU 122>, <причина передачи 13> (имя файла, имя секции =1, SCQ=6) <- ACK , <FC0> -> запрос данных , < FC11> <-ответ, <FC8>, <ASDU 125>, <причина передачи 13> -> запрос данных , < FC11> <-ответ, <FC8>, <ASDU 125>, <причина передачи 13> . -> запрос данных , < FC11> <-ответ, <FC8>, <ASDU 123>, <причина передачи 13> (последний сегмент) ->подтверждение приема секции, <FC3>, <ASDU 124>, <причина передачи 13> (имя файла, имя секции =1, AFQ=3) <- ACK , <FC0> -> запрос данных , < FC11> <-ответ, <FC8>, <ASDU 123>, <причина передачи 13> (последняя секция) ->подтверждение приема файла, <FC3>, <ASDU 124>, <причина передачи 13> (имя файла, имя секции =1, AFQ=1) <- ACK , <FC0> -> запрос данных , < FC11> <-ответ, <FC8>, <ASDU 124>, <причина передачи 13> (отражение) В ответ приходят сегменты (т.е. записи журнала), в конце приходит последняя запись (самая старая). При получении <ASDU 124> (положительное подтверждение приема файла) происходит деактивация файла. Если подтверждение отрицательно, то файл остается активным (выбранным) и его можно прочитать заново. Чтение сегментов можно прервать другой командой. При получении команды <ASDU 122> (вызов секции) чтение возобновиться с того же места. Журнал событий. Запись в журнал MAGAZINECRASH. событий состоит из 16 байт и описывается структурой Журнал включений-выключений. Запись в журнале включений-выключений состоит из 16 байт и описывается структурой MAGAZINEINTERCEPT. Журнал профилей. Запись в журнале профилей состоит минимум из 4 байт, максимум – из 56. Она может иметь один из двух форматов: MAGAZINEPROF_SEC или MAGAZINEPROF_PERIOD – в зависимости от значения переменной fsec структуры TJprof_config. Для правильной интерпретации данных необходимо конфигурацию журнала профилей – структуру TJprof_config. предварительно зачитать MAGAZINEPROF_SEC typedef struct { CP56_time MeazureTime; unsigned char Not_used; parameter1; … parameterN; TWRITEBREAK WriteBreak; unsigned char CSum; }MAGAZINEPROF_SEC; //Метка времени измерения //не используется //Количество и тип параметров зависит от маски //параметров структуры TJprof_config //Байт неполноты записи //Контрольная сумма MAGAZINEPROF_PERIOD typedef struct { parameter1; … parameterN; TWRITEBREAK WriteBreak; unsigned char CSum; }MAGAZINEPROF_PERIOD; //Количество и тип параметров зависит от маски //параметров структуры TJprof_config //Байт неполноты записи //Контрольная сумма TWRITEBREAK typedef struct { unsigned char b0:1; // // unsigned char b1:1; // unsigned char b2:1; // unsigned char b3:1; // unsigned char b4:1; // unsigned char b5:1; // unsigned char b6:1; // unsigned char b7:1; // }TWRITEBREAK; не прошел заданный интервал между записями, считанная запись не полная произошла установка или синхронизация времени ПИ первая запись после включения питания резерв резерв резерв резерв выполнилось условие останова MAGAZINEINTERCEPT typedef struct _MAGAZINEINTERCEPT { CP56_time PowerOFF; //Время выключения в формате CP56 CP56_time PowerON; //Время включения в формате CP56 unsigned char CSum; //Контрольная сумма unsigned char Reserved; //Не используется }MAGAZINEINTERCEPT; /*Контрольная сумма есть инвертированная структуры MAGAZINEINTERCEPT.*/ сумма всех байт, кроме CSum, MAGAZINECRASH typedef struct _MAGAZINECRASH { unsigned char CrashReason; CP56_time DetectionTime; STATETU StateTU; STATETC StateTC; unsigned short Value; unsigned short Freq; unsigned char CSum; unsigned char Reserved; }MAGAZINECRASH; //Код события //Время регистрации в формате CP56 //Cостояние выходов телеуправления //Cостояние входов телесигнализации //Величина аварийного параметра //Период сети //Контрольная сумма //Не используется //Коды события (поля CrashReason) Код Наименование аварийной ситуации 0x01 Срабатывание уставки 1 0x02 Срабатывание уставки 2 … … 0x10 Срабатывание уставки 16 0x80 Изменение состояния ТС 0x81 Изменение состояния ТУ 0x82 Одновременное срабатывание ТУ и ТС 0x83 Останов журнала профилей /*Контрольная сумма есть инвертированная сумма всех байтов структуры MAGAZINECRASH*/ (кроме CSum) STATETU //Состояние ТУ typedef struct { unsigned char unsigned char unsigned char unsigned char unsigned char }STATETU; _STATETU StateTU1 StateTU2 StateTU3 StateTU4 FreeByte :1;//Состояние :1;//Состояние :1;//Состояние :1;//Состояние :4;//Свободные ТУ1 (1-выход ТУ активен, 0-нет) ТУ2 ТУ3 ТУ4 биты STATETC typedef struct { unsigned char unsigned char unsigned char unsigned char unsigned char unsigned char unsigned char unsigned char }STATETC; _STATETC StateTC1 StateTC2 StateTC3 StateTC4 StateTC5 StateTC6 StateTC7 StateTC8 :1; :1; :1; :1; :1; :1; :1; :1; //Состояние //Состояние //Состояние //Состояние //Состояние //Состояние //Состояние //Состояние ТС1 ТС2 ТС3 ТС4 ТС5 ТС6 ТС7 ТС8 Правила перевода значений регистров в единицы физических величин Физическая величина Ток, А Напряжение, В Мощность активная, Вт тип данных регистра unsigned short unsigned short short формула перевода Значение_регистра/1000.0 Значение_регистра/10.0 Значение_регистра/10.0 Физическая величина Мощность реактивная, вар Мощность полная, Вт Частота, Гц Энергия, Вт*ч (вар*ч) Температура, °С Мощность трехфазной системы, Вт (вар) Угол, Коэффициент мощности (Cos) тип данных регистра short unsigned short unsigned short unsigned long short формула перевода Значение_регистра/10.0 Значение_регистра/10.0 Значение_регистра/1000.0 Значение_регистра Значение_регистра/10.0 long Значение_регистра/100.0 short short Значение регистра/10.0 Значение регистра/1000.0