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

ПЛК / Децентрализованная периферия
dimon64
Любитель
Сообщения: 74
Зарегистрирован: 12 мар 2015, 14:30

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

Сообщение dimon64 »

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

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

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

Сообщение Михайло »

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

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

dimon64
Любитель
Сообщения: 74
Зарегистрирован: 12 мар 2015, 14:30

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

Сообщение dimon64 »

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

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

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

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

Сообщение Михайло »

У Вас контроллер ведь уже как-то общается с панелью? Посмотрите и сделайте по аналогии обмен новыми тэгами. Или для Вас это темный лес?

dimon64
Любитель
Сообщения: 74
Зарегистрирован: 12 мар 2015, 14:30

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

Сообщение dimon64 »

Как контроллер общается с WinCC я в общем-то знаю, для этого есть Connection1. А вот как передать в контроллер данные из WinCC, полученные по Connection2 (от ОРС), я не знаю.

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

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

Сообщение Михайло »

Ну надо перекидывать данные непрерывно из тэга в тэг. Правильно? Надо посмотреть что-нибудь из скриптов или по событию "изменение значения" какого-нибудь тэга производить пересылку тэгов...

dimon64
Любитель
Сообщения: 74
Зарегистрирован: 12 мар 2015, 14:30

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

Сообщение dimon64 »

В том-то и вопрос, как это сделать? Пошёл мануал курить.

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

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

Сообщение Михайло »

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

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

dimon64
Любитель
Сообщения: 74
Зарегистрирован: 12 мар 2015, 14:30

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

Сообщение dimon64 »

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

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

aschelykancev
Профан
Сообщения: 4
Зарегистрирован: 16 май 2017, 17:02

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

Сообщение aschelykancev »

Доброго времени суток.
Подскажите новенькому.
Есть контроллер S7-1200 и есть CM1241 RS485/422 также есть терминал весовой Тензо-М ТВ006С

Я его опрашиваю по ModBus RTU и получаю 2а значения Word.

Теперь сам вопрос, как перевести эти 2а значения в Real.

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

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

Сообщение Михайло »

найди две функции NORM_X и SCALE_X в ТИА Портале и сделай примерно вот так.

aschelykancev
Профан
Сообщения: 4
Зарегистрирован: 16 май 2017, 17:02

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

Сообщение aschelykancev »

Добрый вечер Михайло.
Спасибо за ссылку, но по ней я так и не понял как объединить два Word в Real.

Я считал что ячейка памяти %MD10 и %MW20+%MW21 это одна и та же ячейка и если я запишу в две ячейки эти мои числа то из %MD10 я получу свой вес в Real. Но не тут то было.

Вот и остаётся вопрос как объединить 2а числаWord что бы получить Real.

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

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

Сообщение Михайло »

Поменяйте Word на Int. Если у Вас два веса, то нужно получить два значения Real и только потом складывать.

POV
Специалист
Сообщения: 127
Зарегистрирован: 04 авг 2016, 16:28
Откуда: Нижний Новгород

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

Сообщение POV »

Извините, если не так чего понял, но..
MD10 это вроде как MW10 и MW12 всегда было, оно же MB10 MB11 MB12 и MB13, ну и биты в этих байтах.
Также надо учитывать порядок байтов в словах 10 и 12 и двойном слове 10 после приема с ТВ006С.
И еще могут быть разные форматы(стандарты) представления типа REAL(float) в PLC Siemens и ТВ006С.

ward
Специалист
Сообщения: 415
Зарегистрирован: 12 ноя 2012, 08:44

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

Сообщение ward »

Вот поэтому на наших весах ТВ011 я заказал аналоговый и дискретный модуль, потому что это мейд ин раша

aschelykancev
Профан
Сообщения: 4
Зарегистрирован: 16 май 2017, 17:02

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

Сообщение aschelykancev »

Все получилось, разобрался.
Всем спасибо.

Andrey.wys
Любитель
Сообщения: 70
Зарегистрирован: 10 янв 2016, 00:35

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

Сообщение Andrey.wys »

Вот пример работы с тензо. Обратите внимание, что масса передается в BCD little endian. Во вложении проект.
1.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.

aschelykancev
Профан
Сообщения: 4
Зарегистрирован: 16 май 2017, 17:02

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

Сообщение aschelykancev »

Спасибо большое.

apostol
Профан
Сообщения: 1
Зарегистрирован: 19 окт 2016, 08:23

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

Сообщение apostol »

Можно проще сделать обращение с помощью AT.
При создании блока объявляем переменную нужного типа например как на рисунке:
FB145.PNG
FTotV типа REAL, а потом объявляем ссылку на нее awyFTotV(имя можна любое), только представленную как массив Word или Byte, кому как нужно или удобней. Как видно они ссылаются на одно и тоже смещение 10.0.
А потом можна обратиться к этой ячейке и как REAL и как массив из двух Word, как показано ниже.
Move.PNG
PS:Иногда приходится переставить их местами в зависимости от того как приходит с вашего устройства.
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Vladimir1982
Профан
Сообщения: 2
Зарегистрирован: 11 ноя 2017, 23:50

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

Сообщение Vladimir1982 »

по протоколу modbus rtu получил два слова от Тензо-М ТВ006с
Помогите разобраться как мне полученные 2 слова перевести в нормальный вес в тиа портал

Ответить