- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Анимация в easyBuilderP
Модераторы: Глоб.модераторы, специалисты Weintek
-
- здесь недавно
- Сообщения: 44
- Зарегистрирован: 28 май 2015, 14:11
- Имя: Мезенцев Вячеслав Николаевич
- Страна: Россия
- город/регион: Екатеринбург
Re: программирование easyBuilderP
Можете использовать вот такой шаблон для создания вашей библиотеки тегов проекта. Это excel таблица, поддерживаемая в EasyBuilder. Я всегда пользуюсь только таким способом при работе с тегами - создаю таблицу, наполняю её (по определённым правилам) и импортирую в проект. В excel работать гораздо проще, чем пользоваться редактором EasyBuilder. Есть, правда, некоторые тонкости в этом деле. Адреса должны начинаться с апострофа, иначе они загрузятся неправильно. Ну и имя панели нужно заменить на своё, у меня всегда имя панели - Панель. Если имя будет другое, то теги тоже не загрузятся.
В приложении 2 файла. Один простенький, а второй из реального проекта.
В приложении 2 файла. Один простенький, а второй из реального проекта.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- здесь недавно
- Сообщения: 76
- Зарегистрирован: 10 окт 2015, 18:53
- Имя: Сугимото Дмитрий Аверьянович
-
- здесь недавно
- Сообщения: 76
- Зарегистрирован: 10 окт 2015, 18:53
- Имя: Сугимото Дмитрий Аверьянович
-
- здесь недавно
- Сообщения: 76
- Зарегистрирован: 10 окт 2015, 18:53
- Имя: Сугимото Дмитрий Аверьянович
Re: программирование easyBuilderP
Начинаю разбираться с макросами.Сейчас я создаю макрос для технологического процесса, показаного на вложении. Вся суть в том, что нижняя плита(розового цвета), пресс(вертикальный розового цвета) и выталкиватель(зеленого цвета), а также шнеки(две окружности на белом фоне) должны менять свое положение в зависимости от изменения регистра конкретного адреса. Я определил крайние положения всех объектов(движущаяся фигура), сейчас только весть вопрос в том, как правильно составить макрос. Пока что он выглядит как на вложении, весь вопрос в том, как написать программу изменения регистра( с помощью каких команд и операторов), чтобы объекты двигались. И еще интересно как привязать в макросе данные к адресам( при отсутствии ПЛК пока что), с ПЛК позже буду разбираться. Заранее спасибо!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- специалист по WEINTEK
- Сообщения: 208
- Зарегистрирован: 22 мар 2013, 11:52
- Имя: Денис Порфирьев
- город/регион: Санкт-Петербург
- Поблагодарили: 6 раз
Re: программирование easyBuilderP
Макрос можно написать большим количеством способов, выбирайте, какой вам удобен. Ознакомьтесь, пожалуйста, с главой "macro reference" руководства пользователя. Там есть и примеры использования функций.
Привязывать объекты к регистрам панели, а потом легко переделать на адреса контроллеров (в том числе и в макросах) легко, если использовать адресные ярлыки (теги).
Привязывать объекты к регистрам панели, а потом легко переделать на адреса контроллеров (в том числе и в макросах) легко, если использовать адресные ярлыки (теги).
-
- здесь недавно
- Сообщения: 76
- Зарегистрирован: 10 окт 2015, 18:53
- Имя: Сугимото Дмитрий Аверьянович
Re: программирование easyBuilderP
Еще такой вопрос: можно ли связать панель оператора weintek с Matlab(Simulink)? то есть закладывать мат.модель процесса(механизма) в симулинк, а в панели изменяются скоростные характеристики например?
-
- специалист по WEINTEK
- Сообщения: 208
- Зарегистрирован: 22 мар 2013, 11:52
- Имя: Денис Порфирьев
- город/регион: Санкт-Петербург
- Поблагодарили: 6 раз
Re: программирование easyBuilderP
Simulink умеет работать с последовательным портом? Там уже есть готовые библиотеки Modbus?
Онлайн симулятор панели можно связать с другим софтом на компьютере, работающим с комп-портом, через com0com например.
Онлайн симулятор панели можно связать с другим софтом на компьютере, работающим с комп-портом, через com0com например.
-
- здесь недавно
- Сообщения: 76
- Зарегистрирован: 10 окт 2015, 18:53
- Имя: Сугимото Дмитрий Аверьянович
Re: программирование easyBuilderP
Вообще не знаю умеет ли с чем-то симулинк работать. До этого момента использовал его только как средство моделирования и не больше.
-
- здесь недавно
- Сообщения: 29
- Зарегистрирован: 04 окт 2012, 16:38
- Имя: Степанец Александр Васильевич
- Благодарил (а): 3 раза
- Поблагодарили: 1 раз
Re: программирование easyBuilderP
В Simulink есть специальный OPC toolbox. Цепляете его к внешнему Modbus-OPC серверу или программке, которая умеет транслировать одни тэги в другие, и должно работать. Конечно, это решение "через китайскую границу", но потенциально рабочее.Dmitriy123321 писал(а):Вообще не знаю умеет ли с чем-то симулинк работать. До этого момента использовал его только как средство моделирования и не больше.
-
- здесь недавно
- Сообщения: 76
- Зарегистрирован: 10 окт 2015, 18:53
- Имя: Сугимото Дмитрий Аверьянович
Re: программирование easyBuilderP
Снова все тот же вопрос про макросы. Изучал руководство, но не нашел этого. Когда я объявляю переменные в макросе-откуда они знают к какому регистру(LW...) они привязаны? Это же должно как-то прописываться? И как их прописать?
-
- здесь недавно
- Сообщения: 29
- Зарегистрирован: 04 окт 2012, 16:38
- Имя: Степанец Александр Васильевич
- Благодарил (а): 3 раза
- Поблагодарили: 1 раз
Re: программирование easyBuilderP
Объявленные переменные внутри макроса - это локальные переменные, не связанные с регистрами.Dmitriy123321 писал(а):Снова все тот же вопрос про макросы. Изучал руководство, но не нашел этого. Когда я объявляю переменные в макросе-откуда они знают к какому регистру(LW...) они привязаны? Это же должно как-то прописываться? И как их прописать?
Связь с регистрами из макроса осуществляется функциями GetData (чтение из регистра в переменную макроса) SetData (запись из переменной макроса в регистр).
-
- здесь недавно
- Сообщения: 76
- Зарегистрирован: 10 окт 2015, 18:53
- Имя: Сугимото Дмитрий Аверьянович
-
- здесь недавно
- Сообщения: 76
- Зарегистрирован: 10 окт 2015, 18:53
- Имя: Сугимото Дмитрий Аверьянович
Re: программирование easyBuilderP
Может еще подскажете, где поподробнее про использование макросов, или проекты с ними помимо сайта weintek и руководства пользователя?
-
- здесь недавно
- Сообщения: 44
- Зарегистрирован: 28 май 2015, 14:11
- Имя: Мезенцев Вячеслав Николаевич
- Страна: Россия
- город/регион: Екатеринбург
Re: программирование easyBuilderP
Вот пример макроса Инициализация.ebm .
- отлаживать можно с помощью команды TRACE и используя отладчик, который входит в комплект поставки EasyBuilder;
- также можно пользоваться программой монитором, с помощью которой смотреть переменные в панели или плк;
- глубина вложенности макросов не больше 1, т.е. можно использовать только 1 вложенную функцию в основном цикле макросов;
- нужно быть очень внимательным с типами, т.к. некоторые преобразования осуществляются неявно;
- лучше не плодить кучу макросов, а ограничиться разумным количеством;
- использовать сторонний редактор с подсветкой синтаксиса для макросов (я использую Notepad++ и собственный файл раскраски, который есть в git в папке выше);
- ... далее личный опыт и много граблей.
- отлаживать можно с помощью команды TRACE и используя отладчик, который входит в комплект поставки EasyBuilder;
- также можно пользоваться программой монитором, с помощью которой смотреть переменные в панели или плк;
- глубина вложенности макросов не больше 1, т.е. можно использовать только 1 вложенную функцию в основном цикле макросов;
- нужно быть очень внимательным с типами, т.к. некоторые преобразования осуществляются неявно;
- лучше не плодить кучу макросов, а ограничиться разумным количеством;
- использовать сторонний редактор с подсветкой синтаксиса для макросов (я использую Notepad++ и собственный файл раскраски, который есть в git в папке выше);
- ... далее личный опыт и много граблей.
-
- здесь недавно
- Сообщения: 76
- Зарегистрирован: 10 окт 2015, 18:53
- Имя: Сугимото Дмитрий Аверьянович
Re: программирование easyBuilderP
Спасибо. А если я некоторые проекты открываю скачаные, а программа не открывается, говорит что версия easybuilder нужна новее, а она и так самая новая с сайта, с чем это может быть связано?
-
- здесь недавно
- Сообщения: 76
- Зарегистрирован: 10 окт 2015, 18:53
- Имя: Сугимото Дмитрий Аверьянович
Re: программирование easyBuilderP
Пока что мне нужно только через макросы задать последовательность и длительность движения фигур в панели. В след.семестре будет прорабатываться использование мат.функций в макросах. А какой отладчик Вы имеете ввиду? Сейчас стал работать в easywatch-пока что она не видит панель. Понимаю, что пока что можно обойтись без рецептов?
-
- здесь недавно
- Сообщения: 76
- Зарегистрирован: 10 окт 2015, 18:53
- Имя: Сугимото Дмитрий Аверьянович
Re: программирование easyBuilderP
И еще 1 вопросик напоследок. Смотрите, у меня на картинке плита-это движущаяся фигура, ее перемещение по x от 158 до 555 точки. Ниже ее находится объект "установить слово" который отвечает за изменение перемещения этой фигуры(он передвигает ее от края до края ее положений). Их настройки показаны на вложениях. Сейчас у меня вся анимация построена на таких объектах. Как я понимаю, это неправильно и объекты установить слово надо убрать и прописывать в макросе как и до какой точки двигается фигура, или нет? Сейчас макрос написан так как показано на вложении и программа ругается на переполнение данных, я думаю что переменные не должны быть массивами, а просто двумя состояниями, например? Написал много, но надеюсь на вашу помощь. Огромное спасибо за ответы!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- здесь недавно
- Сообщения: 44
- Зарегистрирован: 28 май 2015, 14:11
- Имя: Мезенцев Вячеслав Николаевич
- Страна: Россия
- город/регион: Екатеринбург
Re: программирование easyBuilderP
Вы бы лучше сам проект приложили. EasyWatch может видеть как локальную панель (симулятор), так и реальную (по IP), а также и ПЛК, подключённый к реальной панели. Если в окне симуляции панели нажать правой кнопкой мыши, то появится контекстное меню с выбором некоторых действий. Один из пунктов вызывает отладчик, который может работать и с симулятором.
-
- здесь недавно
- Сообщения: 76
- Зарегистрирован: 10 окт 2015, 18:53
- Имя: Сугимото Дмитрий Аверьянович
Re: программирование easyBuilderP
Скидываю проект в архиве. При симуляции там видны движущиеся объекты.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- здесь недавно
- Сообщения: 76
- Зарегистрирован: 10 окт 2015, 18:53
- Имя: Сугимото Дмитрий Аверьянович
Re: программирование easyBuilderP
Уважаемые форумчане, можете еще что-то сказать по моим 4 последним сообщениям?
-
- освоился
- Сообщения: 290
- Зарегистрирован: 28 авг 2014, 09:30
- Имя: Воднев Александр Васильевич
- Страна: РФ
- город/регион: Томск
- Благодарил (а): 22 раза
- Поблагодарили: 33 раза
Re: программирование easyBuilderP
Зачем Вам столько float в макросе. Все равно все перемещения описываются целой координатой. Если Вам без этого совсем никак, то попробуйте организовать одну-две промежуточных переменных float, которые после присвоения значений сразу переформатируйте в целое число.
-
- здесь недавно
- Сообщения: 76
- Зарегистрирован: 10 окт 2015, 18:53
- Имя: Сугимото Дмитрий Аверьянович
Re: программирование easyBuilderP
Спасибо за ответы. Про перемещения не знал. Многое еще предстоит...
-
- здесь недавно
- Сообщения: 76
- Зарегистрирован: 10 окт 2015, 18:53
- Имя: Сугимото Дмитрий Аверьянович
Re: программирование easyBuilderP
Звучит конечно хорошо, но я еще не имею представления что значит целая координата и переформатировать в целое числоvodav писал(а):Зачем Вам столько float в макросе. Все равно все перемещения описываются целой координатой. Если Вам без этого совсем никак, то попробуйте организовать одну-две промежуточных переменных float, которые после присвоения значений сразу переформатируйте в целое число.
-
- освоился
- Сообщения: 290
- Зарегистрирован: 28 авг 2014, 09:30
- Имя: Воднев Александр Васильевич
- Страна: РФ
- город/регион: Томск
- Благодарил (а): 22 раза
- Поблагодарили: 33 раза
Re: программирование easyBuilderP
Начните с изучения типов и распределения памяти. Потом поймете, чтоDmitriy123321 писал(а): Звучит конечно хорошо, но я еще не имею представления что значит целая координата и переформатировать в целое число
float f[8]={0,...,7}
занимает в два раза больше места, чем
short s[8]={0,...,7},
хотя описывает одно и то же значение.
-
- здесь недавно
- Сообщения: 76
- Зарегистрирован: 10 окт 2015, 18:53
- Имя: Сугимото Дмитрий Аверьянович