This is topic Выполнение SQL-запроса в реальном времени in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.
Здравствуйте, для срабатывания SQL-запроса нужно отправлять 1 в канал типа CALL, который вызывает шаблон компонента "Связь с СУБД". После отработки происходит автоматический сброс значения на 0. Если я хочу выполнять запрос автоматически с некоторой периодичностью, то должен отправлять "1" с помощью программы.
1) Есть другие способы "постоянной" записи значений в СУБД? 2) Почему может не срабатывать тест выполнения простого запроса (SELECT Products.UnitsInStock UnitsInStock# FROM Products WHERE Products.CategoryID = 8) как в примере https://www.youtube.com/watch?v=wdSbf8aC4J4 и с использованием такой же базы? Хотя нужные таблицы и колонки видны в схеме, а также проходит тестовое подключение. Дело в том, что вчера вечером запрос не проходил в тесте, а сегодня с утра работает. В настройках ничего не ковырял. Магия, не иначе.
Posted by vg (Участник № / Member № 8172) on :
3) "При старте монитора значения аргументов считываются из файла ../<папка узла>/<имя канала>.txt" (Справка. "Запись длинных строк в канал CALL"). Создал файл, указал количество аргументов, заполнил его нужными мне аргументами, оставил пустую строку. При запуске МРВ получаю в атрибуте (1, A) крокозябру вида - Подшипник2. Запихнул в онлайн декодер - пишет Windows 1251. Но файл txt сохранён в UTF-8, та же кодировка что и тип данных STRING в TRACE MODE. Подскажите пожалуйста как победить эту напасть.
Posted by Nico (Участник № / Member № 5342) on :
-откуда сведения что UTF8 кодировка строк в TM ???? -строки в файле должны быть 1251
Posted by vg (Участник № / Member № 8172) on :
Перепутал со STRING в языке ST: "Определение переменных и констант" STRING (WCHAR*) – 256 символов в кодировке utf-8 (см. также Строковые константы Техно ST );
Posted by vg (Участник № / Member № 8172) on :
В продолжение работы со строками: Подскажите пожалуйста, как считывать с устройства параметры типа "char". Если с источником Rout_Word(3) всё понятно (считываем слово данных функцией 03), то непонятно какой канал использовать для передачи значения параметра, чтобы впоследствии "забрать" его из атрибута "Реальное значение" этого канала. Ведь в распоряжении либо числовые каналы, либо каналы CALL, TIME, Событие, которые вроде бы по логике не подходят.
Posted by Nico (Участник № / Member № 5342) on :
в ModBus есть или 1 битовые переменные(команды 1,2) или 16 битные регистры (команды 3,4)
какие данные и где расположены обычно написано а описании устройства
Posted by vg (Участник № / Member № 8172) on :
В моём случае 16-битные регистры (функция 3 для чтения). Но тут я видимо что то очевидное и упускаю: - адрес нужного регистра знаю, - какой компонент слоя "Источники" и как его настроить вроде тоже знаю.
Какой канал выбрать, чтобы передать параметр типа "char" в TRACE MODE, не понимаю. Речь идёт о выводе системных параметров устройства: - серийный номер устройства и датчиков
Posted by Nico (Участник № / Member № 5342) on :
считать значения регистров и собрать из них строку например через CALL.MOVE
Posted by vg (Участник № / Member № 8172) on :
Благодарствую
Posted by vg (Участник № / Member № 8172) on :
Здравствуйте. Тестирую разное "Время цикла монитора" в настройках узла при записи в СУБД. Не понимаю в чем разница если период - 10, а разрешение - 0.01 или период - 5, а разрешение - 0.02 (или другие пары с одинаковым произведением). Проясните пожалуйста этот момент. Для чего то же нужен "период" в роли множителя "разрешения".
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Справочная Система "Каналы и системные переменные - Пересчет базы каналов - Время цикла монитора"
quote:Параметр Разрешение задает разрешение таймера в секундах (величина tick), параметр Период - период пересчета в единицах tick.
Posted by vg (Участник № / Member № 8172) on :
Благодарю за ответ, но вопрос как раз и заключается в том, что не понял смысла делать произведение "Время цикла монитора" = "Период" * "Разрешение". , если можно было бы просто указывать время цикла монитора в миллисекундах или секундах (550 или 0.55 вместо 10 * 0.055). Для меня очевидно, что я чего то не понимаю. Как раз и хотел выяснить.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Если грубо, то период - период квантования, разрешение - величина кванта.