| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
mr_andrew Новичок


Зарегистрирован: Nov 26, 2006 Сообщения: 8 Рейтинг: +0/-0
|
Добавлено: Пт 27 Апр, 2007 12:23:12 Заголовок сообщения: Вопрос RSSQL |
|
|
Можно ли в RSSQL каким нибудь образом одновременно запустить несколько транзакций?
Можно ли записывать данные в разные таблицы одной БД?
Где можно достать документацию по RSSQL на РУССКОМ языке???
Заранее благодарен за ответы. |
|
| Вернуться к началу |
|
 |
oldDad Site Admin


Зарегистрирован: May 05, 2005 Сообщения: 2773 Рейтинг: +89/-5
|
Добавлено: Пт 27 Апр, 2007 13:32:44 Заголовок сообщения: |
|
|
Уважаемый mr_andrew!
Для каждой транзакции Вы выставляете триггер срабатывания. И каждая транзакция выполнятеся в соответствии с выбранным триггером. Если Вы указываете например срабатывание каждую секунду для нескольких транзакций, то каждая транзакция, которую вы указываете, будет срабатывать каждую секунду.
Я немного не понимаю, какова конечная задача? Вы хотите, чтобы выполненние нескольких транзакций было абсолютно синхронно? Обрисуйте пожалуйста поподробнее конечную цель и я посоветую оптимальное решение.
Конечно же записать данные в разные таблицы можно. Вы хотите записать одни и те же данные в несколько таблиц? Тогда есть два пути решения. Вариант первый: Вы делаете несколько транзакций и конфигурируете их так, чтобы даныые пересылались в разные таблицы. Если же Вы хотите, чтобы одни и те же данные попадали в разные таблицы синхронно, то Вам, вероятно, подойдет второй вариант: пересылаете данные в хранимую процедуру, которая в свою очередь SQL запросами заполняет необходимое количество таблиц.
Получить русскоязычную документацию по RSSQL можно у нас. Для этого нужно обратиться в одно из наших представительств и получить всю необходимую информацию. |
|
| Вернуться к началу |
|
 |
mr_andrew Новичок


Зарегистрирован: Nov 26, 2006 Сообщения: 8 Рейтинг: +0/-0
|
Добавлено: Сб 28 Апр, 2007 6:28:57 Заголовок сообщения: |
|
|
Может я неправильно выразился - под транзакцией я подразумеваю конфигурацию набора данных для передачи.
Цель простая - т.к. данных много, то для каждого контроллера используетя своя транзакция и соответственно своя таблица в БД.
Если запущена одна транзакция (т.е. горит зеленый светофор), то при попытке запуска второй, RSSQL предлагает остановить первую и только потом запустить вторую. Это работает вне зависимости от того, какой тригер используется для срабатывания транзакции. Отсюда и вытекает проблема с БД - т.к. транзакция ложит данные только в одну таблицу, а при выборе другой, первоначальные привязки удаляются. |
|
| Вернуться к началу |
|
 |
AlexV Эксперт


Зарегистрирован: Jan 10, 2007 Сообщения: 126 Рейтинг: +6/-0 Откуда: г.Мирный, Якутия
|
Добавлено: Вс 29 Апр, 2007 8:14:37 Заголовок сообщения: |
|
|
| mr_andrew писал(а): | Может я неправильно выразился - под транзакцией я подразумеваю конфигурацию набора данных для передачи.
|
Да, вы неправильно выразились...
RSSQL может крутить только одну конфигурацию одновременно.
НО
Одна конфигурация может содержать много транзакций, поэтому не делайте каждую транзакцию в своей конфигурации, а делайте всё внутри одной конфигурации!  |
|
| Вернуться к началу |
|
 |
mr_andrew Новичок


Зарегистрирован: Nov 26, 2006 Сообщения: 8 Рейтинг: +0/-0
|
Добавлено: Вс 29 Апр, 2007 21:43:15 Заголовок сообщения: |
|
|
| А если конфигурация состоит из 3-4 ТЫСЯЧ транзакций, которые тянутся из разных мест и ложатся в разные БД? |
|
| Вернуться к началу |
|
 |
AlexV Эксперт


Зарегистрирован: Jan 10, 2007 Сообщения: 126 Рейтинг: +6/-0 Откуда: г.Мирный, Якутия
|
Добавлено: Пн 30 Апр, 2007 2:19:13 Заголовок сообщения: |
|
|
Ну если всё это не сможет нормально работать в одной конфигурации, то оно точно также не сможет работать в нескольких конфигурациях на одном компе  |
|
| Вернуться к началу |
|
 |
oldDad Site Admin


Зарегистрирован: May 05, 2005 Сообщения: 2773 Рейтинг: +89/-5
|
Добавлено: Пн 30 Апр, 2007 8:16:36 Заголовок сообщения: |
|
|
| mr_andrew писал(а): | | А если конфигурация состоит из 3-4 ТЫСЯЧ транзакций, которые тянутся из разных мест и ложатся в разные БД? |
Если не хватает производительности одного RSSQL-сервера, можно распределить потоки данных на несколько серверов. А в чём, собственно, проблема? |
|
| Вернуться к началу |
|
 |
mr_andrew Новичок


Зарегистрирован: Nov 26, 2006 Сообщения: 8 Рейтинг: +0/-0
|
Добавлено: Вт 01 Май, 2007 10:45:11 Заголовок сообщения: |
|
|
Проблема в том, что крайне неудобно работать с одной такой большой конфигурацией. Вот и возникла идея разложить все это на несколько меньших, а заодно и структурировать.
Ну раз нельзя значит нельзя...
Ещё один вопрос по теме:
Каким типом данных (в коннекторе для RsLinx и в коннекторе для БД) лучше описывать битовую переменную? |
|
| Вернуться к началу |
|
 |
Krotyuk Постоянный участник


Зарегистрирован: Feb 20, 2006 Сообщения: 59 Рейтинг: +0/-0 Откуда: г. Мариуполь
|
Добавлено: Чт 03 Май, 2007 14:32:58 Заголовок сообщения: |
|
|
Уважаемый mr_andrew!
А если оставить типы данных у data point-ов, которые RSSQL сам определяет, разве не работает? Из личного опыта могу сказать, что если конкретная переменная в контроллере стоит типа boolean и в базе данных конкретное поле тоже boolean, то никаких проблем при их стыковке не возникает. Что же касается типов данных, то у меня для переменных типа boolean как автоматически определился Unsigned Short, так по сей день все и работает. А при определении используемых полей базы данных вручную выставлять тип данных по-моему нельзя. |
|
| Вернуться к началу |
|
 |
mr_andrew Новичок


Зарегистрирован: Nov 26, 2006 Сообщения: 8 Рейтинг: +0/-0
|
Добавлено: Вс 13 Май, 2007 21:45:30 Заголовок сообщения: |
|
|
Еще вопросы по теме:
Как между собой соотносятся время скана для транзакции, Valid time (время подлинности значения) и время скана для топика в Linx?
Например как их надо выставить, чтобы RsSQL не лез в контроллер чаще чем раз в 5 секунд.
А то сейчас при конфигурации в 70 транзакций идут обрывы связи у проекта работающего на другой машине.
Как еще можно этого избежать(кроме расстановки увеличенного времени скана)? |
|
| Вернуться к началу |
|
 |
mr_andrew Новичок


Зарегистрирован: Nov 26, 2006 Сообщения: 8 Рейтинг: +0/-0
|
Добавлено: Ср 16 Май, 2007 17:11:09 Заголовок сообщения: |
|
|
Вопрос все еще актуален!!!
Установил все параметры на 5 секунд, а в базе обновление идет через 10??? |
|
| Вернуться к началу |
|
 |
Krotyuk Постоянный участник


Зарегистрирован: Feb 20, 2006 Сообщения: 59 Рейтинг: +0/-0 Откуда: г. Мариуполь
|
Добавлено: Чт 17 Май, 2007 8:19:17 Заголовок сообщения: |
|
|
Как я понимаю, транзакции в RSSQL работают так:
При конфигурации транзакции Вы создаете триггер записи данных из контроллера в соответствующие поля таблицы БД в окне с названием "Trigger And Storage Parameters". Конфигурация триггера состоит из двух частей.
Первая определяет, как часто транзакция будет начинаться. Т.е. если Вы укажете опции:
"On Sheduled Event" , Starting Event - SYS_STARTUP , Stopping Event - SYS_SHUTDOWN , Scan Rate - 5 sec
то RSSQL будет стартовать данную транзакцию каждые 5 секунд.
Вторая часть определяет условия, при которых транзакция будет записывать данные в БД. В простейшем случае указываем "On Completion" и тогда данные будут записываться сразу же по завершению сбора данных. Если же Вы воспользуетесь оппцией "On True Expression", то данные будут записываться при выполнении условия, которое Вы установите.
Сказать, почему у Вас не работает система, довольно трудно. Для этого нужно видеть конфигурацию Вашей системы. Однако у меня возник ряд таких вопросов:
1. Какие Вас контроллеры?
2. Какая SCADA?
3. Если у Вас RSView SE, то почему бы не забирать данные не через OPC, а через Factory Talk Live Data? Это упростило бы решение части проблем. |
|
| Вернуться к началу |
|
 |
mr_andrew Новичок


Зарегистрирован: Nov 26, 2006 Сообщения: 8 Рейтинг: +0/-0
|
Добавлено: Чт 17 Май, 2007 15:13:26 Заголовок сообщения: |
|
|
Это и я понимаю, но как сюда относится значение Valid time (время истинности) и параметры топика выставляемые в RsLinx???
Как с о всем этим соотносится время выставляемое для пересылки транзакции в БД???
Ести ли формула:
Время конечного обновления в БД=Scan Rate linx+Scan Rate конектора Linx в RsSQL + период отправки кешированных файлов в БД???
1. контроллеры- slc5/05
2. SCADA RsView32K 7-я |
|
| Вернуться к началу |
|
 |
Krotyuk Постоянный участник


Зарегистрирован: Feb 20, 2006 Сообщения: 59 Рейтинг: +0/-0 Откуда: г. Мариуполь
|
Добавлено: Чт 24 Май, 2007 8:14:55 Заголовок сообщения: |
|
|
Лично я понимаю работу RSLinx Classic так: RSLinx просто обеспечивает доступ к оборудованию, а частоту сбора информации задает конечный потребитель данных (н-р RSView или RSSQL). В случае, если у Вас так сильно запаздывают данные, я бы посмотрел, не перегружена ли сеть.
Как дополнительный вопрос: а сколько станций RSView32 работает у Вас в одном сегменте сети? Жалоб на работу RSView32 у Вас нет? |
|
| Вернуться к началу |
|
 |
oldDad Site Admin


Зарегистрирован: May 05, 2005 Сообщения: 2773 Рейтинг: +89/-5
|
Добавлено: Чт 24 Май, 2007 8:19:38 Заголовок сообщения: |
|
|
| Пришло вдруг в голову: а какова у Вас вообще загрузка сети и процессора на компьютре, где установлен RSSQL? Не может ли компьютер этот быть банально перегружен? |
|
| Вернуться к началу |
|
 |
|