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

Вопросы по step7

ПЛК SIMATIC (S7-200, S7-1200, S7-300, S7-400, S7-1500, ET200)
Ответить

Автор темы
lordvako
здесь недавно
здесь недавно
Сообщения: 91
Зарегистрирован: 16 фев 2014, 10:12
Имя: Сальников Василий Леонидович
Страна: Россия
город/регион: Тверь
Благодарил (а): 28 раз

Вопросы по step7

Сообщение lordvako »

Добрый день,асутчики)

Подскажите,пожалуйста, как реализовать такую вещь нa step 7:
Мне нужно записывать информацию на каждый выход движка(просто чилсо или слово,неважно) и передавть эту информацию на след выход движка... с помощью каких блоков это реализовать:? плк 300.

Может глупый вопрос-но буду признателен,если поможете)С наступающим всех)
Аватара пользователя

CHANt
эксперт
эксперт
Сообщения: 1465
Зарегистрирован: 25 июл 2008, 10:25
Имя: Эдуард Владимирович
Страна: СССР
город/регион: Оренбург
Благодарил (а): 43 раза
Поблагодарили: 93 раза

Вопросы по step7

Сообщение CHANt »

Фотки что ли сделайте ))) А то не понятно что надо ))) "Движок" бензинового снегоуборщика?
А за "асутчика" и в бровь, и в глаз, и еще куда нить ногой :ges_down: Корректней, плиз, корректней в обращениях. Всегда есть слова - друзья, коллеги, товарищи и т.п.
--------------------------------------------------------------------------------------------

Автор темы
lordvako
здесь недавно
здесь недавно
Сообщения: 91
Зарегистрирован: 16 фев 2014, 10:12
Имя: Сальников Василий Леонидович
Страна: Россия
город/регион: Тверь
Благодарил (а): 28 раз

Вопросы по step7

Сообщение lordvako »

Ну я прошу прощения,если что не так сказал,КОЛЛЕГИ))))
больше так не буду)

Фоток то особо нет..просто стоит один цепной транспортер, дальше другой транспортер, дальше третий цепной транспортер и у каждого свой движок) и по ним едет коробочка! и мне нужно чтобы первый цепной записал какой-то бит для этой коробочки и сделать так чтобы до последнего этот бит памяти не потерялся)
Аватара пользователя

megavolt86
эксперт
эксперт
Сообщения: 1172
Зарегистрирован: 14 ноя 2013, 20:35
Имя: Анатолий Сергеевич
Страна: Россия
город/регион: Башкортостан
Благодарил (а): 13 раз
Поблагодарили: 65 раз

Вопросы по step7

Сообщение megavolt86 »

А как транспортер узнаёт та ли эта коробочка или нет? Обратная связь есть?
И зачем движку знать какая коробка на нем сейчас едет?
:ext_secret:

Автор темы
lordvako
здесь недавно
здесь недавно
Сообщения: 91
Зарегистрирован: 16 фев 2014, 10:12
Имя: Сальников Василий Леонидович
Страна: Россия
город/регион: Тверь
Благодарил (а): 28 раз

Вопросы по step7

Сообщение lordvako »

ну перед первым транспортером есть другая система,которая будет давать на мой плк информацию!грубо гоовря может быть 4е вида коробочки! и если на первый приехала первая коробока, то она должна проехать до нужного транспортера и там встать! если приедет вторая.то она должна ехать до другого места! вот мне и нужно чтобы на первом транспортере информацию записать и чтобы эта инфа ехала вместе с этой коробоке,а на нужном месте будет уже оператор сравения...и если эта ячейка памяти будет идентична,то он встанет здесь, если нет,то поедет на другое место и там будет сравниваться...и так далее
Аватара пользователя

CHANt
эксперт
эксперт
Сообщения: 1465
Зарегистрирован: 25 июл 2008, 10:25
Имя: Эдуард Владимирович
Страна: СССР
город/регион: Оренбург
Благодарил (а): 43 раза
Поблагодарили: 93 раза

Вопросы по step7

Сообщение CHANt »

Ну да, знать должен оператор - что по конвейеру едет груз))) Все таки тяжело понятно, что уже есть и чего необходимо добиться.
Коллега! С ресурса http://curswincc.narod.ru/ скачайте курс PRO1 для Step7, там итог курса обучения - это построение конвейера. Может так понятней будет.
--------------------------------------------------------------------------------------------
Аватара пользователя

megavolt86
эксперт
эксперт
Сообщения: 1172
Зарегистрирован: 14 ноя 2013, 20:35
Имя: Анатолий Сергеевич
Страна: Россия
город/регион: Башкортостан
Благодарил (а): 13 раз
Поблагодарили: 65 раз

Вопросы по step7

Сообщение megavolt86 »

lordvako писал(а): другая система,которая будет давать на мой плк информацию
А не проще сравнивать информацию о коробочке на входе в ваш плк и в зависимости от полученного результата запускать нужные конвейеры...как только коробочка дойдет до остановленного конвейера или до датчика крайгего положения, то она остановится и никуда дальше не поедет (считай накаталась) :crazy0to:
А если хотите помощи то описывайте систему подробнее...так сказать составьте техзадание.
А уже имея тз можно создать нужную вам систему.
:ext_secret:

Автор темы
lordvako
здесь недавно
здесь недавно
Сообщения: 91
Зарегистрирован: 16 фев 2014, 10:12
Имя: Сальников Василий Леонидович
Страна: Россия
город/регион: Тверь
Благодарил (а): 28 раз

Вопросы по step7

Сообщение lordvako »

Отличная идея! так дейсвтительно проще...но у меня еще будет панель оператора и в моей системе очень много таких цепных транспортеров! порядка 50 штук! и мне необходимо чтобы оператор всегда мог на панели увидеть какая коробочка стоит на определнном транспортере)1ая,2ая,3ая или 4ая!)
Аватара пользователя

megavolt86
эксперт
эксперт
Сообщения: 1172
Зарегистрирован: 14 ноя 2013, 20:35
Имя: Анатолий Сергеевич
Страна: Россия
город/регион: Башкортостан
Благодарил (а): 13 раз
Поблагодарили: 65 раз

Вопросы по step7

Сообщение megavolt86 »

lordvako писал(а): оператор всегда мог на панели увидеть какая коробочка стоит на определнном транспортере)1ая,2ая,3ая или 4ая!
Глонасс-метку вам в помощ!
Больно много неизвестных в данном уравнении...
:ext_secret:

alex45
шаман
шаман
Сообщения: 938
Зарегистрирован: 30 сен 2016, 15:22
Имя: Соловьев Алексей Леонидович
Страна: Россия
город/регион: Иваново
Благодарил (а): 22 раза
Поблагодарили: 169 раз

Вопросы по step7

Сообщение alex45 »

megavolt86 писал(а): Глонасс-метку вам в помощ!
Или хотя бы штрих-кодирование. Как багаж в аэропорту.
Аватара пользователя

MuadDib
частый гость
частый гость
Сообщения: 462
Зарегистрирован: 31 июл 2010, 09:12
Имя: Павел
Страна: РФ
Благодарил (а): 8 раз
Поблагодарили: 13 раз

Вопросы по step7

Сообщение MuadDib »

В первом приближении вам нужно делать что-то типа буфера, в котором хранятся коды видов коробок. Вы выделяете нужное количество байтов (например, в области меркеров). Когда корбка попадает на первый транспортер, вы записываете ее код в младший из этих байтов, а коды, что были в буфере до этого, поочередно смещаете вперед на один байт. Соответственно, когда коробка доходит до "движка" вы читаете из этого буфера самый ранний из помещенных туда кодов. Приходит следующая коробка на этот "движок" - следующий код. И т.д.

То есть блоки как таковые не нужны - вы будете использовать обычные инструкции загрузки и сохранения (L и T). Просто вам нужно подобрать структуру данных оптимальную для вашей задачи и реализовать ее. Скорее всего, тут будет удобнее работать с массивами. Можно попытаться уложить ваши коды видов коробок в биты и играться с битовыми операциями для экономии памяти. Можно попробовать реализовать кольцевой буфер, чтобы меньше было операций копирования. Но сути все это не меняет.

Автор темы
lordvako
здесь недавно
здесь недавно
Сообщения: 91
Зарегистрирован: 16 фев 2014, 10:12
Имя: Сальников Василий Леонидович
Страна: Россия
город/регион: Тверь
Благодарил (а): 28 раз

Вопросы по step7

Сообщение lordvako »

Ну наконец-то мой дружище появился)))

Спасибо! вот именно так мы с моим программистом и хотим сделать! сразу понял ты меня))
просто вот этот проект с реализацией записи и массивами..для нас пока тяжелова-то...вот именно перемещения байта мне и нужно!
нет ли у тебя примерного примера? или может сам реализовавыал такое? в какой области копать хоть?

спасибо за ответ огромное!!!
Аватара пользователя

megavolt86
эксперт
эксперт
Сообщения: 1172
Зарегистрирован: 14 ноя 2013, 20:35
Имя: Анатолий Сергеевич
Страна: Россия
город/регион: Башкортостан
Благодарил (а): 13 раз
Поблагодарили: 65 раз

Вопросы по step7

Сообщение megavolt86 »

lordvako писал(а): именно так мы с моим программистом и хотим сделать! сразу понял ты меня
Хотите)))
А сколько коробок в один момент времени находится на установке? Чем отслеживается положение коробок, как долго дошедшие коробки находятся в ожидании следующего действия? Еще можно кучу вопросов напридумывать...
В зависимости от ответов можно уже чтото думать.
Неужели ваш программист не задал эти вопросы сразу?
:ext_secret:

Автор темы
lordvako
здесь недавно
здесь недавно
Сообщения: 91
Зарегистрирован: 16 фев 2014, 10:12
Имя: Сальников Василий Леонидович
Страна: Россия
город/регион: Тверь
Благодарил (а): 28 раз

Вопросы по step7

Сообщение lordvako »

ну яописал часть своей системы! может коряво описал,но давайте еще разок попробуем!

есть система,которая делает эту коробочку(точнее упаковывает необходимый товар в коробоку, причем каждый товар в каждую коробоку-именно поэтому мне и важно знать каой тип коробки едет!

поэтому после упаковки, эта система упаковки передавая коробку мне на первый транспортер выдаст сигнал о том,что это коробока 1,2,3 или 4! дальше допустим у меня 5 транспортеров и потом идут еще 4 транспортера для остановок коробок! на каждом транспортере концевой,по которому коробка тормозиться! соответственно возможно застой из 5и коробок!

к примеру, выехала коробока тип 3, и мне нужно чтобы информация которую дала упаковка была сохранена до предпослденго транспортера-и там он должен остановиться и ждать пока его не заберут!
Аватара пользователя

MuadDib
частый гость
частый гость
Сообщения: 462
Зарегистрирован: 31 июл 2010, 09:12
Имя: Павел
Страна: РФ
Благодарил (а): 8 раз
Поблагодарили: 13 раз

Вопросы по step7

Сообщение MuadDib »

lordvako писал(а): Ну наконец-то мой дружище появился)))

Спасибо! вот именно так мы с моим программистом и хотим сделать! сразу понял ты меня))
просто вот этот проект с реализацией записи и массивами..для нас пока тяжелова-то...вот именно перемещения байта мне и нужно!
нет ли у тебя примерного примера? или может сам реализовавыал такое? в какой области копать хоть?

спасибо за ответ огромное!!!
Пожалуйста!

Как производится перемещение байтов.

У нас в одной из систем есть рольганг, на который помещаются трубы, произведенные станом. У трубы может быть дефект. В момент помещения трубы на рольганг информация о наличии/отсутствии дефекта помещается в конец буфера FIFO (First In - First Out). Когда труба доезжает до конца, информация о дефекте извлекается из начала буфера.

Для буфера там выделено несколько подряд идущих double word в одном из DB (помимо информации о дефекте там есть еще инфа, поэтому используется больше байтов).

Получается примерно так:

Код: Выделить всё


DBD200  -- FIFO datum 1 (начало буфера)
DBD204 -- FIFO datum 2 
DBD208 -- FIFO datum 3
...
DBD256 -- FIFO datum 15 

В том же блоке хранится переменная с количеством труб в буфере (счетчик)

Когда труба доехала до концевика, данные из DBD200 (начало) идут в обработку, а в буфере производится вот такая чехарда

Код: Выделить всё


L   DB123.DBD204
T   DB123.DBD200
L   DB123.DBD208
T   DB123.DBD204
L   DB123.DBD212
T   DB123.DBD208
...


То есть все datum копируются в младшего "соседа": из datum 2 - в datum 1, из datum 3 - в datum 2 и т.д. по всему объявленному буферу.

После этого число в переменной-счетчике уменьшается на единицу

Несколько сложнее помещать данные в буфер. Конец буфера смещается по мере пополнения. Если в буфере одна труба, то DBD200 "занято", и надо писать в DBD204. Если две трубы - писать нужно в DBD208 и т.д. Делается это через работу с указателем, указатель рассчитывается с помощью переменной-счетчика. Понятное дело, что когда записали туда очередную трубу, счетчик нужно увеличить на единицу.

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

В вашем случае система получается гораздо сложнее, потому что у нас один вход - один выход, а у вас цепочку коробок нужно контролировать в промежуточных точках. Тем не менее, эту идею можно адаптировать и к вашей задаче.
Аватара пользователя

VADR
администратор
администратор
Сообщения: 4711
Зарегистрирован: 25 июл 2008, 07:12
Имя: Диев Александр Васильевич
Страна: Россия
город/регион: г. Сегежа, Карелия
Благодарил (а): 192 раза
Поблагодарили: 336 раз

Вопросы по step7

Сообщение VADR »

Можно высказать мнение сименс-чайника?
А если данные по буферу вообще не перемещать, а обращаться к ним по указателю? Выделить в меркерах место под два указателя: первый - для места, доступного для помещения нового элемента, второй - для следующего извлекаемого. Написать две функции: помещения в буфер и извлечения из него. Каждая из функций кроме записи данных в ячейку или чтения из неё увеличивает соответствующий указатель. Как только указатель выходит за пределы диапазона - он перекидывается на начало буфера. Когда указатель чтения "догоняет" указатель записи - буфер пуст, если наоборот - переполнение.
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.
Аватара пользователя

MuadDib
частый гость
частый гость
Сообщения: 462
Зарегистрирован: 31 июл 2010, 09:12
Имя: Павел
Страна: РФ
Благодарил (а): 8 раз
Поблагодарили: 13 раз

Вопросы по step7

Сообщение MuadDib »

VADR писал(а): Можно высказать мнение сименс-чайника?
А если данные по буферу вообще не перемещать, а обращаться к ним по указателю? Выделить в меркерах место под два указателя: первый - для места, доступного для помещения нового элемента, второй - для следующего извлекаемого. Написать две функции: помещения в буфер и извлечения из него. Каждая из функций кроме записи данных в ячейку или чтения из неё увеличивает соответствующий указатель. Как только указатель выходит за пределы диапазона - он перекидывается на начало буфера. Когда указатель чтения "догоняет" указатель записи - буфер пуст, если наоборот - переполнение.
Можно и так. Это будет кольцевой буфер, который я упоминал в своем первом сообщении в этой ветке.

PavelK
здесь недавно
здесь недавно
Сообщения: 3
Зарегистрирован: 11 янв 2017, 16:12
Имя: Кулагин Павел Викторович

Вопросы по step7

Сообщение PavelK »

Прохождение коробок по системе транспортеров может быть описано признаком каждого из транспортеров занят/свободен что в том числе удобно для визуализации. Соответственно дополнительный признак чем он занят(собственно тип коробки) логично привязать к каждому конкретному транспортеру.
Ответить

Вернуться в «Simatic Step7»