- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
UNITY PRO
Модератор: Специалисты SE
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: UNITY PRO
Нужно поставить галочку
Tools->Project settings->Allow Dynamic Arrrays и
Tools->Project settings->Directly represented array var,
или использовать в качестве входа созданый массив. Сам когда-то на это наткнулся.
Tools->Project settings->Allow Dynamic Arrrays и
Tools->Project settings->Directly represented array var,
или использовать в качестве входа созданый массив. Сам когда-то на это наткнулся.
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: UNITY PRO
Кстати
Пардон. Разрешается, если поставить галочки, какие наведены высше.san писал(а):Не понял вопроса. Запись %M1:16:=%I1.0:16 вроде в Unity не разрешается. Только по одному, или через масив по индексу.
-
- здесь недавно
- Сообщения: 65
- Зарегистрирован: 27 июл 2010, 14:13
- Имя: Стахин Е.В
- Страна: Россия
- город/регион: Москва
Re: UNITY PRO
Спасибо san все заработало,при чем сразу же!Но юоюсь вопросы езе возникнут.Еще раз спасибо!!!
-
- здесь недавно
- Сообщения: 65
- Зарегистрирован: 27 июл 2010, 14:13
- Имя: Стахин Е.В
- Страна: Россия
- город/регион: Москва
Re: UNITY PRO
%M1:16:=%I1.0:16 а вот вернулся к этому вопросу,там све теже ошибки,хотя галочки проставлены,буду разбираться...
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: UNITY PRO
%M1:16:=%I1.0:16 и не сможет пройти, так как в UNITY это неверный топологический адресс. Вот такое %M1:16:=%I0.1.0:16 должно пройти (если сконфигурить на первом месте дискретный модуль)
-
- здесь недавно
- Сообщения: 65
- Зарегистрирован: 27 июл 2010, 14:13
- Имя: Стахин Е.В
- Страна: Россия
- город/регион: Москва
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: UNITY PRO
Вот сюда еще посмотрите, только что выложил.Lowkee писал(а):Возникла глобальная для меня проблема,устанавливаю функциональные блоки read_Var/write_Var и ADDM,но вот ругается unity на E1208 usage of dynamic arrays is disabled .Массив я создал как полгает,как мне думается,но подозрение,что что то с с массивом не так.Динамеческий вроде как...И еще,может кто то работал с этими,блоками,был бы признатален,если возможно,объяснить некоторые моменты
Спасибо
http://forum.abok.ru/index.php?showtopi ... ntry569771
-
- здесь недавно
- Сообщения: 65
- Зарегистрирован: 27 июл 2010, 14:13
- Имя: Стахин Е.В
- Страна: Россия
- город/регион: Москва
Re: UNITY PRO
Всем привет
Возник вопрос.Есть 3 контроллера с сигналами,Нужно чтобы с этих 3 контроллеров происходила передача этих сигналов на 4ый.
Собственно пока у меня вообще Нет даже представления,как это можно офрмить...
Если вдруг кто то может поделить опытом,был бы рад
Спаисбо
Возник вопрос.Есть 3 контроллера с сигналами,Нужно чтобы с этих 3 контроллеров происходила передача этих сигналов на 4ый.
Собственно пока у меня вообще Нет даже представления,как это можно офрмить...
Если вдруг кто то может поделить опытом,был бы рад
Спаисбо
-
- здесь недавно
- Сообщения: 65
- Зарегистрирован: 27 июл 2010, 14:13
- Имя: Стахин Е.В
- Страна: Россия
- город/регион: Москва
Re: UNITY PRO
Конечно что то она помогла,но есть определенные у меня проблемы... http://forum.abok.ru/index.php?act=atta ... t&id=43232
Но я не совсем понимаю,в какой струтном разделе мне это хоз-во описывать в st или в fbd....Так же если в fbd то как мне обозначить контроллеры,в связке или как?вообщем если более откровенно,если можно-чуть-чуть по подробнее...(
Но я не совсем понимаю,в какой струтном разделе мне это хоз-во описывать в st или в fbd....Так же если в fbd то как мне обозначить контроллеры,в связке или как?вообщем если более откровенно,если можно-чуть-чуть по подробнее...(
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: UNITY PRO
1. Создаем связь Ethernet в разделе Communication Networks, даем ей имя, по умолчанию Ethernet_1.
2. Настраиваем там свой IP-шник.
3. Создаем FBD-программу как в примере.
Если нужно в три контроллера писать, ипсользуйте три раза функции Write_Var вместо Read_Var. У каждого контроллера есть какие-то ограничения на количество запросов на 1 цикл, но вроде как они меньше чем 3.
В Премиум доступны также I/O Scaning и Global Data. Можете ими воспользоваться, но для этого нужно хотя бы ознакомиться с ними в хелпе.
2. Настраиваем там свой IP-шник.
3. Создаем FBD-программу как в примере.
Если нужно в три контроллера писать, ипсользуйте три раза функции Write_Var вместо Read_Var. У каждого контроллера есть какие-то ограничения на количество запросов на 1 цикл, но вроде как они меньше чем 3.
В Премиум доступны также I/O Scaning и Global Data. Можете ими воспользоваться, но для этого нужно хотя бы ознакомиться с ними в хелпе.
-
- здесь недавно
- Сообщения: 65
- Зарегистрирован: 27 июл 2010, 14:13
- Имя: Стахин Е.В
- Страна: Россия
- город/регион: Москва
-
- здесь недавно
- Сообщения: 65
- Зарегистрирован: 27 июл 2010, 14:13
- Имя: Стахин Е.В
- Страна: Россия
- город/регион: Москва
Re: UNITY PRO
Вроде бы после вашей помощи все понял,все идет своим чередом,но вот не пойму,что именно я должен ввести в эти 2а пункта
Index of the first object to be written in the
destination device.(Ссылка на 1ый объект записи на дистанци устрайство)Но как это понять? И вот еще что не могу сообразить...
Management_Param- Gest
Заранее спасибо...
Index of the first object to be written in the
destination device.(Ссылка на 1ый объект записи на дистанци устрайство)Но как это понять? И вот еще что не могу сообразить...
Management_Param- Gest
Заранее спасибо...
-
- здесь недавно
- Сообщения: 65
- Зарегистрирован: 27 июл 2010, 14:13
- Имя: Стахин Е.В
- Страна: Россия
- город/регион: Москва
Re: UNITY PRO
Index of the first object to be written in the
destination device. с эти вопрос вроде решил,остается Management_Param- Gest
Если не сложно,подскажите пож-та,этот параметр как на входе так и на вызоде стоит,как быть?
destination device. с эти вопрос вроде решил,остается Management_Param- Gest
Если не сложно,подскажите пож-та,этот параметр как на входе так и на вызоде стоит,как быть?
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: UNITY PRO
Это параметр IN-OUT. Можно задавать только на вход. В качестве фактического параметра задается массив, всегда состоящий их 4-х слов. По памяти скажу: 0-е слово - счетчик запросов + бит активности (о-й бит слова). 1-е слово (+1) используется для храненения результатов удачности выполение функции. То-есть если функция выполнена без ошибок - там должен быть 0, если с ошибками - там сохраняется код ошибки. В 2-ом слове (+2) задаетмся тайм-аут. Если Вы ничего туда не вписали, будет какой-то по умолчанию (может даже бесконечность, точно не помню). В 3-м слове (+3) - количество возвращенных байт. Более детально - смотрите хелп.
Но самое главное что Вам нужно учесть - это: 1. Для каждой функции указывайте другую таблицу для GESt. 2. Вызывайте функцию только при скидывании бита активности предыдущего вызова (о-й бит о-го слова GEST), иначе будете вызывать функцию не дождавшись обработки предыдущего вызова (смотрите пример)
Но самое главное что Вам нужно учесть - это: 1. Для каждой функции указывайте другую таблицу для GESt. 2. Вызывайте функцию только при скидывании бита активности предыдущего вызова (о-й бит о-го слова GEST), иначе будете вызывать функцию не дождавшись обработки предыдущего вызова (смотрите пример)
-
- здесь недавно
- Сообщения: 65
- Зарегистрирован: 27 июл 2010, 14:13
- Имя: Стахин Е.В
- Страна: Россия
- город/регион: Москва
Re: UNITY PRO
Всем привет
Вопрос так и не решился, советуюсь с разными людьми,но я так и не пришел к чему то более или менее правильному решению...
Если в st я прописываю
MB_input_1 := input_1;
MB_output_1 := output_1;
гду input_1 это адрес ячейки,то у меня и так огромный массив увеличивается в сразу же в 2 раза,а этопорялдка 1500 ед,как быть я не пойму...
вот такие вот дела...(
Вопрос так и не решился, советуюсь с разными людьми,но я так и не пришел к чему то более или менее правильному решению...
Если в st я прописываю
MB_input_1 := input_1;
MB_output_1 := output_1;
гду input_1 это адрес ячейки,то у меня и так огромный массив увеличивается в сразу же в 2 раза,а этопорялдка 1500 ед,как быть я не пойму...
вот такие вот дела...(
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: UNITY PRO
Может потому, что %M - это перемнная не типа BOOL а типа EBOOL. В Премиум эти переменные занимли (а может и сейчас занимают) 3 бита, в М340 - один байт. Хотя Вашу запись я вобще не понял. Это присвоение чего к чему? И почему выходные значения Вы присваиваете чему-то, может наоборот? Более детально объясните.
-
- здесь недавно
- Сообщения: 65
- Зарегистрирован: 27 июл 2010, 14:13
- Имя: Стахин Е.В
- Страна: Россия
- город/регион: Москва
Re: UNITY PRO
ну в разделе st я должен просписать каждой переменной M и MW входный и выходные
например
MB_input_1 BOOL %MW200.0
вообщем я в замешательстве....ведь если я так все перепишу,у меня выйдет порядка 1500 единиц...или я свосем не в ту степт пошел?
например
MB_input_1 BOOL %MW200.0
вообщем я в замешательстве....ведь если я так все перепишу,у меня выйдет порядка 1500 единиц...или я свосем не в ту степт пошел?
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: UNITY PRO
Не надо этого делать. Если вам нужно привязать нелокализированные переменные к топологическому адресу - это делается в настройках переменных в поле адресса.
Такое присвоение логично только в том случае, если Вам нужно привязаться к входным и выходным переменным %I, %IW, %Q, %QW, хотя это тоже необязательно.
Такое присвоение логично только в том случае, если Вам нужно привязаться к входным и выходным переменным %I, %IW, %Q, %QW, хотя это тоже необязательно.
-
- здесь недавно
- Сообщения: 65
- Зарегистрирован: 27 июл 2010, 14:13
- Имя: Стахин Е.В
- Страна: Россия
- город/регион: Москва
Re: UNITY PRO
ясно,тогда мне нужно в fbd создать примерно тоже самое,что и на скриншоте?
Вот вы говорли про то,что нужно создать массив из 4х слов...
Еще вопрос,у меня порядка 15 массивов,как мне их в модуль write_var запихнуть?
Что то это меня в тупик как загнало,так и не отпускает...
Вот вы говорли про то,что нужно создать массив из 4х слов...
Еще вопрос,у меня порядка 15 массивов,как мне их в модуль write_var запихнуть?
Что то это меня в тупик как загнало,так и не отпускает...
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: UNITY PRO
У Write_Var есть свои ограничения, и у сети есть свои. Посмотрите в хелпе какой макисмальный размер поддерживается для Modbus TCP/IP. По-моему там где-то 250 байт, тобишь около 125 слов. Ваши массивы разбейте по 125 слов (или присвойте другим массивам, специально предназначенным для пересылки данных) и отправляйте несколькими вызовами функций. Количество одновременных вызовов (на один цикл) тоже ограничено, это приймите во внимание. Если не получится все впихнуть в это количество, придется организовывать логику последовтельностей, организовывать что-то типа автомата состояний.
Программу не обязательно писать на FBD, можете на ST, если Вы поняли как она работатет.
Программу не обязательно писать на FBD, можете на ST, если Вы поняли как она работатет.
-
- здесь недавно
- Сообщения: 65
- Зарегистрирован: 27 июл 2010, 14:13
- Имя: Стахин Е.В
- Страна: Россия
- город/регион: Москва
Re: UNITY PRO
Вроде бы кое как улеглось у меня что к чему,но единственное что не могу понять
Мы эти блоки ставим в тот контроллер с которого хотим считать,но каким образом я смогу отправить мои массивы с адресами...Вот вроде понял,что нужно создать массив из 4х слов,а в какой раздел вставлять те массивы которые нужно выслать?
http://forum.abok.ru/index.php?act=atta ... t&id=43809
заранее спасибо
Мы эти блоки ставим в тот контроллер с которого хотим считать,но каким образом я смогу отправить мои массивы с адресами...Вот вроде понял,что нужно создать массив из 4х слов,а в какой раздел вставлять те массивы которые нужно выслать?
http://forum.abok.ru/index.php?act=atta ... t&id=43809
заранее спасибо
-
- здесь недавно
- Сообщения: 65
- Зарегистрирован: 27 июл 2010, 14:13
- Имя: Стахин Е.В
- Страна: Россия
- город/регион: Москва
Re: UNITY PRO
Всем доброго дня
Я уже обращался с вопросом о передаче информации с нескольких массивов на один, но тогда мненужно было передавать %MW , а теперь задача изменилась, нужно передать %M ,а как это осуществить?
Так как в IO Scanning возможно настройка только по %MW? Подскажите пож-та
Я уже обращался с вопросом о передаче информации с нескольких массивов на один, но тогда мненужно было передавать %MW , а теперь задача изменилась, нужно передать %M ,а как это осуществить?
Так как в IO Scanning возможно настройка только по %MW? Подскажите пож-та
-
- преподаватель
- Сообщения: 1357
- Зарегистрирован: 01 сен 2008, 18:32
- Имя: Пупена Александр
- Страна: Украина
- город/регион: Киев
- Поблагодарили: 6 раз
Re: UNITY PRO
Пакуйте в %MW, например:
%MW100.0:=%M100;
%MW100.1:=%M122;
а на той стороне распаковывайте
%MW100.0:=%M100;
%MW100.1:=%M122;
а на той стороне распаковывайте
-
- здесь недавно
- Сообщения: 65
- Зарегистрирован: 27 июл 2010, 14:13
- Имя: Стахин Е.В
- Страна: Россия
- город/регион: Москва
Re: UNITY PRO
San,не совсем понимаю...
у меня есть несоклько массивов например с адресами
%M101
%M106
%M111
%M1116
а я должен менять на %MW101.
%MW106.1
Читал книгу Петрова Программируемые контроллеры но я что то так ничего по это не нашел...(
Спасибо
у меня есть несоклько массивов например с адресами
%M101
%M106
%M111
%M1116
а я должен менять на %MW101.
%MW106.1
Читал книгу Петрова Программируемые контроллеры но я что то так ничего по это не нашел...(
Спасибо