В результате выбора из меню дополнительных операций
(F10) строки ИНФОРМАЦИЯ О ЧИСЛЕ КАНАЛОВ
В/В будет выполнена операция получения текущего соcтояния
активного контроллера.
В отладчике имеется возможность получить текущий снимок состояния
активного контроллера по нажатию совокупности клавиш
ALT+I.
В поле ввода предлагается ввести имя директории для размещения файлов состояний. Если директория для записи файлов состояний отсутствует на диске, то она будет создана.
В указанной директории сохраняются: состояния задач, выполняющихся в активном контроллере; состояния портов устройств и каналов ввода-вывода; параметры настроек функциональных блоков; состояния импорта переменных; последний буфер сообщений; список задач выполняющихся в интерпретаторе, конфигурационные файлы device.ini и tc.cfg.
На каждую выполняющуюся в контроллере задачу приходится файл сохранения состояния задач и файл сохранения состояния каналов устройств ввода/вывода с расширениями .st0.
В файле сохранения состояния задачи фиксируются текущие
изменения в переменных и коэффициентах функциональных блоков,
имеющиеся при выполнении задач в активном контроллере. Сохраненные
файлы состояния задачи имеют имя, совпадающее с именем файла
программы задачи, но имеют расширение . blk,
.glb, .run, .sav
и .st0. В файле с расширением
.glb содержится дерево текущих значений глобальных
переменных, для просмотра которых будет разработана соответствующая
программа. В файле с расширением . blk фиксируется
список заблокированных переменных и коэффициентов функциональных
блоков.
Одновременно в текстовые файлы сохраняется снимок текущего
состояния серийных портов драйвера ввода-вывода
(state_driver_info.txt), каналов ввода-вывода
(state_channel_info.txt), параметров
настроек функциональных блоков
(state_fb_info.txt), состояния импорта переменных
(state_import_info.txt), текущих технологических
сообщений (state_mess_info.txt) и список задач,
выполняющихся в интерпретаторе
(state_task_info.txt). Эти файлы предназначены для
визуального анализа текущего состояния задачи.
В файле состояния для каждого серийного порта драйвера ввода-вывода содержатся записи следующей структуры:
06/02/2009 11:47:48 | |||||||
ПОРТ | ЗАДЕРЖКА | ЗАПРОСЫ | ОТВЕТЫ | ПОТЕРИ | MAX | MIN | ТЕКУЩЕЕ |
COM3: |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Аналогичную информацию о серийных портах драйвера ввода-вывода
можно получить в результате выбора из меню дополнительных операций
(F10) строки НАСТРОЙКИ ДРАЙВЕРА
УСО.
Пример текущего состояния каналов ввода-вывода:
ПОРТ | АДРЕС | ИМЯ/ТИП/МОДУЛЬ | I/O | СТАТУС | КАНАЛ | |||||
COM3: |
1(1h)#0 |
КТП-И I-80571#0/I8000/I8057 |
0/0 |
FAIL |
16 |
|||||
|
||||||||||
ТИП | АДРЕС | ПЕРЕМЕННАЯ | ИСХОДНОЕ ЗНАЧ. | ПЕРЕОБРАЗОВАННОЕ | СТАТУС | |||||
DO |
0(oh) |
R100.D1.ESH#1 |
0 |
0 |
FAIL |
|||||
DO |
1(1h) |
R100.D1.ESL#1 |
0 |
0 |
FAIL |
|||||
DO |
2(2h) |
R100.O1.EC#1 |
0 |
0 |
FAIL |
|||||
DO |
3(3h) |
R100.O2.EC#1 |
0 |
0 |
FAIL |
|||||
DO |
4(4h) |
R101.D1.ESH#1 |
0 |
0 |
FAIL |
|||||
DO |
5(5h) |
R101.D1.ESL#1 |
0 |
0 |
FAIL |
|||||
DO |
6(6h) |
R101.O1.EC#1 |
0 |
0 |
FAIL |
|||||
DO |
7(7h) |
R101.O2.EC#1 |
0 |
0 |
FAIL |
|||||
DO |
8(8h) |
R104.D1.ESL#1 |
0 |
0 |
FAIL |
|||||
DO |
9(9h) |
R104.D1.EC#1 |
0 |
0 |
FAIL |
|||||
DO |
10(ah) |
R104.O1.EC#1 |
0 |
0 |
FAIL |
|||||
DO |
11(bh) |
R104.O2.EC#1 |
0 |
0 |
FAIL |
|||||
DO |
12(ch) |
R106.D1.ESH#1 |
0 |
0 |
FAIL |
|||||
DO |
13(dh) |
R106.D1.ESL#1 |
0 |
0 |
FAIL |
|||||
DO |
14(eh) |
R106.O1.EC#1 |
0 |
0 |
FAIL |
|||||
DO |
15(fh) |
R106.O2.EC#1 |
0 |
0 |
FAIL |
Информация об устройстве включает:
Информация о канале включает:
Аналогичную информацию о каналах ввода-вывода можно получить в
результате выбора из меню дополнительных операций
(F10) строки СОСТОЯНИЕ УСТРОЙСТВ В/В И
КАНАЛОВ.
Пример окна сведений об устройствах:
Пример окна состояния каналов представлен на рисунке.
В файле параметров настроек функциональных блоков для каждого функционального блока задачи содержатся записи следующей структуры:
<номер>) “<метка блока>”.<имя блока> <файл> <номер строки> <тип блока>
<список коэффициентов>,
где | <номер> | - | номер функционального блока в порядке следования в задаче; |
<метка блока> | - | метка, характеризующая данный вызов функционального блока; | |
<имя блока> | - | имя библиотечной функции, реализующей алгоритм управления; | |
<файл> | - | имя файла исходного текста; | |
<номер строки> | - | номер строки вызова функционального блока; | |
<тип блока> | - | статический (метка блока задается конкретной строкой) или динамический (метка блока задается выражением). |
Пример параметров настроек функциональных блоков:
17) “TV15-КЛАПАН”.FB_VALVE
“K1_ctrls.s”[47] СТАТИЧЕСКИЙ
T
:
1mBasklash : 3 118) “TV15-ПИ-КОНТР”.FB_PI_CHECK “K1_ctrls.s”[415] СТАТИЧЕСКИЙ Ti : 1m Vt : 100 Tt : 10s Vc : 5 Tc : 5m |
В файле состояния импорта переменных содержатся записи следующей структуры:
Пример файла состояния импорта переменных в случае отсутствия импорта переменных контроллера:
06/02/2009 11:47:48 [K1_1] ПрП = 1, импортируемых переменных нет |
Пример файла состояния импорта переменных в случае наличия ошибок импорта переменных контроллера:
06/02/2009
11:17:46 [K1_2] ПрП = 10, число импортируемых переменных = 2 T62_1 <= "192.168.100.31:9000,"192.168.100.32:9000" STATE = нет связи с контроллером DATE = {Value= 0 Blk=0 Usr=0 Fault=0} TNN61 <= "192.168.100.31:9000,"192.168.100.32:9000" STATE = нет связи с контроллером DATE = 0 [K2_1] ПрП = 20, число импортируемых переменных = 2 T62_2 <= "192.168.100.31:9000,"192.168.100.32:9000" STATE = нет связи с контроллером DATE = {Value= 0 Blk=0 Usr=0 Fault=0} TNN61 <= "192.168.100.31:9000,"192.168.100.32:9000" STATE = нет связи с контроллером DATE = 0 |
В файле сообщений содержатся записи следующей структуры:
В списке технологических сообщений выводится приоритет сообщения, время возникновения сообщения, источник и текст сообщения:
<приоритет> < время> <контроллер> <текст сообщения>
где | <приоритет> | - | приоритет важности сообщения; |
< время> | - | дата и время вывода сообщения; | |
<контроллер> | источник вывода сообщения; | ||
<текст сообщения> | - | информационная часть сообщения. |
В файл текущих технологических сообщений выводятся последние на момент времени сохранения выведенные сообщения, число которых определяется размером буфера сообщений в конфигурационном файле tc.cfg (параметр BUF_MESS). Приоритет сообщений кодируется числом:
Аварийные (901-1000) Предаварийные (701-800) Действия оператора (501-600) Информационные (201-400) Неисправности оборудования (801-900) |
Пример текущих технологических сообщений:
06/02/2009 11:47:48 400 06.02.2009 11:47:34.613 K1_1 RUNTC - НАЧАЛО РАБОТЫ ИНТЕРПРЕТАТОРА; КОНФИГУРАЦИЯ 'Release', НАЦИОНАЛЬНЫЙ ЯЗЫК 'РУССКИЙ' 400 06.02.2009 11:47:36.105 K1_1 RUNTC - ПЕРЕХОД В СОСТОЯНИЕ ACTIVE 1000 06.02.2009 11:47:36.116 K1_1 (IO) (32) : ";" : Невозможно открыть порт 'COM3:' 900 06.02.2009 11:47:36.126 K1_1 (IO) Нарушена связь с устройством (порт=COM3:, адрес=1#0, тип=I8057) 900 06.02.2009 11:47:36.126 K1_1 (IO) Нарушена связь с устройством (порт=COM3:, адрес=1#1, тип=I8053) 900 06.02.2009 11:47:36.126 K1_1 (IO) Нарушена связь с устройством (порт=COM3:, адрес=1#3, тип=I8024) 900 06.02.2009 11:47:36.126 K1_1 (IO) Нарушена связь с устройством (порт=COM3:, адрес=2#5, тип=I87017) 1000 06.02.2009 11:47:36.326 K1_1 T2 0.0 град НАГ 260.0 1000 06.02.2009 11:47:36.326 K1_1 P1 0.000 мПа НАГ 0.400 1000 06.02.2009 11:47:36.326 K1_1 L1 0.0 % НАГ 35.0 400 06.02.2009 11:47:36.326 K1_1 EIRAH11 0.00 A НОРМА 900 06.02.2009 11:47:36.326 K1_1 O-11 НЕИСПРАВНОСТЬ ДАТЧИКОВ 900 06.02.2009 11:47:36.326 K1_1 O-12 НЕИСПРАВНОСТЬ ДАТЧИКОВ 400 06.02.2009 11:47:36.326 K1_1 Д-11 ОТКЛЮЧЕН 400 06.02.2009 11:47:36.606 K1_1 P1 0.630 мПа НОРМА 400 06.02.2009 11:47:36.606 K1_1 O-11 ЗАКРЫТ 400 06.02.2009 11:47:36.606 K1_1 O-12 ЗАКРЫТ 600 06.02.2009 11:47:48.433 K1_1 RUNTC - BEKETOV\Administrator ЗАПРОСИЛ СОСТОЯНИЕ КОНТРОЛЛЕРА |
В файле состояния задач для каждого контроллера содержатся записи следующей структуры:
Информация о контроллере начинается с имени контроллера (узла) в квадратных скобках, например [K1_1]. Далее выводятся следующие сведения:
Аналогичную информацию о серийных портах драйвера ввода-вывода
можно получить в результате выбора из меню дополнительных операций
(F10) строки СОСТОЯНИЕ
КОНТРОЛЛЕРОВ.
Пример файла состояния задач:
06/02/2009
11:47:48 ПУТЬ К ПРОЕКТУ TC50: 'D:\АСУТП Лак\PROGS\tc.cfg' [K1_1] IP1 = localhost state_ping = 1 time_ping = 0 LoadSystemCPU = 3% MemoryLoad = 45% TotalPhys = 785904KB AvailPhys = 429264KB TotalPageFile = 1137048KB AvailPageFile = 775388KB TotalVirtual = 2097024KB AvailVirtual = 2028292KB MemoryUse = 356640KB PRP1 K1 ПУСК CNT_STORE=0 MISFIRE_GAP=10 CUR_PULSE=0 TAGS=66920; ЗАПИСЬ ST-ФАЙЛА НЕ ЗАДАНА НЕТ НИ ОДНОГО ОСТАНОВА СТРУКТУРА SYS: PRP 1 RUN_TIME 0ms LOOP 26 INTERVAL 500ms REAL_INTERVAL 500ms TIME_OF_LIFE 0 00:00:13 TIME_BEGIN 11h47m36s DATE_BEGIN 06/02/2009 TIME 11h47m48s613ms YEAR 2009 DAY_OF_YEAR 37 DAY 6 MONTH 2 DAY_OF_WEEK 5 TIME_UTC 9h47m48s613ms YEAR_UTC 2009 DAY_OF_YEAR_UTC 37 DAY_UTC 6 MONTH_UTC 2 DAY_OF_WEEK_UTC 5 GLBCC 0 NEW_PROG 0 CNT_NEW_PROG 0 TIME_NEW 0s DATE_NEW 00/00/0000 CNT_START 1 DOUBLE_TYPE 1 DOUBLE_CONNECT 1 RUNTC_ERROR 0 TICK_COUNT 13536204 ИНТЕРПРЕТАТОР TC (ВЕРСИЯ 2.1.3, НОЯБРЬ 2008) NAME = K1_1 ID=3112 PORT = 9011, PORT_START = 19000 КОНФИГУРАЦИОННЫЙ ФАЙЛ D:\АСУТП Лак\PROGS\tc.cfg ТЕКУЩАЯ КОНФИГУРАЦИЯ 'Debug2', НАЦИОНАЛЬНЫЙ ЯЗЫК 'РУССКИЙ' CLIENT=4 FALSE=0M/0, TRUE=3M/971470, V=288819, STATE=122855 КЛИЕНТЫ: 06.02.2009 11:47:36 DBG\BEKETOV\Administrator Prp=1 РАЗРЕШЕНИЕ(0)/ЗАПРЕТ(1) ЗАПИСИ: R100_recipe=0 R101_recipe=0 R104_recipe=0 R106_recipe=0 КОНТРОЛЛЕР "К1_1" RUNTC - Связь с драйвером DriverTC.dll (V.M = 2.1.3) установлена... ACTIVE |