This is topic Еще раз по поводу записи в ODBC!!! in forum Архивирование в TRACE MODE / Data Logging in Trace Mode at Форум TRACE MODE: техническая поддержка.
Действительно, при превышении значением канала "SQL-выполнить" числа 64, система перестает реагировать на его изменения и запросы в базу данных не посылаються. Но Footer здесь ни при чем!!! Хочу обратить ваше внимание, что Вашу документацию я читаю внимательно и прекрасно знал, что количество Footer'ов ограничено. Но в вашей документации ни одного слова не сказано про общее ограничение на канал "SQL- выполнить" верхним пределом 64. Вот мой odbc.cfg файл
DSN=ForDozators SQL1=INSERT INTO Statistics SQL2=INSERT INTO Workmode
Как видите, Footer'а здесь нет. Можете объяснить, почему же система не работает?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Так именно по это причине и не работает - как только значение превышает 64 - система не может идентифицировать запрос и ничего не посылает. Что-то вроде: switch(chan_value){ case 0: SQL="..."; break; // Запрос 1 ... case 64: SQL="..."; break; // Запрос 2 default: SQL=""; break; // Запроса нет }
Если Вам необходимо непрерывно отрабатывать SQL-запрос рекомендую сделать следующее - в канале ставите отработать при старте 1 (или любое другое значение). На канал в процедуре управления вешаете FBD (в FDB простой блок пересылки MOVE, который пересылает константу 0). Выход FBD привязываете к Выходу (именно к Выходу) канала. Таким образом при пересчете канала 0 с FBD заместит предыдущее значение атрибута, и тут же заменится значением с атрибута Аппаратное этого же канала. Для пользователя в реальном времени визуально не будет видно никаких изменений, а для математики - значение канала ны выходе будет постоянно "прыгать" и инициировать выполнение SQL-запроса.