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


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

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

АВОК в соц. сетях
ИНН: 7714824045 | erid: 2VtzqwzKQiU
> Сеть контроллеров Modicon M340, не знаю как обьеденить в сеть
Гость_driller_*
сообщение 7.10.2010, 10:53
Сообщение #1





Guest Forum






Прикрепленный файл  PLCNET1.jpg ( 77,04 килобайт ) Кол-во скачиваний: 78


Здравия желаю господа.
На работе поставил 3 отдельностоящих ПЛС М340, которые читают и обрабатывают инфо со своих модулей.
Все Плсишки работают на BMX P34 2020. На каждом контроллере заведен свой IP адрес.
Все эти Р34 2020 подсоеденены к эзернету. Через эзернет я могу с компа на котором установлен юнити про подсоедениться к любому контроллеру, и видеть все данные вживую. На этом же компе стоит прога написанная мною на Дельфи, которая подсоединяется ко всем трем контроллерам читает состояние I/O и выводит на экран. Растояние между ПЛСшками около 50 метров, а очень часто нужно что бы
вывод на третьем контроллере зависил от статуса вводов на первом и на втором.
простой пример думаю будет выглядеть так:

PLC 1 Input 1 __ PLC 2 Input 5 ___ PLC 3 Input 3 ___ PLC 3 Output 1
----| |---------------------| |------------------------| |----------------( )--------------

Так вот, столько я не пытался понять как это можно сделать, ничего не добился сам. Поэтому и решил задать тут вопрос.

Что мне надо сделать в программе Unity Pro XL v3, для того что бы научить ПЛСишку 3 читать определенные входы-выходы с ПЛсишек 1 и 2, и наоборот.
Помогите практическим советом пжалуйста, или дайте ссылки на хороший мануал (англ, руск).
Спасибо заранее.

Сообщение отредактировал driller - 7.10.2010, 10:56
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Открыть тему
Ответов (1 - 26)
Евгений (N-ск)
сообщение 7.10.2010, 11:03
Сообщение #2





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



У вас программа UNITY (делфи) выполняет функцию MASTER, а контроллеры SLAVE

назначьте 3 контроллер MASTER-ом для опроса 1 и 2
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Rus75
сообщение 7.10.2010, 11:11
Сообщение #3





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



вот здесь немного по вашему вопросу http://se-automation.in.ua/advices/28-tran...t-device-access
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_driller_*
сообщение 7.10.2010, 11:15
Сообщение #4





Guest Forum






Евгений,
Цитата
У вас программа UNITY (делфи) выполняет функцию MASTER, а контроллеры SLAVE

назначьте 3 контроллер MASTER-ом для опроса 1 и 2


а как это сделать то ? что то я не могу найти как пересести статус хозяин-раб.

Rus75,
спасибо ща покопаюсь
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
san
сообщение 7.10.2010, 13:13
Сообщение #5





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



В Modbus TCP/IP нет разделения на Master и Slave, есть разделения на Клиент и Сервер. Любой из ПЛК может одновременно быть и Modbus TCP/IP Client и Server. Для реализации клиентских запросов через проц нужно пользоваться функциями READ_VAR и WRITE_VAR. В хелпе есть примеры для М340 на Modbus TCP/IP. Поищите. Сервера прошиты на уровне оси.

Сообщение отредактировал san - 7.10.2010, 13:14
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_driller_*
сообщение 7.10.2010, 15:40
Сообщение #6





Guest Forum






san,

уже несколько дней я безпрерывно копаюсь в сети и в мануалах в поисках ответа на вопрос куда же мне вписать в Unity Pro в пограмме для третьей ПЛСишки этот самый READ_VAR что бы эта самая 3-я ПЛСишка через эзернет соединялась с первой ПЛСишкой и спрашивала у нее состояние входа %I0.4.6 например.

Помогите если сможете.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
san
сообщение 7.10.2010, 16:34
Сообщение #7





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



Сейчас попробую на NOE, потом вышлю пример
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
san
сообщение 7.10.2010, 17:09
Сообщение #8





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



Прикрепленный файл  comm_ethernet.bmp ( 1,42 мегабайт ) Кол-во скачиваний: 96

Вот пример. Сразу скажу что непосредственно %I считывать нельзя, только %M или %MW. На сервере нужно проделывать переприсвоение. IP-шник пропишите свой, название соединения тоже свое. А так, почитайте еще хелп по этим функциям.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_driller_*
сообщение 10.10.2010, 11:56
Сообщение #9





Guest Forum






san,

спасибо за помощь, процесс сдвинулся с мертвой точки.
Программа в одной ПЛКшке читает %MW из другой, что в принципе радует,
теперь остается задача разложить полученное число по битам, и прочитать статус именно того ввода\вывода который нужен.
Заметил в библиотеке функцию WORD_To_BIT которая выдаст как я думаю статус каждого бита, только вот чтобы использовать ее, надо как то array of integer где содержится полученное число перевести в этот самый WORD.

есть мысли как это сделать наикратчайшим путем ?

Еще раз спасибо за оказанную помощь.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_driller_*
сообщение 10.10.2010, 12:20
Сообщение #10





Guest Forum






сделал сам, но не знаю, является ли это лучшим решением.

ANY_Array_INT функцией MAX_ARINT перевел в Integer, Integer функцией INT_TO_WORD перевел в WORD, а далее уже

WORD_TO_BIT выводит распиновку каждого бита котрому присвоена BOOL переменная.
Вот по состоянию этой переменной я и считываю статус.

Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
san
сообщение 11.10.2010, 9:29
Сообщение #11





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



Это делается просто: %MW20.14 - доступ к 14-му биту
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_driller_*
сообщение 18.10.2010, 17:14
Сообщение #12





Guest Forum






san,
спасибо за помошь, Вы очень помогли в решении этой мелкой но очень важной задачи.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
san
сообщение 18.10.2010, 18:45
Сообщение #13





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



Пожалуйста. Обращайтесь, если что. ;-)
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Lowkee_*
сообщение 13.11.2010, 14:27
Сообщение #14





Guest Forum






Вопрос появился?

Подскажите,с помощью каких моделей или с помощью какиъх средств осуществить упаковку данных? то есть чтобы биты %M101 106 111 упаковывались в слова

Подскажите пож-та?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
limite
сообщение 13.11.2010, 16:42
Сообщение #15





Группа: Участники форума
Сообщений: 158
Регистрация: 6.4.2008
Из: Люберцы
Пользователь №: 17422



типо того
%M101 MOV %MW1.1
%M106 MOV %MW1.2
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Kuzyma
сообщение 14.11.2010, 14:58
Сообщение #16





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



Если элементов не много то упаковку можно произвести простым присваиванием
%MW1.1:=%M101;
%MW1.2:=%M106;
Если битовых элементов много то можно воспользоваться встронными функциями работы с массивами битовых переменных.
Что-бы сделать определенные данные с одного ПЛК доступными в сети Ethernet для других ПЛК существует также механизм Global Data. Он удобнее если у вас больше 2-х ПЛК и каждый отдает и принимает данные.
Почитать как работает и посмотреть пример использования можно здесь: http://se-automation.in.ua/articles/27-tra...ady-global-data
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Lowkee_*
сообщение 18.11.2010, 10:52
Сообщение #17





Guest Forum






Подскажите пож-та,а что может служить ошибкой в дайнонм случае?

Адрессацию в памяти сделал...
{Derived Variables} : The topological type is incompatible. : Massive2_27
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Kuzyma
сообщение 18.11.2010, 21:16
Сообщение #18





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



Покажите скриншот из менеджера переменных этого массива Massive2_27.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Lowkee_*
сообщение 19.11.2010, 13:18
Сообщение #19





Guest Forum






Вот собственно и скриншот
Прикрепленные файлы
Прикрепленный файл  IOSanning.PNG ( 163,03 килобайт ) Кол-во скачиваний: 112
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
san
сообщение 19.11.2010, 20:54
Сообщение #20





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



EBOOL и BOOL - это две большие разницы. EBOOL в Премиум занимает 3 бита, а в М340 - по моему 8 бит. Присваивание один другому разрешается, но не привязывание (читай локализация) булевых переменных к прямому EBOOL адресу. Вот по этому у Вас не соответствие типов.
Если Вам не нужно отлавливание фронтов можете не пользоваться %M, а вместо них использовать биты из %MW.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Lowkee_*
сообщение 22.11.2010, 12:36
Сообщение #21





Guest Forum






Проблема в том,что если я указываю бит через NW например MW101.1 он у меня меняет не битовую часть а часть 101 то есть 1 на 2 и т.д ,а нужно чтобы меня битовую....Посоветуйте пож-та,как поступить?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Lowkee_*
сообщение 24.11.2010, 12:05
Сообщение #22





Guest Forum






Форумчане,не получается добиться от программы нужного результата,ошибок не выдает,но и результата тоже,сдавать проект в ближайшие 5 бдней.
Кто мог бы посмотреть его,был бы признателен,в случае необходимости в долгу не останусь
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Гость_Lowkee_*
сообщение 25.11.2010, 15:28
Сообщение #23





Guest Forum






Подскажите пож-та,что может быть за ошибка,когда я подключаюсь к контроллеру,Unity пишут
This isnt a valid PLC Address,or PLC is busy,or media is off

Точнее как ее решить?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
k0der_
сообщение 5.2.2011, 21:05
Сообщение #24





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



Цитата(san @ 7.10.2010, 15:13) *
В хелпе есть примеры для М340 на Modbus TCP/IP. Поищите.

нету. только на serial port
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
san
сообщение 6.2.2011, 10:14
Сообщение #25





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



Цитата(san @ 7.10.2010, 16:09) *
Прикрепленный файл  comm_ethernet.bmp ( 1,42 мегабайт ) Кол-во скачиваний: 96

Вот пример. Сразу скажу что непосредственно %I считывать нельзя, только %M или %MW. На сервере нужно проделывать переприсвоение. IP-шник пропишите свой, название соединения тоже свое. А так, почитайте еще хелп по этим функциям.

k0der , Вам это пример не помог?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
k0der_
сообщение 6.2.2011, 12:28
Сообщение #26





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



Цитата(san @ 6.2.2011, 12:14) *
k0der , Вам это пример не помог?

к сожалению нет. посмотре одно видео. завтра на работе протестю.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
san
сообщение 6.2.2011, 12:32
Сообщение #27





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



А что именно в нем не понятно?
Это ж не видео а рисунок.

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

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

 

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




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

ООО «УНИСПЛИТ» ИНН: 6453155081 erid:2VtzqwWc8XB
Реклама: ООО «СЛ-ЛАЗЕР» ИНН 7727447267 | erid: 2VtzqvEDgM7

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






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