<< Click to Display Table of Contents >> Navigation: Проект в MasterSCADA 4D > Дерево системы > Получение и отправка данных > Дополнительные протоколы > SET4 > Рекомендации по настройке протокола SET4 > Диагностика работы с устройством SET4 |
Если при опросе одного параметра (времени) или всех параметров прибора возникают проблемы, то можно получить лог-файл и проанализировать обмен с устройством.
Важно! Получать лог-файлы обмена с устройством следует всегда на отдельном проекте, с одним устройством и минимумом переменных.
Чтобы в лог-файлы записывались запросы от устройств, необходимо активировать расширенный режим записи логов. Для этого, в панели свойств узла, для настройки Параметры запуска RT нужно установить значение /t :
После этого, запустите проект в режим исполнения, дождитесь возникновения проблемы, затем перейдите на главном меню во вкладку Сервис и выберите Отчет об ошибках. Создайте отчет об ошибке и откройте папку, содержащую отчет.
В случае если используется исполнительная система, входящая в состав среды разработки, файлы, по умолчанию, хранятся в папке: С:\Users\[имя пользователя]\AppData\Roaming\MPSSoft\MasterSCADA4D[номер версии]\ProjectsServiceData\[имя проекта]\Debug\[имя узла]\PLC\logs\log_[дата формирования файла].txt
В случае если используется исполнительная система, установленная как независимое приложение, то информацию о получении лог-файлов смотрите в соответствующем разделе.
Откройте лог-файл при помощи Блокнота или специальным ПО для просмотра логов (например LogViewer).
Так как в лог-файлах фиксируется полная информация от системы, то необходимо выделить сообщения, связанные непосредственно с протоколом. Диагностические сообщения от протокола можно определить по начальному тексту SET4 driver.
Пример:
SET4 driver. Read start
SET4 driver. Start init session
20029931 |20160|:res=10 err=0 Task=0 iTimeout=500 len=10: 1F 01 30 30 30 30 30 30 4F 68 -> (task=0 dt=38 c=4(4)) 1F 00 09 80
SET4 driver. Session is init
20029969 |20160|:res=5 err=0 Task=0 iTimeout=500 len=5: 1F 08 12 C7 CB -> (task=0 dt=38 c=6(6)) 1F 64 42 80 77 2F
20030015 |20160|:res=5 err=0 Task=0 iTimeout=500 len=5: 1F 08 02 C6 07 -> (task=0 dt=46 c=13(13)) 1F 00 01 00 01 00 00 00 00 00 00 7F 60
20030056 |20160|:res=5 err=0 Task=0 iTimeout=500 len=5: 1F 04 00 42 C6 -> (task=0 dt=41 c=11(11)) 1F 28 22 00 06 02 09 23 00 C7 F6
SET4 driver. Current time=2023.09.02 00:22:28
SET4 driver. READ CURRENT TAGS
20030097 |20160|:res=5 err=0 Task=0 iTimeout=500 len=5: 1F 08 00 47 C6 -> (task=0 dt=41 c=10(10)) 1F 30 49 CC 0B 17 10 14 90 E2
20030139 |20160|:res=5 err=0 Task=0 iTimeout=500 len=5: 1F 04 00 42 C6 -> (task=0 dt=42 c=11(11)) 1F 28 22 00 06 02 09 23 00 C7 F6
SET4 driver. Current time=2023.09.02 00:22:28
SET4 driver. Read done
В данном примере выполняется следующая последовательность действий, открывается сессия, считываются параметры счетчика и время. Параметры счетчика, такие как серийный номер и сервисные параметры, считываются единожды при запуске, независимо от того, будут ли они включены в дерево или нет. Что касается времени, оно считывается дважды: в начале для работы с архивами и в конце, чтобы убедиться, что время внутри канала ближе к текущему моменту времени.
Если в устройстве присутствуют текущие каналы, то их считывание выполняется после строки SET4 driver. READ CURRENT TAGS.
Пример:
SET4 driver. READ CURRENT TAGS
20156332 |8848|:res=5 err=0 Task=0 iTimeout=500 len=5: 1F 08 00 47 C6 -> (task=0 dt=40 c=10(10)) 1F 30 49 CC 0B 17 10 14 90 E2
20156373 |8848|:res=6 err=0 Task=0 iTimeout=500 len=6: 1F 08 11 11 4A 6E -> (task=0 dt=41 c=6(6)) 1F 00 56 76 B9 B6
20156413 |8848|:res=6 err=0 Task=0 iTimeout=500 len=6: 1F 08 11 12 0A 6F -> (task=0 dt=40 c=6(6)) 1F 00 00 23 46 29
20156452 |8848|:res=6 err=0 Task=0 iTimeout=500 len=6: 1F 08 11 13 CB AF -> (task=0 dt=39 c=6(6)) 1F 00 00 24 07 EB
20156492 |8848|:res=6 err=0 Task=0 iTimeout=500 len=6: 1F 08 11 15 4B AD -> (task=0 dt=40 c=6(6)) 1F 00 56 65 F8 7B
20156532 |8848|:res=6 err=0 Task=0 iTimeout=500 len=6: 1F 08 11 16 0B AC -> (task=0 dt=40 c=6(6)) 1F 00 00 0D C6 35
Если в устройстве есть архивные каналы накопленных энергий, то они опрашиваются поочередно.
Пример:
SET4 driver. Read Arr 3 tariff 0 month 11
20164583 |8848|:res=6 err=0 Task=0 iTimeout=500 len=6: 1F 05 3B 00 04 C1 -> (task=0 dt=67 c=19(19)) 1F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 46
SET4 driver. WriteValues: Time=2022.11.01 00:00 Pp=0.000000,Pm=0.000000,Qp=0.000000,Qm=0.000000,Pointer=20221101
В данном случае осуществляется чтение массива 0x3, который содержит значения за месяц, с учетом нулевого тарифа (сумма всех тарифов), за последние 11 месяцев.
Также производится чтение архивов:
•0x83 – значения на начало прошедших 12 месяцев;
•0x06 – энергия за текущие и прошедшие 30 суток;
•0x86 – энергия на начало текущих и 30 предыдущих календарных суток.
Значения энергии из архива читаются один раз при запуске, после чего они записываются в архив, и последнее значение считывается при каждой смене месяца/суток. А энергетические показания, не являющиеся архивными, считываются как текущие значения.
Чтение профиля мощности начинается со строки SET4 driver. READ ARCHIVE MODULE.
Пример:
SET4 driver. READ ARCHIVE MODULE 1
20729092 |32296|:res=6 err=0 Task=0 iTimeout=500 len=6: 1F 08 04 00 84 F2 -> (task=0 dt=43 c=10(10)) 1F B0 00 02 09 23 3E 50 2B 46
SET4 driver. Pointer: Time=2023.09.02 00:48 address=15952
SET4 driver. Read address 15952
20729156 |32296|:res=8 err=0 Task=0 iTimeout=500 len=8: 1F 06 03 3E 50 10 D6 30 -> (task=0 dt=64 c=19(19)) 1F 00 00 00 00 00 00 00 00 07 11 05 23 00 1E 5E FF D5 15
SET4 driver. Read address 15960
20729219 |32296|:res=8 err=0 Task=0 iTimeout=500 len=8: 1F 06 03 3E 58 10 D1 F0 -> (task=0 dt=63 c=19(19)) 1F 07 11 05 23 00 1E 5E FF 00 00 00 00 00 00 00 00 E3 B6
SET4 driver. Record time is read complete
SET4 driver. WriteValues: Time=2023.05.11 07:30 Pp=0.000000,Pm=0.000000,Qp=0.000000,Qm=0.000000
20729294 |32296|:res=8 err=0 Task=0 iTimeout=500 len=8: 1F 06 03 3E 68 10 C5 F0 -> (task=0 dt=75 c=19(19)) 1F 00 00 00 00 00 00 00 00 08 11 05 23 00 1E 5F FF 94 C5
SET4 driver. WriteValues: Time=2023.05.11 08:00 Pp=0.000000,Pm=0.000000,Qp=0.000000,Qm=0.000000
SET4 driver. Read address 15984
20729359 |32296|:res=8 err=0 Task=0 iTimeout=500 len=8: 1F 06 03 3E 70 10 CF F0 -> (task=0 dt=64 c=19(19)) 1F 08 11 05 23 00 1E 5F FF 00 00 00 00 00 00 00 00 F7 87
SET4 driver. Record time is read complete
SET4 driver. WriteValues: Time=2023.05.11 08:30 Pp=0.000000,Pm=0.000000,Qp=0.000000,Qm=0.000000
Архив начинает читаться с самой старой записи. В каждом цикле опроса считывается количество записей, установленное в настройках модуля, и полученные значения сохраняются в архиве. В параметр Pointer записывается указатель на последнюю успешно считанную запись. В случае перезапуска системы, процесс чтения начнется с момента, который соответствует последней успешно считанной записи, сохраненной в параметре Pointer.
Смотрите также:
Проверка связи с устройством через конфигуратор SET4