Помощь новичку с модулем FM 350-1
Помощь новичку с модулем FM 350-1
Дорогие форумчане, нужна помощь с программированием сименсовского счетчика FM350-1.
В общем что то уже потыкал что то подсказали и получилось примерно так:
1) загрузил FM350-1 в CPU 315-2 таким образом"
"Параметризация FM 350–1
Откройте свой проект в SIMATIC Manager.
Откройте в своем проекте конфигурационную таблицу (HW Config).
Из каталога аппаратуры выберите FM 350–1 с правильным заказным номером и
перетащите его в требуемый слот (в примере – слот 4).
Вызовите экранные формы для параметризации двойным щелчком на этом FM 350–1.
Чтобы сделать это, вам, возможно, придется закрыть диалоговое окно, запрашивающее
необходимость сохранения конфигурации, с помощью OK.
Выберите следующие настройки, щелкая на кнопках в экранных формах для
параметризации (все остальные настройки оставьте, пожалуйста, неизменным, так как
они еще не нужны для ввода в действие):
• Operating Modes [Режимы работы]: от 0 до +32 бит, Continuous Counting
[Непрерывный счет], Hardware Gate [Аппаратный вентиль]
• Encoders [Датчики]: 24V Initiator [24-вольтовый инициатор], P Switch [Выключатель
фазы]
• Inputs [Входы]: Level–Controlled Hardware Gate [Аппаратный вентиль, управляемый
уровнем]
• Process interrupt enable [Деблокировка аппаратного прерывания]: невозможна, так
как отменена в основных параметрах
• Outputs [Выходы]: DQ0 Inactive [не активен], DQ1 Inactive
• Reaction to CPU stop [Реакция на останов CPU]: STOP"
2) Создал BD по шаблону UDT1:
"Для того, что бы на его основе создать блок данных, нужно выбрать Add new block, далее выбрать создание блока данных, в типе создаваемого DB выбрать CNT_CHANTYPE1 и нажать кнопку OK. Вуаля - генерируется блок данных необходимой структуры и заодно в папку PLC data type добавляется необходимая структура UDT."
3) создал функциональный блок CNT_CTRL, а вот с ним пошли проблемы в настройке, может кто подскажет как его настраивать?
Идея такая: Запрограммировать модуль FM350-1 так, чтобы взять проводок 24V примкнуть его в модуль на место подачи сигнала от датчика, и просчитать количество таких сигналов. Сразу вопрос возможно это? Если да то как? Если нет то почему?
В программировании таких блоков совсем новичек, прям совсем зеленый, показали как примерно программировать на языке LAD, а вот STL немного не понятен, т.к. вся инструкция мало того что на STL так еще на предыдущих версиях STEP7
Работаю под средой TIA Portal v13
Прошу помощи
В общем что то уже потыкал что то подсказали и получилось примерно так:
1) загрузил FM350-1 в CPU 315-2 таким образом"
"Параметризация FM 350–1
Откройте свой проект в SIMATIC Manager.
Откройте в своем проекте конфигурационную таблицу (HW Config).
Из каталога аппаратуры выберите FM 350–1 с правильным заказным номером и
перетащите его в требуемый слот (в примере – слот 4).
Вызовите экранные формы для параметризации двойным щелчком на этом FM 350–1.
Чтобы сделать это, вам, возможно, придется закрыть диалоговое окно, запрашивающее
необходимость сохранения конфигурации, с помощью OK.
Выберите следующие настройки, щелкая на кнопках в экранных формах для
параметризации (все остальные настройки оставьте, пожалуйста, неизменным, так как
они еще не нужны для ввода в действие):
• Operating Modes [Режимы работы]: от 0 до +32 бит, Continuous Counting
[Непрерывный счет], Hardware Gate [Аппаратный вентиль]
• Encoders [Датчики]: 24V Initiator [24-вольтовый инициатор], P Switch [Выключатель
фазы]
• Inputs [Входы]: Level–Controlled Hardware Gate [Аппаратный вентиль, управляемый
уровнем]
• Process interrupt enable [Деблокировка аппаратного прерывания]: невозможна, так
как отменена в основных параметрах
• Outputs [Выходы]: DQ0 Inactive [не активен], DQ1 Inactive
• Reaction to CPU stop [Реакция на останов CPU]: STOP"
2) Создал BD по шаблону UDT1:
"Для того, что бы на его основе создать блок данных, нужно выбрать Add new block, далее выбрать создание блока данных, в типе создаваемого DB выбрать CNT_CHANTYPE1 и нажать кнопку OK. Вуаля - генерируется блок данных необходимой структуры и заодно в папку PLC data type добавляется необходимая структура UDT."
3) создал функциональный блок CNT_CTRL, а вот с ним пошли проблемы в настройке, может кто подскажет как его настраивать?
Идея такая: Запрограммировать модуль FM350-1 так, чтобы взять проводок 24V примкнуть его в модуль на место подачи сигнала от датчика, и просчитать количество таких сигналов. Сразу вопрос возможно это? Если да то как? Если нет то почему?
В программировании таких блоков совсем новичек, прям совсем зеленый, показали как примерно программировать на языке LAD, а вот STL немного не понятен, т.к. вся инструкция мало того что на STL так еще на предыдущих версиях STEP7
Работаю под средой TIA Portal v13
Прошу помощи
- Автоматизатор
- Профессионал
- Сообщения: 993
- Зарегистрирован: 09 окт 2012, 05:18
Re: Помощь новичку с модулем FM 350-1
SIMATIC FM 350-1 Ввод в действие, первые шаги
Функциональный модуль FM 350-1 Руководство
Надо работать с этими документами и примером. При программировании Simatic знать STL необходимо, т.к. все примеры более-менее сложных программ написаны на нем.
Сам непосредственно с FM350-1 не работал, но насколько понял: модуль считает сам по себе. Чтобы получить значение счетчика в ОВ1 надо вызвать спец. функцию.
Функциональный модуль FM 350-1 Руководство
Надо работать с этими документами и примером. При программировании Simatic знать STL необходимо, т.к. все примеры более-менее сложных программ написаны на нем.
Сам непосредственно с FM350-1 не работал, но насколько понял: модуль считает сам по себе. Чтобы получить значение счетчика в ОВ1 надо вызвать спец. функцию.
Re: Помощь новичку с модулем FM 350-1
ими и пользуюсь, подскажите может сталкивались DB_NO Номер блока данных с данными счетчика вводит опрашивает - это номер позиции модуля? или что?Автоматизатор писал(а):SIMATIC FM 350-1 Ввод в действие, первые шаги
Функциональный модуль FM 350-1 Руководство
Надо работать с этими документами и примером. При программировании Simatic знать STL необходимо, т.к. все примеры более-менее сложных программ написаны на нем.
Сам непосредственно с FM350-1 не работал, но насколько понял: модуль считает сам по себе. Чтобы получить значение счетчика в ОВ1 надо вызвать спец. функцию.
- Автоматизатор
- Профессионал
- Сообщения: 993
- Зарегистрирован: 09 окт 2012, 05:18
Re: Помощь новичку с модулем FM 350-1
Или что!!Grim писал(а):DB_NO Номер блока данных с данными счетчика вводит опрашивает - это номер позиции модуля? или что?
Это номер блока данных, в который будет сохраняться счет. Блок данных делается на базе шаблона UDT.
Надо открыть пример - и посмотреть как там все работает. Адаптация минимальна (по железу: тип процессора, адрес счетчика и пр.)
В TIA v13 реализация программирования контроллеров S7-300 мало отличается от Step7 v5.5
Re: Помощь новичку с модулем FM 350-1
FM350-1 модуль скоростного счета. Исходя из идеи - он вам не нужен. Используйте стандартный счетчик.
Но если есть желание разбираться я обеими руками за.
Но если есть желание разбираться я обеими руками за.
- Автоматизатор
- Профессионал
- Сообщения: 993
- Зарегистрирован: 09 окт 2012, 05:18
Re: Помощь новичку с модулем FM 350-1
Не понял. О какой идеи идет речь? Надо ли использовать скоростной счет или можно обойтись обычным счетчиком? Или как?demalhome писал(а):Исходя из идеи - он вам не нужен. Используйте стандартный счетчик.
Re: Помощь новичку с модулем FM 350-1
Т.е. на лицо задача обычного подсчета продукции. Для этого можно использовать обыкновенный вход контроллера и к примеру по фронту сигнала плюсовать любую переменную. Быстродействия контроллера в данном случае будет достаточно.Grim писал(а):Идея такая: Запрограммировать модуль FM350-1 так, чтобы взять проводок 24V примкнуть его в модуль на место подачи сигнала от датчика, и просчитать количество таких сигналов. Сразу вопрос возможно это? Если да то как? Если нет то почему?
Если стоит задача подсчета, где процесс протекает очень быстро, то необходимо использовать модуль скоростного счета.
В качестве примера возьмем рубку чего либо в размер на скорости 150м/мин. Цикл программы контроллера 15мс. При такой скорости погрешность выдачи команды на руб будет составлять до 37,5мм/цикл*.
При использовании модуля скоростного счета для выдачи команды на руб погрешность будет составлять 0,00625мм при минимальном цикле обработки счетчика в 2,5мкс. Это что касаемо самого подсчета.
*-при обработке контроллером значения счетчика модуля скоростного счета.
При использовании стандартного программного счетчика и использовании входов контроллера эта задача не выполнима, поскольку невозможно будет даже подсчитать импульсы подаваемые на вход контроллера
- Автоматизатор
- Профессионал
- Сообщения: 993
- Зарегистрирован: 09 окт 2012, 05:18
Re: Помощь новичку с модулем FM 350-1
Я понял, что проводком топикстартер собирался тестить модуль. А на реальном объекте быстрые процессы - требуется скоростной счетный модуль.
Re: Помощь новичку с модулем FM 350-1
Ну если так, то тогда судя по тому что он запрограммировал в HW config. Для активации счетчика необходимо подать логическую единицу на вход I0, после этого можно подавать счетные импульсы.Автоматизатор писал(а):Я понял, что проводком топикстартер собирался тестить модуль. А на реальном объекте быстрые процессы - требуется скоростной счетный модуль.
В программе в ob1 необходимо вызвать CNT_CTRL
EN - всегда 1
DB_NO - номер блока данных счетчика
для всех остальных входов и выхода необходимо создать булевые переменные с соответствующими именами.
Все счетчик готов к работе.
Значение счетчика можно считать из "DB_счетчика".ACT_CNTV
Для "обнуления" счетчика необходимо в "DB_счетчика".LOAD_VAL записать требуемое значение и установить единоразово переменную подключенную на вход #L_DIRECT счетчика. Оценить загрузку счетчиком нового значения можно по сброшенной переменной подключенной на вход #L_DIRECT. Счетчик её сбросит сам. При этом изменится значение "DB_счетчика".ACT_CNTV.
Re: Помощь новичку с модулем FM 350-1
Вот возник вопрос DB_NO если я создал базу данных под UDT1 в нашем случае под CNT_CHANTYPE1 и назвал ее DB2, и она отображается как DB2[DB2] что мне писать в DB_NO?? Далее еще вопрос в самой DB2 по инструкции написано нужно задать MOD_ADR (Word) W#16#0, если модуль стоит на 5-м месте то я пишу W#16#5??? соответсвенно и с остальными параметрами такими как CH_ADR, U_D_LGTH?demalhome писал(а):Ну если так, то тогда судя по тому что он запрограммировал в HW config. Для активации счетчика необходимо подать логическую единицу на вход I0, после этого можно подавать счетные импульсы.Автоматизатор писал(а):Я понял, что проводком топикстартер собирался тестить модуль. А на реальном объекте быстрые процессы - требуется скоростной счетный модуль.
В программе в ob1 необходимо вызвать CNT_CTRL
EN - всегда 1
DB_NO - номер блока данных счетчика
для всех остальных входов и выхода необходимо создать булевые переменные с соответствующими именами.
Все счетчик готов к работе.
Значение счетчика можно считать из "DB_счетчика".ACT_CNTV
Для "обнуления" счетчика необходимо в "DB_счетчика".LOAD_VAL записать требуемое значение и установить единоразово переменную подключенную на вход #L_DIRECT счетчика. Оценить загрузку счетчиком нового значения можно по сброшенной переменной подключенной на вход #L_DIRECT. Счетчик её сбросит сам. При этом изменится значение "DB_счетчика".ACT_CNTV.
В LOAD_VAL я написал значение #1000
в CMP_V1 подал значение L#1
все правильно или нет?
Re: Помощь новичку с модулем FM 350-1
вот такая беда еще
Re: Помощь новичку с модулем FM 350-1
Правильно задал блок?
Re: Помощь новичку с модулем FM 350-1
Да правильно поняли, нужно научиться программировать, а потом уже подавать, на сколько я понял будет подключен датчик скорости лентыАвтоматизатор писал(а):Я понял, что проводком топикстартер собирался тестить модуль. А на реальном объекте быстрые процессы - требуется скоростной счетный модуль.
Re: Помощь новичку с модулем FM 350-1
Надо вводить 2Grim писал(а): Вот возник вопрос DB_NO если я создал базу данных под UDT1 в нашем случае под CNT_CHANTYPE1 и назвал ее DB2, и она отображается как DB2[DB2] что мне писать в DB_NO??
Эти параметры вводятся автоматически если в HW config выбрать блок данных этого счетчика. Т.е. DB2Grim писал(а): Далее еще вопрос в самой DB2 по инструкции написано нужно задать MOD_ADR (Word) W#16#0, если модуль стоит на 5-м месте то я пишу W#16#5??? соответсвенно и с остальными параметрами такими как CH_ADR, U_D_LGTH?
CMP_V1 трогать не надо, это уставка для внутреннего компаратора.Grim писал(а): В LOAD_VAL я написал значение #1000
в CMP_V1 подал значение L#1
все правильно или нет?
Записываете в DB2.LOAD_VAL требуемое значение
устанавливаете бит поданный на вход #L_DIRECT. При этом надо установить бит единовременно. Сам блок сбросит его при установке значения LOAD_VAL
Re: Помощь новичку с модулем FM 350-1
простите HW Config??? Что это и как его едят?demalhome писал(а): Эти параметры вводятся автоматически если в HW config выбрать блок данных этого счетчика. Т.е. DB2
Поданный на вход, можно по подробнее?CMP_V1 трогать не надо, это уставка для внутреннего компаратора.
Записываете в DB2.LOAD_VAL требуемое значение
устанавливаете бит поданный на вход #L_DIRECT. При этом надо установить бит единовременно. Сам блок сбросит его при установке значения LOAD_VAL
Re: Помощь новичку с модулем FM 350-1
В TIAportal - device configuration. В step 7 - HW config.Grim писал(а): простите HW Config??? Что это и как его едят?
В вашем случае M20.4Grim писал(а): Поданный на вход, можно по подробнее?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Re: Помощь новичку с модулем FM 350-1
BD подключил, но ошибка чтения и записи осталась, не подскажете от чего может быть?
Re: Помощь новичку с модулем FM 350-1
Простите DB*
Re: Помощь новичку с модулем FM 350-1
TIA потребовал создать MOD_ERR[OB122] для того чтобы хоть как то запускать в Run cpu и в нем вот такая беда :
Блок же подключил и по идее все отголоски памяти тоже должны там отразиться автоматически, или нет?
Блок же подключил и по идее все отголоски памяти тоже должны там отразиться автоматически, или нет?
Re: Помощь новичку с модулем FM 350-1
Только в реальном времени (режим RUN).Grim писал(а):Блок же подключил и по идее все отголоски памяти тоже должны там отразиться автоматически, или нет?