реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Siemens S7-300, CPU 315-2DP и SM331; AI 8x13 Bit пример программирования
DimG
сообщение Aug 30 2007, 02:43
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 70
Регистрация: 4-04-06
Из: г. Омск
Пользователь №: 15 777



Большая просьба к людям, имеющим дело с контроллерами Siemens! Киньте примерчик программы по работе с этим аналоговым модулем.
Четвертый день читаю документацию по этому контроллеру и языку, но пока целостной картины, как пишутся программы, нет, а на следующей неделе уже надо сдать готовую программу. Поэтому нужен пример, чтобы было от чего оттолкнуться. 1111493779.gif
Мне нужен примерчик получения данных со входов, и складывания его в глобальный блок данных.
Заранее благодарю всех откликнувшихся.
Go to the top of the page
 
+Quote Post
krokodil111
сообщение Aug 30 2007, 06:29
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 58
Регистрация: 22-08-07
Пользователь №: 29 982



Цитата(DimG @ Aug 30 2007, 06:43) *
Большая просьба к людям, имеющим дело с контроллерами Siemens! Киньте примерчик программы по работе с этим аналоговым модулем.
Четвертый день читаю документацию по этому контроллеру и языку, но пока целостной картины, как пишутся программы, нет, а на следующей неделе уже надо сдать готовую программу. Поэтому нужен пример, чтобы было от чего оттолкнуться. 1111493779.gif
Мне нужен примерчик получения данных со входов, и складывания его в глобальный блок данных.
Заранее благодарю всех откликнувшихся.

с каким аналоговым модулем? его сам вопервых нужно настраивать в step7 в hardware config на требуемые диапазоны, потом его входа пропускать через функцию FC105 для приведения измеренной аналоговой величины к инженерынм единицам. А там все просто, help к нему открываете, там указано на какой вход чего подавать. На выходах соответственно указываете место в глобальном блоке данных (например db1.dbw0 что значит блок данных db1 и адрес в нем 0)
Могу и примерчик накатать мне не долго, адрес оставьте , правда одно но. У меня Step7 v5.4 поэтому если у вас 5.3 не факт что откроется нормально.
Вобщемсейчас приведу пример на awl надеюсь поймете чего там к чему.

Вот сам код собственно его впихать в OB1.

Код
NETWORK
TITLE =
//Преобразование в инженерные единицы для TT601. Диапазон 0-100 градусов.
//(температура в резервуаре отстойнике)
      A     M   1000.0;
      =     L     20.0;
      BLD   103;
      CALL FC   105 (
           IN                       := PIW  512,
           HI_LIM                   := 1.000000e+002,
           LO_LIM                   := 0.000000e+000,
           BIPOLAR                  := L     20.0,
           RET_VAL                  := DB50.DBW    0,
           OUT                      := DB10.DBD    0);
      NOP   0;



здесь в локальной переменной l20 заносится 0 (это из моей проги кусок). Подается на вход bipolar чтобы указать что сигнал униполярный то есть отрицательных значений аналоговая величина не принимает.
Спрашивайте еще если что.

Сообщение отредактировал krokodil111 - Aug 30 2007, 06:26
Go to the top of the page
 
+Quote Post
DimG
сообщение Aug 30 2007, 06:31
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 70
Регистрация: 4-04-06
Из: г. Омск
Пользователь №: 15 777



Цитата
с каким аналоговым модулем?

Модуль вот этот SM331; AI 8x13 Bit

в hardware я его сконфигурил, 5 входов на 4-20, остальные дезактивировал и функцию FC105 посмотрел.
Непонятно мне как запустить модуль на получение значения, ведь время до появления значений будет 66 мс. а уже потом можно будет обработать его с помощью FC105. Или я чего-то недопонимаю?
Go to the top of the page
 
+Quote Post
krokodil111
сообщение Aug 30 2007, 06:49
Сообщение #4


Участник
*

Группа: Новичок
Сообщений: 58
Регистрация: 22-08-07
Пользователь №: 29 982



Цитата(DimG @ Aug 30 2007, 10:31) *
Модуль вот этот SM331; AI 8x13 Bit

в hardware я его сконфигурил, 5 входов на 4-20, остальные дезактивировал и функцию FC105 посмотрел.
Непонятно мне как запустить модуль на получение значения, ведь время до появления значений будет 66 мс. а уже потом можно будет обработать его с помощью FC105. Или я чего-то недопонимаю?


Это вас волновать не должно. Вы просто указываете в ob1 что надо заностить, OB цикличчески крутится. Появится значение от датчика, он занесет. Тем более вы же систему будете включать когда уже датчик подсоединен и работает. Вы на другое внимание обратите. Дело в том, что вы настраиваете напирмер на 4-20 ма модуль, но в поле сигнал может плавать например 3.8 мА. Вот в этот момент из FC будет выдаваться ошибка! Потму как за пределами. Поэтому по хорошему нужно на вход fc подавать не сигнал от модуля напрямую а отфильтрованный сигнал, что - то навроде
Код
// Ограничение входного сигнала, если его уровень
//не превышает 20mA + 0,2 и не ниже 3,8mA
      L     #Scale_In_Raw
      L     27994
      >I    
      JC    sc1
      L     #Scale_In_Raw
      L     -346
      <I    
      JC    sc1

      L     #Scale_In_Raw
      L     27648
      >I    
      JC    max
      L     #Scale_In_Raw
      L     0
      <I    
      JC    min
      JU    sc1
max:  L     27648
      JU    sc2
min:  L     0
      JU    sc2
sc1:  L     #Scale_In_Raw
sc2:  T     #Scale_In

добавл. так как без этого смысл терялся бы.
здесь переходы на метки которых нет, потому что этот кусок вырван из текста. Смысл в том еще не преобразованная величина проверяется на величину отклонения, и если малое отклонение, то пишется заместо 3,8 напирмер 4 ма. Если же отклонение больше то пишется минимально возможное значение, которое в дальнейшем и подается на вход fc105, аналогично с отклонениями в верхней границе. Если же сигнал проходит между 4-20 то он подается на взод без изменений.

Собственно по поводу 66 мс. Если у вас не ультра быстрый процесс, это время пренебрежимо мало. Контроллер при включении сначала проводит системные настройки, проверку периферии и т.д. и только после этого запускает OB1 (в простейшем случае). Т.е. к моменту вызова FC105 все уже крутится вертится.

Сообщение отредактировал krokodil111 - Aug 30 2007, 06:53
Go to the top of the page
 
+Quote Post
DimG
сообщение Aug 30 2007, 07:29
Сообщение #5


Участник
*

Группа: Свой
Сообщений: 70
Регистрация: 4-04-06
Из: г. Омск
Пользователь №: 15 777



Цитата
Собственно по поводу 66 мс. Если у вас не ультра быстрый процесс, это время пренебрежимо мало. Контроллер при включении сначала проводит системные настройки, проверку периферии и т.д. и только после этого запускает OB1 (в простейшем случае). Т.е. к моменту вызова FC105 все уже крутится вертится.

Видимо я не так понял работу модуля. Получается, что модуль постоянно выполняет опрос входов, а я могу обратиться к нему в любой момент (после первых 66мс) и получить эти значения? тогда все становится понятным.
Спасибо.
Go to the top of the page
 
+Quote Post
krokodil111
сообщение Aug 30 2007, 07:38
Сообщение #6


Участник
*

Группа: Новичок
Сообщений: 58
Регистрация: 22-08-07
Пользователь №: 29 982



Цитата(DimG @ Aug 30 2007, 11:29) *
Видимо я не так понял работу модуля. Получается, что модуль постоянно выполняет опрос входов, а я могу обратиться к нему в любой момент (после первых 66мс) и получить эти значения? тогда все становится понятным.
Спасибо.

Примерно так.
Go to the top of the page
 
+Quote Post
DimG
сообщение Sep 14 2007, 08:00
Сообщение #7


Участник
*

Группа: Свой
Сообщений: 70
Регистрация: 4-04-06
Из: г. Омск
Пользователь №: 15 777



Появился еще вопросик. Можно ли отладить программку без железа. Step7 предоставляет такую возможность?
Почитав документацию, у меня сложилось мнение, что никакая отладка без железяки невозможна.
Go to the top of the page
 
+Quote Post
krokodil111
сообщение Sep 19 2007, 06:06
Сообщение #8


Участник
*

Группа: Новичок
Сообщений: 58
Регистрация: 22-08-07
Пользователь №: 29 982



Цитата(DimG @ Sep 14 2007, 12:00) *
Появился еще вопросик. Можно ли отладить программку без железа. Step7 предоставляет такую возможность?
Почитав документацию, у меня сложилось мнение, что никакая отладка без железяки невозможна.

Можно но не всю. С помощью симулятора (идет отдельной программой). В Step7 proffesional симулятор включен. Называется он S7-PLCSIM simulating modules
Если есть желание сделать побыстрее и заморачиваться поменьше, то можем договориться (контроллер и некоторые коммуникационые процессоры у меня есть).
Go to the top of the page
 
+Quote Post
DimG
сообщение Sep 19 2007, 07:12
Сообщение #9


Участник
*

Группа: Свой
Сообщений: 70
Регистрация: 4-04-06
Из: г. Омск
Пользователь №: 15 777



Цитата
Можно но не всю. С помощью симулятора (идет отдельной программой). В Step7 proffesional симулятор включен. Называется он S7-PLCSIM simulating modules

Спасибо, хотя я в принципе уже знаю. Вот где бы его взять, и ключи к Step7, а то маюсь так. Там где подрабатываю, это все есть, но хотелось бы иметь это все дома.
Цитата
Если есть желание сделать побыстрее и заморачиваться поменьше, то можем договориться (контроллер и некоторые коммуникационые процессоры у меня есть).

На сегодняшний момент я уже доделал, там и было-то чуть-чуть, я ж не всю программу писал, а только ее часть. Отрабатывать-то программу есть где, но хотелось бы иметь такую возможность дома. Но за предложение спасибо.
Go to the top of the page
 
+Quote Post
krokodil111
сообщение Sep 19 2007, 08:22
Сообщение #10


Участник
*

Группа: Новичок
Сообщений: 58
Регистрация: 22-08-07
Пользователь №: 29 982



Цитата(DimG @ Sep 19 2007, 11:12) *
Спасибо, хотя я в принципе уже знаю. Вот где бы его взять, и ключи к Step7, а то маюсь так. Там где подрабатываю, это все есть, но хотелось бы иметь это все дома.

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

читать до полного просветления simatic.nm.ru ну и особое внимание уделить ссылкам обозначенным красным шрифтом
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th July 2025 - 16:07
Рейтинг@Mail.ru


Страница сгенерированна за 0.01423 секунд с 7
ELECTRONIX ©2004-2016