Профиль должен быть заполнен на русском языке кириллицей. Заполнение профиля заведомо ложными или некорректными данными - причина возможного отказа в регистрации на форуме.

UNITY PRO

PLC, прочие контроллеры, промышленные компьютеры, операторские панели
Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1400
Зарегистрирован: 01 сен 2008, 17:32
Ф.И.О.: Пупена Александр
Откуда: Киев, Украина
Поблагодарили: 1 раз
Контактная информация:

Re: UNITY PRO

Сообщение san » 07 окт 2010, 15:35

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

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

san
преподаватель
преподаватель
Сообщения: 1400
Зарегистрирован: 01 сен 2008, 17:32
Ф.И.О.: Пупена Александр
Откуда: Киев, Украина
Поблагодарили: 1 раз
Контактная информация:

Re: UNITY PRO

Сообщение san » 07 окт 2010, 15:41

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

Пардон. Разрешается, если поставить галочки, какие наведены высше.


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

Re: UNITY PRO

Сообщение Lowkee » 07 окт 2010, 16:07

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


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

Re: UNITY PRO

Сообщение Lowkee » 07 окт 2010, 16:11

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

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

san
преподаватель
преподаватель
Сообщения: 1400
Зарегистрирован: 01 сен 2008, 17:32
Ф.И.О.: Пупена Александр
Откуда: Киев, Украина
Поблагодарили: 1 раз
Контактная информация:

Re: UNITY PRO

Сообщение san » 07 окт 2010, 16:17

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


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

Re: UNITY PRO

Сообщение Lowkee » 07 окт 2010, 16:19

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

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

san
преподаватель
преподаватель
Сообщения: 1400
Зарегистрирован: 01 сен 2008, 17:32
Ф.И.О.: Пупена Александр
Откуда: Киев, Украина
Поблагодарили: 1 раз
Контактная информация:

Re: UNITY PRO

Сообщение san » 07 окт 2010, 17:13

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, 13:13
Ф.И.О.: Стахин Е.В

Re: UNITY PRO

Сообщение Lowkee » 18 окт 2010, 12:54

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

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

san
преподаватель
преподаватель
Сообщения: 1400
Зарегистрирован: 01 сен 2008, 17:32
Ф.И.О.: Пупена Александр
Откуда: Киев, Украина
Поблагодарили: 1 раз
Контактная информация:

Re: UNITY PRO

Сообщение san » 18 окт 2010, 13:13

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


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

Re: UNITY PRO

Сообщение Lowkee » 18 окт 2010, 13:36

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

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

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

san
преподаватель
преподаватель
Сообщения: 1400
Зарегистрирован: 01 сен 2008, 17:32
Ф.И.О.: Пупена Александр
Откуда: Киев, Украина
Поблагодарили: 1 раз
Контактная информация:

Re: UNITY PRO

Сообщение san » 18 окт 2010, 13:49

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, 13:13
Ф.И.О.: Стахин Е.В

Re: UNITY PRO

Сообщение Lowkee » 18 окт 2010, 14:00

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


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

Re: UNITY PRO

Сообщение Lowkee » 18 окт 2010, 16:01

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

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


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

Re: UNITY PRO

Сообщение Lowkee » 18 окт 2010, 16:20

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

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

san
преподаватель
преподаватель
Сообщения: 1400
Зарегистрирован: 01 сен 2008, 17:32
Ф.И.О.: Пупена Александр
Откуда: Киев, Украина
Поблагодарили: 1 раз
Контактная информация:

Re: UNITY PRO

Сообщение san » 18 окт 2010, 17:06

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


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

Re: UNITY PRO

Сообщение Lowkee » 21 окт 2010, 09:11

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

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

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

вот такие вот дела...(

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

san
преподаватель
преподаватель
Сообщения: 1400
Зарегистрирован: 01 сен 2008, 17:32
Ф.И.О.: Пупена Александр
Откуда: Киев, Украина
Поблагодарили: 1 раз
Контактная информация:

Re: UNITY PRO

Сообщение san » 21 окт 2010, 09:46

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


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

Re: UNITY PRO

Сообщение Lowkee » 21 окт 2010, 09:53

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

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

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

san
преподаватель
преподаватель
Сообщения: 1400
Зарегистрирован: 01 сен 2008, 17:32
Ф.И.О.: Пупена Александр
Откуда: Киев, Украина
Поблагодарили: 1 раз
Контактная информация:

Re: UNITY PRO

Сообщение san » 21 окт 2010, 09:59

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


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

Re: UNITY PRO

Сообщение Lowkee » 21 окт 2010, 10:08

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

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

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

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

san
преподаватель
преподаватель
Сообщения: 1400
Зарегистрирован: 01 сен 2008, 17:32
Ф.И.О.: Пупена Александр
Откуда: Киев, Украина
Поблагодарили: 1 раз
Контактная информация:

Re: UNITY PRO

Сообщение san » 21 окт 2010, 10:17

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


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

Re: UNITY PRO

Сообщение Lowkee » 26 окт 2010, 09:16

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


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


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

Re: UNITY PRO

Сообщение Lowkee » 11 ноя 2010, 09:46

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

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

san
преподаватель
преподаватель
Сообщения: 1400
Зарегистрирован: 01 сен 2008, 17:32
Ф.И.О.: Пупена Александр
Откуда: Киев, Украина
Поблагодарили: 1 раз
Контактная информация:

Re: UNITY PRO

Сообщение san » 11 ноя 2010, 12:29

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


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

Re: UNITY PRO

Сообщение Lowkee » 11 ноя 2010, 14:25

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

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

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

Спасибо


Вернуться в «Средний уровень автоматизации»



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей