Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Помогите профану!!! часть 2
|
|||
|---|---|---|---|
|
#18+
Привет всем ещё раз! для тех,кто не в курсе, повторяю: маленькое предисловие: я только закончил маленький курсик по ORACLE , к тому же , на немецком , с программированием я только начинаю дружить.......... В конторе, где я работаю, в базах данных никто ничего не сечёт........... Теперь шеф меня озадачил сделать простенькую базу (SQL Server2000), в которую записывались бы ошибки, поступающие со Steuerung ( управляющего устройства )............ Дано: Есть различные группы (в Ethernet), в каждую группу входит несколько управляющих устройств ( напр. Simatic S5, S7 ot Siemens ), каждое упр.устройство одновременно посылает 1024 Bits , каждый Bit (изменённый) обозначает ошибку........... вот мне и надо слепить базу и приложение , чтобы записать все посланные ошибки ( какое упр.устройство какую ошибку послало, ну и , конечно, дату, время и т .д.) Дорогие проффи, помогите,пожалуйста!! как мне отсортировать только измененные Bits и распихать всё по таблицам, чтобы потом можно было-бы простым SELECT получить где,когда , какая ошибка произошла.............??? Часть 2: задача усложнилась - оказывается, что разные упр.устр. могут посылать разные ошибки.... т.е. напр. если 5-й бит в 10-ом байте первого упр.устр указывает на ошибку под номером 1013 (в таблице Errors), то 5-й бит в 10-ом байте второго упр.устр может указывать на ошибку Nr. 23........ Что делать ?? не могу же я для каждого упр.устр свою отдельную таблицу ошибок создавать ???? Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2001, 13:46 |
|
||
|
Помогите профану!!! часть 2
|
|||
|---|---|---|---|
|
#18+
Объясните что такое измененный бит? И что такое неизмененный бит? если приходит 000000000...00 то это значит нет ошибок, а если 001100...0000 то были две ошибки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2001, 14:03 |
|
||
|
Помогите профану!!! часть 2
|
|||
|---|---|---|---|
|
#18+
>>если приходит 000000000...00 то это значит нет ошибок, а если 001100...0000 то были две ошибки? совершенно верно : таким образом, каждое упр.устр. может одновременно до,предположим, 1000 ошибок посылать ( первые 3 байта несут ,к примеру, информацию об упр.устр.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2001, 14:19 |
|
||
|
Помогите профану!!! часть 2
|
|||
|---|---|---|---|
|
#18+
2 Eddy >задача усложнилась - оказывается, что разные упр.устр. могут посылать разные ошибки.... т.е. >напр. если 5-й бит в 10-ом байте первого упр.устр указывает на ошибку под номером 1013 (в таблице >Errors), >то 5-й бит в 10-ом байте второго упр.устр может указывать на ошибку Nr. 23........ >Что делать ?? не могу же я для каждого упр.устр свою отдельную таблицу ошибок создавать ???? А как иначе ты узнаешь, какой это тип ошибки, если для разных устройств одинаковый код ошибки означает на самом деле разные типы ошибок. Больше никак. Можно немного по-другому сделать: в таблице ошибок указывать тип устройства, тогда таблица будет одна, но для каждого типа устройств свои ошибки, или можно тип устройства указывать, если этот код ошибки для данного устройства отличается от остальных, а если ошибка для всех одинаковая, то код не указывать. Только искать потом в два шага: сначала ищешь по типу устройства, если не нашел, значит ищешь среди общих. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2001, 14:48 |
|
||
|
Помогите профану!!! часть 2
|
|||
|---|---|---|---|
|
#18+
Да, еще отклонясь от темы. Eddy, ты не в Германии случаем, слова немецкие в примере приводишь , по поводу работы есть вопросик, не черкнешь на мыло, поговорим. Если не в Германии, то увы tygra_ra@mail.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2001, 14:52 |
|
||
|
Помогите профану!!! часть 2
|
|||
|---|---|---|---|
|
#18+
>>если приходит 000000000...00 то это значит нет ошибок, а если 001100...0000 то были две ошибки? совершенно верно : таким образом, каждое упр.устр. может одновременно до,предположим, 1000 ошибок посылать ( первые 3 байта несут ,к примеру, информацию об упр.устр.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2001, 15:07 |
|
||
|
Помогите профану!!! часть 2
|
|||
|---|---|---|---|
|
#18+
ДЛЯ НАЧАЛА ВАМ СЛЕДУЕТ: - составить список устройств, от которых приходят данные. Обозвать их для ясности (box1, box2, etc). - для каждого устройства: --- составить список сигналов с расшифровкой, что сие означает. Если Список - битовая строка, перенумеровать и обозначить. --- составить график сьема сигналов --- описать известные сбои (ошибки), и что с ними делать, и какие данные заносить в случаях ошибок - Составить список общих реквизитов установки Обычно это дата, время, фамилия оператора, рост, вес, и прочая требуха. - Составить список репортов, которые планируется получать. Нарисовать их в драфте. Посмотреть хватает ли данных для их получения. При необходимости прокорректировать предудыщие условия. ТЕПЕРЬ МОЖНО приступать к проектированию базы данных. Все это при условии, что установка функционирует, и все делители, усилители, конверторы, выдают все в нужном формате - может статься, что надо по дороге ставить дополнительнов обурудование и пр.... желаю удачи, понырев ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2001, 18:13 |
|
||
|
Помогите профану!!! часть 2
|
|||
|---|---|---|---|
|
#18+
ДЛЯ НАЧАЛА ВАМ СЛЕДУЕТ: - составить список устройств, от которых приходят данные. Обозвать их для ясности (box1, box2, etc). - для каждого устройства: --- составить список сигналов с расшифровкой, что сие означает. Если Список - битовая строка, перенумеровать и обозначить. --- составить график сьема сигналов --- описать известные сбои (ошибки), и что с ними делать, и какие данные заносить в случаях ошибок - Составить список общих реквизитов установки Обычно это дата, время, фамилия оператора, рост, вес, и прочая требуха. - Составить список репортов, которые планируется получать. Нарисовать их в драфте. Посмотреть хватает ли данных для их получения. При необходимости прокорректировать предудыщие условия. ТЕПЕРЬ МОЖНО приступать к проектированию базы данных. Все это при условии, что установка функционирует, и все делители, усилители, конверторы, выдают все в нужном формате - может статься, что надо по дороге ставить дополнительнов обурудование и пр.... желаю удачи, понырев ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2001, 18:14 |
|
||
|
Помогите профану!!! часть 2
|
|||
|---|---|---|---|
|
#18+
2 Eddy И всё-таки КАК код ошибки (1024бит) оказывается на сервере??? Через BCP? КАК Вы узнаёте, что это событие (приход 1024бит от конкретного ус-ва) произошло? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2001, 19:43 |
|
||
|
Помогите профану!!! часть 2
|
|||
|---|---|---|---|
|
#18+
/*==============================================================*/ /* Database: ErrLog */ /*==============================================================*/ create database ErrLog go use ErrLog go /*==============================================================*/ /* Table : Device */ /*==============================================================*/ create table Device ( DeviceID int not null, DeviceTypeID int not null, DeviceName varchar(30) null, constraint PK_DEVICE primary key (DeviceID) ) go /*==============================================================*/ /* Table : DeviceType */ /*==============================================================*/ create table DeviceType ( DeviceTypeID int not null, DescriptionType varchar(250) not null, constraint PK_DEVICETYPE primary key (DeviceTypeID) ) go /*==============================================================*/ /* Table : Error */ /*==============================================================*/ create table Error ( ErrorID int not null, DeviceID int not null, ErrorNumber int not null, Position int not null, ErrorText varchar(250) not null, constraint PK_ERROR primary key (ErrorID) ) go /*==============================================================*/ /* Table : LoggedError */ /*==============================================================*/ create table LoggedError ( LoggedErrorID int not null, ErrorID int not null, CurDateTime datetime not null, constraint PK_LOGGEDERROR primary key (LoggedErrorID) ) go alter table Device add constraint FK_DEVICE_RLSH_1_DEVICETY foreign key (DeviceTypeID) references DeviceType (DeviceTypeID) go alter table Error add constraint FK_ERROR_RLSH_2_DEVICE foreign key (DeviceID) references Device (DeviceID) go alter table LoggedError add constraint FK_LOGGEDER_RLSH_3_ERROR foreign key (ErrorID) references Error (ErrorID) go Этот скрипт создаст базу с 4 таблицами - ГруппаУстройств, Устройство, ОшибкиУстройств, ЗарегестрированныеОшибки. Если я правильно понял задачу, то это то что Вам нужно. Что бы решить какие еще нужны триггера и/или процедуры мне нужно более глубоку вникнуть в суть задачи, если вам уж совсем тяжело будет разобраться пишите по e-mail. Да, поле Position в Error указывает позицию бита ошибки. Оперативной является только таблица LoggedError, остальные - справочники. P.S. Могу выслать модель Power Designer-а или скриншот схемы данных, хотя структура в данном случае проста и Вы сможете ее увидеть создав диаграмму в ЕМ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2001, 05:31 |
|
||
|
Помогите профану!!! часть 2
|
|||
|---|---|---|---|
|
#18+
Огрмное Спасибо всем!!!!! как эти 1024 Bits оказываются на сервере - я толком не знаю....... эта программка - DServer -забирает данные и , скорее всего через какую-то пронраммку ( написанную на Basic ili na Delpha ) будет вносить в базу................ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2001, 09:47 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32009891&tid=1826139]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 340ms |

| 0 / 0 |
