| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
Moner Частый гость


Зарегистрирован: Mar 28, 2007 Сообщения: 24 Рейтинг: +2/-0
|
Добавлено: Ср 28 Мар, 2007 5:32:54 Заголовок сообщения: RSSQL+RSLinx "падают" на гипертрединге |
|
|
Ситуация следующая:
На компьютере установлен RSSQL Std который соединяется с контроллером (ControlLogix) используя OPC топики RSLinx.
Компьютер с гипертрэдингом.
Транзакции RSSQL двухсторонние (с подтверждением), незапланированные (инициатор - контроллер).
Компьютер включен всегда, контроллер включается только в рабочее время. (Есть подозрения, что потеря связи во время выключения контроллера и проблемма как-то связанны. Потому, что система перестает работать после очередного включения контроллера)
Проблемма:
Периодически... примерно раз в три-четыре дня RSSQL приходит в состояние когда бит запускающий транзакцию выставляется, а RSSQL не запускает транзакцию. После перезагрузки RSSQL - система начинает работать нормально (бит выставляется -> транзакция запускается).
Установил обновление RSLinx для работы с двух процессорными системами - непомогло.
Помогите разобраться. |
|
| Вернуться к началу |
|
 |
oldDad Site Admin


Зарегистрирован: May 05, 2005 Сообщения: 2773 Рейтинг: +89/-5
|
Добавлено: Ср 28 Мар, 2007 21:10:30 Заголовок сообщения: |
|
|
Какие версии Rockwell Software у Вас установлены?
G74144057:
| Цитата: | | Rockwell Software products introduced support for Hyper-ThreadingTM in Coordinated Product Release 7 (CPR7). Note: No Rockwell Software products supported Hyper-ThreadingTM prior to CPR7. To verify the product version you have installed, use Help > About. |
| Цитата: | | Disabling Hyper-threading will be machine specific, but is typically accomplished in the system setup (BIOS). Reference your computer's User's Guide for additional information. |
|
|
| Вернуться к началу |
|
 |
Moner Частый гость


Зарегистрирован: Mar 28, 2007 Сообщения: 24 Рейтинг: +2/-0
|
Добавлено: Чт 29 Мар, 2007 11:20:13 Заголовок сообщения: |
|
|
Установлены:
RSSQL 8
RSLinx 2.5 |
|
| Вернуться к началу |
|
 |
oldDad Site Admin


Зарегистрирован: May 05, 2005 Сообщения: 2773 Рейтинг: +89/-5
|
Добавлено: Чт 29 Мар, 2007 11:54:17 Заголовок сообщения: |
|
|
| Попробуйте отключить Hyper-threading в BIOS. |
|
| Вернуться к началу |
|
 |
Moner Частый гость


Зарегистрирован: Mar 28, 2007 Сообщения: 24 Рейтинг: +2/-0
|
Добавлено: Ср 06 Июн, 2007 4:09:06 Заголовок сообщения: |
|
|
Гипертрединг отключили
Покопали глубже и в рамках той же системы (описание см.выше) обнаружилось следующее:
После обрывов связи "RSSQL" - "контроллер". RSSQL начинает ошибочно передавать строки в базу. То есть в результате всех транзакций вместо строк в базе получаем NULL.
После перезапуска RSSQL проблемма исчезает - данные идут нормально. Но если оборвать связь снова - проблема повноряется.
Примечательно что проблемма не проявилась сразу, а только через три месяца после запуска системы - раньше такой проблеммы не было (реакцию на обрыв тестировали). Возможно причина в росте базы данных, хотя существенного изменения во времени выполнения запросов я не заметил.
Сейчас проблемму решили обходным путем - MSSQL получая в строках NULL - перезапускает RSSQL. Система работает нормально (но решение мне не нравиться).
Хотелось бы разобраться в причинах и по возможности их устранить. |
|
| Вернуться к началу |
|
 |
kempo Эксперт


Зарегистрирован: Jul 10, 2006 Сообщения: 150 Рейтинг: +6/-0 Откуда: Украина, Алчевск
|
Добавлено: Чт 05 Июл, 2007 12:32:22 Заголовок сообщения: |
|
|
| Сегодня столкнулись с точно такой же проблемой. В один прекрасный момент в базу MSSQL начали сыпатся из RSSQL'а сплошные NULL. Перезапустили машину - все начало работать нормально. Сервер на базе процессоров с Hyper-threading'ом. |
|
| Вернуться к началу |
|
 |
kempo Эксперт


Зарегистрирован: Jul 10, 2006 Сообщения: 150 Рейтинг: +6/-0 Откуда: Украина, Алчевск
|
Добавлено: Пн 06 Авг, 2007 10:14:43 Заголовок сообщения: |
|
|
| Moner писал(а): |
Сейчас проблемму решили обходным путем - MSSQL получая в строках NULL - перезапускает RSSQL. Система работает нормально (но решение мне не нравиться) |
А вот с этого места поподробнее пожалуйста
Каким образом перезапускаете RSSQL? C помощью чего? |
|
| Вернуться к началу |
|
 |
Moner Частый гость


Зарегистрирован: Mar 28, 2007 Сообщения: 24 Рейтинг: +2/-0
|
Добавлено: Чт 23 Авг, 2007 9:23:29 Заголовок сообщения: |
|
|
Дело в том что э
На самом деле все сделали просто
- в транзакции MSSQL когда получаем NULL запускаем транзакцию которая запускает .BAT-файл, который в свою очередь перезапускает службы RSSQL.
Ну так как данные в контроллере накапливаються на Compact Flash и передаються в базу c подтверждением от базы - то данные не теряються (просто задерживается передача на некоторое время ) и система работает.
Может есть более красивое решение, но у нас времени было 4 часа, т.к. проблемма была на обьекте и выбиваться из графика не было возможности.
SQL-скрипт запускающий батник
| Код: |
EXEC xp_cmdshell 'C:\RSSQL\Restart_rssql.bat',no_output;
|
BAT-файл Restart_rssql.bat содержит:
| Код: |
net stop rssql_opccoll
net stop rssql_storer
net stop rssql_tb
net stop rssql_comp_storer
net stop rssql_cfg_server
net start rssql_tb
net start rssql_opccoll
net start rssql_storer
net start rssql_comp_storer
net start rssql_cfg_server
|
Кто нить предложите более простое решение...
Лучше всего чтобы этого косяка с NULL вообще не было |
|
| Вернуться к началу |
|
 |
kempo Эксперт


Зарегистрирован: Jul 10, 2006 Сообщения: 150 Рейтинг: +6/-0 Откуда: Украина, Алчевск
|
Добавлено: Чт 23 Авг, 2007 11:20:12 Заголовок сообщения: |
|
|
| Огромное, просто ОГРОМНОЕ спасибо!!!!!! |
|
| Вернуться к началу |
|
 |
Moner Частый гость


Зарегистрирован: Mar 28, 2007 Сообщения: 24 Рейтинг: +2/-0
|
Добавлено: Чт 23 Авг, 2007 11:39:01 Заголовок сообщения: |
|
|
| kempo писал(а): | | Огромное, просто ОГРОМНОЕ спасибо!!!!!! |
Забыл напомнить для запуска этого скрипта учетная запись в БД через которую работает RSSQL должна иметь админские права (насколько я понял) |
|
| Вернуться к началу |
|
 |
|