Добрый день/ночь, уважаемые гуру.
Помогите пожалуйста разобраться с ситуацией.
Есть контроллер Twido TWDLMDA20DRT, есть модуль дискретных входов с колодками TWDDDI32DK.
К колодкам подключены различные устройства, с нормально замкнутыми-разомкнутыми контактами.
Можно ли как то узнать и передать по ModBus данные, в каком состоянии находятся контакты на колодке.
Как я понял, нужно создать программу, которая будет "смотреть" в каком состоянии контакт на колодке и отправлять эти данные, используя инструкции EXCH и/или %MSGx
Но как это сделать ума не приложу.
Помогите пожалуйста.

За ранее благодарен.
Если передать данные нужно на компьютер, например на СКАДА, ничего в контроллере больше прописывать не надо. Вытягиваете их себе по Modbus и все. Но только для полной совместимости желательно значение входных данных переслать во внутренние перемнные. Например так:
[%I1.0]--------------------------------------(%M10)
В люобом случае, нужно уточнить, что за другое устройство, куда должны передаваться данные.
san спасибо за ответ.
Устройство в сети, которое по modbus должно получать данные, SMART-FEP.
http://www.asutp.ru/?p=400471Как я понял, тут мы записываем данные о контакте в переменную, правильно?
[%I1.0]--------------------------------------(%M10)
А как эти данные передать дальше?
Или эти данные нужно просто считать с контроллера?
Так же, как я понял, сам контроллер должен быть в режиме Slave, а принимающее устройство мастер.
Если SMART-FEP поддерживает Modbus Master, то Twido должен быть Slave. В этой ситуации кроме как настроек порта у Twido больше ничего делать не надо. Тогда перемнные %M0...%M200 будут доступны по Modbus как соответсвующие Coils (ф-ция 01), где первая катушка (0001) будет %M0.
Если SMART-FEP поддерживает Modbus Slave, то придется писать туда все данные с Твидо через коммуник. функции.
Биты можно паковать в переменные %MW, например
[%I1.0]--------------------------------------(%MW0.X0)
[%I1.1]--------------------------------------(%MW0.X1)
Переменные %MW можно считать через Holding Registers (ф-ция 03), где первый регистр (4001) будет %MW0.
san еще раз спасибо.
Действительно, все оказалось проще чем я думал.
Создал секцию [%I1.1]--------------------------------------(%M1)
Запустил контроллер.
Поставил программу Modbus Poll, подключился ей к контроллеру, через Modbus TCP/IP, выбрал в ней функцию Read Coils.
Замыкаю-размыкаю контакты, вижу разницу. Биты идут. )
А вот со переменной %MW немного не понял.
Создаю секцию [%I1.1]--------------------------------------(%MW1)
Получаю в ответ "Адрес %MW1 неверный для этой инструкции"
%MW1:X0 - бит 0-й во внутреннем слове 1
Сергей Долганов
4.5.2011, 10:16
Цитата
Создаю секцию [%I1.1]--------------------------------------(%MW1)
Получаю в ответ "Адрес %MW1 неверный для этой инструкции"
Еще бы, бит в слово запихивать.
Сергей Долганов ну так, я человек, который с этой штукой познакомился неделю назад

Вы бы алгоритм подсказали, а то и правда получается, что я нахожу решения методом научного тыка.
Сергей Долганов
4.5.2011, 10:45
Я с этой штукой вобще не знаком. Но есть общие правила о котором san уже писал. Бит пишется в бит, байт в байт, слово в слово. Ферштейн?
Сергей Долганов вы все же "лестницах" лучше меня разбираетесь, независима от оборудования

Но принцип понятен.
Просто пытаюсь разобраться в переменной %MW. Как данные в нее загружать и как вытаскивать.
А если нужно одно значение перевести в другое, ну скажем байт в слово, такое возможно?
Сергей Долганов
4.5.2011, 12:02
У симатиков для этого используется команда MOVE т.е. MOVE MW10,MW20 возьмет данные из MW10 и запишет их в MW20.
Для байта: Байт запишите в нулевой байт слова.
Переводить другие размерности можно, не знаю как это делается у Twido, обратно же у симатика есть промежуточные преобразования например что бы сделать из WORD Real нужно: перевести слово в двойное слово, двойное слово в реал.
вам уже давали ответ на вопрос о том, как бит в Ворд пихать

Цитата
%MW1:X0 - бит 0-й во внутреннем слове 1
starshoy2001
4.5.2011, 12:31
Цитата(zwaid @ 4.5.2011, 11:57)

Сергей Долганов вы все же "лестницах" лучше меня разбираетесь, независима от оборудования

Но принцип понятен.
Просто пытаюсь разобраться в переменной %MW. Как данные в нее загружать и как вытаскивать.
А если нужно одно значение перевести в другое, ну скажем байт в слово, такое возможно?
не надо так над собой издеваться.есть инструкция по программированию на русском языке .там все расписано.по моему есть ссылка на нее на этом форуме.а вообще то надо книжки читать и тогда вопросов будет поменьше.сначала книги -потом практика на железе.
Цитата(starshoy2001 @ 4.5.2011, 13:31)

не надо так над собой издеваться.есть инструкция по программированию на русском языке .там все расписано.по моему есть ссылка на нее на этом форуме.а вообще то надо книжки читать и тогда вопросов будет поменьше.сначала книги -потом практика на железе.
Есть курсы у Шнайдера, есть книги, есть мануалы, короче есть все.
Одного нет, времени

АСУ - это не мое направление, просто начальство почему-то решило, что связист может все

Но это лирика.
Если честно, раз уже наверное 5 читал мануал по TwidoSoft (он на русском) и по TwidoSuite (english).
Все равное простые вещие не могу сделать, наверное это не мое

Но благодаря местным гуру, начал понимать (вроде) за что и спасибо.
И простите за глупые вопросы.
Выложил презентацию на LD из нашего курса по Твидо. Может чем-то поможет в освоении.
starshoy2001
4.5.2011, 14:43
Цитата(san @ 4.5.2011, 15:36)

Выложил презентацию на LD из нашего курса по Твидо. Может чем-то поможет в освоении.
наверняка у вас есть презенташка по всему курсу.выложите для народа пусть учится.хорошее дело сделаете.не такой уж сложный контроллер TWIDO а вопросов по нему у народа возникает уйма.
Цитата(san @ 4.5.2011, 15:36)

Выложил презентацию на LD из нашего курса по Твидо. Может чем-то поможет в освоении.
Отличная презентация, многие вещи становятся понятней.
Все кто имеет "счастье" общаться с контроллерами Twido обязательно нужно просмотреть ее.
Вспомнил анегдот:
Экскурсия на заводе резиновых изделий.
- Спец.: А вот мы проходим по цеху изготовления сосок...
-Цеховой шум: пшшш-шпок-пшшш-шпок
- Спец.: ... вы слышите как надувается соска, и в ней делается дырочка... А вот мы проходим по цеху изготовления презревативов.
-Цеховой шум: пшшш-пшшш-пшшш-пшшш-пшшш-шпок-пшшш-пшшш-пшшш-пшшш-пшшш-шпок
-Экскурсанты: А зачем в каждом 6-м делать дырочку?
- Спец.: ... ну а по другому кто тогда будет соски покупать?
Ну да ладно, выложу. Но это только пол курса, остального у меня нет, так как это интел. собственость другого преподавателя. Все соскреб в один файл OTHER. Информация немного устарела, так как с определенного времени желающих поучиться Twido не так много. Больше по M340, Premium, VijeoCitect, но эти курсы я вам не дам. :-)
Может все таки поделитесь?
SiberiaN
29.6.2011, 11:21
Извините за возможно глупый вопрос, прочитал про поддержку макросов в twido, но нигде не могу найти мануал по применению. К примеру d_stop неимеет никакого слова(%MWx) для остановки ПЧ по модбасу, каким образом он это поймет? Также немогу найти как задать частоту на ПЧ(Altivar12), кроме установленных скоростей(D_SELECT_SPEED_VAL_1) ничего больше нету. Имеет ли смысл заниматся етими макросами или лучше ручками MSGx EXCHx??
Это вопрос удобства. Я б лучше сам писал. Мне проще разобраться с приницпами управления частотником, чем с интерфейсом макроса. Тоже самое касается функций обмена по сети. В любом случае, макросы имеют открытый код, и Вы можете его посмотреть в IL. Хотя так было в TwidoSoft, в TwidoSuite может такой возможности и нет.
SiberiaN
29.6.2011, 11:39
В том то и беда что нету так сказать расшифровки этих макросов, и нигде не могу найти. Куда по какому адресу обращаются и что записывают. Только недавно начал изучение программирования контроллеров и немного путаюсь с таблицой передачи пакетов. Хотелось бы найти какойнибуть образец программы типо подключения Modicon - twido - atv, а дальше я сам постараюсь разобратся.
Может это поможет, пример 6.5
https://sites.google.com/site/fieldbusbook/...s-rtu-ascii-rusТут о обмене по сети двух Твидо. По частотникам нужно определить как управляется автомат состояний и к каким переменным нужно обращаться. По макросам ничем помочь не могу, как уже говрил не люблю я их.
SiberiaN
29.6.2011, 22:07
Спасибо за ссылку, буду копать дальше в этом направлении
а есть мануал по твидо съют?
Volod_myr
4.10.2012, 22:15
Всем привет.
У меня проблема подключения двух Twido по GSM-модемах.
Пример программы нашел.
В нем Master инициирует звонок на Slave, проверяет его входы и включяет свои выходы.
Мне же нужно наоборот:
появился вход на Master -> создать сообщение и зделать дзвонок -> включить выходы на Slave
У кого какие идеи?
С GSM не работал, но думаю если получилось первое, то во втором не должно быть проблем. Если там модбас, то надо использовать функцию групповой записи.
Volod_myr
5.10.2012, 10:31
Да и с первым так себе
Работает когда хочет
Вот пример который я нашол
http://www.ex.ua/view_storage/370973529780Но у меня 2 ПЛК TWDLCAA10DRF, а модемы iRZ MC55i-485GI
Так что пришлось программу немного менять
http://www.ex.ua/view_storage/345224920237Основная задача сделать так, чтобы при срабатывании хотя бы одного из четырех входов Master светился соответствующий выход Slave.
Пока до конца не разобрался как это сделать.
В образце модемы не воспринимаются как модемы, а как последовательная передача по Modbus
Volod_myr
6.10.2012, 9:40
Сделал связь между модемами.
Работает как часы.
Никак не могу сделать обратную операцию:
запись входов Master на Slave.
Pleas HELP!!!
tankdisko
31.10.2017, 14:48
Цитата(Volod_myr @ 6.10.2012, 9:40)

Сделал связь между модемами.
Работает как часы.
Никак не могу сделать обратную операцию:
запись входов Master на Slave.
Pleas HELP!!!

пример который я нашол
http://www.ex.ua/view_storage/370973529780 ссылка не работает сможешь куда то скинуть чтоб скачать можно было СПС
Volod_myr
31.10.2017, 19:37
Я програму делал ещо в 2012г.))) и у меня все вышло (в обе стороны), посмотрю возможно гдето завалялась
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.