Тензо м подключение к компьютеру

Обновлено: 05.07.2024

Сегодняшняя тема будет про преобразование сигналов тензодатчиков с помощью приборов "ТВ-003/05Д" от компании "Тензо-М". Хочу сразу обратить внимание, что речь идёт не в целом о компании - производителе тензодатчиков, а о конкретном устройстве, потому что если говорить о датчиках, то, в принципе, у меня с ними никогда проблем не было, работают на разных объектах без нареканий. Тут речь о том, что не надо делать то, чего не умеешь, т.е. если ты делаешь хорошо тензодатчики, ну так и делай их, а не какие-то глючные приборы, куда их подключать. Так вот перейдем теперь к ТВ-003/05Д. Это поистине весоизмерительное чудовище - огромное, тяжелое, глючное. В общем-то, насколько оно неудобное в использовании - об этом можно почитать в самих инструкциях к этим приборам, и даже эти инструкции написаны так, чтобы еще дополнительно добавить того самого неудобства. В общем, это не так уж важно, сейчас я лишь хочу обратить внимание на несколько моментов, с которыми пришлось столкнуться мне лично при работе с этим оборудованием.

1. Разные модификации. Если кто-то всерьёз думает, что совсем недешёвая тяжеленная и неудобная в использовании штука должна быть хотя бы универсальной - это заблуждение. На каждом таком приборе есть специальная наклейка, где производитель ставит пометки напротив опций, которые включены в конкретную модификацию. Т.е. делать просто универсальные приборы, которые имеют на борту интерфейсные выходы RS485, RS232 и аналоговый выход - это слишком сложная задача для отечественного производителя (который и без того неконкурентоспособен по цене, и, казалось бы, ну почему бы не постараться хоть что-то сделать хорошо? но нет. ) , поэтому не нужно удивляться, что именно необходимый вам для вашей конкретной задачи способ считывания информации с вашего конкретного прибора ТВ-003 поддерживаться не будет.

3. Свой собственный протокол. Данный прибор не поддерживает стандартные протоколы передачи данных. Вместо этого у них собственный протокол, который можно преобразовать в Modbus RTU только при помощи преобразователя стороннего производителя. Называется ДПИ-МТ-1, преобразователь крутой, настраивается через веб-интерфейс, даже имеет на борту wifi для этой самой настройки и. стоит в полтора раза дороже, чем ТВ-003/05Д.

3. Кривой OPC-сервер. Продолжая историю собственного протокола Тензо-М, следует вспомнить и их собственный OPC-сервер. Работает он ужасно, не имеет никаких настроек тегов и не отображает никаких значений (т.е. нет таблицы тегов и значений как в обычном пользовательском интерфейсе любых OPC-серверов). Вы даже не поймёте, что OPC-сервер подключился к устройству, потому что это никак не отображается. Всё, что вы увидите, - это количество клиентов OPC-сервера в данный момент времени (ну, т.е. самую ненужную информацию по сути). Устройства и теги не имеют иерархии, посмотрите инструкцию, что они пишут:

Данный OPC-сервер имеет плоскую структуру, т.е. теги расположены на одной,
главной ветви. Для того чтобы идентифицировать местоположение тега (items), номер
дозатора, которому принадлежит тег, и номер линии, на которой расположен дозатор,
предусмотрена специальная маркировка для всех тегов (items):
LX_DY_имя тега
где X - Номер линии; Y - номер (порядковый) дозатора.
Так, например имя тега принадлежащего 3 дозатору который расположен на 1
линии будет выглядеть как: L1_D1_имя тега.

(о, Господи!) Т.е. они не в состоянии были сделать даже элементарную древовидную структуру, вместо этого они сделали кучу тэгов, которым по именам надо различать, к какому устройству они относятся! Да, можно понять, что производитель делает тензодатчики, это его основное направление деятельности, но неужели так сложно нанять одно-единственного программиста, который сделает нормальный OPC-сервер?

Лично я не смог нормально пользоваться этим OPC-сервером, потому что после подключения к нему мой OPC-клиент на базе wtclient.dll, отлично работающий с любыми OPC-серверами (и Siemens, и InSat, и Овен) просто загнал загрузку CPU компьютера чуть ли не на максимум.

4. Разные меню прибора и способы перехода в него в зависимости от версии прошивки.

Ну, т.е., по всей видимости, производитель изначально сделал, как ему показалось, не самое удобное меню, и решил его поменять. А потом опять поменять. А потом ОПЯТЬ! Спрашивается, ребята, вы в своем вообще уме? Т.е. на одном предприятии в одном цеху висят одни и те же приборы и настраиваются они все по-разному. У операторов мозг закипает каждый раз, как надо оттарировать ёмкости или выполнить еще какие-то операции, требующие перехода в меню, а также заменить один прибор другим.

Значит, по печатной инструкции от Тензо-М, которая есть у меня, для перехода в меню следует выполнить такие действия:

1) нажмите клавишу "Ф", при этом на индикаторе высветится "Func" 2) нажмите клавишу "0", при этом на индикаторе высветится приглашение к вводу пароля "oooooo" 3) последователь нажимая цифровые клавиши, введите шестизначный пароль. 4) после безошибочного ввода последнего (шестого) знака пароля терминал перейдет в редим программирования (при этом на индикаторе высвечивается "SEL").

На половине моих проборов такое нажатие кнопок не давало нужного эффекта.

Теперь почитаем инструкцию, которая называется "Преобразователь весоизмерительный TВ-003/05Д. Версия программного обеспечения 10.13АХ. Руководство по эксплуатации и калибровке" (инструкция с сайта Тензо-М). Там мы узнаем, что все функции выполняются простым нажатием кнопки "Ф" и кнопки с цифрой, но при этом там не указаны такие сочетания как "Ф" + "0" (из предыдущей инструкции") и "Ф" + 2 (о чем речь пойдет ниже). В сервисное меню по этой инструкции надо заходить, нажимая "Ф" + "ВВОД". Такое сочетание кнопок ни на одном приборе не давало у меня эффекта. Наверно, потому что это для прошивки 10.13АX, ну да.

Идём дальше. Методом "научного тыка" я определил, как же мне настроить остальные приборы, для которых первый способ не сработал. Последовательность действий такая:

1. Жмём кнопку "СБР". Загорается номер прошивки (как при включении прибора): dd-107

2. Ждём, пока первый раз проморгает лампа "КОНТР" (промаргивает она два раза)

3. Нажимаем в этот момент кнопку "Ф"

4. Появляется приглашение ввести пароль "оооооо"

5. Вводим 535160. Появляется надпись "SEL"

6. Нажимаем кнопку "2". Итак, мы в меню.

7. Нажимаем кнопку со стрелкой вниз, чтобы переходить по пунктам меню.

Если же нажать "Ф" слишком поздно, то вместо "оооооо" появляется "Func" (как из печатной инструкции), вот только нажатие после этого любой кнопки (в том числе "0") приводит лишь к тому, что на экране просто отображается текущее значение тензодатчика, т.е. перехода в меню или запроса на ввод пароля не происходит.

5. Распиновка 25-контактного штекера.

В упомянутой выше инструкции (той, которая для прошивки 10.13АХ) мы можем увидеть такую распиновку для интерфейсов RS485 и RS232:

А потом оказывается, что это распиновка не DB25, а DB9. Вот как хочешь, так и догадайся! Может быть у них есть модификации с DB9 или типа того, но неужто так сложно написать в инструкции три символа: "D", "B", "9"??

Короче, подключать RS485 надо так:

* на штекерах, которые установлены на моём предприятии (какие-то необычные штекеры под шлейфы), этот пин пронумерован как 14-ый, а не 25-ый, т.е. нумерация идет "змейкой" от конца первого ряда контактов вниз на второй ряд и потом в обратную сторону (14-ый оказывается под 13-ым), а не так, как это нумеруется стандартно на разъемах DB25 (где 14-ый контакт расположен под 1-ым).

Скачав разные инструкции, я нашел в одной из них нормальную таблицу распиновки:


Правильная нумерация DB25 (на всякий случай):


ДПИ-МТ-1

Теперь насчёт преобразователей ДПИ-МТ-1. Делает томская компания "Фактор Кода", выглядит в общем и целом как заводское устройство, нареканий по работе нет. ПРЕДНАЗНАЧЕН ТОЛЬКО ДЛЯ ОДНОГО УСТРОЙСТВА ТЕНЗО-М. Т.е. если Тензо-М несколько - то и ДПИ-МТ-1 нужно тоже несколько. Как я уже сказал, стоит это устройство дороже, чем сам Тензо-М (больше $200).

Что не понравилось - это то, что, во-первых, нельзя выбрать скорость 1.2 kbit/s для Тензо-М (хотя сам прибор работает на такой скорости - кроме прошивки dd-107, где почему-то оставили только две скорости: 9.6 и 19.2) и, что самое главное, нельзя установить проверку четности/нечетности, задать число стоп-битов и количество бит данных. Т.е. подключая прибор к существующей сети RS485, сразу необходимо переводить эту сеть на 8N1, что, конечно, может быть неудобным: нацепляешь в одну сеть таких приборов вместе с каким-нибудь овеновским ТРМ202 (у которого 8N2, число стоп-бит нельзя поменять) -- и "добрый вечер".

Настраивается через web-интерфейс (IP: 192.168.4.1), подключается по wifi. Для протокола Тензо-М можно задавать скорость (от 2.4 kbps) и адрес, тоже самое и для протокола Modbus на выходе. Опрос данных производится по регистрам:

Передача данных с терминала Тензо-М на контроллер Siemens

Передача данных с терминала Тензо-М на контроллер Siemens

Доброго времени суток, коллеги! Есть 3 весовых терминала Тензо-М ТВИ-023, необходимо предать данные о текущем весе в контроллер S-7 315-2 pn/dp, к которому подключен РС с WinCC Flexible 2008 SP3. Как я понимаю, напрямую передать данные в PLC не получится. У терминала есть RS-232 для связи с компьютером, а так же у Тензо-М есть ОРС сервер, через который можно подтянуть данные во Flexible. Как перекинуть данные из Флекса в PLC? Может быть есть другой путь, а то уж как-то всё замысловато получается.

Ну если не нравится вариант с OPC-сервером, то тогда следует тянуть RS232 до контроллера. Надо только коммуникационный процессор CP340 или CP341 заказать. Ну и длина кабеля RS232 достаточно сильно ограничена, это тоже надо учитывать.

А так у Вас уже все готово, чтобы передать данные в ПЛК. Создай соответствующие переменные в проекте Step7, затем свяжи с этими переменными тэги панели (вкладка HMI Tags в WinCC Flex), в свойствах этих тэгов выбрать способ обновления данных Cyclic continuous. И в принципе все, должно заработать.
Я сейчас затрудняюсь ответить точно, но мне кажется придется отдельно сделать циклическое перекладывание тэгов OPC в тэги ПЛК, если напрямую не заработает.

Михайло писал(а): Ну если не нравится вариант с OPC-сервером, то тогда следует тянуть RS232 до контроллера. Надо только коммуникационный процессор CP340 или CP341 заказать. Ну и длина кабеля RS232 достаточно сильно ограничена, это тоже надо учитывать.

А так у Вас уже все готово, чтобы передать данные в ПЛК. Создай соответствующие переменные в проекте Step7, затем свяжи с этими переменными тэги панели (вкладка HMI Tags в WinCC Flex), в свойствах этих тэгов выбрать способ обновления данных Cyclic continuous. И в принципе все, должно заработать.
Я сейчас затрудняюсь ответить точно, но мне кажется придется отдельно сделать циклическое перекладывание тэгов OPC в тэги ПЛК, если напрямую не заработает.

С RS232 точно заморачиваться не буду. Мне не понятно как передать переменную из WinCC в PLC. Я делаю новый коннекшн (ОРС), создаю переменную, WinCC её "видит", а вот как её затолкать в контроллер - не понятно. У Вас контроллер ведь уже как-то общается с панелью? Посмотрите и сделайте по аналогии обмен новыми тэгами. Или для Вас это темный лес? Как контроллер общается с WinCC я в общем-то знаю, для этого есть Connection1. А вот как передать в контроллер данные из WinCC, полученные по Connection2 (от ОРС), я не знаю. Ну надо перекидывать данные непрерывно из тэга в тэг. Правильно? Надо посмотреть что-нибудь из скриптов или по событию "изменение значения" какого-нибудь тэга производить пересылку тэгов. В том-то и вопрос, как это сделать? Пошёл мануал курить.

Вам же нужно выполнить программируемое действие - переложить данные из одних тэгов в другие. Я знаю только два вида таких действий - это скрипты (scripts), запланированные задачи (scheduled tasks) и функции в событиях (event, function).

Ну самое простое, что мне представляется, это пересылка тэгов с использованием событий. Смысл такой: при циклическом изменении значения тэга Update будет вызываться событие Value Change, а там уже будет происходить пересылка нужных данных.
1. Создать булевый тэг "Update" в ПЛК и HMI так, чтобы управлять им с ПЛК.
2. В свойствах тэга обязательно выставить Acquisition mode = Cyclic continuous.
3. В событии Value Change созданного тэга добавить функции SetTag, которые будут копировать необходимые тэги.

Михайло писал(а): Вам же нужно выполнить программируемое действие - переложить данные из одних тэгов в другие. Я знаю только два вида таких действий - это скрипты (scripts), запланированные задачи (scheduled tasks) и функции в событиях (event, function).

Ну самое простое, что мне представляется, это пересылка тэгов с использованием событий. Смысл такой: при циклическом изменении значения тэга Update будет вызываться событие Value Change, а там уже будет происходить пересылка нужных данных.
1. Создать булевый тэг "Update" в ПЛК и HMI так, чтобы управлять им с ПЛК.
2. В свойствах тэга обязательно выставить Acquisition mode = Cyclic continuous.
3. В событии Value Change созданного тэга добавить функции SetTag, которые будут копировать необходимые тэги.

1 ЗАО «Весоизмерительная компания «Тензо-М» Controller Free 3.2 Руководство по настройке Версия руководства 1.07 / , Московская область, Люберецкий район, п. Красково, ул. Вокзальная, д

2 Controller Free программное обеспечение для связи с весовым терминалом Описание Программное обеспечение Controller Free принимает данные о весе с весоизмерительного терминала и предоставляет доступ к значению текущего веса другим приложениям посредством технологии OLE. Связь терминала с персональным компьютером осуществляется по интерфейсам RS-232, RS-485 или TCP/IP. Поддерживаются все весоизмерительные терминалы серии ТВ производства «Тензо-М», работающие по протоколу обмена данными «6.43» или «Тензо-М». Ограничения бесплатной версии Версия ПО Controller Free в локальном режиме поддерживает работу с одним COM-портом и одним весовым терминалом. Перечень версий ПО представлен в сравнительной таблице: USB-ключ защиты Кол-во опрашиваемых терминалов Терминальный режим Controller Free 1 Controller Pro Не ограничено Controller Net Не ограничено Установка программы Запустить файл установки программы «Setup_ControllerFree_v.3.2.exe». В открывшемся окне инсталлятора выбрать папку для установки программы. Запуск и настройка программы Запустить программу «ControllerFree_v.3.2». Рис. 1. Основное окно ПО Controller - 2 -

3 Размер окна можно изменить, двигая его правый нижний угол: При невозможности получить вес с терминала, в окне программы будет показана бегущая строка «С терминалом нет связи»: Возможные причины ошибки: ошибочные настройки программы (порт, скорость, канал, задержка), неисправность кабельного соединения терминала с компьютером. По правому щелчку на рабочей области программы доступно контекстное меню: - 3 -

4 Установка параметров связи с весовым терминалом осуществляется в меню «Настройки»: Настройка параметров связи с терминалом Порт COM-порт компьютера, к которому подключен весовой терминал. Скорость скорость обмена данными с весовым терминалом. Необходимо установить то значение скорости обмена, на которое настроен подключаемый терминал. Для просмотра или изменения параметров терминала см. руководство по эксплуатации терминала. Обычно используются следующие значения скорости обмена: 9600, Сетевой адрес терминала данный параметр используется при подключении нескольких терминалов к одному COM-порту по каналу последовательной связи RS-485. В этом случае обращение к нужному терминалу осуществляется по адресу. Сетевой адрес терминала задается в настройках (см. руководство по эксплуатации терминала). В случае подключения одного терминала обычно используется значение адреса, равное 1. Задержка длительность паузы (мс) после отправки команды в терминал. Рекомендуемое значение: 50. Протокол протокол обмена данными с весовым терминалом Настройка внешнего вида окна программы Скин выбор варианта оформления внешнего вида программы. Цвет (вес стабилен) цвет цифр индикатора при стабильном весе Цвет (вес нестабилен) цвет цифр индикатора при нестабильном весе - 4 -

5 Признак стабильного веса это параметр, передаваемый весовым преобразователем, означающий, что в настоящее время значение веса не изменяется. Подробнее см. руководство по эксплуатации преобразователя. Сетевой режим Данный режим предназначен для получения веса по протоколу TCP/IP от программы Controller Net (приобретается отдельно). Концепция работы такой системы заключается в следующем один или несколько весовых терминалов подключены к одному компьютеру, а работа с показаниями терминалов осуществляется на других ПК внутри одной локальной сети. В этом случае на ПК, к которому подключены терминалы, устанавливается сетевая версия ПО Controller Net. На остальных ПК клиентские версии Controller Free. Controller Net принимает запросы от клиентов по протоколу TCP/IP. Поддерживается терминальный режим

7 Пример работы с программой в «1С:Предприятие 7.7» В «Глобальный модуль» поместить код создания объекта. Для этого в секции объявления глобальных переменных объявить соответствующую переменную: Перем ТВ003 Экспорт; А в процедуре ПриНачалеРаботыСистемы создать объект ТВ003 = СоздатьОбъект( Controller.ScAuto ); Создать новый документ или взять существующий, на форме разместить кнопку «Получить вес», вызывать окно свойств для этой кнопки и на закладке «Дополнительно» в окне «Формула» указать функцию Опрос(), которая будет выполняться при нажатии кнопки. Далее необходимо определить функцию Опрос(), щелкнув по закладке «Модуль» формы: // Для локального режима Процедура Опрос() Var Res Res = ТВ003.GetStatus(1,1); Сообщить( Текущий статус +Строка(Res)); Res = ТВ003.GetWeight(1,1); Сообщить( Текущий вес +Строка(Res)); КонецПроцедуры. // Для сетевого режима (при совместной работе с Controller Net) Процедура Опрос() Var Res Res = ТВ003.GetStatusNet(«Весы1»); Сообщить( Текущий статус +Строка(Res)); Res = ТВ003.GetWeightNet(«Весы1»); Сообщить( Текущий вес +Строка(Res)); КонецПроцедуры

8 Пример работы с программой в 1С:Предприятие 8.2 // Для локального режима &НаКлиенте Процедура ПолучитьВес(Команда) Перем Вес; Терминал = Новый COMОбъект("Controller.ScAuto"); Вес = Терминал.GetWeight(1,1); КонецПроцедуры // Для сетевого режима (при совместной работе с Controller Net) &НаКлиенте Процедура ПолучитьВес(Команда) Перем Вес; Терминал = Новый COMОбъект("Controller.ScAuto"); Вес = Терминал.GetWeightNet("Весы1"); КонецПроцедуры Пример работы с программой в Delphi 2010 // Для локального режима uses , ComObj; Var Controller: Variant; Ves: string; begin Controller := CreateOleObject('Controller.ScAuto'); Ves:=Controller GetWeight(1,1); end; // Для сетевого режима (при совместной работе с Controller Net) uses , ComObj; Var Controller: Variant; Ves: string; begin Controller := CreateOleObject('Controller.ScAuto'); Ves:=Controller GetWeightNet('Весы1'); end; - 8 -

10 ЗАО «Весоизмерительная компания «Тензо-М» Адрес: , п. Красково, Люберецкого р-на Московской обл., ул. Вокзальная, д.38 тел , 8 (495) Служба поддержки по программному обеспечению:

ДПИ-МТ-1
Контроллер преобразователь протокола Тензо-М
в протокол Modbus RTU

Image

Внешний вид преобразователя

Image

Назначение устройства

Устройство предназначено для интегрирования измерителей и контроллеров, использующих протокол Тензо-М в различные SCADA-системы, использующие протокол «Modbus RTU». Преобразователь ДПИ-МТ-1 имеет два независимых гальванически развязанных RS-485 интерфейса, один подсоединяется к шине данных SCADA-системы, а второй к весоизмерительному преобразователю «Тензо-М». Преобразователь ДПИ-МТ-1 поддерживает отображение на шину «Modbus RTU» полного стека команд протокола «Тензо-М». Список поддерживаемых устройств: ТВ-003П, ТВ-003/05Н, ТВ-003/05Д, ТВ-014, ТВ-015НД, ТВ-011, ТВ-019, ТЦ-016, ТЦ-017, ТЦ-018.

Общие характеристики

- Скорость обмена данных: 2400, 4800, 9600, 19200, 38400, 57600, 115200 бод

- Светодиодный индикатор напряжения питания и обмена по интерфейсу

- Возможность программно задавать адрес преобразователя ДПИ-МТ-1 на шине «Modbus RTU»

- Возможность программно задавать адрес обслуживаемого «Тензо-М» устройства (измерителя)

- В базовой версии один преобразователь ДПИ-МТ-1 работает только с одним «Тензо-М» устройством (если необходима поддержка работы сразу с несколькими «Тензо-М» устройствами, свяжитесь с производителем)

Xарактеристики

- Напряжение питания постоянного тока, 9-36В

- Потребляемая мощность, 1.5 Вт

- Тип линии связи RS-485 двухпроводная

- Интерфейс №1: RS-485 гальваническая развязка,

- Интерфейс №2: RS-485 гальваническая развязка,

- Максимальные уровни напряжения на линиях RS-485, от -7 до +12 В

- Максимальная длина связи, 800 м

- Температура рабочая, -30. +45 °С

- Подключение модуля винтовые зажимы

- Габаритные размеры, 36.3 x 90.2 x 57.5 мм

- Масса не более, 100 гр

- Конструктивное исполнение на DIN рейку

Терминальные резисторы на интерфейсах RS-485

По умолчанию, внутри устройства на канале Тензо-М интерфейса RS-485 между линиями A и B установлен терминальный резистор 120 Ом. На канале Modbus интерфейса RS-485, терминальный резистор не установлен.

Расположение основных элементов преобразователя

Image

Панель подключения и индикации

1) Изолированный порт RS-485 (Тензо-М)

2) Изолированный порт RS-485 (Modbus)

3) Внешнее питание 9…36 В

4) Светодиодная индикация передачи данных по каналу Тензо-М

5) Светодиодная индикация передачи данных по каналу Modbus

6) Светодиодная индикация питания

7) Кнопка конфигурации и сброса настроек

Настройки по умолчанию

По умолчанию устройство имеет следующие параметры:

- Скорость обмена данных по каналу Тензо-М, бод 9600

- Скорость обмена данных по каналу Modbus, бод 9600

- Адрес подключаемого Тензо-М устройства 2

- Адрес преобразователя на канале Modbus 2

Настройка параметров преобразователя

Для настройки доступны следующие параметры:

- Скорость обмена данных по каналу Тензо-М, бод 2400…11520

- Скорость обмена данных по каналу Modbus, бод 2400…11520

- Адрес подключаемого Тензо-М устройства 1…159

- Адрес преобразователя на канале Modbus 1…247

Настройка параметров устройства возможно через интерфейс Modbus (смотрите документ) либо через WiFi портал

Настройка параметров преобразователя через WiFi портал

Внимание. Во время входа в режим WiFi портала и работе в нем, передача данных по протоколам Modbus и Тензо-М не осуществляется.

Сброс параметров преобразователя

Для сброса всех настроек преобразователя в значение по умолчанию, нажмите и удерживайте кнопку «CFG» больше 10 секунд. Процесс можно отследить по светодиодам, сначала 5 секунд будут моргать красные светодиоды, потом 5 секунд желтые светодиоды, после сброса все светодиоды погаснут и кнопку можно отпустить.

Внимание. Во время входа в режим сброса параметров, передача данных по протоколам Modbus и Тензо-М не осуществляется

Читайте также: