Перейти к содержанию
    

Siemens S7-300

Большая просьба к людям, имеющим дело с контроллерами Siemens! Киньте примерчик программы по работе с этим аналоговым модулем.

Четвертый день читаю документацию по этому контроллеру и языку, но пока целостной картины, как пишутся программы, нет, а на следующей неделе уже надо сдать готовую программу. Поэтому нужен пример, чтобы было от чего оттолкнуться. :1111493779:

Мне нужен примерчик получения данных со входов, и складывания его в глобальный блок данных.

Заранее благодарю всех откликнувшихся.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Большая просьба к людям, имеющим дело с контроллерами Siemens! Киньте примерчик программы по работе с этим аналоговым модулем.

Четвертый день читаю документацию по этому контроллеру и языку, но пока целостной картины, как пишутся программы, нет, а на следующей неделе уже надо сдать готовую программу. Поэтому нужен пример, чтобы было от чего оттолкнуться. :1111493779:

Мне нужен примерчик получения данных со входов, и складывания его в глобальный блок данных.

Заранее благодарю всех откликнувшихся.

с каким аналоговым модулем? его сам вопервых нужно настраивать в 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

в hardware я его сконфигурил, 5 входов на 4-20, остальные дезактивировал и функцию FC105 посмотрел.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Модуль вот этот 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Видимо я не так понял работу модуля. Получается, что модуль постоянно выполняет опрос входов, а я могу обратиться к нему в любой момент (после первых 66мс) и получить эти значения? тогда все становится понятным.

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Видимо я не так понял работу модуля. Получается, что модуль постоянно выполняет опрос входов, а я могу обратиться к нему в любой момент (после первых 66мс) и получить эти значения? тогда все становится понятным.

Спасибо.

Примерно так.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Появился еще вопросик. Можно ли отладить программку без железа. Step7 предоставляет такую возможность?

Почитав документацию, у меня сложилось мнение, что никакая отладка без железяки невозможна.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Появился еще вопросик. Можно ли отладить программку без железа. Step7 предоставляет такую возможность?

Почитав документацию, у меня сложилось мнение, что никакая отладка без железяки невозможна.

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

Если есть желание сделать побыстрее и заморачиваться поменьше, то можем договориться (контроллер и некоторые коммуникационые процессоры у меня есть).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Если есть желание сделать побыстрее и заморачиваться поменьше, то можем договориться (контроллер и некоторые коммуникационые процессоры у меня есть).

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

читать до полного просветления simatic.nm.ru ну и особое внимание уделить ссылкам обозначенным красным шрифтом

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...