Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Доклад-КамалоРН-09.doc
Скачиваний:
0
Добавлен:
07.09.2019
Размер:
67.58 Кб
Скачать

Слайд 2

Цель:

Повышение эффективности работы операторов, контролирующих процесс вулканизации автомобильных шин.

Поставленные задачи:

  • Учитывать количество автопокрышек и регистрировать вулканизованные без отклонений от режима вулканизации.

  • Регистрировать суммарно одинаковые размеры и модели за смену, сутки, месяц. Производить суммирование всех размеров и моделей за смену, сутки, месяц.

  • Учитывать количество автопокрышек и регистрировать вулканизованные с отклонением от режима вулканизации.

  • Учитывать и регистрировать время простоя форматоров-вулканизаторов.

  • Контроль за технологическими параметрами форматоров-вулканизаторов.

Слайд 3

Тех процесс

Слайд 4

Архитектура

Слайд 5 основная процедура

События по таймеру:

  1. синхронизация времени каждый час

  2. обновление контролов каждую сек

UpdateParams();

UpdateInterface();

  1. проверяем число строк в таблице форматоры каждую минуту

опрос com

Программа сбора данных работает следующим образом. С каждого форматора запрашиваются данные регистрации (хранятся в контроллере, время хранения примерно 15-19 суток), каждая запись этих данных имеет метку времени. Все форматоры, подключенные к одному СОМ порту, опрашиваются последовательно (в порядке увеличения адреса). Все последовательные порты, на которые назначен хотя бы один форматор, опрашиваются программой сбора параллельно и независимо.

Слайд 6 Диаграмма классов

//описание форматора

class CFormator

//список форматоров на порт

class PortIdle : public CCommAsync

class DBConnect операции с БД

HRESULT Connect();//соединение с базой

HRESULT Disconnect();//отсоединение

//работа с записями

HRESULT OpenRecordset(_bstr_t request, _RecordsetPtr & ptr);//выполнение запроса на получение записей

HRESULT CloseRecordset(_RecordsetPtr & ptr);//закрыть тек. запись

HRESULT NextRecord(_RecordsetPtr & ptr);//след. запись

LONG GetRecordCount(_RecordsetPtr & ptr);//кол-во записей

_variant_t GetItem(TCHAR * fieldname, _RecordsetPtr & ptr);//получить значение поля

BOOL EndOfRecord(_RecordsetPtr & ptr);//есть записи?

//

HRESULT Exec(_bstr_t cmd);//выполнить команду SQL

class CAnalyze

long FormatorId;//Id данного форматора

BYTE Port, Addr;//порт и адрес формтора

void Process( DataStr newstr );//процесс анализа для форматора

int CalcCookState();//определяем текущее состояние

void NewCookToBuf();//новая варка - в буфер

void WriteOldCookToDb();//старая варка - в БД

//

bool fRead; //если установлен - значит данные уже прочитаны

int ReadShiftIntervals();//читаем интервалы смен из таблицы

int ReadShiftDiagram();//проверяем график смен на наличие строк

//анализ качества

int ReadMode();//чтение режима из базы

void GetCookTime();//получение текущего времени варки

int CheckOutOfRange();//проверить выход параметра за пределы

class CMainDlg

void InitParams();//иницилизация контролов отображения

void UpdateParams();//их обновление из БД

int InitServ();//инициализация программы сервера

void ReadProcess();//в обработчике чтение портов

слайд 7

блок-схема работы с COM портом

слайд 8

Для чтения архивов из FLASH-памяти (8 Мб) контроллера нужно применять следующий алгоритм, исключающий потерю данных при обрывах связи. Алгоритм состоит из следующих шагов:

1) Активация чтения; на этом шаге производится запись единицы в регистр Modbus 0x1008; это указание контроллеру получить из архива очередную запись и положить значения записи в соответствующие регистры;

2) Ожидание активации; для того, чтобы убедиться, что контроллер выполнил команду, необходимо опрашивать регистр 0x1028 пока он не станет равным 1 (если максимально разрешенное число запросов превышено, а регистр=0, нужно перейти к шагу 1). Это будет означать, что чтение активировано и в регистрах 0x1011-0x1027 появилась запись из архива.

3) Считывание данных из регистров 0x1011-0x1027 (аналоговые каналы 1-8, флаги);

4) Деактивация чтения; на этом шаге нужно записать в регистр 0x1009 единицу; это сигнал контроллеру переключиться на следующую запись в архиве;

5) Ожидание деактивации; на этом шаге нужно опрашивать регистр 0x1028 до тех пор, пока он не станет равным нулю (если максимально разрешенное число запросов превышено, а регистр=1, нужно перейти к шагу 4).

Слайд 9

БД

Слайд 10

Окно программы сбора данных

Эта окно является единственным окном этой программы. Окно разделено на несколько областей.

1. В поле Расширитель портов показано состояние расширителя COM-портов. Каждый COM-порт может иметь три состояния:

– открыт успешно ,

– не удалось открыть (возможно, порт занят другой программой или не существует) ,

– слот не занят (ни один COM-порт не назначен на этот слот) .

Каждый ряд форматоров подключен к одному из COM-портов. Назначение форматоров на заданный порт производится в программе JUMO Process Explorer (АРМ начальника смены).

2. В поле Информация показано количество записей, которые считаны со всех подключенных форматоров с момента запуска программы сбора данных. Кнопка «синхронизация времени» предназначена для синхронизации времени на форматорах (при необходимости, например, для целей отладки и проверки). Синхронизация времени осуществляется программой автоматически и ежечасно, поэтому в использовании этой кнопки нет необходимости при нормальной работе.

3. Слева от области «Информация» находится область для вывода диагностических сообщений. Сюда выводятся сообщения при старте программы (например, об успешной инициализации) и в процессе ее работы. Например, все сообщения об ошибках при работе с базой данных обязательно попадают сюда.

4. В поле «Параметры форматора» выводится вся информация о форматоре, выбор которого осуществляется ползунками «Ряд» и «Номер» слева. Для выбранного форматора отображается группа «Смена» (А,Б,В,Г), в которой указаны время начала и окончания смены, вулканизаторщик, количество варок за смену и т.д. В области с названием типа форматора (например, «Бегоматик»), указан текущий режим варки, типоразмер варимой автопокрышки, а также в ремонте форматор или нет.

4. В группе «Связь» отображаются параметры связи с выбранным форматором:

Порт: COM-порт, на который назначен выбранный форматор;

Запросов: число Modbus-запросов программы к выбранному форматору с момента запуска программы;

Ответов: число правильных Modbus-ответов форматора с момента запуска программы;

Адрес: адрес форматора для заданного COM-порта (обычно равен номеру форматора в ряду);

Ошибок CRC: число ошибок CRC16 при расшифровке ответа форматора с момента запуска программы;

Таймаутов: число таймаутов (отсутствия ответов форматора) с момента запуска программы.

5. В самой нижней строчке окна программы показано время последней считанной с форматора архивной записи.

Слайд 11 форматоры

Переход на окно «Форматоры» (рис. 3.21) осуществляется по нажатию кнопки «Форматоры» на панели навигации в левой части главного окна приложения.

Данное окно служит для отображения и редактирования списка форматоров.

Список форматоров содержит следующие поля:

Ряд – номер ряда, 1..6;

Номер – номер форматора, 1..26;

Тип – тип форматора;

Порт – номер COM-порта, 1..8;

Адрес – аппаратный адрес в сети, 1..127;