Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.06.2012, 16:09   #1
SVairus
Новичок
Джуниор
 
Регистрация: 22.06.2012
Сообщений: 1
По умолчанию S7-200.Step7. Ladder.

Всем привет. Проблемы с программированием сименса на языке релейной логики (Lad).

Вопрос №1
Скоростной счетчик. Устройство - источник импульсных сигналов, подключено к входу I0.0. Не могу подобрать управляющий байт SMB37. Все делаю строго по системному руководству к этому ПЛК. Пробовал брать значения из примеров ( 16#90, 16#C0, 16#F8 ) и сам подбирал (16#9F, 16#F5, 16#B5). Каждый раз одно и то же: счетчик либо считает, не обращая внимания на новое текущее значение СV (в каждом новом вызове подпрограммы счет продолжается со значения НС0, на котором закончился предыдущий вызов ), либо записывает новое текущее значение, но не считает. Подскажите, что я не так делаю?? (см. рисунки)


Вопрос №2
Исполнительный механизм (назовем его так) имеет 4 положения. Каждое положение фиксируется датчиком (есть сигнал/нет сигнала). Сигналам соответствуют биты в области памяти переменных VB:

байт VB0 (FLR) используется для контроля положения.

сигнал с I1.3 считывается в бит V0.0 (FLR1)

сигнал с I1.6 считывается в бит V0.1 (FLR2)

сигнал с I2.1 считывается в бит V0.2 (FLR3)

сигнал с I2.4 считывается в бит V0.3 (FLR4)

каждый бит соответствует одному из 4х положений исп. мех.

Так же есть байты для регистрации управляющих сигналов, которые все вместе считываются в байт VP (VB6) (куда механизм должен переместиться)

Сравнивая FLR и VP можно контролировать где механизм находится в данный момент времени и перемещать или останавливать его.

А теперь сам вопрос:
Есть среднее количество импульсов, которое поступает с устройства при перемещении исп. мех. от одного положения к соседнему.
Сделал подпрограммку, где ведется РАСЧЕТ количества импульсов, которое должно поступить с устройства при перемещении от одного положения в ЛЮБОЕ другое.
Расчет происходит при каждом изменении VP (т.е. есть приказ преместиться в положение "3", механизм находится в положении "1". Сравнить VP и FLR, рассчитать количество импульсов, которое должно поступить с устройства пока механизм перемещается из "1" в "3", сделать это количество предустановкой счетчика, запустить двигатель и вести отсчет в обратном порядке. Когда значение HC0 будет равно 0, выключить двигатель.

Но вместо предустановки в подпрограмму со счетчиком передается какая-то ерунда. Помогите разобраться в чем дело, пожалуйста. Картинки прикрепляю.
Изображения
Тип файла: jpg Вопрос№1 Счетчик.JPG (37.1 Кб, 117 просмотров)
Тип файла: jpg Вопрос№1 INT_0.JPG (31.2 Кб, 114 просмотров)
Тип файла: jpg Вопрос №2 Часть1.JPG (21.9 Кб, 46 просмотров)
Тип файла: jpg Вопрос №2 Часть2.JPG (38.1 Кб, 44 просмотров)
Тип файла: jpg Вопрос №2 Часть3.JPG (35.4 Кб, 45 просмотров)
SVairus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Step7 S300 - какой выбрать блок? iskurt Помощь студентам 5 22.06.2012 12:29
Лабораторная STEP7 iskurt Помощь студентам 0 27.09.2011 16:01
Как в Step7 на STL осуществить мигание лампы? Acvilon Помощь студентам 0 12.06.2011 14:03
Программирование на языке step7 Devil_Алексей Помощь студентам 0 08.07.2010 12:17
Акция: хостинг 200 Гб, 200 р. в месяц. Viteef Свободное общение 2 28.07.2008 23:43