Тема лекции • Области памяти счетчиков. • Разновидности счетчиков. • Временные диаграммы работы счетчиков. • Операции со счетчиками. Функции счетчиков: • Счет условно «вперед» – сложение 1 • Счет условно «назад» вычитание 1 Области памяти счетчиков • Обращение к области памяти счетчиков от С 0 до С255. Всего 256 16-разрядных счетчиков. • Количество счетчиков определяется типом ЦПУ. Установка счетчика • Определение (спецификация) счетчика с помощью константы • L C#100; //Значение счетчика 100 • L W#16#0100; //Значение счетчика 100 S C n - Установка счетчика Операции со счетчиками Сброс счетчика R C n - Сброс счетчика Разблокировка счетчика для повторной активации FR C n позволяет выполнить переустановку (перезапуск) счетчика. Операции со счетчиками • Прямой счет (Counting up) • CU C n вызывает процесс прямого счета. • Обратный счет (Counting Down) • CD C n вызывает процесс обратного счета. Пример (Счетчики) A "Enable”// если нажата кнопка"Enable” FR "Counter“// разблокировать счетчик A "Count up“//если нажата кнопка "Count up“ CU "Counter“// прибавить 1 к значению счетчика A "Count down“// если нажата кнопка "Count down“ CD "Counter“//отнять 1 из значения счетчика A "Set“//если нажата кнопка "Set“ L C#020// загрузить в аккумулятор число 20 в BCD коде S "Counter“// запустить счетчик со значением в аккумуляторе A "Reset“//если нажата кнопка "Reset“ R "Counter“// перезапустить счетчик на начальное значение A "Counter“//если в счетчике не нулевое значение = "Counter status“// установить 1 на выход "Counter status“ S5-счетчики в STEP 7 I 0.4 CU LAD FBD C5 C5 S_CUD S_CUD Q 8.3 QQ I 0.4 STL A CU C5 A CU CV MW 4 I 0.5 A I0.3 L C#20 S C5 A I0.7 R C5 QW 12 L C5 Q 8.3 T MW4 CD I 0.3 S C#20 PV CV_BC D QW 12 I 0.3 C#20 S PV CV CV_BCD I 0.7 R I 0.7 R I0.5 CD C5 I 0.5 CD I0.4 Q Q MW 4 = LC C5 T QW12 A C5 = Q8.3 Счетчики: Рабочая диаграмма CU CD S R 5 4 3 Count2 1 0 Q Счетчики: Битовые инструкции LAD FBD C5 Network 1: I 0.0 C5 SC Network 2: I 0.1 STL C#2 0 I 0.0 C#2 0 CV A L S I 0.0 C#20 C5 C5 C5 C U SC I 0.1 C U A I 0.1 CU C5 Network 3: I 0.2 C5 C D C5 I 0.2 C D A I 0.2 CD C5 Network 4: C5 Q 4.0 Q 4.0 C5 = A = C5 Q 4.0 Сравнение значений счета L C#5 //загрузить 5 в BCD коде в аккумулятор1 LC C5 //загрузить значение счетчика С5 в BCD коде в аккумулятор2 <=I //сравнить акк1 и акк2 как целые S Q0.0 //если результат сравнение «да», то //установить сигнал на выходе Q0.0