|
|
  |
Siemens S7-300, CPU 315-2DP и SM331; AI 8x13 Bit пример программирования |
|
|
|
Aug 30 2007, 02:43
|
Участник

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

|
Большая просьба к людям, имеющим дело с контроллерами Siemens! Киньте примерчик программы по работе с этим аналоговым модулем. Четвертый день читаю документацию по этому контроллеру и языку, но пока целостной картины, как пишутся программы, нет, а на следующей неделе уже надо сдать готовую программу. Поэтому нужен пример, чтобы было от чего оттолкнуться. Мне нужен примерчик получения данных со входов, и складывания его в глобальный блок данных. Заранее благодарю всех откликнувшихся.
|
|
|
|
|
Aug 30 2007, 06:29
|
Участник

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

|
Цитата(DimG @ Aug 30 2007, 06:43)  Большая просьба к людям, имеющим дело с контроллерами Siemens! Киньте примерчик программы по работе с этим аналоговым модулем. Четвертый день читаю документацию по этому контроллеру и языку, но пока целостной картины, как пишутся программы, нет, а на следующей неделе уже надо сдать готовую программу. Поэтому нужен пример, чтобы было от чего оттолкнуться. Мне нужен примерчик получения данных со входов, и складывания его в глобальный блок данных. Заранее благодарю всех откликнувшихся. с каким аналоговым модулем? его сам вопервых нужно настраивать в 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
|
|
|
|
|
Aug 30 2007, 06:31
|
Участник

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

|
Цитата с каким аналоговым модулем? Модуль вот этот SM331; AI 8x13 Bit в hardware я его сконфигурил, 5 входов на 4-20, остальные дезактивировал и функцию FC105 посмотрел. Непонятно мне как запустить модуль на получение значения, ведь время до появления значений будет 66 мс. а уже потом можно будет обработать его с помощью FC105. Или я чего-то недопонимаю?
|
|
|
|
|
Aug 30 2007, 06:49
|
Участник

Группа: Новичок
Сообщений: 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
|
|
|
|
|
Aug 30 2007, 07:29
|
Участник

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

|
Цитата Собственно по поводу 66 мс. Если у вас не ультра быстрый процесс, это время пренебрежимо мало. Контроллер при включении сначала проводит системные настройки, проверку периферии и т.д. и только после этого запускает OB1 (в простейшем случае). Т.е. к моменту вызова FC105 все уже крутится вертится. Видимо я не так понял работу модуля. Получается, что модуль постоянно выполняет опрос входов, а я могу обратиться к нему в любой момент (после первых 66мс) и получить эти значения? тогда все становится понятным. Спасибо.
|
|
|
|
|
Aug 30 2007, 07:38
|
Участник

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

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

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

|
Появился еще вопросик. Можно ли отладить программку без железа. Step7 предоставляет такую возможность? Почитав документацию, у меня сложилось мнение, что никакая отладка без железяки невозможна.
|
|
|
|
|
Sep 19 2007, 06:06
|
Участник

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

|
Цитата(DimG @ Sep 14 2007, 12:00)  Появился еще вопросик. Можно ли отладить программку без железа. Step7 предоставляет такую возможность? Почитав документацию, у меня сложилось мнение, что никакая отладка без железяки невозможна. Можно но не всю. С помощью симулятора (идет отдельной программой). В Step7 proffesional симулятор включен. Называется он S7-PLCSIM simulating modules Если есть желание сделать побыстрее и заморачиваться поменьше, то можем договориться (контроллер и некоторые коммуникационые процессоры у меня есть).
|
|
|
|
|
Sep 19 2007, 07:12
|
Участник

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

|
Цитата Можно но не всю. С помощью симулятора (идет отдельной программой). В Step7 proffesional симулятор включен. Называется он S7-PLCSIM simulating modules Спасибо, хотя я в принципе уже знаю. Вот где бы его взять, и ключи к Step7, а то маюсь так. Там где подрабатываю, это все есть, но хотелось бы иметь это все дома. Цитата Если есть желание сделать побыстрее и заморачиваться поменьше, то можем договориться (контроллер и некоторые коммуникационые процессоры у меня есть). На сегодняшний момент я уже доделал, там и было-то чуть-чуть, я ж не всю программу писал, а только ее часть. Отрабатывать-то программу есть где, но хотелось бы иметь такую возможность дома. Но за предложение спасибо.
|
|
|
|
|
Sep 19 2007, 08:22
|
Участник

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

|
Цитата(DimG @ Sep 19 2007, 11:12)  Спасибо, хотя я в принципе уже знаю. Вот где бы его взять, и ключи к Step7, а то маюсь так. Там где подрабатываю, это все есть, но хотелось бы иметь это все дома.
На сегодняшний момент я уже доделал, там и было-то чуть-чуть, я ж не всю программу писал, а только ее часть. Отрабатывать-то программу есть где, но хотелось бы иметь такую возможность дома. Но за предложение спасибо. читать до полного просветления simatic.nm.ru ну и особое внимание уделить ссылкам обозначенным красным шрифтом
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|