Состояние контроллеров

При нажатии на клавишу F10 или щелчке левой кнопкой мыши на области экрана, относящейся к подсказке функциональной клавиши (F10 МЕНЮ), осуществляется вызов меню дополнительных операций.

Выберите из меню дополнительных операций строку СОСТОЯНИЕ КОНТРОЛЛЕРОВ. В результате будет выполнена операция просмотра информации о запуске интерпретатора во всех имеющихся контроллерах. Для вывода информации используется редактор NotePad, примеры данных представлены на рисунках.

Пример нормального состояния контроллеров K1_1 и K1_2.

  29/09/2008 10:55:39  
  ПУТЬ К ПРОЕКТУ TC50: 'D:\АСУТП Лак\PROGS\tc.cfg'  
  [K1_1]  
  IP1 = 192.168.100.11 state_ping = 1 time_ping = 0  
  IP2 = 192.168.101.11 state_ping = 1 time_ping = 0  
  LoadSystemCPU = 6%  
  MemoryLoad = 10%  
  TotalPhys = 103456KB  
  AvailPhys =93156KB  
  TotalPageFile = 0KB  
  AvailPageFile = 0KB  
  TotalVirtual = 32768KB  
  AvailVirtual = 25920KB  
  MemoryUse =10300KB  
  PRP1 K1 ПУСК CNT_STORE=225 MISFIRE_GAP=10 CUR_PULSE=0 TAGS=66774;  
  ЗАПИСЬ ST-ФАЙЛА ВЫПОЛНЯЕТСЯ  
  НЕТ НИ ОДНОГО ОСТАНОВА  
  СТРУКТУРА SYS  
  PRP 1    
  RUN_TIME 1ms    
  LOOP 143528    
  INTERVAL 500ms    
  REAL_INTERVAL 500ms    
  TIME_OF_LIFE 0 19:56:06    
  TIME_BEGIN 9h24m52s    
  DATE_BEGIN 24/09/2008    
  TIME 10h56m06s188ms    
  YEAR 2008    
  DAY_OF_YEAR 273    
  DAY 29    
  MONTH 9    
  DAY_OF_WEEK 1    
  TIME_UTC 7h56m06s188ms    
  YEAR_UTC 2008    
  DAY_OF_YEAR_UTC 273    
  DAY_UTC 29    
  MONTH_UTC 9    
  DAY_OF_WEEK_UTC 1    
  GLBCC 0    
  NEW_PROG 0    
  CNT_NEW_PROG 12    
  TIME_NEW 8h59m37s    
  DATE_NEW 29/09/2008    
  CNT_START 30    
  DOUBLE_TYPE 2    
  DOUBLE_CONNECT 2    
  RUNTC_ERROR 0    
  TICK_COUNT 6783620    
  ИНТЕРПРЕТАТОР TC (ВЕРСИЯ 2.1.3, АВГУСТ 2008) NAME = K1_1 ID =239753402  
  PORT_START = 19000  
  КОНФИГУРАЦИОННЫЙ ФАЙЛ HardDisk\Project\tc.cfg  
  ТЕКУЩАЯ КОНФИГУРАЦИЯ "Release"  
  CLIENT=5 FALSE=0M/132, TRUE=1633M/176240, V=247026, STATE=0  
  WDT_DLL = wdt.dll  
  WDT_TIME = 10000ms  
  КОНТРОЛЛЕР "K1_1"  
  RUNTC - Связь с драйвером DriverTC.dll установлена...  
  RUNTC - Связь со сторожевым таймером wdt.dll установлена...  
  PASSIVE  
  -----------------------------------  
  [K1_2]  
  IP1 = 192.168.100.12 state_ping = 1 time_ping = 0  
  IP2 = 192.168.101.12 state_ping = 1 time_ping = 0  
  LoadSystemCPU = 12%  
  MemoryLoad = 11%  
  TotalPhys = 103456KB  
  AvailPhys =92360KB  
  TotalPageFile = 0KB  
  AvailPageFile = 0KB  
  TotalVirtual = 32768KB  
  AvailVirtual = 25536KB  
  MemoryUse =11096KB  
  PRP1 K1 ПУСК CNT_STORE=225 MISFIRE_GAP=10 CUR_PULSE=0 TAGS=66774;  
  ЗАПИСЬ ST-ФАЙЛА ВЫПОЛНЯЕТСЯ  
  НЕТ НИ ОДНОГО ОСТАНОВА  
  СТРУКТУРА SYS  
  PRP 1    
  RUN_TIME 1ms    
  LOOP 143529    
  INTERVAL 500ms    
  REAL_INTERVAL 500ms    
  TIME_OF_LIFE 0 19:56:07    
  TIME_BEGIN 9h24m52s    
  DATE_BEGIN 24/09/2008    
  TIME 10h56m06s688ms    
  YEAR 2008    
  DAY_OF_YEAR 273    
  DAY 29    
  MONTH 9    
  DAY_OF_WEEK 1    
  TIME_UTC 7h56m06s688ms    
  YEAR_UTC 2008    
  DAY_OF_YEAR_UTC 273    
  DAY_UTC 29    
  MONTH_UTC 9    
  DAY_OF_WEEK_UTC 1    
  GLBCC 0    
  NEW_PROG 0    
  CNT_NEW_PROG 12    
  TIME_NEW 8h59m37s    
  DATE_NEW 29/09/2008    
  CNT_START 30    
  DOUBLE_TYPE 2    
  DOUBLE_CONNECT 2    
  RUNTC_ERROR 0    
  TICK_COUNT 6784120    
  ИНТЕРПРЕТАТОР TC (ВЕРСИЯ 2.1.3, АВГУСТ 2008) NAME = K1_2 ID =239753402   
  PORT_START = 19000  
  КОНФИГУРАЦИОННЫЙ ФАЙЛ HardDisk\Project\tc.cfg  
  ТЕКУЩАЯ КОНФИГУРАЦИЯ "Release"  
  CLIENT=7 FALSE=0M/132, TRUE=1843M/742314, V=278873, STATE=110521  
  КЛИЕНТЫ:  
  29.09.2008 09:08:24 DBG\slava\Administrator  
  29.09.2008 10:56:03 DBG\BEKETOV\Administrator  
  WDT_DLL = wdt.dll  
  WDT_TIME = 10000ms  
  КОНТРОЛЛЕР "K1_2"  
  RUNTC - Связь с драйвером DriverTC.dll установлена...  
  RUNTC - Связь со сторожевым таймером wdt.dll установлена...  
  ACTIVE  
  -----------------------------------  

Информация о контроллере начинается с имени контроллера (узла) в квадратных скобках, например [K10_1].

Одна или две первые строки информации состояния контроллера содержат сведения об одном или двух сетевых интерфейсах данного контроллера,

где IP1 IP-адрес первого сетевого интерфейса контроллера;
  IP2 IP-адрес первого сетевого интерфейса контроллера;
  state_ping



состояние связи сетевого интерфейса в результате проверки с использованием запроса ping по протоколу ICMP (0 - не выполнена операция ping, 1 - операция ping выполнена нормально);
  time_ping время выполнения операции проверки связи с использованием запроса ping.

Далее следует информация о загрузке памяти контроллера. Информация о памяти имеет следующий смысл:

LoadSystemCPU процент загрузки процессора контроллера;
MemoryLoad объем всей использованной физической памяти в процентах;
TotalPhys весь объем физической памяти;
AvailPhys объем свободной физической памяти;
TotalPageFile предельный размер памяти;
AvailPageFile размер доступной памяти;
TotalVirtual полный размер виртуальной памяти;
AvailVirtual размер неиспользуемой виртуальной памяти;
MemoryUse размер используемой памяти.

Следующая строка содержит информацию о номере программы, выполняющейся или остановленной в контроллере (PRP<номер программы>), состоянии контроллера (СТОП - остановлен, ПУСК - запущен, XXXXX - не запускался), количестве выполненных сохранений в st-файлах (CNT_STORE=<количество>), максимальном числе отложенных вызовов задач (MISFIRE_GAP=<количество>), текущем количестве отложенных вызовов задач (CUR_PULSE=<количество>), числе тегов, вычитываемых из контроллера для SCADA-системы (TAGS=<количество>). В случае превышения лимита тегов, в контроллере не выполняются операции чтения и записи переменных, инициируемые со стороны SCADA-системы .

В конце строки выводится сообщение о наличии записи st-файла программой с номером <номер программы>, возможно вывести одно из трех сообщений:

  1. "ЗАПИСЬ ST-ФАЙЛА ВЫПОЛНЯЕТСЯ"
  2. "ЗАПИСЬ ST-ФАЙЛА НЕ ВЫПОЛНЯЕТСЯ"
  3. "ЗАПИСЬ ST-ФАЙЛА НЕ ЗАДАНА"

Первое сообщение выводится если нет ошибок при выполнении записи st-файлов для данной программы, в случае проблем записи st-файлов для данной программы на диск выводится второе сообщение. Третье сообщение выводится, если задан нулевым или опущен параметр TIME_STORE в #PRAGMA.

Далее содержится информация о наличии установленных остановов в программе, выполняемой в контроллере,

где ТИП тип останова: Ф-точка фиксации, С - останов, У - останов по условию ;
  НОМЕР задает номер строки с остановом в программе;
  ФАЙЛ задает имя файла с исходным текстом программы.

Если были заданы остановы по изменению значения переменной, по факту вывода сообщения, по ошибке вещественной арифметики, то следом будет присутствовать список этих остановов. Если установленных остановов нет, то будет выведен текст "НЕТ НИ ОДНОГО ОСТАНОВА".

Блок информации о данных структуры SYS. Номер задачи, задается числом в диапазоне от 0 до 254 и однозначно определяет задачу в группе других задач для данного контроллера (PRP), время в миллисекундах реального выполнения предыдущего цикла задачи (RUN_TIME), число выполненных циклов задачи (LOOP), логический период запуска задачи в миллисекундах (INTERVAL), действительный период запуска задачи в миллисекундах (REAL_ INTERVAL),  время жизни программы, количество секунд, прошедших с момента первоначального запуска (TIME_OF_LIFE), время первоначального запуска программы (TIME_BEGIN), локальное значение текущего времени и даты: времени в миллисекундах (по Гринвичу), номера года, номера дня в году, номера дня в месяце, номера месяца, текущего дня недели (1 - понедельник, ..., 7 - воскресенье); времени по Гринвичу в миллисекундах (TIME), номера года (YEAR), номера дня в году (DAY_OF_YEAR), номера дня в месяце (DAY), номера месяца (MONTH), дня недели (DAY_OF_WEEK); абсолютное значение текущего времени и даты: времени по Гринвичу в миллисекундах (TIME_UTC), номера года (YEAR_UTC), номера дня в году (DAY_OF_YEAR_UTC), номера дня в месяце (DAY_UTC), номера месяца (MONTH_UTC), дня недели (DAY_OF_WEEK_UTC) времени по Гринвичу в миллисекундах (TIME_UTC), номера года (YEAR_UTC), номера дня в году (DAY_OF_YEAR_UTC), номера дня в месяце (DAY_UTC), номера месяца (MONTH_UTC), дня недели (DAY_OF_WEEK_UTC); текущее значение глобального кода завершения программы TC (GLBCC), например, результат операции чтения файла, признак перегрузки (NEW_PROG),  общее число замен данной программы TехноCи с момента ее первоначального запуска (CNT_NEW_PROG), время дня в секундах последней замены данной программы TехноCи (TIME_NEW), дата последней замены данной программы TехноCи (DATE_NEW), общее число вызовов на выполнение данной программы TехноCи с момента ее первоначального запуска, если загрузочный файл программы не был изменен (CNT_START), признак наличия дублированной работы (DOUBLE_TYPE), если указан "0", то нет дублирования, в случае задания "1"- первый контроллер в режиме дублирования, в случае задания "2" - второй контроллер в режиме дублирования, признак наличия связи с соседом (DOUBLE_CONNECT), если указан "0", то нет дублирования, либо в дублированном режиме связь разорвана, в случае задания "1" – имеет место связь по первому сетевому интерфейсу, в случае задания "2" - имеет место связь по второму сетевому интерфейсу; признак останова в результате вывода сообщений о переполнении и потери значимости (RUNTC_ERROR), если указана "1", то наряду с печатью сообщения об ошибке выполняется останов на команде, выполнение которой привело к ошибке вычисления, а в случае задания "0" - выполняется только печать сообщения об ошибке; текущее время запуска операционной системы в миллисекундах (TICK_COUNT).

Затем следует информация о версии программы интерпретатора, которая имеет следующий формат:

ИНТЕРПРЕТАТОР ТС (<версия> <дата>) NAME=<имя узла> ID=<процесс>,

где <версия> версия интерпретатора; после точки указывается номер модификации;
  <дата> дата выпуска версии интерпретатора;
  <имя узла> логическое имя контроллера (узла);
  <процесс> идентификатор процесса выполнения интерпретатора в системе.

Далее следует информация о самом контроллере:

Информация о сетевом обмене с контроллером,

где CLIENT количество сетевых соединений, установленных с контроллером;
  FALSE <мегабайт>M/<байт> - число ошибочно переданных байтов по сети;
  TRUE <мегабайт>M/<байт> - число верно переданных байтов по сети;
  V интенсивность сетевого обмена в единицах байт/сек;
  STATE



размер области состояния задач (в байтах), передаваемой от активного
контроллера пассивному.

Для активного контроллера выводится список клиентов, подключенных через отладчик к контроллеру по сети.

КЛИЕНТЫ: (<дата> <время>) DBG\<имя узла>\<имя пользователя>

где <дата> дата установки подключения;
  <время> время установки подключения;
  <имя узла> логическое имя узла АРМО;
  <имя пользователя> логическое имя пользователя АРМО.

Далее выводится информация о пути к файлу с динамически загружаемой библиотекой работы таймера "watch-dog" (WDT_DLL) и периоде контроля работоспособности с использованием таймера "watch-dog" (WDT_TIME).

Имя узла контроллера, например "K1_1".

Информация о наличии связи с драйвером устройств ввода вывода.

Информация об инициализации динамически загружаемой библиотеки связи со сторожевым таймером.

Cостояние режима дублирования.

В таблице представлены возможные виды сообщений о состоянии режима дублирования контроллера.

Текст сообщения
Назначение
NOT DOUBLE Текст выводится в случае одинарного (недублированного) контроллера.
ACTIVE Текст выводится в случае дублированного контроллера, находящегося в активном режиме работы.
PASSIVE Текст выводится в случае дублированного контроллера, находящегося в пассивном режиме работы.
НЕТ СВЯЗИ С КОНТРОЛЛЕРОМ Текст выводится, если отсутствует связь с контроллером по сети.