1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

UNITY PRO

Unity Pro (Control Expert), Quantum, Premium, M340, M580, Hybrid DCS, Process Expert, Zelio, Twido, M17*, M2**, SCADAPACK, SoMachine, MachineExpert, ZelioSoft, TwidoSoft, TwidoSuite, TelePace

Модератор: Специалисты SE

Ответить
Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1357
Зарегистрирован: 01 сен 2008, 18:32
Имя: Пупена Александр
Страна: Украина
город/регион: Киев
Поблагодарили: 6 раз

Re: UNITY PRO

Сообщение san »

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

san
преподаватель
преподаватель
Сообщения: 1357
Зарегистрирован: 01 сен 2008, 18:32
Имя: Пупена Александр
Страна: Украина
город/регион: Киев
Поблагодарили: 6 раз

Re: UNITY PRO

Сообщение san »

Кстати
san писал(а):Не понял вопроса. Запись %M1:16:=%I1.0:16 вроде в Unity не разрешается. Только по одному, или через масив по индексу.
Пардон. Разрешается, если поставить галочки, какие наведены высше.

Автор темы
Lowkee
здесь недавно
здесь недавно
Сообщения: 65
Зарегистрирован: 27 июл 2010, 14:13
Имя: Стахин Е.В
Страна: Россия
город/регион: Москва

Re: UNITY PRO

Сообщение Lowkee »

Спасибо san все заработало,при чем сразу же!Но юоюсь вопросы езе возникнут.Еще раз спасибо!!!

Автор темы
Lowkee
здесь недавно
здесь недавно
Сообщения: 65
Зарегистрирован: 27 июл 2010, 14:13
Имя: Стахин Е.В
Страна: Россия
город/регион: Москва

Re: UNITY PRO

Сообщение Lowkee »

%M1:16:=%I1.0:16 а вот вернулся к этому вопросу,там све теже ошибки,хотя галочки проставлены,буду разбираться...
Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1357
Зарегистрирован: 01 сен 2008, 18:32
Имя: Пупена Александр
Страна: Украина
город/регион: Киев
Поблагодарили: 6 раз

Re: UNITY PRO

Сообщение san »

%M1:16:=%I1.0:16 и не сможет пройти, так как в UNITY это неверный топологический адресс. Вот такое %M1:16:=%I0.1.0:16 должно пройти (если сконфигурить на первом месте дискретный модуль)

Автор темы
Lowkee
здесь недавно
здесь недавно
Сообщения: 65
Зарегистрирован: 27 июл 2010, 14:13
Имя: Стахин Е.В
Страна: Россия
город/регион: Москва

Re: UNITY PRO

Сообщение Lowkee »

Блин((((Теперь вот понял,не все указал,еще раз благодарю
Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1357
Зарегистрирован: 01 сен 2008, 18:32
Имя: Пупена Александр
Страна: Украина
город/регион: Киев
Поблагодарили: 6 раз

Re: UNITY PRO

Сообщение san »

Lowkee писал(а):Возникла глобальная для меня проблема,устанавливаю функциональные блоки read_Var/write_Var и ADDM,но вот ругается unity на E1208 usage of dynamic arrays is disabled .Массив я создал как полгает,как мне думается,но подозрение,что что то с с массивом не так.Динамеческий вроде как...И еще,может кто то работал с этими,блоками,был бы признатален,если возможно,объяснить некоторые моменты
Спасибо
Вот сюда еще посмотрите, только что выложил.
http://forum.abok.ru/index.php?showtopi ... ntry569771

Автор темы
Lowkee
здесь недавно
здесь недавно
Сообщения: 65
Зарегистрирован: 27 июл 2010, 14:13
Имя: Стахин Е.В
Страна: Россия
город/регион: Москва

Re: UNITY PRO

Сообщение Lowkee »

Всем привет
Возник вопрос.Есть 3 контроллера с сигналами,Нужно чтобы с этих 3 контроллеров происходила передача этих сигналов на 4ый.
Собственно пока у меня вообще Нет даже представления,как это можно офрмить...
Если вдруг кто то может поделить опытом,был бы рад
Спаисбо
Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1357
Зарегистрирован: 01 сен 2008, 18:32
Имя: Пупена Александр
Страна: Украина
город/регион: Киев
Поблагодарили: 6 раз

Re: UNITY PRO

Сообщение san »

А пердыдущая ссылка Вам не помогла?

Автор темы
Lowkee
здесь недавно
здесь недавно
Сообщения: 65
Зарегистрирован: 27 июл 2010, 14:13
Имя: Стахин Е.В
Страна: Россия
город/регион: Москва

Re: UNITY PRO

Сообщение Lowkee »

Конечно что то она помогла,но есть определенные у меня проблемы... http://forum.abok.ru/index.php?act=atta ... t&id=43232

Но я не совсем понимаю,в какой струтном разделе мне это хоз-во описывать в st или в fbd....Так же если в fbd то как мне обозначить контроллеры,в связке или как?вообщем если более откровенно,если можно-чуть-чуть по подробнее...(
Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1357
Зарегистрирован: 01 сен 2008, 18:32
Имя: Пупена Александр
Страна: Украина
город/регион: Киев
Поблагодарили: 6 раз

Re: UNITY PRO

Сообщение san »

1. Создаем связь Ethernet в разделе Communication ->Networks, даем ей имя, по умолчанию Ethernet_1.
2. Настраиваем там свой IP-шник.
3. Создаем FBD-программу как в примере.
Если нужно в три контроллера писать, ипсользуйте три раза функции Write_Var вместо Read_Var. У каждого контроллера есть какие-то ограничения на количество запросов на 1 цикл, но вроде как они меньше чем 3.
В Премиум доступны также I/O Scaning и Global Data. Можете ими воспользоваться, но для этого нужно хотя бы ознакомиться с ними в хелпе.

Автор темы
Lowkee
здесь недавно
здесь недавно
Сообщения: 65
Зарегистрирован: 27 июл 2010, 14:13
Имя: Стахин Е.В
Страна: Россия
город/регион: Москва

Re: UNITY PRO

Сообщение Lowkee »

san спасибо,что то стало проясняться,сдвинулся с мертвой точки

Автор темы
Lowkee
здесь недавно
здесь недавно
Сообщения: 65
Зарегистрирован: 27 июл 2010, 14:13
Имя: Стахин Е.В
Страна: Россия
город/регион: Москва

Re: UNITY PRO

Сообщение Lowkee »

Вроде бы после вашей помощи все понял,все идет своим чередом,но вот не пойму,что именно я должен ввести в эти 2а пункта
Index of the first object to be written in the
destination device.(Ссылка на 1ый объект записи на дистанци устрайство)Но как это понять? И вот еще что не могу сообразить...
Management_Param- Gest

Заранее спасибо...

Автор темы
Lowkee
здесь недавно
здесь недавно
Сообщения: 65
Зарегистрирован: 27 июл 2010, 14:13
Имя: Стахин Е.В
Страна: Россия
город/регион: Москва

Re: UNITY PRO

Сообщение Lowkee »

Index of the first object to be written in the
destination device. с эти вопрос вроде решил,остается Management_Param- Gest
Если не сложно,подскажите пож-та,этот параметр как на входе так и на вызоде стоит,как быть?
Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1357
Зарегистрирован: 01 сен 2008, 18:32
Имя: Пупена Александр
Страна: Украина
город/регион: Киев
Поблагодарили: 6 раз

Re: UNITY PRO

Сообщение san »

Это параметр IN-OUT. Можно задавать только на вход. В качестве фактического параметра задается массив, всегда состоящий их 4-х слов. По памяти скажу: 0-е слово - счетчик запросов + бит активности (о-й бит слова). 1-е слово (+1) используется для храненения результатов удачности выполение функции. То-есть если функция выполнена без ошибок - там должен быть 0, если с ошибками - там сохраняется код ошибки. В 2-ом слове (+2) задаетмся тайм-аут. Если Вы ничего туда не вписали, будет какой-то по умолчанию (может даже бесконечность, точно не помню). В 3-м слове (+3) - количество возвращенных байт. Более детально - смотрите хелп.
Но самое главное что Вам нужно учесть - это: 1. Для каждой функции указывайте другую таблицу для GESt. 2. Вызывайте функцию только при скидывании бита активности предыдущего вызова (о-й бит о-го слова GEST), иначе будете вызывать функцию не дождавшись обработки предыдущего вызова (смотрите пример)

Автор темы
Lowkee
здесь недавно
здесь недавно
Сообщения: 65
Зарегистрирован: 27 июл 2010, 14:13
Имя: Стахин Е.В
Страна: Россия
город/регион: Москва

Re: UNITY PRO

Сообщение Lowkee »

Всем привет
Вопрос так и не решился, советуюсь с разными людьми,но я так и не пришел к чему то более или менее правильному решению...

Если в st я прописываю

MB_input_1 := input_1;
MB_output_1 := output_1;
гду input_1 это адрес ячейки,то у меня и так огромный массив увеличивается в сразу же в 2 раза,а этопорялдка 1500 ед,как быть я не пойму...

вот такие вот дела...(
Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1357
Зарегистрирован: 01 сен 2008, 18:32
Имя: Пупена Александр
Страна: Украина
город/регион: Киев
Поблагодарили: 6 раз

Re: UNITY PRO

Сообщение san »

Может потому, что %M - это перемнная не типа BOOL а типа EBOOL. В Премиум эти переменные занимли (а может и сейчас занимают) 3 бита, в М340 - один байт. Хотя Вашу запись я вобще не понял. Это присвоение чего к чему? И почему выходные значения Вы присваиваете чему-то, может наоборот? Более детально объясните.

Автор темы
Lowkee
здесь недавно
здесь недавно
Сообщения: 65
Зарегистрирован: 27 июл 2010, 14:13
Имя: Стахин Е.В
Страна: Россия
город/регион: Москва

Re: UNITY PRO

Сообщение Lowkee »

ну в разделе st я должен просписать каждой переменной M и MW входный и выходные
например
MB_input_1 BOOL %MW200.0

вообщем я в замешательстве....ведь если я так все перепишу,у меня выйдет порядка 1500 единиц...или я свосем не в ту степт пошел?
Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1357
Зарегистрирован: 01 сен 2008, 18:32
Имя: Пупена Александр
Страна: Украина
город/регион: Киев
Поблагодарили: 6 раз

Re: UNITY PRO

Сообщение san »

Не надо этого делать. Если вам нужно привязать нелокализированные переменные к топологическому адресу - это делается в настройках переменных в поле адресса.
Такое присвоение логично только в том случае, если Вам нужно привязаться к входным и выходным переменным %I, %IW, %Q, %QW, хотя это тоже необязательно.

Автор темы
Lowkee
здесь недавно
здесь недавно
Сообщения: 65
Зарегистрирован: 27 июл 2010, 14:13
Имя: Стахин Е.В
Страна: Россия
город/регион: Москва

Re: UNITY PRO

Сообщение Lowkee »

ясно,тогда мне нужно в fbd создать примерно тоже самое,что и на скриншоте?

Вот вы говорли про то,что нужно создать массив из 4х слов...
Еще вопрос,у меня порядка 15 массивов,как мне их в модуль write_var запихнуть?

Что то это меня в тупик как загнало,так и не отпускает...
Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1357
Зарегистрирован: 01 сен 2008, 18:32
Имя: Пупена Александр
Страна: Украина
город/регион: Киев
Поблагодарили: 6 раз

Re: UNITY PRO

Сообщение san »

У Write_Var есть свои ограничения, и у сети есть свои. Посмотрите в хелпе какой макисмальный размер поддерживается для Modbus TCP/IP. По-моему там где-то 250 байт, тобишь около 125 слов. Ваши массивы разбейте по 125 слов (или присвойте другим массивам, специально предназначенным для пересылки данных) и отправляйте несколькими вызовами функций. Количество одновременных вызовов (на один цикл) тоже ограничено, это приймите во внимание. Если не получится все впихнуть в это количество, придется организовывать логику последовтельностей, организовывать что-то типа автомата состояний.
Программу не обязательно писать на FBD, можете на ST, если Вы поняли как она работатет.

Автор темы
Lowkee
здесь недавно
здесь недавно
Сообщения: 65
Зарегистрирован: 27 июл 2010, 14:13
Имя: Стахин Е.В
Страна: Россия
город/регион: Москва

Re: UNITY PRO

Сообщение Lowkee »

Вроде бы кое как улеглось у меня что к чему,но единственное что не могу понять
Мы эти блоки ставим в тот контроллер с которого хотим считать,но каким образом я смогу отправить мои массивы с адресами...Вот вроде понял,что нужно создать массив из 4х слов,а в какой раздел вставлять те массивы которые нужно выслать?


http://forum.abok.ru/index.php?act=atta ... t&id=43809
заранее спасибо

Автор темы
Lowkee
здесь недавно
здесь недавно
Сообщения: 65
Зарегистрирован: 27 июл 2010, 14:13
Имя: Стахин Е.В
Страна: Россия
город/регион: Москва

Re: UNITY PRO

Сообщение Lowkee »

Всем доброго дня
Я уже обращался с вопросом о передаче информации с нескольких массивов на один, но тогда мненужно было передавать %MW , а теперь задача изменилась, нужно передать %M ,а как это осуществить?
Так как в IO Scanning возможно настройка только по %MW? Подскажите пож-та
Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1357
Зарегистрирован: 01 сен 2008, 18:32
Имя: Пупена Александр
Страна: Украина
город/регион: Киев
Поблагодарили: 6 раз

Re: UNITY PRO

Сообщение san »

Пакуйте в %MW, например:
%MW100.0:=%M100;
%MW100.1:=%M122;
а на той стороне распаковывайте

Автор темы
Lowkee
здесь недавно
здесь недавно
Сообщения: 65
Зарегистрирован: 27 июл 2010, 14:13
Имя: Стахин Е.В
Страна: Россия
город/регион: Москва

Re: UNITY PRO

Сообщение Lowkee »

San,не совсем понимаю...

у меня есть несоклько массивов например с адресами
%M101
%M106
%M111
%M1116

а я должен менять на %MW101.
%MW106.1
Читал книгу Петрова Программируемые контроллеры но я что то так ничего по это не нашел...(

Спасибо
Ответить

Вернуться в «ПЛК»