Передача данных с терминала Тензо-М на контроллер Siemens
Передача данных с терминала Тензо-М на контроллер Siemens
Доброго времени суток, коллеги! Есть 3 весовых терминала Тензо-М ТВИ-023, необходимо предать данные о текущем весе в контроллер S-7 315-2 pn/dp, к которому подключен РС с WinCC Flexible 2008 SP3. Как я понимаю, напрямую передать данные в PLC не получится. У терминала есть RS-232 для связи с компьютером, а так же у Тензо-М есть ОРС сервер, через который можно подтянуть данные во Flexible. Как перекинуть данные из Флекса в PLC? Может быть есть другой путь, а то уж как-то всё замысловато получается.
Re: Передача данных с терминала Тензо-М на контроллер Sieme
Ну если не нравится вариант с OPC-сервером, то тогда следует тянуть RS232 до контроллера. Надо только коммуникационный процессор CP340 или CP341 заказать. Ну и длина кабеля RS232 достаточно сильно ограничена, это тоже надо учитывать.
А так у Вас уже все готово, чтобы передать данные в ПЛК. Создай соответствующие переменные в проекте Step7, затем свяжи с этими переменными тэги панели (вкладка HMI Tags в WinCC Flex), в свойствах этих тэгов выбрать способ обновления данных Cyclic continuous. И в принципе все, должно заработать.
Я сейчас затрудняюсь ответить точно, но мне кажется придется отдельно сделать циклическое перекладывание тэгов OPC в тэги ПЛК, если напрямую не заработает.
А так у Вас уже все готово, чтобы передать данные в ПЛК. Создай соответствующие переменные в проекте Step7, затем свяжи с этими переменными тэги панели (вкладка HMI Tags в WinCC Flex), в свойствах этих тэгов выбрать способ обновления данных Cyclic continuous. И в принципе все, должно заработать.
Я сейчас затрудняюсь ответить точно, но мне кажется придется отдельно сделать циклическое перекладывание тэгов OPC в тэги ПЛК, если напрямую не заработает.
Re: Передача данных с терминала Тензо-М на контроллер Sieme
С RS232 точно заморачиваться не буду. Мне не понятно как передать переменную из WinCC в PLC. Я делаю новый коннекшн (ОРС), создаю переменную, WinCC её "видит", а вот как её затолкать в контроллер - не понятно.Михайло писал(а):Ну если не нравится вариант с OPC-сервером, то тогда следует тянуть RS232 до контроллера. Надо только коммуникационный процессор CP340 или CP341 заказать. Ну и длина кабеля RS232 достаточно сильно ограничена, это тоже надо учитывать.
А так у Вас уже все готово, чтобы передать данные в ПЛК. Создай соответствующие переменные в проекте Step7, затем свяжи с этими переменными тэги панели (вкладка HMI Tags в WinCC Flex), в свойствах этих тэгов выбрать способ обновления данных Cyclic continuous. И в принципе все, должно заработать.
Я сейчас затрудняюсь ответить точно, но мне кажется придется отдельно сделать циклическое перекладывание тэгов OPC в тэги ПЛК, если напрямую не заработает.
Re: Передача данных с терминала Тензо-М на контроллер Sieme
У Вас контроллер ведь уже как-то общается с панелью? Посмотрите и сделайте по аналогии обмен новыми тэгами. Или для Вас это темный лес?
Re: Передача данных с терминала Тензо-М на контроллер Sieme
Как контроллер общается с WinCC я в общем-то знаю, для этого есть Connection1. А вот как передать в контроллер данные из WinCC, полученные по Connection2 (от ОРС), я не знаю.
Re: Передача данных с терминала Тензо-М на контроллер Sieme
Ну надо перекидывать данные непрерывно из тэга в тэг. Правильно? Надо посмотреть что-нибудь из скриптов или по событию "изменение значения" какого-нибудь тэга производить пересылку тэгов...
Re: Передача данных с терминала Тензо-М на контроллер Sieme
В том-то и вопрос, как это сделать? Пошёл мануал курить.
Re: Передача данных с терминала Тензо-М на контроллер Sieme
Вам же нужно выполнить программируемое действие - переложить данные из одних тэгов в другие. Я знаю только два вида таких действий - это скрипты (scripts), запланированные задачи (scheduled tasks) и функции в событиях (event, function).
Ну самое простое, что мне представляется, это пересылка тэгов с использованием событий. Смысл такой: при циклическом изменении значения тэга Update будет вызываться событие Value Change, а там уже будет происходить пересылка нужных данных.
1. Создать булевый тэг "Update" в ПЛК и HMI так, чтобы управлять им с ПЛК.
2. В свойствах тэга обязательно выставить Acquisition mode = Cyclic continuous.
3. В событии Value Change созданного тэга добавить функции SetTag, которые будут копировать необходимые тэги.
Ну самое простое, что мне представляется, это пересылка тэгов с использованием событий. Смысл такой: при циклическом изменении значения тэга Update будет вызываться событие Value Change, а там уже будет происходить пересылка нужных данных.
1. Создать булевый тэг "Update" в ПЛК и HMI так, чтобы управлять им с ПЛК.
2. В свойствах тэга обязательно выставить Acquisition mode = Cyclic continuous.
3. В событии Value Change созданного тэга добавить функции SetTag, которые будут копировать необходимые тэги.
Re: Передача данных с терминала Тензо-М на контроллер Sieme
Спасибо за помощь, разобрался. Нужная функция находится в разделе Calculation системных функций и обзывается SetValue.Михайло писал(а):Вам же нужно выполнить программируемое действие - переложить данные из одних тэгов в другие. Я знаю только два вида таких действий - это скрипты (scripts), запланированные задачи (scheduled tasks) и функции в событиях (event, function).
Ну самое простое, что мне представляется, это пересылка тэгов с использованием событий. Смысл такой: при циклическом изменении значения тэга Update будет вызываться событие Value Change, а там уже будет происходить пересылка нужных данных.
1. Создать булевый тэг "Update" в ПЛК и HMI так, чтобы управлять им с ПЛК.
2. В свойствах тэга обязательно выставить Acquisition mode = Cyclic continuous.
3. В событии Value Change созданного тэга добавить функции SetTag, которые будут копировать необходимые тэги.
-
- Профан
- Сообщения: 4
- Зарегистрирован: 16 май 2017, 17:02
Re: Передача данных с терминала Тензо-М на контроллер Sieme
Доброго времени суток.
Подскажите новенькому.
Есть контроллер S7-1200 и есть CM1241 RS485/422 также есть терминал весовой Тензо-М ТВ006С
Я его опрашиваю по ModBus RTU и получаю 2а значения Word.
Теперь сам вопрос, как перевести эти 2а значения в Real.
Подскажите новенькому.
Есть контроллер S7-1200 и есть CM1241 RS485/422 также есть терминал весовой Тензо-М ТВ006С
Я его опрашиваю по ModBus RTU и получаю 2а значения Word.
Теперь сам вопрос, как перевести эти 2а значения в Real.
Re: Передача данных с терминала Тензо-М на контроллер Sieme
найди две функции NORM_X и SCALE_X в ТИА Портале и сделай примерно вот так.
-
- Профан
- Сообщения: 4
- Зарегистрирован: 16 май 2017, 17:02
Re: Передача данных с терминала Тензо-М на контроллер Sieme
Добрый вечер Михайло.
Спасибо за ссылку, но по ней я так и не понял как объединить два Word в Real.
Я считал что ячейка памяти %MD10 и %MW20+%MW21 это одна и та же ячейка и если я запишу в две ячейки эти мои числа то из %MD10 я получу свой вес в Real. Но не тут то было.
Вот и остаётся вопрос как объединить 2а числаWord что бы получить Real.
Спасибо за ссылку, но по ней я так и не понял как объединить два Word в Real.
Я считал что ячейка памяти %MD10 и %MW20+%MW21 это одна и та же ячейка и если я запишу в две ячейки эти мои числа то из %MD10 я получу свой вес в Real. Но не тут то было.
Вот и остаётся вопрос как объединить 2а числаWord что бы получить Real.
Re: Передача данных с терминала Тензо-М на контроллер Sieme
Поменяйте Word на Int. Если у Вас два веса, то нужно получить два значения Real и только потом складывать.
Re: Передача данных с терминала Тензо-М на контроллер Sieme
Извините, если не так чего понял, но..
MD10 это вроде как MW10 и MW12 всегда было, оно же MB10 MB11 MB12 и MB13, ну и биты в этих байтах.
Также надо учитывать порядок байтов в словах 10 и 12 и двойном слове 10 после приема с ТВ006С.
И еще могут быть разные форматы(стандарты) представления типа REAL(float) в PLC Siemens и ТВ006С.
MD10 это вроде как MW10 и MW12 всегда было, оно же MB10 MB11 MB12 и MB13, ну и биты в этих байтах.
Также надо учитывать порядок байтов в словах 10 и 12 и двойном слове 10 после приема с ТВ006С.
И еще могут быть разные форматы(стандарты) представления типа REAL(float) в PLC Siemens и ТВ006С.
Re: Передача данных с терминала Тензо-М на контроллер Sieme
Вот поэтому на наших весах ТВ011 я заказал аналоговый и дискретный модуль, потому что это мейд ин раша
-
- Профан
- Сообщения: 4
- Зарегистрирован: 16 май 2017, 17:02
Re: Передача данных с терминала Тензо-М на контроллер Sieme
Все получилось, разобрался.
Всем спасибо.
Всем спасибо.
-
- Любитель
- Сообщения: 70
- Зарегистрирован: 10 янв 2016, 00:35
Re: Передача данных с терминала Тензо-М на контроллер Sieme
Вот пример работы с тензо. Обратите внимание, что масса передается в BCD little endian. Во вложении проект.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Профан
- Сообщения: 4
- Зарегистрирован: 16 май 2017, 17:02
Re: Передача данных с терминала Тензо-М на контроллер Sieme
Спасибо большое.
Re: Передача данных с терминала Тензо-М на контроллер Sieme
Можно проще сделать обращение с помощью AT.
При создании блока объявляем переменную нужного типа например как на рисунке: FTotV типа REAL, а потом объявляем ссылку на нее awyFTotV(имя можна любое), только представленную как массив Word или Byte, кому как нужно или удобней. Как видно они ссылаются на одно и тоже смещение 10.0.
А потом можна обратиться к этой ячейке и как REAL и как массив из двух Word, как показано ниже. PS:Иногда приходится переставить их местами в зависимости от того как приходит с вашего устройства.
При создании блока объявляем переменную нужного типа например как на рисунке: FTotV типа REAL, а потом объявляем ссылку на нее awyFTotV(имя можна любое), только представленную как массив Word или Byte, кому как нужно или удобней. Как видно они ссылаются на одно и тоже смещение 10.0.
А потом можна обратиться к этой ячейке и как REAL и как массив из двух Word, как показано ниже. PS:Иногда приходится переставить их местами в зависимости от того как приходит с вашего устройства.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Профан
- Сообщения: 2
- Зарегистрирован: 11 ноя 2017, 23:50
Re: Передача данных с терминала Тензо-М на контроллер Sieme
по протоколу modbus rtu получил два слова от Тензо-М ТВ006с
Помогите разобраться как мне полученные 2 слова перевести в нормальный вес в тиа портал
Помогите разобраться как мне полученные 2 слова перевести в нормальный вес в тиа портал