- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Программирование в STEP7 модуля Stepper motor contr
-
- здесь недавно
- Сообщения: 3
- Зарегистрирован: 29 июн 2015, 23:21
- Имя: Киселев Михаил
- Страна: Россия
- город/регион: Эртиль
Программирование в STEP7 модуля Stepper motor contr
Добрый день.
Подскажите пожалуйста как запрограммировать модуль управления шаговым двигателем?
Контроллер 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.
Подскажите пожалуйста как запрограммировать модуль управления шаговым двигателем?
Контроллер 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.
-
- почётный участник форума
- Сообщения: 3575
- Зарегистрирован: 10 ноя 2009, 04:58
- Имя: Толмачев Михаил Алексеевич
- город/регион: г. Чехов, МО
- Благодарил (а): 6 раз
- Поблагодарили: 271 раз
Re: Программирование в STEP7 модуля Stepper motor contr
Просто создайте два этих блока, они не обязательно должны быть связанные.kiselev_mixail писал(а):Тут я встал в тупик, блок данных можно привязать к FB, а FC максимум может использовать заранее забитые переменные.
Обычно все GSD-файлы уже встроены в STEP7, но иногда их требуется обновлять, т.к. железо обновляется и старые GSD-драйвера уже не работают или для данного железа их еще не было в комплекте поставки STEP7.kiselev_mixail писал(а):Да, еще в инструкции есть упоминание про GSD файл, но скачать что либо тоже не выходит.
У меня установлено ПО STEP7 V5.5+SP1.
-
- здесь недавно
- Сообщения: 3
- Зарегистрирован: 29 июн 2015, 23:21
- Имя: Киселев Михаил
- Страна: Россия
- город/регион: Эртиль
Re: Программирование в STEP7 модуля Stepper motor contr
Ну просто создать это конечно можно. Но что с этим делать.
Есть пример в инструкции:
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 - это какая переменная?
Есть пример в инструкции:
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 - это какая переменная?
-
- здесь недавно
- Сообщения: 3
- Зарегистрирован: 29 июн 2015, 23:21
- Имя: Киселев Михаил
- Страна: Россия
- город/регион: Эртиль
Re: Программирование в STEP7 модуля Stepper motor contr
не правильно я поставил вопрос.
Есть задача, нужно решить. Денежное вознаграждение с меня.
Какой контроллер и какой модуль писал выше.
Задача:
Необходимо по сигналу внутренней переменной M10.0 (к примеру) запустить шаговый двигатель с частотой 200 Гц на 4000 шагов.
После пройденного расстояния двигатель останавливается, и отправляется в реверс на расстояние 2000 шагов с той же частотой.
Далее после вновь пройденного расстояния двигатель снова останавливается и запускается в первом направлении до появления внешней переменной (М10.1).
Далее останавливается. В этот момент в присутствует переменная М10.2. Контроллер ждет пока эта переменная пропадет и появится вновь (до пропадания поядка 0,5 сек).
При повторном появлении переменной М10.2. Шаговый двигатель совершает 200 шагов с частотой 200 Гц. К моменту окончания выполнения последнего задания шагового двигателя, переменная М10.2 вновь пропадает. При её повторном появлении, шаговый двигатель вновь делает 200 шагов с той же частотой и так до тех пор пока не появится переменная М10.3. При её появлении, шаговый двигатель доделывает заданные 200 шагов и останавливается. И ждет М10.0 для запуска в прямом направлении.
Дополнительное требование, что при уводе контроллера в стоп или при отключении электроэнергии, и при повторном запуске контроллера шаговый двигатель должен доделать оставшееся количество шагов.
Мне нужен функциональный блок, блок данных, ну и возможность менять количество шагов через Vat таблицу или через какие нибудь переменные. (что бы после отключения питания настройки количества шагов не пропадали.)
Я мал мала разобрался в этом модуле, но доконца не получается, а время поджимает. Так что я готов на материальные растраты, за оперативное решение вопроса.
Есть задача, нужно решить. Денежное вознаграждение с меня.
Какой контроллер и какой модуль писал выше.
Задача:
Необходимо по сигналу внутренней переменной M10.0 (к примеру) запустить шаговый двигатель с частотой 200 Гц на 4000 шагов.
После пройденного расстояния двигатель останавливается, и отправляется в реверс на расстояние 2000 шагов с той же частотой.
Далее после вновь пройденного расстояния двигатель снова останавливается и запускается в первом направлении до появления внешней переменной (М10.1).
Далее останавливается. В этот момент в присутствует переменная М10.2. Контроллер ждет пока эта переменная пропадет и появится вновь (до пропадания поядка 0,5 сек).
При повторном появлении переменной М10.2. Шаговый двигатель совершает 200 шагов с частотой 200 Гц. К моменту окончания выполнения последнего задания шагового двигателя, переменная М10.2 вновь пропадает. При её повторном появлении, шаговый двигатель вновь делает 200 шагов с той же частотой и так до тех пор пока не появится переменная М10.3. При её появлении, шаговый двигатель доделывает заданные 200 шагов и останавливается. И ждет М10.0 для запуска в прямом направлении.
Дополнительное требование, что при уводе контроллера в стоп или при отключении электроэнергии, и при повторном запуске контроллера шаговый двигатель должен доделать оставшееся количество шагов.
Мне нужен функциональный блок, блок данных, ну и возможность менять количество шагов через Vat таблицу или через какие нибудь переменные. (что бы после отключения питания настройки количества шагов не пропадали.)
Я мал мала разобрался в этом модуле, но доконца не получается, а время поджимает. Так что я готов на материальные растраты, за оперативное решение вопроса.
-
- почётный участник форума
- Сообщения: 3575
- Зарегистрирован: 10 ноя 2009, 04:58
- Имя: Толмачев Михаил Алексеевич
- город/регион: г. Чехов, МО
- Благодарил (а): 6 раз
- Поблагодарили: 271 раз
Re: Программирование в STEP7 модуля Stepper motor contr
DB1.DBD0 - двойное слово (32 бита) doublekiselev_mixail писал(а):Во общем вопрос ,как создать DB1 со всеми необходимыми переменными? А как видно из примера там есть и булевские и ворды и еще чето. DBX - это какая переменная?
DB1.DBW0 - слово (16 бит) word
DB1.DBB0 - байт (8 бит) byte
DB1.DBX0.0 - бит (нулевой бит байта DB1.DBB0)
Приведенный листинг - это не сама функция FC101, а ее настройка в OB1. Саму функцию FC101 нужно найти в библиотеке STEP7.
-
- эксперт
- Сообщения: 1465
- Зарегистрирован: 25 июл 2008, 10:25
- Имя: Эдуард Владимирович
- Страна: СССР
- город/регион: Оренбург
- Благодарил (а): 45 раз
- Поблагодарили: 104 раза
Re: Программирование в STEP7 модуля Stepper motor contr
Просто создайте в Step7 новый блок данных DB1 типа "Shared" и пропишите в нем 16 байт. Т.е. заполните имена переменных, ну типа BYTE1,BYTE2, BYTE3 и т. п.kiselev_mixail писал(а): На странице 2-5 данного руководства даны следующие рекомендации:
"Встройте блокFC101 в свою пользовательскую программу(например, в
OB1). Этот блок нуждается в блокеDB1 длиной 16 байтов."
Если в HWConfig Вам удалось сконфигурировать железо проекта, то GSD файл уже установлен.kiselev_mixail писал(а): Да, еще в инструкции есть упоминание про GSD файл, но скачать что либо тоже не выходит.
На официальном форуме Семена создайте запрос в разделе работа - http://dfpd.siemens.ru/forum/viewforum. ... 6ab68eb300 Там, коллег, работающих с Сименсом больше. Здесь же, традиционно, темы "Сделай за меня" не пользуются популярностью. Так как времени у всех немного, а погружаться с нуля в чужую задачу не очень то и хочется. Помочь советом/приемом/методом/и т. п. это одно, сделать полностью это другоеkiselev_mixail писал(а): Я мал мала разобрался в этом модуле, но доконца не получается, а время поджимает. Так что я готов на материальные растраты, за оперативное решение вопроса.
--------------------------------------------------------------------------------------------
-
- Сообщения: 1
- Зарегистрирован: 03 авг 2018, 15:19
- Имя: Александр
- Страна: Россия
- город/регион: Санкт-петербург
Программирование в STEP7 модуля Stepper motor contr
Добрый день.
Наткнулся на Вашу проблемную программку официально подаренную 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 // Сброс запуска включения
Конец примера.
Наткнулся на Вашу проблемную программку официально подаренную 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 // Сброс запуска включения
Конец примера.
-
- эксперт
- Сообщения: 1617
- Зарегистрирован: 06 янв 2016, 19:45
- Имя: Петров В.Л.
- Страна: Россия
- город/регион: Красноярск
- Благодарил (а): 70 раз
- Поблагодарили: 189 раз
Программирование в STEP7 модуля Stepper motor contr
Не совсем корректное утверждение. FC может работать с блоком данных, через параметры. При управлении сложным объектом, возникает необходимость в сохраненных значениях (данных) характеризующих состояние этого объекта. Например текущее состояние (включен/выключен), текущее положение. Для FB блока это можно хранить в экземплярных DB. Для FC - в разделяемых DB. Особенность экземплярного DB в том, что в момент его создания указызываетя FB блок и структура его определяется автоматически. Ну и доступ к нему локализован внутри FB блока. Для FC нужно будет создать его ручками, структура должна быть в описании. И соответственно переменные этого DB должны быть во входных и выходных параметрах FC блока. Он их оттуда будет брать и там же сохранять.Тут я встал в тупик, блок данных можно привязать к FB, а FC максимум может использовать заранее забитые переменные.