| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
Little_Cat Частый гость


Зарегистрирован: Jan 19, 2007 Сообщения: 11 Рейтинг: +0/-0 Откуда: Одесса, Украина
|
Добавлено: Пт 02 Фев, 2007 13:35:16 Заголовок сообщения: Измерение частоты |
|
|
Попался контроллера SLC 5/04 в руки. Разбираю прерывания по входу.
Задал значение для контроллера SLC 500 регистр S:50 - предустановленное для счета. Вызов прерывания на допустим каждые 100 импульсов.
Инструкция в файле прерывания такая
INT CPT F8:1 ( S:50 | S:45 ) * 100.0
Почему время в S:45 становится переодически отрицательным?? Он не справляется со счетом?? Тогда какую масимальную частоту он может измерять?? (c какой скоростью считать)
Необходимо измерять частоту на дискретном входе. HSC в этой версии контроллера недоступен, если верить документу 1747-rm01 от производителя. Может у кого есть идеи?? |
|
| Вернуться к началу |
|
 |
oldDad Site Admin


Зарегистрирован: May 05, 2005 Сообщения: 2773 Рейтинг: +89/-5
|
Добавлено: Пт 02 Фев, 2007 14:45:26 Заголовок сообщения: |
|
|
S:45 - это DII-Interrupt.
А когда там отрицательная величина, что показывает бит S:5/12?
| Код: | S:5/12 Discrete Input Interrupt Overflow Bit
This bit is set whenever the DII interrupt occurs while still executing the DII subroutine or whenever the DII interrupt occurs whild pending or disabled. |
Я исхожу из того, что в S:6 нет ошибок 002E и 002F, т.е. входной слот DII и файл обработки существуют. |
|
| Вернуться к началу |
|
 |
Little_Cat Частый гость


Зарегистрирован: Jan 19, 2007 Сообщения: 11 Рейтинг: +0/-0 Откуда: Одесса, Украина
|
Добавлено: Пт 02 Фев, 2007 15:13:07 Заголовок сообщения: |
|
|
| Да. Все правильно. нет ошибок. Период входного сигнала для теста взял 40 мс. Ошибок нет, прерывание вызывается правильно. Но вот 45-е слово становится периодически отрицательным. |
|
| Вернуться к началу |
|
 |
oldDad Site Admin


Зарегистрирован: May 05, 2005 Сообщения: 2773 Рейтинг: +89/-5
|
Добавлено: Пт 02 Фев, 2007 16:13:25 Заголовок сообщения: |
|
|
Хм... похоже, что по быстродействию не проходите.
Надо подумать.
А если только одну строчку программы оставить и всё выбросить - будет появляться отрицательное значение? |
|
| Вернуться к началу |
|
 |
Little_Cat Частый гость


Зарегистрирован: Jan 19, 2007 Сообщения: 11 Рейтинг: +0/-0 Откуда: Одесса, Украина
|
Добавлено: Пн 05 Фев, 2007 7:20:42 Заголовок сообщения: |
|
|
Собственно, ставлю ТНД в первой строке программы. Меняю период на 200 мс скважность 1. Отсчет 100 импульсов и прерывание. Один черт - периодически становится отрицательным.
Есть вопрос - в документации описан J2 который надо отключить для работы HSC (1747-RM001E-EN-P стр. 53 ) Я глянул плату процессора - J2 на плате это сам разъем подключения к корзине. Где еще поискать?? |
|
| Вернуться к началу |
|
 |
Little_Cat Частый гость


Зарегистрирован: Jan 19, 2007 Сообщения: 11 Рейтинг: +0/-0 Откуда: Одесса, Украина
|
|
| Вернуться к началу |
|
 |
oldDad Site Admin


Зарегистрирован: May 05, 2005 Сообщения: 2773 Рейтинг: +89/-5
|
Добавлено: Пн 05 Фев, 2007 12:36:13 Заголовок сообщения: |
|
|
| Little_Cat писал(а): | | Есть вопрос - в документации описан J2 который надо отключить для работы HSC (1747-RM001E-EN-P стр. 53 ) Я глянул плату процессора - J2 на плате это сам разъем подключения к корзине. Где еще поискать?? |
Этот J2 - это не для Вашего процессора SLC 5/04, а для старого SLC-500.
Что делать? Надо подумать. Вы можете заметить, при каком значении этот минус не наблюдается? |
|
| Вернуться к началу |
|
 |
Little_Cat Частый гость


Зарегистрирован: Jan 19, 2007 Сообщения: 11 Рейтинг: +0/-0 Откуда: Одесса, Украина
|
Добавлено: Пн 05 Фев, 2007 12:52:03 Заголовок сообщения: |
|
|
Вот сам проект
http://fileho.com/download/e77694151477/Priject.rar.html
Я только начинаю их изучать, контроллеры АБ. Может что не так сделал в конфигурации. Но это отрицательное значение вроде бы появляется произвольно.
А почему HSC недоступен в этом процессоре?? Инструкция , которую я приводил (номер) для процессоров SLC 500 и этот включительно
Catalog Numbers 1747-L20x,
1747-L30x, 1747-L40x, 1747-L511,
1747-L514, 1747-L524, 1747-L531,
1747-L532, 1747-L541, 1747-L542,
1747-L543, 1747-L551, 1747-L552,
1747-L553
Мой процессор 1747-L542 |
|
| Вернуться к началу |
|
 |
dv_ Эксперт


Зарегистрирован: Sep 14, 2006 Сообщения: 776 Рейтинг: +41/-1 Откуда: Донецк
|
Добавлено: Пн 05 Фев, 2007 13:12:12 Заголовок сообщения: |
|
|
| Little_Cat писал(а): | | Мой процессор 1747-L542 |
Этот процессор не имеет HSC.
Отрицательное число имеет право на "жизнь":
- прерывание каждый 100-й импульс
- период входного сигнала 40 мс.
В S:45 должно быть 40*100*10 => 400000,
что больше чем 32767, поэтому отрицательное значение.
Тик для S:45 имеет вес 0.01 мс.
Надо тщательнее выбирать параметры для DII, даже
если S:45 обрабатывать как 16 разрядов без знака
(нужна гарантия, что S:45 не пойдет на второй "оборот"). |
|
| Вернуться к началу |
|
 |
Little_Cat Частый гость


Зарегистрирован: Jan 19, 2007 Сообщения: 11 Рейтинг: +0/-0 Откуда: Одесса, Украина
|
Добавлено: Пн 05 Фев, 2007 13:27:19 Заголовок сообщения: |
|
|
Ок.
Ставим 20 импульсов при этих параметрах частоты и видим туже картину.
" target="_blank">http://vdt-automation.com.ua/
Surprised
А он S:45 обнуляется при срабатывании прерывания сам или его предварительно необходимо сбрасывать?? |
|
| Вернуться к началу |
|
 |
Little_Cat Частый гость


Зарегистрирован: Jan 19, 2007 Сообщения: 11 Рейтинг: +0/-0 Откуда: Одесса, Украина
|
Добавлено: Пн 05 Фев, 2007 13:30:29 Заголовок сообщения: |
|
|
| Блин. Точно. Сорри. 20 тоже не пройдет. 0.1 забыл. |
|
| Вернуться к началу |
|
 |
Little_Cat Частый гость


Зарегистрирован: Jan 19, 2007 Сообщения: 11 Рейтинг: +0/-0 Откуда: Одесса, Украина
|
Добавлено: Пн 05 Фев, 2007 13:32:16 Заголовок сообщения: |
|
|
Гм. Но и < 5 не проходит.  |
|
| Вернуться к началу |
|
 |
|