Руководство по программированию 6 profinet 7 Двухточечная связь (PointtoPoint, PtP) 8
Скачать 3.76 Mb.
|
5.8 Загрузка элементов вашей программы из CPU Вы можете загрузить все программные блоки и таблицу переменных из находящегося в режиме онлайн CPU в оффлайновый проект, но вы не сможете загрузить конфигурацию устройств и наблюдательные таблицы. Невозможна загрузка из онлайнового CPU в пустой проект; для этого вам нужен CPU, находящийся в режиме оффлайн. Вы не можете загрузить отдельный блок; загрузить можно только всю программу. Если вы загружаете данные из CPU, то оффлайновый CPU перед загрузкой и после вашего подтверждения "сбрасывается" (все блоки и таблица переменных удаляются). Вы не можете редактировать блок в онлайновой области; вы должны сначала загрузить его в офлайновую область, там вы можете его изменить, а затем загрузить обратно в ПЛК. Загрузка из CPU возможна двумя способами: путем перетаскивания в дереве проекта или синхронизацией в редакторе сравнения. Перетаскивание в дереве проекта 1. Создайте новый проект. 2. Добавьте CPU, который соответствует тому CPU, из которого выполняется загрузка. 3. Раскройте узел CPU так, чтобы стала видна папка "Program blocks [Программные блоки]". 4. В дереве проекта раскройте узел "Online access [Онлайновый доступ]", раскройте узел для желаемой сети и дважды щелкните на "Update accessible devices [Обновить доступные устройства]". 5. После того как на экран будут выведены имеющиеся CPU, раскройте узел для интересующего вас CPU. 6. Щелкните левой клавишей мыши в области "Online access [Онлайновый доступ]" на папке "Program blocks [Программные блоки]", удерживайте кнопку нажатой и перетащите эту папку к папке "Program blocks" в оффлайновой области, затем отпустите левую кнопку мыши. Указатель мыши должен превратиться в ‘+’, когда вы находитесь над правильной областью. 7. Теперь открывается диалоговое окно "Upload preview [Предварительный просмотр загрузки]". Щелкните в поле для "Continue [Продолжить]", а затем щелкните "Upload from device [Загрузить из устройства]". 8. Дайте загрузке закончиться. После этого в оффлайновой области отобразятся все программные блоки, технологические блоки и переменные. 9. Так как конфигурация устройств не может быть загружена из CPU, выполните настройку свойств CPU в конфигурации устройств вручную, включая желаемый IP- адрес, и вставьте другие устройства в оффлайновый проект. Вы можете также перетаскивать с помощью мыши данные из онлайновой области в область "Program blocks [Программные блоки]" существующей программы. Т.е. оффлайновая область программных блоков не должна быть пустой. В этом случае существующая программа удаляется и заменяется онлайновой программой. Основы программирования 5.9 Отладка и тестирование программы Программируемый контроллер S7-1200 102 Системное руководство, 11/2009, A5E02669003-02 Синхронизация в редакторе сравнения 1. Откройте проект, содержащий программу. 2. В дереве проекта выберите оффлайновый CPU для сравнения. 3. Откройте редактор "Compare [Сравнение]", щелкнув правой клавишей мыши на оффлайновом CPU, или выбрав команду "Compare offline/online [Сравнить offline/online]" из меню "Tools [Инструменты]". 4. Редактор сравнения дает список различий в папке "Program blocks [Программные блоки]". Щелкните на символе в столбце "Action [Действие]". Чтобы загрузить проект из CPU, выберите "Upload from device [Загрузить из устройства]". 5. Щелкните на кнопке "Synchronize online and offline [Синхронизировать online и offline]", чтобы скопировать проект из онлайнового CPU в оффлайновый CPU. 5.9 Отладка и тестирование программы Для контроля и изменения значений программы пользователя, исполняемой CPU, находящимся в режиме онлайн, можно использовать "наблюдательные таблицы". Вы можете создавать и сохранять в своем проекте различные наблюдательные таблицы для поддержки ряда сред тестирования. Это дает вам возможность воспроизводить тесты при вводе в эксплуатацию или для целей обслуживания и текущего ремонта. С помощью наблюдательной таблицы вы можете контролировать, как CPU исполняет программу пользователя, и вмешиваться в этот исполнение. Вы можете отображать и изменять значения не только переменных кодовых блоков и блоков данных, но также и областей памяти CPU, включая входы и выходы (I и Q), периферийные входы и выходы (I:P и Q:P), битовую память (M) и блоки данных (DB). С помощью наблюдательной таблицы вы можете разблокировать физические выходы (Q:P) CPU, находящегося в состоянии STOP. Например, вы можете назначать конкретные значения выходам при тестировании проводки для CPU. Наблюдательная таблица дает вам также возможность "форсировать" или устанавливать переменную на определенное значение. Дальнейшую информацию о принудительной установке ("форсировании") значений вы найдете в соответствующем разделе (стр. 323) в главе "Инструментальные средства онлайнового режима и диагностики ". Руководство по программированию 6.1 Основные команды Программируемый контроллер S7-1200 Системное руководство, 11/2009, A5E02669003-02 103 Руководство по программированию 6 6.1 Основные команды 6.1.1 Двоичная логика Контакты LAD Замыкающий Размыкающий Вы можете соединять контакты друг с другом, создавая свою собственную комбинационную логику. Если указанный вами входной бит использует идентификатор памяти I (вход) или Q (выход), то значение этого бита считывается из регистра образа процесса. Физические сигналы с контактов в вашем управляющем процессе подключены к клеммам I на ПЛК. CPU опрашивает подключенные входные сигналы и непрерывно обновляет соответствующие значения состояний в образе процесса на входах. Прямое считывание физического входа задается с помощью символов ":P", следующих за адресом входа (пример: "%I3.4:P"). При прямом считывании значения битовых данных считываются непосредственно с физического входа, а не из образа процесса. Прямое считывание не обновляет образа процесса. Параметр Тип данных Описание IN Bool Назначенный бит ● Замыкающий (нормально открытый) контакт замкнут (ON), если значение назначенного бита равно 1. ● Размыкающий (нормально замкнутый) контакт замкнут (ON), если значение назначенного бита равно 0. ● Контакты, соединенные последовательно, образуют логические соединения типа И (AND). ● Контакты, соединенные параллельно, образуют логические соединения типа ИЛИ (OR). Руководство по программированию 6.1 Основные команды Программируемый контроллер S7-1200 104 Системное руководство, 11/2009, A5E02669003-02 Блоки FBD, AND, OR и XOR При программировании на языке FBD сети с LAD-контактами преобразуются в сети блоков И (AND, &), ИЛИ (OR, >=1) и исключающее ИЛИ (XOR, x), в которых вы можете задавать значения битов для входов и выходов блока. Вы можете также создавать соединения с другими логическими блоками, образуя свои собственные логические комбинации. После того как блок помещен в вашу сеть, вы можете перетащить инструментальное средство "Insert binary input [Вставить двоичный вход]" из панели инструментов "Favorites [Фавориты]" или из дерева команд к стороне входов блока, чтобы добавить дополнительные входы. Вы можете также щелкнуть правой клавишей мыши на стороне входов блока и выбрать "Insert input [Вставить вход]". Входы и выходы блока могут быть соединены с другим логическим блоком, или вы можете ввести адрес бита или символическое имя бита для неподключенного входа. При выполнении блоковой команды текущие состояния входов прилагаются к двоичному входу логического блока и, если все верно, то выход блока тоже принимает значение истина. Логическое соединение И (AND) Логическое соединение ИЛИ (OR) Логическое соединение исключающее ИЛИ (XOR) Параметр Тип данных Описание IN1, IN2 Bool Входной бит ● Чтобы выход блока И (AND) принял значение ИСТИНА, на всех его входах должна быть ИСТИНА. ● Чтобы выход блока ИЛИ (OR) принял значение ИСТИНА, на любом его входе должна быть ИСТИНА. ● Чтобы выход блока исключающее ИЛИ (XOR) принял значение ИСТИНА, на нечетном числе его входов должна быть ИСТИНА. Логическое отрицание NOT При программировании на языке FBD вы можете перетащить инструментальное средство "Negate binary input [Инвертировать двоичный вход]" из панели инструментов "Favorites [Фавориты]" или из дерева команд на вход или выход, чтобы создать логическое отрицание для этого элемента блока. LAD: инвертирующий контакт NOT FBD: блок И (AND) с одним инвертированным логическим входом FBD: блок И (AND) с инвертированным логическим входом и выходом В LAD контакт NOT инвертирует логическое состояние входящего потока сигнала. ● Если на контакт NOT не поступает поток сигнала, то поток сигнала есть на его выходе. ● Если на контакт NOT поступает поток сигнала, то его нет на выходе. Руководство по программированию 6.1 Основные команды Программируемый контроллер S7-1200 Системное руководство, 11/2009, A5E02669003-02 105 Выходная катушка LAD Выходная катушка Инвертированная выходная катушка Команда для выхода катушки реле записывает значение в выходной бит. Если указанный вами выходной бит использует идентификатор памяти Q, то CPU включает или выключает выходной бит в регистре образа процесса, устанавливая указанный бит равным состоянию потока сигнала. Выходные сигналы для исполнительных устройств вашего контроллера подключены к выходным клеммам S7-1200. В режиме RUN CPU непрерывно опрашивает входные сигналы вход, обрабатывает входные состояния в соответствии с логикой вашей программы, а затем реагирует на них, устанавливая новые значения для выходных состояний в регистре образа процесса на выходах. После каждого цикла исполнения программы CPU передает хранящуюся в регистре образа процесса новую реакцию на выходное состояние на подключенные выходные клеммы. Вы можете задать прямую запись в физический выход с помощью символов ":P" после адреса Q (пример: "%Q3.4:P"). При прямой записи значения бита заносятся в выход образа процесса и непосредственно в физический выход. Параметр Тип данных Описание OUT Bool Назначенный бит ● Если имеется поток сигнала через выходную катушку, то выходной бит устанавливается в 1. ● Если нет потока сигнала через выходную катушку, то выходной бит устанавливается в 0. ● Если имеется поток сигнала через инвертированную выходную катушку, то выходной бит устанавливается в 0. ● Если нет потока сигнала через инвертированную выходную катушку, то выходной бит устанавливается в 1. Руководство по программированию 6.1 Основные команды Программируемый контроллер S7-1200 106 Системное руководство, 11/2009, A5E02669003-02 Блок FBD для назначения выхода При программировании на языке FBD катушки LAD преобразуются в блоки назначений (= и /=), где вы указываете адрес бита для выхода блока. Входы и выходы блока могут быть соединены с другими логическими блоками, или вы можете ввести битовый адрес. Назначение выхода Инвертированное назначение выхода Назначение выхода с его инверсией Параметр Тип данных Описание OUT Bool Назначенный бит ● Если вход выходного блока равен 1, то бит OUT устанавливается в 1. ● Если вход выходного блока равен 0, то бит OUT устанавливается в 0. ● Если вход инвертированного выходного блока равен 1, то бит OUT устанавливается в 0. ● Если вход инвертированного выходного блока равен 0, то бит OUT устанавливается в 1. 6.1.1.1 Команды установки и сброса S и R: Установка и сброс 1 бита ● Если S (Set [Установить]) активизирован, то значение данных на адресе OUT устанавливается в 1. Если S не активизирован, то OUT не изменяется. ● Если R (Reset [Сбросить]) активизирован, то значение данных на адресе OUT устанавливается в 0. Если R не активизирован, то OUT не изменяется. ● Эти команды могут быть вставлены в любом месте сети. LAD: Установить LAD: Сбросить FBD: Установить FBD: Сбросить Параметр Тип данных Описание IN (или соедините с контактной логикой или логикой устройства управления) Bool Адрес бита, подлежащего контролю OUT Bool Адрес бита, подлежащего установке или сбросу Руководство по программированию 6.1 Основные команды Программируемый контроллер S7-1200 Системное руководство, 11/2009, A5E02669003-02 107 SET_BF и RESET_BF: Установка и сброс битового поля LAD: SET_BF LAD: RESET_BF FBD: SET_BF FBD: RESET_BF Параметр Тип данных Описание n Константа Число битов, подлежащих записи OUT Элемент булева массива Начальный элемент булева массива, подлежащего установке или сбросу Пример: #MyArray[3] ● Если SET_BF активизирован, то значение 1 назначается "n" битам, начиная с адреса OUT. Если SET_BF не активизирован, то OUT не изменяется. ● RESET_BF записывает значение 0 в "n" битов, начиная с адреса OUT. Если RESET_BF не активизирован, то OUT не изменяется. ● Эти команды должны располагаться на самом правом краю ветви. Руководство по программированию 6.1 Основные команды Программируемый контроллер S7-1200 108 Системное руководство, 11/2009, A5E02669003-02 RS и SR: Триггер с преимуществом установки и с преимуществом сброса RS – это триггер с преимуществом установки. Если сигналы установки (S1) и сброса (R) одновременно принимают значение истина, то выходной адрес OUT устанавливается в 1. SR – это триггер с преимуществом сброса. Если сигналы установки (S) и сброса (R1) одновременно принимают значение истина, то выходной адрес OUT устанавливается в 0. Параметр OUT указывает адрес бита, который устанавливается или сбрасывается. Не обязательно используемый выход Q отражает сигнальное состояние адреса "OUT". Параметр Тип данных Описание S, S1 BOOL Установить вход; 1 указывает на доминирование R, R1 BOOL Сбросить вход; 1 указывает на доминирование OUT BOOL Назначенный бит выход "OUT" Q BOOL Следует состоянию бита "OUT" Команда S1 R Бит "OUT" RS 0 0 Предыдущее состояние 0 1 0 1 0 1 1 1 1 S R1 SR 0 0 Предыдущее состояние 0 1 0 1 0 1 1 1 0 Руководство по программированию 6.1 Основные команды Программируемый контроллер S7-1200 Системное руководство, 11/2009, A5E02669003-02 109 6.1.1.2 Команды распознавания нарастающего и падающего фронта Распознавание нарастающего и падающего фронта Контакт P: LAD Контакт N: LAD Блок P: FBD Блок N: FBD Катушка P: LAD Катушка N: LAD Блок P=: FBD Блок N=: FBD P_TRIG: LAD\FBD N_TRIG: LAD\FBD Параметр Тип данных Описание M_BIT Bool Бит памяти, в котором сохраняется предыдущее состояние IN Bool Входной бит, фронт которого необходимо распознать OUT Bool Выходной бит, который указывает, что фронт был обнаружен CLK Bool Поток сигнала или входной бит, фронт которого необходимо распознать Q Bool Выход, который указывает, что фронт был обнаружен Контакт P: LAD Этот контакт принимает состояние ИСТИНА, когда на назначенном бите "IN" обнаруживается нарастающий фронт (переход из ВЫКЛ во ВКЛ). Логическое состояние этого контакта затем логически сопрягается с состоянием потока сигнала на входе, чтобы установить состояние потока сигнала на выходе. Контакт P может быть расположен в любом месте сети, кроме конца ветви. Контакт N: LAD Этот контакт принимает состояние ИСТИНА, когда на назначенном входном бите обнаруживается падающий фронт (переход из ВКЛ в ВЫКЛ). Логическое состояние этого контакта затем логически сопрягается с состоянием потока сигнала на входе, чтобы установить состояние потока сигнала на выходе. Контакт N может быть расположен в любом месте сети, кроме конца ветви. Блок P: FBD Выход принимает логическое состояние ИСТИНА, когда на назначенном входном бите обнаруживается нарастающий фронт (переход из ВЫКЛ во ВКЛ). Блок P может быть расположен только в начале ветви. Руководство по программированию 6.1 Основные команды Программируемый контроллер S7-1200 110 Системное руководство, 11/2009, A5E02669003-02 Блок N: FBD Выход принимает логическое состояние ИСТИНА, когда на назначенном входном бите обнаруживается падающий фронт (переход из ВКЛ в ВЫКЛ). Блок N может быть расположен только в начале ветви. Катушка P: LAD Назначенный бит "OUT" принимает значение ИСТИНА, когда нарастающий фронт (переход из ВЫКЛ во ВКЛ) обнаружен в потоке сигнала, поступающего в катушку. Состояние потока сигнала на входе всегда проходит через катушку как состояние потока сигнала на выходе. Катушка P может находиться в любом месте сети. Катушка N: LAD Назначенный бит "OUT" принимает значение ИСТИНА, когда падающий фронт (переход из ВКЛ в ВЫКЛ) обнаружен в потоке сигнала, поступающего в катушку. Состояние потока сигнала на входе всегда проходит через катушку как состояние потока сигнала на выходе. Катушка N может находиться в любом месте сети. Блок P=: FBD Назначенный бит "OUT" принимает значение ИСТИНА, когда нарастающий фронт (переход из ВЫКЛ во ВКЛ) обнаружен в логическом состоянии входа блока или в назначенном входном бите, если блок находится в начале ветви. Логическое состояние на входе всегда проходит через блок как логическое состояние на выходе. Блок P= может находиться в любом месте ветви. Блок N=: FBD Назначенный бит "OUT" принимает значение ИСТИНА, когда падающий фронт (переход из ВКЛ в ВЫКЛ) обнаружен в логическом состоянии входа блока или в назначенном входном бите, если блок находится в начале ветви. Логическое состояние на входе всегда проходит через блок как логическое состояние на выходе. Блок N= может находиться в любом месте ветви . P_TRIG: LAD/FBD Поток сигнала или логическое состояние на выходе Q принимает значение ИСТИНА, когда нарастающий фронт (переход из ВЫКЛ во ВКЛ) обнаружен в состоянии на входе CLK (FBD) или в потоке сигнала на входе CLK (LAD). В LAD команда P_TRIG не может находиться в начале или в конце сети. В FBD команда P_TRIG может находиться в любом месте кроме конца ветви. N_TRIG (LAD/FBD) Поток сигнала или логическое состояние на выходе Q принимает значение ИСТИНА, когда падающий фронт (переход из ВКЛ в ВЫКЛ) обнаружен в состоянии на входе CLK (FBD) или в потоке сигнала на входе CLK (LAD). В LAD команда N_TRIG не может находиться в начале или в конце сети. В FBD команда N_TRIG может находиться в любом месте кроме конца ветви. Все команды обнаружения фронта используют бит памяти (M_BIT) для хранения предыдущего состояния подлежащего контролю входного сигнала. Фронт обнаруживается путем сравнения состояния входа с состоянием этого бита памяти. Если эти состояния указывают на изменение сигнала на входе в интересующем нас направлении, то о появлении фронта сообщается установкой выхода в состояние ИСТИНА. Иначе выход устанавливается в состояние ЛОЖЬ. |