Реклама / ООО «ИЗОЛПРОЕКТ» / ИНН: 7725566484 | ERID: 2Vtzqx6kV7S
IPB IPB
Проектирование, монтаж, наладка, сервис


Здравствуйте, гость ( Вход | Регистрация )

- Стандарт НП «АВОК» 7.11-2024
«Рекомендации по проектированию инженерных систем
дошкольных образовательных организаций»

АВОК в соц. сетях
ИНН: 7714824045 | erid: 2VtzqwzKQiU
 
Добавить ответ в эту темуОткрыть тему
> M340 и Ethernet (modbus Tcp), помогите плз (лучше семплом)
CoDa
сообщение 3.6.2013, 15:41
Сообщение #1





Группа: Участники форума
Сообщений: 36
Регистрация: 3.6.2013
Пользователь №: 194710



Первый раз сталкиваюсь с этой системой, помогите плз (лучше семплом)

Задача.
1. Получить данные с другого оборудования по modbus TCP
2. отдать данные другому устройству по modbus TCP
Контроллер modicon m340 BMX P34 2020? причем реализовать надо все через встроенный ethernet port
Перерыл весь форум, но либо com, либо с помощью NOE модуля
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
FullJuice
сообщение 3.6.2013, 16:03
Сообщение #2





Группа: New
Сообщений: 15
Регистрация: 22.3.2013
Пользователь №: 186400



1 способ.
Выставить IP-адрес крутилками сзади процессорного модуля. Подключиться через выставленный IP-адрес.

2 способ.
Создать подключение в Unity, прописав требуемый адрес. Отправить программу на ПЛК посредством USB-подключения. После того, как программа с заложенным IP-адрессом окажется на ПЛК, можно перейти на Ethernet подключение.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
san
сообщение 3.6.2013, 16:09
Сообщение #3





Группа: Участники форума
Сообщений: 531
Регистрация: 10.1.2008
Из: Киев
Пользователь №: 14316



Тут что-то было http://se-automation.in.ua/2011/06/transpa...modbus-tcp.html
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
CoDa
сообщение 3.6.2013, 16:19
Сообщение #4





Группа: Участники форума
Сообщений: 36
Регистрация: 3.6.2013
Пользователь №: 194710



Цитата(FullJuice @ 3.6.2013, 17:03) *
1 способ.
Выставить IP-адрес крутилками сзади процессорного модуля. Подключиться через выставленный IP-адрес.

2 способ.
Создать подключение в Unity, прописав требуемый адрес. Отправить программу на ПЛК посредством USB-подключения. После того, как программа с заложенным IP-адрессом окажется на ПЛК, можно перейти на Ethernet подключение.


К контроллеру подключился Все касается уже программирования
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
FullJuice
сообщение 3.6.2013, 16:23
Сообщение #5





Группа: New
Сообщений: 15
Регистрация: 22.3.2013
Пользователь №: 186400



Если все внешние проводки уже готовы и конфигурация контроллера завершена:

1. Создать переменные (входные/выходные/внутренние);
2. Прописать адреса переменных;
3. Создать программы для обработки входных/выходных переменных.

Это интересует?

Сообщение отредактировал FullJuice - 3.6.2013, 16:24
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
CoDa
сообщение 3.6.2013, 17:22
Сообщение #6





Группа: Участники форума
Сообщений: 36
Регистрация: 3.6.2013
Пользователь №: 194710



Цитата(FullJuice @ 3.6.2013, 17:23) *
Если все внешние проводки уже готовы и конфигурация контроллера завершена:

1. Создать переменные (входные/выходные/внутренние);
2. Прописать адреса переменных;
3. Создать программы для обработки входных/выходных переменных.

Это интересует?


Да и часть из них должны читаться по modbus tcp\ip SCADA системой
А часть надо получать с весов тоже по modbus tcp\ip
т.е. Контроллер должен быть и клиентом и сервером
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
FullJuice
сообщение 3.6.2013, 17:35
Сообщение #7





Группа: New
Сообщений: 15
Регистрация: 22.3.2013
Пользователь №: 186400



https://sites.google.com/site/fieldbusbook/...y-bystryj-start
От пользователя san. Выполнив этот "Быстрый старт", всё станет понятно.

Сообщение отредактировал FullJuice - 3.6.2013, 17:35
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
CoDa
сообщение 3.6.2013, 18:01
Сообщение #8





Группа: Участники форума
Сообщений: 36
Регистрация: 3.6.2013
Пользователь №: 194710



Цитата(FullJuice @ 3.6.2013, 18:35) *
https://sites.google.com/site/fieldbusbook/...y-bystryj-start
От пользователя san. Выполнив этот "Быстрый старт", всё станет понятно.

Спасибо завтра попробую

ток остался еще вопрос, получать данные вроде как прояснилось, а от куда читать данные другим устройством? (использование в качестве слайва)
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
san
сообщение 3.6.2013, 20:53
Сообщение #9





Группа: Участники форума
Сообщений: 531
Регистрация: 10.1.2008
Из: Киев
Пользователь №: 14316



Тут что-то накидал
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
CoDa
сообщение 4.6.2013, 8:14
Сообщение #10





Группа: Участники форума
Сообщений: 36
Регистрация: 3.6.2013
Пользователь №: 194710



Цитата(san @ 3.6.2013, 21:53) *

сейчас все попробую и отпишусь
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
CoDa
сообщение 4.6.2013, 8:41
Сообщение #11





Группа: Участники форума
Сообщений: 36
Регистрация: 3.6.2013
Пользователь №: 194710



Все сделал, при компиляции выдает ошибку:

(l: 13, c: 50) E1208 usage of dynamic arrays is disabled

Цитата


Вот нашел тоже от тебя на другом форуме, огромное спасибо

Цитата
Нужно поставить галочку
Tools->Project settings->Allow Dynamic Arrrays и
Tools->Project settings->Directly represented array var,
или использовать в качестве входа созданый массив. Сам когда-то на это наткнулся.



Сообщение отредактировал CoDa - 4.6.2013, 8:45
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
san
сообщение 4.6.2013, 9:16
Сообщение #12





Группа: Участники форума
Сообщений: 531
Регистрация: 10.1.2008
Из: Киев
Пользователь №: 14316



Цитата(CoDa @ 4.6.2013, 8:41) *
(l: 13, c: 50) E1208 usage of dynamic arrays is disabled
Вот нашел тоже от тебя на другом форуме, огромное спасибо

Уже поправил. Если будут опечатки или непонятки, или синтаксис глаза режет - пишите, буду исправлять. А то вопросы частые, лучше один раз написать и всех туда отправлять, чем много раз писать одно и то же. :-)
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
CoDa
сообщение 4.6.2013, 9:49
Сообщение #13





Группа: Участники форума
Сообщений: 36
Регистрация: 3.6.2013
Пользователь №: 194710



Огромадное пасибки, все заработало !!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
CoDa
сообщение 4.6.2013, 12:27
Сообщение #14





Группа: Участники форума
Сообщений: 36
Регистрация: 3.6.2013
Пользователь №: 194710



А в какие адреса писать данные что бы считать с контроллера?
пробовал в %MW0 и %MW100 читаю с контроллера - данных нет, точнее почему то не проходят команды с PC




Сори опять не разобрался, аксесс не включил smile.gif

Сообщение отредактировал CoDa - 4.6.2013, 12:43
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
san
сообщение 4.6.2013, 12:34
Сообщение #15





Группа: Участники форума
Сообщений: 531
Регистрация: 10.1.2008
Из: Киев
Пользователь №: 14316



Не понял вопроса. Если данные в М340 локализованные, то нужно искать их по этому адресу. СКАДА какая? Если какая-то чужая, то нужно читать/писать данные с Holding Regters, таблицу соответствия на приведенной страничке я приводил.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Константин Ж
сообщение 14.6.2013, 16:31
Сообщение #16





Группа: Участники форума
Сообщений: 28
Регистрация: 21.5.2013
Пользователь №: 193116



Извиняюсь за смешной вопрос как записывать/считывать данные я понял, но каким образом присвоение самих данных происходит (для записи/чтения) в контроллере в котором нужно получить данные от другого контроллера TCP клиента (организую связь между двумя М340, нужно от одного передать информацию другому о состоянии процесса). Или все таки для двухстороннего обмена нужно в обоих контроллера прописывать чтение/запись?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
san
сообщение 14.6.2013, 18:41
Сообщение #17





Группа: Участники форума
Сообщений: 531
Регистрация: 10.1.2008
Из: Киев
Пользователь №: 14316



Там (в сервере) данные нужно писать/читать в область %MW. Можно непосредственно, а можно привязать туда переменную. ОС Юнити уже сама организует запись/чтение в эту/(с этой) области с Модбас как к регистрам.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Константин Ж
сообщение 14.6.2013, 20:18
Сообщение #18





Группа: Участники форума
Сообщений: 28
Регистрация: 21.5.2013
Пользователь №: 193116



Нет, с сервером обмен уже отстроен, меня не это интересует, мне нужен прямой обмен между двумя контроллерами на картинке программа, read_var, считываем булевые переменные из другого контроллера, вопрос как мне из массива remout_date (состоящего из интеджер) вытащить булевые
Прикрепленные файлы
Прикрепленный файл  image.png ( 158,07 килобайт ) Кол-во скачиваний: 31
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
san
сообщение 14.6.2013, 22:52
Сообщение #19





Группа: Участники форума
Сообщений: 531
Регистрация: 10.1.2008
Из: Киев
Пользователь №: 14316



Обращаться к ним через точку. Еще вариант - привязать массив к %MW. А самый лучший вариант - считвать не %M а %MW, куда упаковывать все булы (можно просто отображать туда, например булевую переменную привязать скажем к %Mw200.0). Каждый бул в М340 занимает один байт, а запаковавши бит в слово, он займет только один бит. Экономия в 8 раз и гемора меньше, так как и булы и инты можно передавать в одной посылке.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Константин Ж
сообщение 15.6.2013, 5:17
Сообщение #20





Группа: Участники форума
Сообщений: 28
Регистрация: 21.5.2013
Пользователь №: 193116



Спасибо, сделаем тогда так во избежание гемора
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
CoDa
сообщение 17.6.2013, 13:59
Сообщение #21





Группа: Участники форума
Сообщений: 36
Регистрация: 3.6.2013
Пользователь №: 194710



Возник вот такой вопросик.
Отвалилось modbus\tcp устройство(проблема с устройством). Его (устройство) перегрузили. На контроллере связь не восстанавливается до перезагрузки контроллера. Кто с этим сталкивался. Как побороли данный косяк?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
san
сообщение 17.6.2013, 14:09
Сообщение #22





Группа: Участники форума
Сообщений: 531
Регистрация: 10.1.2008
Из: Киев
Пользователь №: 14316



Цитата(CoDa @ 17.6.2013, 13:59) *
Возник вот такой вопросик.
Отвалилось modbus\tcp устройство(проблема с устройством). Его (устройство) перегрузили. На контроллере связь не восстанавливается до перезагрузки контроллера. Кто с этим сталкивался. Как побороли данный косяк?

Если работа идет через коммун. функцию, думаю поможет выставленный таймаут в параметрах функиции.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Константин Ж
сообщение 17.6.2013, 14:21
Сообщение #23





Группа: Участники форума
Сообщений: 28
Регистрация: 21.5.2013
Пользователь №: 193116



Возможно ли запустить симуляторы ПЛК в юнити на разных компьютерах, при этом что бы они между собой запросы по TCP отрабатывали, так называемая симуляция двух контроллеров с возможностью обмена данными?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
CoDa
сообщение 17.6.2013, 14:27
Сообщение #24





Группа: Участники форума
Сообщений: 36
Регистрация: 3.6.2013
Пользователь №: 194710



Цитата(san @ 17.6.2013, 15:09) *
Если работа идет через коммун. функцию, думаю поможет выставленный таймаут в параметрах функиции.

Таймаут не помогает sad.gif
можно ли как нибудь сделать так сказать софт ресет контроллера?

Сообщение отредактировал CoDa - 17.6.2013, 14:28
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
san
сообщение 17.6.2013, 15:38
Сообщение #25





Группа: Участники форума
Сообщений: 531
Регистрация: 10.1.2008
Из: Киев
Пользователь №: 14316



Цитата(Константин Ж @ 17.6.2013, 14:21) *
Возможно ли запустить симуляторы ПЛК в юнити на разных компьютерах, при этом что бы они между собой запросы по TCP отрабатывали, так называемая симуляция двух контроллеров с возможностью обмена данными?
Нет, только со стороны сервера, клиентский должен быть аппаратный.


Цитата(CoDa @ 17.6.2013, 14:27) *
Таймаут не помогает sad.gif
можно ли как нибудь сделать так сказать софт ресет контроллера?

Не задумывался над этим. Надо поклупаться в IODDT для порта Ethernet. Поройте в хелпе.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
tip42
сообщение 1.6.2020, 8:40
Сообщение #26





Группа: New
Сообщений: 8
Регистрация: 20.2.2015
Пользователь №: 260196



Здравствуйте, есть вопрос. При обмене данными со скада системой используется 502 порт, настраивается как либо номер порта в модиконе м340, например 503 и т.д.?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ogorsv
сообщение 2.6.2020, 16:28
Сообщение #27





Группа: Участники форума
Сообщений: 172
Регистрация: 19.9.2010
Пользователь №: 72709



Добрый день!

Нет, насколько я знаю, в самом М340 настраивается только параметры самого IP, Mask, Gateway и способы получения адреса (Static, DHCP, BOOTP)
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Добавить ответ в эту темуОткрыть тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

Реклама
ООО «Арктика групп» ИНН: 7713634274



ООО "Русич" ИНН 9721068883 / ЕРИД 2VtzqvMjLF8


ООО «УНИСПЛИТ» ИНН: 6453155081 erid:2VtzqxXgvJi

Реклама: ООО «СибСтронг» | ИНН 6670013662 | ERID: 2VtzqwyM2dc

Последние сообщения Форума






RSS Текстовая версия Сейчас: 22.7.2025, 22:59
Политика ООО ИИП «АВОК-ПРЕСС» в отношении обработки персональных данных