![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 22.06.2012
Сообщений: 1
|
![]()
Всем привет. Проблемы с программированием сименса на языке релейной логики (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, выключить двигатель. Но вместо предустановки в подпрограмму со счетчиком передается какая-то ерунда. Помогите разобраться в чем дело, пожалуйста. Картинки прикрепляю. |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |