06_InstructionSet_r (1087186), страница 26
Текст из файла (страница 26)
число записей)VW2000006TL (макс. число записей)EC (число записей)VW2020002EC (число записей)d0 (данные 0)d1 (данные 1)VW2045431d0 (данные 0)VW2068942d1 (данные 1)d2 (данные 2)VW208VW210xxxxxxxxVW212xxxxVW212xxxxVW214xxxxVW214xxxx193Программируемый контроллер S7-200. Системное руководствоЗаполнение памяти комбинацией двоичных разрядовКоманда заполнения памяти (FILL) записывает Nпоследовательных слов, начиная с адреса OUT,значением слова, содержащегося по адресу IN.N имеет диапазон от 1 до 255.Сбойные состояния, устанавливающие ENO = 0■ 0006 (косвенный адрес)■ 0091 (операнд вышел за пределы допустимого диапазона)Таблица 6–70.
Допустимые операнды для команды заполнения памятиВходы/выходыТипы данныхОперандыININTIW, QW, VW, MW, SMW, SW, T, C, LW, AC, AIW, *VD, *LD, *AC,константаNBYTEIB, QB, VB, MB, SMB, SB, LB, AC, *VD, *LD, *AC, константаOUTINTIW, QW, VW, MW, SMW, SW, T, C, LW, AQW, *VD, *LD, *ACПример: Команда заполнения памяти комбинацией двоичных разрядовNetwork 1LDI2.1FILL+0, VW200, 10IN0194FILLVW200VW20200VW218...0Набор команд S7–200Глава 6Поиск значения в таблицеКоманда поиска значения в таблице (FND) ищет втаблице данные, удовлетворяющие определенномукритерию. Команда поиска значения в таблице ищет втаблице TBL, начиная с записи INDX, значение илиобразец данных PTN, удовлетворяющее критериюпоиска, определенному CMD.
Командному параметруCMD дается числовое значение от 1 до 4, чтосоответственно означает =, <>, < и >.Если найдена запись, удовлетворяющая критериюпоиска, то INDX указывает на эту запись в таблице. Длянахождения следующей записи, удовлетворяющейкритерию поиска, то INDX должен быть увеличен,прежде чем команда Поиск в таблице будет вызванаснова. Если запись, удовлетворяющая критерию поиска,не найдена, то INDX имеет значение, равное количествузаписей.Таблица может иметь до 100 записей. Записи данных(область поиска) нумеруются от 0 до максимальногозначения, равного 99.Сбойные состояния, устанавливающие ENO = 0■ 0006 (косвенный адрес)■ 0091 (операнд вышел за пределы допустимого диапазона)Таблица 6–71.
Допустимые операнды для команды поиска значения в таблицеВходы/выходыТипы данныхОперандыTBLWORDIW, QW, VW, MW, SMW, T, C, LW, *VD, *LD, *ACPTNINTIW, QW, VW, MW, SMW, SW, T, C, LW, AC, AIW, *VD, *LD, *AC,константаINDXWORDIW, QW, VW, MW, SMW, SW, T, C, LW, AC, *VD, *LD, *ACCMDBYTE(константа) 1: равно (=), 2: не равно (<>), 3: меньше (<),4: больше (>)СоветКогда вы используете команду поиска в таблицах, созданных с помощью команд вводазначения в таблицу (ATT), удаления первой записи (LIFO) и удаления последней записи(FIFO), то количество записей и сами записи данных согласуются непосредственно.Слово, определяющее максимальное количество записей, требуемое для команд ATT,LIFO и FIFO, не требуется для команды поиска. См. рис. 6–37.Поэтому вы должны установить операнд TBL команды поиска в таблице на один адресслова (два байта) выше, чем операнд TBL соответствующей команды ATT, LIFO или FIFO.Формат таблицы для ATT, LIFO и FIFOVW200VW202VW204VW206VW208VW210VW212VW21400060006xxxxxxxxxxxxxxxxxxxxxxxxTL (макс.
кол-во записей)EC (число записей)d0 (данные 0)d1 (данные 1)d2 (данные 2)d3 (данные 3)d4 (данные 4)d5 (данные 5)Формат таблицы для TBL_FINDVW202VW204VW206VW208VW210VW212VW2140006xxxxxxxxxxxxxxxxxxxxxxxxEC (число записей)d0 (данные 0)d1 (данные 1)d2 (данные 2)d3 (данные 3)d4 (данные 4)d5 (данные 5)Рис. 6–37. Различие в форматах таблиц у команды "Поиск в таблице" и команд ATT, LIFO и FIFO195Программируемый контроллер S7-200.
Системное руководствоПример: Команда поиска значения в таблицеNetwork 1LDI2.1FND=VW202, 16#3130, AC1Если I2.1 включен, то в таблицеищется число, равное 3130 HEX.0AC1Для поиска с самой верхней записи в таблицеAC1 должен быть установлен в 0Поиск в таблицеEC (число записей)d0 (данные 0)VW206VW208VW21000063133414231303030VW212VW21431304541d4 (данные 4)d5 (данные 5)VW202VW204d1 (данные 1)d2 (данные 2)d3 (данные 3)AC12AC1 содержит номер записи данных, котораясоответствует критерию поиска.AC13Перед поиском остальных записей в таблицеувеличить INDX на 1Поиск в таблицеAC1Если таблица была создана командойATT, LIFO или FIFO, то VW200 содержитмаксимально разрешенное количествозаписей и не требуется для командпоиска.AC14AC1 содержит номер записи данных, котораясоответствует второму совпадению,найденному в таблице (d4)5Поиск в таблице6AC1AC11960Перед поиском остальных записей втаблице увеличить INDX на 1.AC1 содержит значение, равное количествузаписей.
Вся таблица была просмотрена вбезуспешных поисках еще одногосовпадения.Перед новым поиском в таблице INDXдолжен быть установлен в 0.Набор команд S7–200Глава 6Пример: Создание таблицыСледующая программа создает таблицу с 20 записями. Первый адрес таблицы содержит длинутаблицы (в данном случае 20 записей).
Второй адрес показывает текущее количество записей втаблице. Остальные адреса содержат записи. Таблица может иметь до 100 записей. Сюда не входятпараметры, определяющие максимальную длину таблицы и текущее количество записей (здесь VW0и VW2). Текущее количество записей в таблице (здесь VW2) CPU автоматически увеличивает илиуменьшает на 1 при выполнении каждой команды.Перед началом работы с таблицей назначьте максимальное количество записей таблицы. Впротивном случае вы не сможете вводить записи в таблицу.
Кроме того, обеспечьте, чтобы всекоманды чтения и записи активизировались с помощью фронтов.Для поиска в таблице индекс (VW106) перед выполнением поиска должен быть установлен в 0. Еслинайдено совпадение, индекс будет указывать номер соответствующей записи, а если совпадение необнаружено, то индекс будет содержать текущее количество записей для таблицы (VW2).Network 1 //Создать таблицу с 20 записями, начиная с//адреса 4.//1.В 1-ом цикле определит максимальную// длину таблицы.LDSM0.1MOVW+20, VW0Network 2 //Сбросить таблицу входом I0.0//При нарастающем фронте на I0.0//заполнить адреса, начиная с VW2,//значениями "+0" .LDI0.0EUFILL+0, VW2, 21Network 3 //Записать значение в таблицу с помощью//входа I0.1//При нарастающем фронте на I0.1//скопировать в таблицу значение из адреса//VW100.LDI0.1EUATTVW100, VW0Network 4 //Прочитать первую запись таблицы с//помощью входа I0.2//Переслать последнюю запись таблицы в//VW102.//Это уменьшает количество записей.//При нарастающем фронте на I0.2//переслать последнюю запись таблицы в//VW102LDI0.2EULIFOVW0, VW102Network 5 //Прочитать последнюю запись таблицы с//помощью входа I0.3//Переслать первую запись таблицы в//VW102.//Это уменьшает количество записей.//При нарастающем фронте на I0.0//переслать первую запись таблицы в//VW104LDI0.3EUFIFOVW0, VW104Network 6 //Искать в таблице первый адрес, имеющий//значение 10.//1.При нарастающем фронте на I0.4//сбросить указатель на индекс.//2.Найти в таблице запись, равную 10.LDI0.4EUMOVW +0, VW106FND=VW2, +10, VW106197Программируемый контроллер S7-200.
Системное руководствоТаймерные командыТаймерные команды SIMATICТаймер с задержкой включенияТаймер с задержкой включения сзапоминаниемКоманды "Таймер с задержкой включения" (TON) и"Таймер с задержкой включения с запоминанием"(TONR) отсчитывают время, когда включенразрешающий вход.
Номер таймера (Txx) определяетего разрешающую способность, и эта разрешающаяспособность теперь отображается в блоке команды.Таймер с задержкой выключенияТаймер с задержкой выключения (TOF) используетсядля задержки выключения выхода на фиксированныйинтервал времени после выключения входа. Номертаймера (Txx) определяет его разрешающуюспособность, и эта разрешающая способность теперьотображается в блоке команды.Таблица 6–72. Допустимые операнды для таймерных команд SIMATICВходы/выходыТипы данныхОперандыTxxWORDконстанта (от T0 до T255)INBOOLI, Q, V, M, SM, S, T, C, L, поток сигналаPTINTIW, QW, VW, MW, SMW, SW, T, C, LW, AC, AIW, *VD, *LD, *AC,константаСоветТаймерам с задержкой выключения (TOF) и с задержкой включения (TON) нельзязадавать один и тот же номер (Txx). Например, у вас не могут одновременноиспользоваться TON Т32 и TOF Т32.Как показано в таблице 6–73, эти три вида таймеров выполняют различные задачиизмерения времени:Таймер с задержкой включения TON может использоваться для отсчета отдельногоинтервала.Таймер с задержкой включения с запоминанием TONR может использоваться длянакапливания нескольких отсчитанных интервалов времени.Таймер с задержкой выключения TOF может использоваться для увеличенияинтервала времени после выключения (или сбоя), например, для охлаждениядвигателя после его отключения.Таблица 6–73.
Действия таймеровТипТекущее время >=Состояние разрешающего входа (IN)предустановленномуTONБит таймера установленОтсчет текущегозначения продолжаетсядо 32 767TONRБит таймера установленОтсчет текущегозначения продолжаетсядо 32 767TOFБит таймера сброшенТекущее время =предустановленному,отсчет временипрекращен1198ON: Текущее значение отсчитываетвремяOFF: Бит таймера сброшен, текущеезначение = 0ON: Текущее значение отсчитываетвремяOFF: Бит таймера и текущее значениесохраняют последнее состояниеON: Бит таймера установлен, текущеезначение = 0OFF: Таймер выполняет отсчетвремени после перехода извключенного состояния в выключенноеВыключениевключение питания /первый циклБит таймера сброшенТекущее значение = 0Бит таймера сброшенТекущее значение1может быть сохраненоБит таймера сброшенТекущее значение = 0Текущее значение таймера с запоминанием может быть выбрано в качестве сохраняемогозначения на время выключения питания.
Информацию о сохранении памяти для CPU S7–200 вынайдете в главе 4.Набор команд S7–200Глава 6Советы по программированию на компакт-диске с документацией содержат примерпрограммы, использующей таймер с задержкой включения (TON). См. Совет 31Команды TON и TONR отсчитывают время, когда включен разрешающий вход. Когдазначение становится больше или равно предустановленному времени, бит таймераустанавливается.Советы попрограммированию текущее-Текущее значение таймера TON сбрасывается, когда выключается разрешающийвход, тогда как текущее значение таймера TONR сохраняется, когда этот входвыключается.-Вы можете использовать таймер TONR для накопления времени, когда этот входвключается и выключается.
Для стирания текущего значения TONR используетсякоманда Сброс (R).-Таймеры TON и TONR продолжают счет после достижения предустановленногозначения, они останавливают счет при достижении максимального значения, равного32767.Команда TOF используется для задержки выключения выхода на фиксированный интервалвремени после выключения входа. Когда включается разрешающий вход, немедленновключается бит таймера, а текущее значение устанавливается в 0. Когда входвыключается, таймер ведет отсчет времени, пока истекшее время не достигнетпредустановленного значения.-Когда предустановленное время достигнуто, бит таймера сбрасывается, а отсчеттекущего значения прекращается; однако, если вход включается снова, прежде чемTOF достигнет предустановленного значения, то бит таймера остаетсяустановленным.-Чтобы таймер TOF начал отсчет времени, к его разрешающему входу должен бытьприложен падающий фронт.-Если таймер TOF находится внутри области SCR, и область SCR не активна, тотекущее значение устанавливается в 0, бит таймера выключается, и отсчет текущегозначения не ведется.СоветТаймер TONR может быть сброшен только командой сброса (R).