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


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

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

АВОК в соц. сетях
ИНН: 7714824045 | erid: 2VtzqwzKQiU
> Twido работа по Ethernet. Некорректная работа.
Alex_Doctor
сообщение 18.12.2011, 6:42
Сообщение #1





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



Есть 4 контроллера Twido TWDLCAE40DRF. Соединены по ethernet.
TW1 модулей нет
TW2 7 модулей TWDAMI8HT, по 8 аналоговых входов каждый.
TW3 7 модулей TWDAVO2HT, по 2 аналоговых выхода каждый
TW4 1 модуль TWDAVO2HT на 2 аналоговых выхода, 2 модуля TWDAMI8HT по 8 аналоговых входов.

Аналоговые входы - считывание параметров с термодатчиков и датчиков давления(72 параметра), аналоговые выходы - управление задвижки (16 задвижек данфосс).
При работе через OPC сервер все работает как надо. Входы считываются, выходы записываются. Крутится программка, которая через OPC считывает параметры, обрабатывает, пишет на выходы, все хоккей. Однако требуется вынести всю логику на контроллер TW1 и возникла проблема. Всё (на мастер контроллере прописаны IP слейвов, макросы Comm и Symbol заполнены) сделано по букварю (TWIDO S1062 Version A). Однако команды записи C-WRNW и C_WR1W не работают вообще, команды чтения C_RDNW и C_RD1W работают, но только в отношении одного контроллера, первого в тексте программы. Т.е. в программе прописано обращение ко всем контроллерам, а обмен идет только с первым, и только на чтение.
Кто сталкивался с аналогичной проблемой, помогите! Если можно, примерами!
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
 
Открыть тему
Ответов (1 - 21)
Alex_Doctor
сообщение 18.12.2011, 13:00
Сообщение #2





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



LD 1
[ C_WR1W_ADDR_1 := 100 ]
[ C_WR1W_VAL_1 := 100 ]
[ C_WR1W 1 ]
LD 1
[ C_WR1W_ADDR_2 := 310 ]
[ C_WR1W_VAL_2 := 10 ]
[ C_WR1W 2 ]

Первая команда выполняется, вторая нет.
Тоже со чтением.
Т.е. контроллер работает только с одним раб-контроллером.
ЗЫ: как писать - разобрался. Только обращение происходит к одному контроллеру. И может выполнятся только одна операция. Или запись, или чтение. Только с одного контроллера. ОРС читает-пишет ок.

Сообщение отредактировал Alex_Doctor - 18.12.2011, 13:04
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Alex_Doctor
сообщение 18.12.2011, 19:14
Сообщение #3





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



Использовал временную задержку между командами, все заработало.
Оказывается, одновременно несколько сетевых команд не работают.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
san
сообщение 18.12.2011, 21:46
Сообщение #4





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



Лучше уж пользоваться EXCH3, там хоть непоняток меньше будет и оптимизировать проще. Я как-то честно говоря до конца не понимаю, что в этих макросных делах такого ценного? Все равно за всем следить надо, и память выделять и еще з бубенцами танцевать. Это как делать свою прогу на базе существущей чужой. В конце концов все-равно все переписываешь.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Kuzyma
сообщение 18.12.2011, 22:29
Сообщение #5





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



Попробуйте каждую следующую операцию чтения/записи блокировать битом активности блока EXCH3 (по сути он используется в макросе). Синтаксис бита активности - %MSG3.D. Бит во взведенном состоянии если нет активных операций у блока EXCH3.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Alex_Doctor
сообщение 19.12.2011, 12:23
Сообщение #6





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



Спасиб!
EXCH дольше, но удобнее настраивать.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Telemu
сообщение 15.2.2012, 11:22
Сообщение #7





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



Цитата(Alex_Doctor @ 18.12.2011, 9:42) *
сделано по букварю (TWIDO S1062 Version A)

Подскажите где взять такой букварь?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Antibiotic
сообщение 5.5.2013, 0:10
Сообщение #8





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



Да букварь бы непомешал, вечно для твидо мало инфы...а возможностей у ПЛК много
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Telemu
сообщение 6.5.2013, 11:15
Сообщение #9





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



У меня получилось, только без букваря, и на макросы забил.
Без них получается больше передовать.
Когда разберёшся, кажется всё просто, а когда не идет, готов производителей извести со света, наши ответить толком не могут (не всегда, на кого нарвешься), а буржуины только на английском или на французком.
Кстати и с панелями беда, программы работают только под win32 где они берут такие буки? Пришлось перейти на руские панели. Хотя возможностей сильно не хватает, но зато дешевле...
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Antibiotic
сообщение 6.5.2013, 14:00
Сообщение #10





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



Такаяже беда, правда Win32 стоит и с панелями проблем нет (монохромными), а вот как работают макросы никак не догоняю...
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
disaster2005
сообщение 9.8.2013, 13:58
Сообщение #11





Группа: New
Сообщений: 16
Регистрация: 7.9.2010
Из: Минск
Пользователь №: 71096



Цитата(Telemu @ 6.5.2013, 11:15) *
У меня получилось, только без букваря, и на макросы забил.
Без них получается больше передовать.
Когда разберёшся, кажется всё просто, а когда не идет, готов производителей извести со света, наши ответить толком не могут (не всегда, на кого нарвешься), а буржуины только на английском или на французком.
Кстати и с панелями беда, программы работают только под win32 где они берут такие буки? Пришлось перейти на руские панели. Хотя возможностей сильно не хватает, но зато дешевле...

Могли бы выслать пример связи двух twido по Ethernet (port3) с использованием EXCH3?
disaster2005(собака)mail.ru
Спасибо.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Telemu
сообщение 9.8.2013, 14:34
Сообщение #12





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



В конфигурации присвойте IP например в 1 twido 192.168.1.101 а во вторм 192.168.1.102, и укажите их адреса в качестве слейва наоборот - это связь на прямую, одним кабелем ethernet.
Если надо несколько чере комутатор, то всё как обычно...
Прикрепленные файлы
Прикрепленный файл  primer_svyazi.jpg ( 361,6 килобайт ) Кол-во скачиваний: 323
 
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Telemu
сообщение 9.8.2013, 14:43
Сообщение #13





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



Два пакета по 16 слов и 16 бит, во втором twido точно также. Установлено сразу передача и чтение.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Expert HVAC
сообщение 9.8.2013, 15:24
Сообщение #14





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



Цитата(Alex_Doctor @ 18.12.2011, 7:42) *
Есть 4 контроллера Twido TWDLCAE40DRF. Соединены по ethernet.
TW1 модулей нет
TW2 7 модулей TWDAMI8HT, по 8 аналоговых входов каждый.
TW3 7 модулей TWDAVO2HT, по 2 аналоговых выхода каждый
TW4 1 модуль TWDAVO2HT на 2 аналоговых выхода, 2 модуля TWDAMI8HT по 8 аналоговых входов.

Аналоговые входы - считывание параметров с термодатчиков и датчиков давления(72 параметра), аналоговые выходы - управление задвижки (16 задвижек данфосс).
При работе через OPC сервер все работает как надо. Входы считываются, выходы записываются. Крутится программка, которая через OPC считывает параметры, обрабатывает, пишет на выходы, все хоккей. Однако требуется вынести всю логику на контроллер TW1 и возникла проблема. Всё (на мастер контроллере прописаны IP слейвов, макросы Comm и Symbol заполнены) сделано по букварю (TWIDO S1062 Version A). Однако команды записи C-WRNW и C_WR1W не работают вообще, команды чтения C_RDNW и C_RD1W работают, но только в отношении одного контроллера, первого в тексте программы. Т.е. в программе прописано обращение ко всем контроллерам, а обмен идет только с первым, и только на чтение.
Кто сталкивался с аналогичной проблемой, помогите! Если можно, примерами!


Описание проблемы и саму программу присылайте в тех.поддержку: ru.ccc@schneider-electric.com
Обязательно помогут.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Telemu
сообщение 11.8.2013, 3:53
Сообщение #15





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



ИМХО макросы, для не сильно вникших - на самом деле научится ими управлять, тоже самое, что получить зваание магистра тёмных энергий...
Хотя я частотниками, по началу управлял через макросы....
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
disaster2005
сообщение 13.8.2013, 17:01
Сообщение #16





Группа: New
Сообщений: 16
Регистрация: 7.9.2010
Из: Минск
Пользователь №: 71096



Цитата(Telemu @ 9.8.2013, 14:34) *
В конфигурации присвойте IP например в 1 twido 192.168.1.101 а во вторм 192.168.1.102, и укажите их адреса в качестве слейва наоборот - это связь на прямую, одним кабелем ethernet.

Какая часть программы на чтение, какая на запись?
и там и там тадлица одинакова, отличаються только "%MW3 := 64" и "%MW27 := 81" и что эти цифры означают?
Цитата(Telemu @ 9.8.2013, 14:34) *
Если надо несколько чере комутатор, то всё как обычно...

а как обычно?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
disaster2005
сообщение 14.8.2013, 16:07
Сообщение #17





Группа: New
Сообщений: 16
Регистрация: 7.9.2010
Из: Минск
Пользователь №: 71096



На самом деле, функция EXCH3 гораздо приятнее вплане модернизаций, да и опыт формирования таблиц для ModBus-RS485 пригодиться.
Тот пример, что выложил Telemu не отражает всей картины, да и таблица вторая настроена на чтение (хоть утверждаеться что на запись)
Если кому нужно срочно, то могу выложить проект подключения двух Twido по TCP/IP (master --> read/write --> slave), впринципе даже не важно по средствам какой сети будет осуществляться связь, изменения минимальны, суть одна.
Когда закончу проект выложу подробное рукаводство по настройке связи.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Telemu
сообщение 15.8.2013, 15:39
Сообщение #18





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



Может это поможет https://sites.google.com/site/fieldbusbook/...s-rtu-ascii-rus
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
disaster2005
сообщение 15.8.2013, 21:16
Сообщение #19





Группа: New
Сообщений: 16
Регистрация: 7.9.2010
Из: Минск
Пользователь №: 71096



Цитата(Telemu @ 15.8.2013, 15:39) *

Эта сылка обязана быть у каждого кто хоть как то относится к передаче данных.
Но ваш пост странен, мне эта ссылка не нужна, и я даже отписался что выложу не обрывки инфы, а все целиком. Не понятно зачем тут ваша ссылка.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Telemu
сообщение 15.8.2013, 23:59
Сообщение #20





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



Изначально вы просили пример я выложил рабочий а не теоретический... это до сих пор работает... попытаюсь ответить
Цитата(disaster2005 @ 13.8.2013, 20:01) *
Какая часть программы на чтение, какая на запись?
и там и там тадлица одинакова, отличаються только "%MW3 := 64" и "%MW27 := 81" и что эти цифры означают?

а как обычно?

я же писал что два пакета

если читали по ссылке то там полная расшифровка, из которой мы выдим что старший бит %MW0 установлен 01,что соответствует приему+передаче, это там написано (для справки 0 только передача, 2 только прием).
далее MW3 := 64 это адрес отправляемых данных, MW4:=17 длина, тоже самое во второй части... принимаются сообщения в адреса, первый пакет %MW7, второй в %MW32...

да также как дома компьютеры объеденяются в сеть
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
disaster2005
сообщение 16.8.2013, 8:50
Сообщение #21





Группа: New
Сообщений: 16
Регистрация: 7.9.2010
Из: Минск
Пользователь №: 71096



Таблица записи 3-х слов:
%MW0 := 16#010E - (01 - всегда 01 = чтение/запись для получения ответа от ведомого что все принято) и (0E = 8 + 2*3слова)
%MW1 := 16#0007 - (смещение в передаче 7й байт)
%MW2 := 16#0110 - (01 - адрес устройства, если связь по TCP/IP то это индекс в колонке слева от IP адреса ведомого что указывается в настройках) и (10 - код запроса для записи)
%MW3 := 10 - запись начнеться с 10-го слова в слейве
%MW4 := 3 - будет записано 3 слова (следовательно в %MW10, %MW11, %MW12) при этом в слейве нужно прописать %MW13 := 16#FFFF для выделения памяти.
%MW5 := 6 - твидо не может посчитать самостоятельно, поетому нужно указать число байт (количество слов * 2)

%MW6 := var1 --> %MW10 (slave)
%MW7 := var2 --> %MW11 (slave)
%MW8 := var3 --> %MW12 (slave)

теперь то, ради чего указывалось 01 - Ответ от ведомого:
%MW9 := 'адрес ведомого' и 'код отклика'
%MW10 := 'номер первого записанного слова'
%MW11 := 'число записанных слов'

т.к. в итоге в таблице вышло 12 слов, посылку формируем как [EXCH3 %MW0:12]

Для связи по TCP/IP необходимо в Describe указать:
- для ведущего - IP адрес, маску, основной шлюз (вымышленный), IP адреса ведомых
- для ведомых - IP адрес, туже маску, тотже шлюз, все.

Telemu, сходство с Вашей таблицей только в первом байте

И конечно нужно при себе иметь всегда эту ссылку https://sites.google.com/site/fieldbusbook/...s-rtu-ascii-rus
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Nikaragua
сообщение 21.8.2013, 11:01
Сообщение #22





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



Цитата(Alex_Doctor @ 18.12.2011, 7:42) *
Есть 4 контроллера Twido TWDLCAE40DRF. Соединены по ethernet.
TW1 модулей нет
TW2 7 модулей TWDAMI8HT, по 8 аналоговых входов каждый.
TW3 7 модулей TWDAVO2HT, по 2 аналоговых выхода каждый
TW4 1 модуль TWDAVO2HT на 2 аналоговых выхода, 2 модуля TWDAMI8HT по 8 аналоговых входов.

Аналоговые входы - считывание параметров с термодатчиков и датчиков давления(72 параметра), аналоговые выходы - управление задвижки (16 задвижек данфосс).
При работе через OPC сервер все работает как надо. Входы считываются, выходы записываются. Крутится программка, которая через OPC считывает параметры, обрабатывает, пишет на выходы, все хоккей. Однако требуется вынести всю логику на контроллер TW1 и возникла проблема. Всё (на мастер контроллере прописаны IP слейвов, макросы Comm и Symbol заполнены) сделано по букварю (TWIDO S1062 Version A). Однако команды записи C-WRNW и C_WR1W не работают вообще, команды чтения C_RDNW и C_RD1W работают, но только в отношении одного контроллера, первого в тексте программы. Т.е. в программе прописано обращение ко всем контроллерам, а обмен идет только с первым, и только на чтение.
Кто сталкивался с аналогичной проблемой, помогите! Если можно, примерами!


Это распространённая ошибка программирования функций обращений чтения/записи по Modbus для контроллеров Twido. Необходимо пояснить принцип работы контроллера... Контроллер выполняет программу циклически (создание образа состояния входов - обработка логики программы пользователя - создание образа состояния выходов). Время цикла может быть порядка 10 мс. В тоже время, инструкция EXCH запускает процесс связи в коммуникационном модуле. Полная обработка данной процедуры может длиться несколько циклов контроллеров. Каждый раз, когда идёт обработка логики пользовательской команды выполняется первая инструкция EXCH и соответсвующий порт контроллера остаётся занят этой операцией на несколько циклов контроллера. После того как он освободится, опять занимается первой инструкцией EXCH и так далее. До последующих EXCH инструкций он никогда не дойдет. К сожалению, в существующих примерах Шнейдер в качестве инициализации выполнения EXCH инструкции использует логические входа контроллера (по фронту!!!) и нет примеров реальной обработки slave устройств. Можно только получить пример такой программы в техподдержки SE.
EXCH1 - инструкция для порта 1 (порт программирования)
EXCH2 - инструкция для порта 2 (опционный порт)
EXCH3 - инструкция для встроенного Ethernet порта контроллеров компактной 40 серии.
Макросы основаны на инструкциях EXCH, фактически это некая подпрограмма написанная на основе EXCH. Эту программу можно легко посмотреть, щёлкнув правой кнопкой мыши на блоке макроса в теле программы.
Разницы в написании вообщем нет, нужна аккуратность и не более.

Как организовать программу. Один из способов, это организовать в программе циклический перебор выполняемого макроса или EXCH инструкции. Обязательно присутствие бита состояния порта MSGD (вроде). Который собственно и запускает выполнение EXCH инструкции. Если количество slave устройств много, то рекомендую предусмотреть вариант исключения отключившегося slave устройства по таймауту. Это ускорит взаимообмен.

По конкретно задаче. Скорее всего то не подойдет из за ограничений, но стоит напомнить, что в Twido есть возможность организовать взаимообмен между контроллерами в режиме Remote Link. Один из режимов, когда контроллеры равноправные с собственными программами и обмениваются между собой 4 словами на передачу и 4 словами на приём. Можно объеденить до 7 контроллеров на расстоянии до 200 метров.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

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

 

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



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


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

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

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






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