Страница 1 из 2

Помощь новичку с модулем FM 350-1

Добавлено: 27 апр 2015, 10:24
Grim
Дорогие форумчане, нужна помощь с программированием сименсовского счетчика 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
Прошу помощи

Re: Помощь новичку с модулем FM 350-1

Добавлено: 27 апр 2015, 12:01
Автоматизатор
SIMATIC FM 350-1 Ввод в действие, первые шаги
Функциональный модуль FM 350-1 Руководство

Надо работать с этими документами и примером. При программировании Simatic знать STL необходимо, т.к. все примеры более-менее сложных программ написаны на нем.

Сам непосредственно с FM350-1 не работал, но насколько понял: модуль считает сам по себе. Чтобы получить значение счетчика в ОВ1 надо вызвать спец. функцию.

Re: Помощь новичку с модулем FM 350-1

Добавлено: 27 апр 2015, 18:22
Grim
Автоматизатор писал(а):SIMATIC FM 350-1 Ввод в действие, первые шаги
Функциональный модуль FM 350-1 Руководство

Надо работать с этими документами и примером. При программировании Simatic знать STL необходимо, т.к. все примеры более-менее сложных программ написаны на нем.

Сам непосредственно с FM350-1 не работал, но насколько понял: модуль считает сам по себе. Чтобы получить значение счетчика в ОВ1 надо вызвать спец. функцию.
ими и пользуюсь, подскажите может сталкивались DB_NO Номер блока данных с данными счетчика вводит опрашивает - это номер позиции модуля? или что?

Re: Помощь новичку с модулем FM 350-1

Добавлено: 27 апр 2015, 19:17
Автоматизатор
Grim писал(а):DB_NO Номер блока данных с данными счетчика вводит опрашивает - это номер позиции модуля? или что?
Или что!!

Это номер блока данных, в который будет сохраняться счет. Блок данных делается на базе шаблона UDT.

Надо открыть пример - и посмотреть как там все работает. Адаптация минимальна (по железу: тип процессора, адрес счетчика и пр.)

В TIA v13 реализация программирования контроллеров S7-300 мало отличается от Step7 v5.5

Re: Помощь новичку с модулем FM 350-1

Добавлено: 28 апр 2015, 11:29
demalhome
FM350-1 модуль скоростного счета. Исходя из идеи - он вам не нужен. Используйте стандартный счетчик.
Но если есть желание разбираться я обеими руками за.

Re: Помощь новичку с модулем FM 350-1

Добавлено: 28 апр 2015, 14:01
Автоматизатор
demalhome писал(а):Исходя из идеи - он вам не нужен. Используйте стандартный счетчик.
Не понял. О какой идеи идет речь? Надо ли использовать скоростной счет или можно обойтись обычным счетчиком? Или как?

Re: Помощь новичку с модулем FM 350-1

Добавлено: 28 апр 2015, 20:09
demalhome
Grim писал(а):Идея такая: Запрограммировать модуль FM350-1 так, чтобы взять проводок 24V примкнуть его в модуль на место подачи сигнала от датчика, и просчитать количество таких сигналов. Сразу вопрос возможно это? Если да то как? Если нет то почему?
Т.е. на лицо задача обычного подсчета продукции. Для этого можно использовать обыкновенный вход контроллера и к примеру по фронту сигнала плюсовать любую переменную. Быстродействия контроллера в данном случае будет достаточно.
Если стоит задача подсчета, где процесс протекает очень быстро, то необходимо использовать модуль скоростного счета.
В качестве примера возьмем рубку чего либо в размер на скорости 150м/мин. Цикл программы контроллера 15мс. При такой скорости погрешность выдачи команды на руб будет составлять до 37,5мм/цикл*.
При использовании модуля скоростного счета для выдачи команды на руб погрешность будет составлять 0,00625мм при минимальном цикле обработки счетчика в 2,5мкс. Это что касаемо самого подсчета.

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

Re: Помощь новичку с модулем FM 350-1

Добавлено: 28 апр 2015, 20:20
Автоматизатор
Я понял, что проводком топикстартер собирался тестить модуль. А на реальном объекте быстрые процессы - требуется скоростной счетный модуль.

Re: Помощь новичку с модулем FM 350-1

Добавлено: 28 апр 2015, 21:26
demalhome
Автоматизатор писал(а):Я понял, что проводком топикстартер собирался тестить модуль. А на реальном объекте быстрые процессы - требуется скоростной счетный модуль.
Ну если так, то тогда судя по тому что он запрограммировал в 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

Добавлено: 29 апр 2015, 08:20
Grim
demalhome писал(а):
Автоматизатор писал(а):Я понял, что проводком топикстартер собирался тестить модуль. А на реальном объекте быстрые процессы - требуется скоростной счетный модуль.
Ну если так, то тогда судя по тому что он запрограммировал в HW config. Для активации счетчика необходимо подать логическую единицу на вход I0, после этого можно подавать счетные импульсы.
В программе в ob1 необходимо вызвать CNT_CTRL
EN - всегда 1
DB_NO - номер блока данных счетчика
для всех остальных входов и выхода необходимо создать булевые переменные с соответствующими именами.
Все счетчик готов к работе.
Значение счетчика можно считать из "DB_счетчика".ACT_CNTV
Для "обнуления" счетчика необходимо в "DB_счетчика".LOAD_VAL записать требуемое значение и установить единоразово переменную подключенную на вход #L_DIRECT счетчика. Оценить загрузку счетчиком нового значения можно по сброшенной переменной подключенной на вход #L_DIRECT. Счетчик её сбросит сам. При этом изменится значение "DB_счетчика".ACT_CNTV.
Вот возник вопрос 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?

В LOAD_VAL я написал значение #1000
в CMP_V1 подал значение L#1
все правильно или нет?

Re: Помощь новичку с модулем FM 350-1

Добавлено: 29 апр 2015, 08:44
Grim
Изображение
вот такая беда еще

Re: Помощь новичку с модулем FM 350-1

Добавлено: 29 апр 2015, 09:01
Grim
Изображение

Правильно задал блок?

Re: Помощь новичку с модулем FM 350-1

Добавлено: 29 апр 2015, 09:03
Grim
Автоматизатор писал(а):Я понял, что проводком топикстартер собирался тестить модуль. А на реальном объекте быстрые процессы - требуется скоростной счетный модуль.
Да правильно поняли, нужно научиться программировать, а потом уже подавать, на сколько я понял будет подключен датчик скорости ленты

Re: Помощь новичку с модулем FM 350-1

Добавлено: 29 апр 2015, 09:17
demalhome
Grim писал(а): Вот возник вопрос DB_NO если я создал базу данных под UDT1 в нашем случае под CNT_CHANTYPE1 и назвал ее DB2, и она отображается как DB2[DB2] что мне писать в DB_NO??
Надо вводить 2
Grim писал(а): Далее еще вопрос в самой DB2 по инструкции написано нужно задать MOD_ADR (Word) W#16#0, если модуль стоит на 5-м месте то я пишу W#16#5??? соответсвенно и с остальными параметрами такими как CH_ADR, U_D_LGTH?
Эти параметры вводятся автоматически если в HW config выбрать блок данных этого счетчика. Т.е. DB2
Grim писал(а): В LOAD_VAL я написал значение #1000
в CMP_V1 подал значение L#1
все правильно или нет?
CMP_V1 трогать не надо, это уставка для внутреннего компаратора.
Записываете в DB2.LOAD_VAL требуемое значение
устанавливаете бит поданный на вход #L_DIRECT. При этом надо установить бит единовременно. Сам блок сбросит его при установке значения LOAD_VAL

Re: Помощь новичку с модулем FM 350-1

Добавлено: 29 апр 2015, 09:23
Grim
demalhome писал(а): Эти параметры вводятся автоматически если в HW config выбрать блок данных этого счетчика. Т.е. DB2
простите HW Config??? Что это и как его едят?
CMP_V1 трогать не надо, это уставка для внутреннего компаратора.
Записываете в DB2.LOAD_VAL требуемое значение
устанавливаете бит поданный на вход #L_DIRECT. При этом надо установить бит единовременно. Сам блок сбросит его при установке значения LOAD_VAL
Поданный на вход, можно по подробнее?

Re: Помощь новичку с модулем FM 350-1

Добавлено: 29 апр 2015, 10:27
demalhome
Grim писал(а): простите HW Config??? Что это и как его едят?
В TIAportal - device configuration. В step 7 - HW config.
Grim писал(а): Поданный на вход, можно по подробнее?
В вашем случае M20.4

Re: Помощь новичку с модулем FM 350-1

Добавлено: 06 май 2015, 07:47
Grim
BD подключил, но ошибка чтения и записи осталась, не подскажете от чего может быть?

Re: Помощь новичку с модулем FM 350-1

Добавлено: 06 май 2015, 10:00
Grim
Простите DB*

Re: Помощь новичку с модулем FM 350-1

Добавлено: 08 май 2015, 08:02
Grim
TIA потребовал создать MOD_ERR[OB122] для того чтобы хоть как то запускать в Run cpu и в нем вот такая беда :
Изображение
Блок же подключил и по идее все отголоски памяти тоже должны там отразиться автоматически, или нет? :[

Re: Помощь новичку с модулем FM 350-1

Добавлено: 09 май 2015, 14:02
Михайло
Grim писал(а):Блок же подключил и по идее все отголоски памяти тоже должны там отразиться автоматически, или нет? :[
Только в реальном времени (режим RUN).