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

Weintek - массив данных

Модераторы: Глоб.модераторы, специалисты Weintek

Ответить

Автор темы
Aeroplan
освоился
освоился
Сообщения: 234
Зарегистрирован: 16 сен 2016, 12:27
Имя: Владимир
Страна: Россия
Благодарил (а): 51 раз
Поблагодарили: 41 раз

Weintek - массив данных

Сообщение Aeroplan »

Всем доброго дня.
Есть у меня панель Weintek MT8102iP. Мне необходимо редактировать массив данных в 600 слов. Некий операционный рецепт - 6 переменных на 100 операций. В рецептурных инструментах панели я вроде бы разобрался. Но они работают "построчно". То есть, я могу одной кнопкой отправить в ПЛК только одну строку в 6 слов из моего "рецепта". Любую, но только одну и только в одни и те же 6 адресов в ПЛК. А как передать в ПЛК все 100 строк рецепта - так и не понял. Может быть нужен другой механизм? Подскажите, пожалуйста, может кто-то уже решал подобную задачу...

pkl58
завсегдатай
завсегдатай
Сообщения: 544
Зарегистрирован: 19 мар 2012, 20:04
Имя: Павел
Страна: Россия
Благодарил (а): 6 раз
Поблагодарили: 59 раз

Weintek - массив данных

Сообщение pkl58 »

А значения этих переменных для 100 операций одинаковы? Или отличаются? Есть инструмент Передача данных, можете использовать его.
А в качестве указателей номера рецепта индексные регистры.

Михайло
эксперт
эксперт
Сообщения: 3643
Зарегистрирован: 10 ноя 2009, 04:58
Имя: Толмачев Михаил Алексеевич
город/регион: г. Чехов, МО
Благодарил (а): 8 раз
Поблагодарили: 286 раз

Weintek - массив данных

Сообщение Михайло »

1. Рецепты хранить в ПЛК, это, кстати, удобно, но у ПЛК энергонезависимой памяти маловато может быть.
2. Передавать построчно: панель кладёт 6 слов и номер строки и флаг flag_read, ПЛК по флагу flag_read инициирует чтение 6 слов в нужную строку и выкидывает ответный флаг flag_done. Важно, чтобы консистентность данных не нарушилась. Может быть долго.
3. Выгрузить рецепты в область памяти LW и послать все 600 слов.

Автор темы
Aeroplan
освоился
освоился
Сообщения: 234
Зарегистрирован: 16 сен 2016, 12:27
Имя: Владимир
Страна: Россия
Благодарил (а): 51 раз
Поблагодарили: 41 раз

Weintek - массив данных

Сообщение Aeroplan »

pkl58 писал(а): 26 ноя 2024, 15:45 А значения этих переменных для 100 операций одинаковы? Или отличаются? Есть инструмент Передача данных, можете использовать его.
А в качестве указателей номера рецепта индексные регистры.
На данный момент именно этим способом и озадачился. Пока не коснулся индексных регистров, надо про них почитать.
Значения переменных разные.
Суть дела: есть процесс, который выполняется по шагам двумя сервоприводами. Видов операций четыре (последовательность из работы, взаимодействие между собой, независимость и пр.). В итоге алгоритм "упаковал" 6-ю переменными на каждый шаг. Шагов - 100 штук. То есть, 100 строк массива по 6 слов в каждой строке.
Как передать данные одной строки (любой) я разобрался. Интуитивно понимаю, что без указателей (индексные регистры) вряд ли что-то выйдет. Но как ими пользоваться, пока не изучил. Приступаю...

Отправлено спустя 17 минут :
Михайло писал(а): 26 ноя 2024, 17:57 1. Рецепты хранить в ПЛК, это, кстати, удобно, но у ПЛК энергонезависимой памяти маловато может быть.
ПЛК Дельта ES3. В него можно даже микроСД вставить. Тоже пока поверхностно об этом мельком читал, но Думаю, вариант для хранения большого объема данных подходящий. 600 слов - это одна программа. А пользователь планирует иметь как минимум 10 таких рецептов по 600 слов на 10 разных изделий.
Михайло писал(а): 26 ноя 2024, 17:57 2. Передавать построчно: панель кладёт 6 слов и номер строки и флаг flag_read, ПЛК по флагу flag_read инициирует чтение 6 слов в нужную строку и выкидывает ответный флаг flag_done. Важно, чтобы консистентность данных не нарушилась. Может быть долго.
Это, видимо, с индексными регистрами, изучаем.
Михайло писал(а): 26 ноя 2024, 17:57 3. Выгрузить рецепты в область памяти LW и послать все 600 слов.
А вот про это пока даже не догадывался. Можно по-подробнее об этом способе?
Аватара пользователя

vodav
освоился
освоился
Сообщения: 290
Зарегистрирован: 28 авг 2014, 09:30
Имя: Воднев Александр Васильевич
Страна: РФ
город/регион: Томск
Благодарил (а): 22 раза
Поблагодарили: 33 раза

Weintek - массив данных

Сообщение vodav »

Есть у Weintek такая штука, как макрос. Там есть поддержка массивов размерностью до 4096 и функции GetData и SetData (GetDataEx и SetDataEx). С этим весь Ваш список рецептов можно запихать в любое место в любой последовательности.

Автор темы
Aeroplan
освоился
освоился
Сообщения: 234
Зарегистрирован: 16 сен 2016, 12:27
Имя: Владимир
Страна: Россия
Благодарил (а): 51 раз
Поблагодарили: 41 раз

Weintek - массив данных

Сообщение Aeroplan »

vodav писал(а): 27 ноя 2024, 10:07 Есть у Weintek такая штука, как макрос. Там есть поддержка массивов размерностью до 4096 и функции GetData и SetData (GetDataEx и SetDataEx). С этим весь Ваш список рецептов можно запихать в любое место в любой последовательности.
Спасибо, гляну, как это делается...

se_sib
специалист по FLEXEM
специалист по FLEXEM
Сообщения: 315
Зарегистрирован: 14 дек 2015, 12:15
Имя: Евгений
Страна: Россия
город/регион: Краснодар
Благодарил (а): 7 раз
Поблагодарили: 84 раза

Weintek - массив данных

Сообщение se_sib »

Возьмите ПЛК под Codesys, там не плохо система рецептов проработана и на многих ПЛК памяти довольно много, да и разъемы USB и SD как правило есть. Я думаю будет много проще, чем пляски с бубном в макросах Weintek.

pkl58
завсегдатай
завсегдатай
Сообщения: 544
Зарегистрирован: 19 мар 2012, 20:04
Имя: Павел
Страна: Россия
Благодарил (а): 6 раз
Поблагодарили: 59 раз

Weintek - массив данных

Сообщение pkl58 »

Зачем ему ещё один ПЛК? Все решается просто.
Михайло писал(а): 26 ноя 2024, 17:57 3. Выгрузить рецепты в область памяти LW и послать все 600 слов.
Единственный нюанс Вайнтек не рекомендует более 100 записей в одном рецепте. Можно и без рецептов обойтись используя RW области.
Аватара пользователя

Valerich
эксперт
эксперт
Сообщения: 1030
Зарегистрирован: 27 июн 2013, 12:20
Имя: Валерич
Страна: СССР
Благодарил (а): 44 раза
Поблагодарили: 106 раз

Weintek - массив данных

Сообщение Valerich »

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

Вернуться в «WEINTEK (операторские панели)»