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

Программирование в STEP7 модуля Stepper motor contr

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

Автор темы
kiselev_mixail
здесь недавно
здесь недавно
Сообщения: 3
Зарегистрирован: 29 июн 2015, 23:21
Имя: Киселев Михаил
Страна: Россия
город/регион: Эртиль

Программирование в STEP7 модуля Stepper motor contr

Сообщение kiselev_mixail »

Добрый день.

Подскажите пожалуйста как запрограммировать модуль управления шаговым двигателем?

Контроллер Siemens ET-200S cpu 151-8.

Среди прочих модулей присутствует модуль 1 STEP 5V. Заказной номер 6ES7 138-4DC01-0AB0 .
Есть к нему описание, даже на русском языке (ломано переведено, но все же). Размер 2.9 МБ не могу залить сюда.
Вот ссылка английскую версию того же руководства:
https://support.industry.siemens.com/cs ... 9&lc=ru-RU

На странице 2-5 данного руководства даны следующие рекомендации:
"Встройте блокFC101 в свою пользовательскую программу(например, в
OB1). Этот блок нуждается в блокеDB1 длиной16 байтов."

Тут я встал в тупик, блок данных можно привязать к FB, а FC максимум может использовать заранее забитые переменные.

В инструкции есть описание примера программы. Может кто-нибудь сконфигурировать FC101 и блок DB1. Или объяснить как это сделать.

Да, еще в инструкции есть упоминание про GSD файл, но скачать что либо тоже не выходит.

У меня установлено ПО STEP7 V5.5+SP1.

Михайло
почётный участник форума
почётный участник форума
Сообщения: 3559
Зарегистрирован: 10 ноя 2009, 04:58
Имя: Толмачев Михаил Алексеевич
город/регион: г. Чехов, МО
Благодарил (а): 6 раз
Поблагодарили: 253 раза

Re: Программирование в STEP7 модуля Stepper motor contr

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

kiselev_mixail писал(а):Тут я встал в тупик, блок данных можно привязать к FB, а FC максимум может использовать заранее забитые переменные.
Просто создайте два этих блока, они не обязательно должны быть связанные.
kiselev_mixail писал(а):Да, еще в инструкции есть упоминание про GSD файл, но скачать что либо тоже не выходит.

У меня установлено ПО STEP7 V5.5+SP1.
Обычно все GSD-файлы уже встроены в STEP7, но иногда их требуется обновлять, т.к. железо обновляется и старые GSD-драйвера уже не работают или для данного железа их еще не было в комплекте поставки STEP7.

Автор темы
kiselev_mixail
здесь недавно
здесь недавно
Сообщения: 3
Зарегистрирован: 29 июн 2015, 23:21
Имя: Киселев Михаил
Страна: Россия
город/регион: Эртиль

Re: Программирование в STEP7 модуля Stepper motor contr

Сообщение kiselev_mixail »

Ну просто создать это конечно можно. Но что с этим делать.

Есть пример в инструкции:

Block: FC101

// Инициализация интерфейса управления

L L#4800; // Расстояние 4800 импульсов
T DB1.DBD0;
L 1; // Множитель 1 для выходной частоты

T DB1.DBB0;

L 0; // Сброс конечного выключателя и т.д
T DB1.DBB5;
T DB1.DBW 6;

SET;

S DB1.DBX5.2; // Установка разблокирования импульсов DRV_EN
R DB1.DBX4.0; // Установка пошагового режима
R DB1.DBX4.1; // Резервный бит = 0
R DB1.DBX4.2; // Резервный бит = 0
R DB1.DBX4.3; // Резервный бит = 0
R DB1.DBX4.5; // Сброс включения обратного хода DIR_M
R DB1.DBX4.6; // Сброс STOP
R DB1.DBX4.7; // Сброс понижающего коэффициента R


L DB1.DBD0 // Запись 8 байтов в 1STEP 5V/204kHz
T PQD256
L DB1.DBD4
T PQD256

L PID256 //Чтение 8 байтов из 1STEP 5V/204kHz
T DB1.DBD4
L PID260
T DB1.DB12


A M 30.0; // Обнаружение фронта сигнала на инициализацию пуска и
AN DB1.DBX12. 0 // установка запуска DIR_P, если STS_JOB сброшен.
S DB1.DBX4.4

A DB1.DBX12.0 // Ожидание STS_JOB и
R DB1.DBX4.4 // сброс запуска DIR_P; начинается ход
R M 30.0 // Сброс запуска включения

Конец примера.

Как видно из примера, функция FC101 ссылается на переменные из блока данных DB1. А их там тупо нет. Он пустой потому что мы его просто создали.

Если бы мы его создавали через Instance DB с привязкой к стандартному функциональному блоку, то он был бы заполнен всеми необходимыми переменными.

Во общем вопрос ,как создать DB1 со всеми необходимыми переменными? А как видно из примера там есть и булевские и ворды и еще чето. DBX - это какая переменная?

Автор темы
kiselev_mixail
здесь недавно
здесь недавно
Сообщения: 3
Зарегистрирован: 29 июн 2015, 23:21
Имя: Киселев Михаил
Страна: Россия
город/регион: Эртиль

Re: Программирование в STEP7 модуля Stepper motor contr

Сообщение kiselev_mixail »

не правильно я поставил вопрос.

Есть задача, нужно решить. Денежное вознаграждение с меня.

Какой контроллер и какой модуль писал выше.

Задача:

Необходимо по сигналу внутренней переменной M10.0 (к примеру) запустить шаговый двигатель с частотой 200 Гц на 4000 шагов.
После пройденного расстояния двигатель останавливается, и отправляется в реверс на расстояние 2000 шагов с той же частотой.
Далее после вновь пройденного расстояния двигатель снова останавливается и запускается в первом направлении до появления внешней переменной (М10.1).
Далее останавливается. В этот момент в присутствует переменная М10.2. Контроллер ждет пока эта переменная пропадет и появится вновь (до пропадания поядка 0,5 сек).
При повторном появлении переменной М10.2. Шаговый двигатель совершает 200 шагов с частотой 200 Гц. К моменту окончания выполнения последнего задания шагового двигателя, переменная М10.2 вновь пропадает. При её повторном появлении, шаговый двигатель вновь делает 200 шагов с той же частотой и так до тех пор пока не появится переменная М10.3. При её появлении, шаговый двигатель доделывает заданные 200 шагов и останавливается. И ждет М10.0 для запуска в прямом направлении.
Дополнительное требование, что при уводе контроллера в стоп или при отключении электроэнергии, и при повторном запуске контроллера шаговый двигатель должен доделать оставшееся количество шагов.

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

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

Михайло
почётный участник форума
почётный участник форума
Сообщения: 3559
Зарегистрирован: 10 ноя 2009, 04:58
Имя: Толмачев Михаил Алексеевич
город/регион: г. Чехов, МО
Благодарил (а): 6 раз
Поблагодарили: 253 раза

Re: Программирование в STEP7 модуля Stepper motor contr

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

kiselev_mixail писал(а):Во общем вопрос ,как создать DB1 со всеми необходимыми переменными? А как видно из примера там есть и булевские и ворды и еще чето. DBX - это какая переменная?
DB1.DBD0 - двойное слово (32 бита) double
DB1.DBW0 - слово (16 бит) word
DB1.DBB0 - байт (8 бит) byte
DB1.DBX0.0 - бит (нулевой бит байта DB1.DBB0)


Приведенный листинг - это не сама функция FC101, а ее настройка в OB1. Саму функцию FC101 нужно найти в библиотеке STEP7.
Аватара пользователя

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

Re: Программирование в STEP7 модуля Stepper motor contr

Сообщение CHANt »

kiselev_mixail писал(а): На странице 2-5 данного руководства даны следующие рекомендации:
"Встройте блокFC101 в свою пользовательскую программу(например, в
OB1). Этот блок нуждается в блокеDB1 длиной 16 байтов."
Просто создайте в Step7 новый блок данных DB1 типа "Shared" и пропишите в нем 16 байт. Т.е. заполните имена переменных, ну типа BYTE1,BYTE2, BYTE3 и т. п.
kiselev_mixail писал(а): Да, еще в инструкции есть упоминание про GSD файл, но скачать что либо тоже не выходит.
Если в HWConfig Вам удалось сконфигурировать железо проекта, то GSD файл уже установлен.
kiselev_mixail писал(а): Я мал мала разобрался в этом модуле, но доконца не получается, а время поджимает. Так что я готов на материальные растраты, за оперативное решение вопроса.
На официальном форуме Семена создайте запрос в разделе работа - http://dfpd.siemens.ru/forum/viewforum. ... 6ab68eb300 Там, коллег, работающих с Сименсом больше. Здесь же, традиционно, темы "Сделай за меня" не пользуются популярностью. Так как времени у всех немного, а погружаться с нуля в чужую задачу не очень то и хочется. Помочь советом/приемом/методом/и т. п. это одно, сделать полностью это другое :ext_secret:
--------------------------------------------------------------------------------------------

Alexandr Sizov
Сообщения: 1
Зарегистрирован: 03 авг 2018, 15:19
Имя: Александр
Страна: Россия
город/регион: Санкт-петербург

Программирование в STEP7 модуля Stepper motor contr

Сообщение Alexandr Sizov »

Добрый день.
Наткнулся на Вашу проблемную программку официально подаренную Siemen-сом. Как успехи,- справились с FC101 и в целом?
Если да, то поделитесь Вашим бесценным опытом. Наша проблема: куча шаговых двигателей без обратной связи до 10А, ориентируемся на архитектуру от Siemens-а, соответственно нужна программка простого перемещения с опорной точкой.
Пытаемся симулировать в Simatic Step7 V5.6, сами не профессионалы.
*********************************************************************************************
**********************************************************************************************
Ну просто создать это конечно можно. Но что с этим делать.

Есть пример в инструкции:

Block: FC101

// Инициализация интерфейса управления

L L#4800; // Расстояние 4800 импульсов
T DB1.DBD0;
L 1; // Множитель 1 для выходной частоты

T DB1.DBB0;

L 0; // Сброс конечного выключателя и т.д
T DB1.DBB5;
T DB1.DBW 6;

SET;

S DB1.DBX5.2; // Установка разблокирования импульсов DRV_EN
R DB1.DBX4.0; // Установка пошагового режима
R DB1.DBX4.1; // Резервный бит = 0
R DB1.DBX4.2; // Резервный бит = 0
R DB1.DBX4.3; // Резервный бит = 0
R DB1.DBX4.5; // Сброс включения обратного хода DIR_M
R DB1.DBX4.6; // Сброс STOP
R DB1.DBX4.7; // Сброс понижающего коэффициента R


L DB1.DBD0 // Запись 8 байтов в 1STEP 5V/204kHz
T PQD256
L DB1.DBD4
T PQD256

L PID256 //Чтение 8 байтов из 1STEP 5V/204kHz
T DB1.DBD4
L PID260
T DB1.DB12


A M 30.0; // Обнаружение фронта сигнала на инициализацию пуска и
AN DB1.DBX12. 0 // установка запуска DIR_P, если STS_JOB сброшен.
S DB1.DBX4.4

A DB1.DBX12.0 // Ожидание STS_JOB и
R DB1.DBX4.4 // сброс запуска DIR_P; начинается ход
R M 30.0 // Сброс запуска включения

Конец примера.
Аватара пользователя

petr2off
эксперт
эксперт
Сообщения: 1602
Зарегистрирован: 06 янв 2016, 19:45
Имя: Петров В.Л.
Страна: Россия
город/регион: Красноярск
Благодарил (а): 69 раз
Поблагодарили: 185 раз

Программирование в STEP7 модуля Stepper motor contr

Сообщение petr2off »

Тут я встал в тупик, блок данных можно привязать к FB, а FC максимум может использовать заранее забитые переменные.
Не совсем корректное утверждение. FC может работать с блоком данных, через параметры. При управлении сложным объектом, возникает необходимость в сохраненных значениях (данных) характеризующих состояние этого объекта. Например текущее состояние (включен/выключен), текущее положение. Для FB блока это можно хранить в экземплярных DB. Для FC - в разделяемых DB. Особенность экземплярного DB в том, что в момент его создания указызываетя FB блок и структура его определяется автоматически. Ну и доступ к нему локализован внутри FB блока. Для FC нужно будет создать его ручками, структура должна быть в описании. И соответственно переменные этого DB должны быть во входных и выходных параметрах FC блока. Он их оттуда будет брать и там же сохранять.
Ответить

Вернуться в «Средний уровень автоматизации (управляющий)»