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

 
 
> 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
 
Start new topic
Ответов
DimG
сообщение Aug 30 2007, 06:31
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 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
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 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



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

 


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


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