Trace Mode
Вернее на 1 тур чемпионата, дальше я не прошел.
Если вы являетесь легальным владельцем Trace Mode и зарегистрировали свою версию на сайте http://www.adastra.ru/, то вам время от времени приходит рассылка с новостями кампании.
Среди прочего приходят приглашения на участие в СКАДА-чемпионате. Обычно я эти приглашения игнорировал, но в этот раз решил принять участие. Просто ради интереса к процессу проведения мероприятия и уровня заданий. Тем более, ехать никуда не надо- первые 2 тура чемпионата проходят онлайн. А если повезет выйти в финал- все расходы на поездку в Москву оплатит Адастра.
Представим себе проект в ТМ, на экране которого отображается единственное значение- показание с датчика. Например, температура воздуха. Значение выдается с одним знаком после запятой: 15.6 ºC, 33.8 ºC, -0.7 ºC и т.д.
И вот, в один прекрасный момент вы видите на экране значение -0.0 ºC…
Суть проблемы.
Все мы знаем, что ноль отрицательным не бывает. Положительным тоже не бывает. Ноль число беззнаковое.
Потому вывод на экран значения -0 или -0.0 или -0.00 это признак непрофессионализма, если не глупости:
В TM 6.08 можно округлять Реальное значение канала Float (Атрибут R, 0) 2 способами:
1. В ГЭ «Текст» (который привязан к реальному значению канала) выставить форматирование в си-формате. Например «%.1f»- вывести значение с 1 знаком после запятой, «%.2f» — вывести значение с 2 знаками после запятой и т.д.
Но в этом случае значение округляется только при отображении. Это значит, что R не будет округлено.
Например, R = 0.087 при форматировании=»%.1f» на ГЭ «Текст» будет отображаться как 0.1
Нашел проблему у встроенного OPC-сервера TraceMode 6.08. Ну, как нашел… Я проблем не искал, она сама меня нашла:
По проекту для доступа к модулям Adam 4017+ и 4055 используется преобразователь сигналов USB/RS485(далее- П). Модель преобразователя не важна- все ведут себя одинаково.
Проблема:
1. В случае, если при запуске программы П уже подключен к компьютеру, данные отображаются, достоверность=0. Данные с калибратора на модуль аналогового ввода принимаются с некоторым шумом- значения аналогового сигнала плавает +-0.004 мА, что вполне нормально. Благодаря этому видно, что прием идет:
Признаюсь, друзья мои, меня уже мутит от лидера SCADA-систем России- TraceMode 6.
Сейчас поговорим о трендах в TraceMode. Тренд это график, на котором каналы отображаются в виде кривых.
В ТМ6 с трендами полный порядок- они есть. У тренда куча опций и настроек и большинство из них даже работает.
Кроме одной, но очень важной:
Именно это выражение мне вспомнилось, когда я познакомился с каналом LocalList в TraceMode 6.08. Правда, некоторые «особенности работы» канала ни в печатном руководстве программиста, ни в справке ТМ6 ни описаны. Спасибо ребятам из техподдержки- подсказали, сам бы не додумался…
Читать далее
Уже довольно давно пишу новый проект на скаде TraceMode 6.
Т.к. это мой первый опыт создания проекта на ТМ6, совершенно предсказуемо столкнулся со многими для себя проблемами и неясностями. Как всегда, самое загадочное в новых осваиваемых системах находишь там, где ожидаешь меньше всего.
Вот самая что ни на есть банальная ситуация- нужно предоставить результат выборки данных из БД MS SQL 2005 в табличном виде. Как это реализовать?
Итак. предположим, что на ПК установлен TraceMode 6.07. Нужно подключить проект трейсмода к современной базе данных. Можно, конечно, использовать базу данных MS SQL. Благо, есть даже видеоурок, как это делается.
Но MS SQL стоит немалых денег. Понятно, в нашей стране за софт платить не принято и можно пользоваться ломаными версиями MS SQL, но на многих предприятиях с лицензированием строго а с бюджетом плохо.
Тогда вместо дорогой MS SQL можно использовать хорошо зарекомендовавшую себя бесплатную базу данных формата FireBird.