Как написать программу в сименс

В этой статье показаны основы работы с ПЛК SIMATIC S7-200 фирмы SIEMENS. Рассмотрены вопросы конфигурирования GKR? соответствия периферии областям памяти, существующие симуляторы. Также напишем первую программу и проверим ее функционирование на симуляторе. Итак приступим. Будем считать что ПКЛ смонтирован и к нему подключено питание.

А также подключен кабель PPI. Для программирования, загрузки и отладки контроллера необходимо установить пакет STEP 7 MicroWin. Настройка оборудования Запускаем MicroWin. В открывшемся окне нажимаем Set PG/PC interface. ris 1.jpgВыбираем PC/PPI cable.

ris 1_1.jpgНажимаем Properties и на вкладке LocalConnection выбираем номер com порта на который установлен второй конец кабеля (для кабеля PPI – USB номер виртуального com порта). рис 2.jpg

Закрываем вкладку. В основном окне MicroWin выбираем Communications.

Создание программы на Simumerik 808D(SIEMENS)

рис 3.jpgСтавим галочку «search all baud rates» и справа нажимаем «double click to refresh». рис 4.jpgВ процессе поиска должен появиться контроллер. рис 5.jpgВыбираем его и нажимаем OK.

Теперь соединение с ПЛК установлено и можем управлять им переводя его в разные режимы работы, залить в него программу, скачать из него программу, отлаживать программу в реальном времени и т.д. Теоретические основы Теперь коротко расскажу как работает ПЛК. Сначала считываются все входа и переносятся в так называемую область отображения входов.

Потом идет цикл выполнения программы с обработкой эти вводов, выполнением каких либо математических операций и формированием по результату выполнения области отображения выходов. И в самом конце происходит перенос из области отображения выходов на реальные выходные регистры. После этого цикл повторяется.

Из этого следует, что если в процессе выполнения программы происходит например включение какого либо выхода в состояние единицы, а следующие за этим инструкции переводят его в 0, то состояние входа не измениться в процессе выполнения программы. В этом главное отличие ПЛК от микроконтроллеров где воздействие на выхода осуществляется непосредственно внутри цикла программы записью значения в регистр выходов.

Программа выполняется в основном цикле OB1. рис 6.jpgВ процессе выполнения программы могут запускаться соответствующие подпрограммы и вызываться различные функции. Также в процесс выполнения программы может вызываться настроенное ранее прерывание, после выполнения которого продолжиться выполнение основного цикла.

Память в ПЛК делиться на области отображения дискретных входов (обозначается латинской буквой I), дискретных выходов (обозначается буквой Q), аналоговых входов (обозначается буквами AIW), аналоговых выходов (отображается буквами AQW). Аналоговые входа имеют выход размерности 16 бит и соответственно формат «слово» WORD.

Если вход специализированный (например под термосопротивление или термопару) то выход будет иметь значение температуры с десятыми долями градуса Цельсия (например аналоговый вход под Pt100 AIW10 и температура на датчике 36.6 С то AIW = 366). С дискретными входами и выходами можно общаться как побитно (например I0.0) означает дискретный вход I0 бит 0), так и побайтно (например IB2).

Аналогично и дискретными выходами. Важно заметить, что выхода можно не только устанавливать но и опрашивать. Существует меркерная память, она сохраняет свои значения при пропадании питания, (обозначается буквой М) например M0.0 MB2 MW4 MD6. Есть так называемые системные меркеры (обозначаются SM), в них хранятся всяческие системные данные доступные для пользователя (об этом будет ниже).

B обычная память (отображаемая буквой V) например VB0, VD4, VW10. Также существуют аккумуляторы для хранения промежуточных результатов при вычислении они имеют разрядность 32 бита и обозначаются AC0, AC1, AC2, AC3. Память разбивается на биты, байты (VB) — 8 бит, слова (VW) — 16 бит, двойные слова (VD). Математически операции выполняются на числами со следующими разрядностями.
Integer 16 бит от -32768 до +32767
Double integer 32 бита от -2147483648 до +2147483647
Real 32 бита от -1.175495E-38 до -3.402823E+38 Первая программа Напишем простую программу опрашивающую дискретный вход и устанавливающий дискретный выход. В главном окне MicroWin нажимаем View -> Ladder (это означает что писать мы будем на языке LAD). рис 7.jpgВыбираем OB1 (основной цикл программы) и дважды по нему щелкаем.

рис 8.jpgВ панели слева выбираем Instruction -> Bit Logic и два раза щелкаем по значку -||- Normaly open рис 9.jpg

(это так называемы нормально разомкнутый контакт, что означает что он замкнется и пропустит сигнал дальше если его состояние равно «1». В появившемся над контактом поле со знаками вопроса ris 10.jpgвписываем I0.0 и нажимаем Enter, что означает мы опрашиваем дискретный вход I0.0.

Опять слева из меню Instruction -> Bit Logic выбираем Output ris 11.jpgи щелкаем два раза. В появившемся над выходом поле со знаками вопроса вписываем Q0.0 (число под оператором установки или сброса бита соответствует числу сбрасываемых или устанавливаемых битов в этом байте начиная с указанного, например если написать снизу 1 то установиться только указанный бит и так далее) и нажимаем Enter, что означает мы устанавливаем дискретный выход Q0.0.

Читайте также:
Как установить программу в ubuntu

Все простейшая программа готова. Нажимаем compile All. ris 12.jpgВ нижней статусной строке видим, что размер кода 20 байт, ошибок и предупреждений нет. ris 13.jpgНажимаем Download. ris 14.jpgВ открывшемся окне нажимаем Download.

Произойдет заливка программы и окно закроется. Переводим контроллер в состояние RUN ris 15.jpgТеперь если подать на вход I0.0 +24В то на выходе Q0.0 появиться +24В. Состояние входов выходов также отображается на светодиодах контроллера. Теперь краткое отступление для тех кто хочет попробовать работать с ПЛК но не имеет его.

Существуют два симулятора S7-200. S7200SIM от SUNLiGHT software — рис 16.jpgпозволяет посредством виртуального моста com – com устанавливать связь MicroWin с эмулятором ПЛК. Не поддерживает аналоговые входа выхода. Проект похоже мертв. S7_200 от http://personales.ya.com/canalPLC/ рис 17.jpgтекущая версия 3.0.

Не работает напрямую с MicroWin но позволяет загружать программу через awl файлы. Поддерживает аналоговые входа выхода. Просмотр состояния программы. Вот как выглядит наша программа при работе в контроллере. В MicroWin нажимаем File — > Export. Даем имя файлу например 1 и нажимаем сохранить. Запускаем симулятор S7_200.

рис 18.jpgНажимаем Program -> Load Program. Оставляем галочку logic block и нажимаем Accept. рис 19.jpgВ открывшемся окне выбираем наш файл и нажимаем открыть. рис 20.jpgНажимаем PLC -> RUN.

рис 21.jpgТеперь если мы передвинем крайний левый тумблер вверх то сработает выход Q0.0. рис 22.jpgОтлично, наша программа работает. Опять небольшое отступление. Как определить по каким адресам находятся входа и выхода? Это очень просто. Во первых можно просто посчитать их следующим образом.

Все входа сгруппированы побайтно, поэтому предположим что ПЛК (без модулей расширения) содержит в себе 16 дискретных входов, 8 дискретных выходов, 2 аналоговых входа и 1 аналоговый выход. Они будут иметь адреса I0.0 — I0.7 и I1.0 — I1.7. Дискретные выходные Q0.0 — Q0.7. Аналоговые входные AIW0 и AIW2 (так как занимают по два байта каждый). Аналоговый выход AQW0.

Теперь если мы добавим модуль расширения с 16 дискретными входами и 16 дискретными выходами. Они автоматически получат адреса I2.0-I2.7 I3.0 — I3.7. Выхода Q1.0-Q1.7 Q2.0 — Q2.7 т.е. адресация увеличивается линейно по байту на каждые 8 дискретных входов выходов, начиная с 0 в ПЛК. Аналоговые увеличивают адресацию по словно (через один) начиная с 0 в ПЛК.

Можно посмотреть присвоенные входам выходам адреса в ПЛК из MicroWin. Для этого в MicroWin нажимаем PLC -> information рис 23.jpg

В таблице видим, что CPU у нас 226 имеет 24 дискретных входа начиная с I0.0 и 16 выходов начиная с Q0.0 Идем дальше.

Естественно при программировании ПЛК с большим объемом входных выходных сигналов и сложной математикой работать с абсолютными адресами сложно. Символьная адресация тут тоже возможна. В MicroWin нажимаем Symbol Table.

рис 24.jpgВ открывшемся окне рис 26.jpgВбиваем в поле address абсолютный адрес, в поле symbol символьное имя, в поле comment комментарий который тоже можно включить на отображение. Наименование вкладки можно изменить.

Можно также добавить новую вкладку для удобства группировки дискретных входов выходов, аналоговых, результатов математических вычислений и т.д. Возвращаемся в OB1 и видим, что появилась табличка под кодом с сопоставлением символьного имени и абсолютного адреса. (если не отображается то нажать View -> Symbol Information Table.

рис 26.jpgНо в коде все по прежнему. Нажимаем Viev -> Symbol Table -> Apply Symbol to Project. рис 27.jpgВот теперь все отлично. Вернемся в Symbol Table. Я рассказывал выше о специальных системных меркерах.

Чтобы не лазить каждый раз в help я всегда проделываю следующие действия. Правой кнопкой мыши вызывается меню Insert -> S7-200 Symbol Table рис 28.jpg

Появляется вкладка S7-200 Symbols. Если прочитать комментарии то видно что системные меркеры содержат много полезного. Например бит SM0.1 First_Scan_On – выполняется только при первом цикле после включения питания.

Это часто используется для загрузки первоначальных данных. Например в программе мы используем переменную по адресу VW0 для сравнения дальше в программе с аналоговым входом. Причем эта переменная будет потом доступна для изменения (типовая уставка аварийного значения).При этом мы хотим загрузить в нее какое либо первоначальное значение.

Тогда код будет выглядеть так рис 29.jpgВ переменную VW0 загрузиться значение 789 при первом цикле программы и в дальнейшем это значение будет доступно для изменения. Часто используется системный меркер SM0.0 Always ON – используется для подключения математических операций и загрузки в регистр в языке LAD.

Пример рис 30.jpgДве ошибки. По правилам языка LAD перед подобными операциями должна стоять инструкция опроса контакта, а так как этот должен быть всегда замкнут то используют системный меркер SM0.0 рис 31.jpgТеперь без ошибок.

Читайте также:
Программа какие клавиши нажимались на компьютере

Еще два интересных меркера SM0.4 SM0.5 – один переключается с периодом 1 секунда а второй с периодом 1 минута. На их базе можно реализовать цикличное выполнение какой либо подпрограммы или например простую мигалку. В OB1 набираем код рис 32.jpgЭкспортируем в awl. Загружаем в симулятор s7_200.

Переключаем ПЛК в RUN и видим что выход Q0.1 переключается каждые 0,5 секунды. Интересны и иногда полезны еще два специальных меркера SMW24 и SMW26 – они содержат минимальное и максимальное время выполнения цикла программы OB1 в миллисекундах. В следующей статье рассмотрим основные операции выполняемые над входами выходами и аналоговыми данными. Рассмотрим конфигурирование и использование таймеров и счетчиков, а также создание и работу с функциями.

Прикрепленные файлы:

  • S7-200simulator.zip (1046 Кб)
  • S7_200_ING.rar (858 Кб)

Источник: cxem.net

Интерфейс программирования SINUMERIK. Создание и редактирование программ.

Интерфейс программирования SINUMERIK

SINUMERIK Operate предлагает подходящий метод создания и редактирования программ для каждой области применения.

ShopMill/ShopTurn programGUIDE programSYNC ISO-Code
Пошаговое программирование DIN/ISO и SINUMERIK
язык высокого уровня
Многоканальное программирование С поддержкой циков
Разработан для кратчайшего времени программирования Разработан для максимальной гибкости и кратчайшего времени обработки. Повышенная производительность многоканальных машин. Разработан для максимальной совместимости с кодами ISO
Адаптирован для отдельных деталей и небольших партий Разработаны для средних и крупных партий. Подходит для мелкосерийного и серийного производства штучных изделий. Ориентирован на средние и большие объемы партий.

Интерфейс пользователя и программирования един для всех циклов, независимо от того, используете ли вы programGUIDE или ShopMill/ShopTurn. С той лишь разницей, что вызов инструмента и технологическая информация интегрированы непосредственно в цикл для ShopMill/ShopTurn. Более подробная информация о циклах содержится в токарной и фрезерной частях.

Далее следуют советы по работе с редакторами и циклическими экранами, например, как структурировать программы с помощью блоков.

Вы можете сконфигурировать редактор в ShopMill/ShopTurn или в ProgramGUIDE. Вы также можете установить, например, должны ли отображаться разрывы строк для вызовов циклов, циклы должны отображаться как рабочие шаги или должно быть определено время обработки (моделирования). Время обработки может быть определено и сохранено блок за блоком.

Сочетание клавиш CTRL+I Вычисление времени от/до строки/блока

Настройка программ

Если, например, вы хотите сравнить программы или перенести части программы из одной программы в другую, вы можете открыть две программы одновременно. Курсор вправо Открыть другую программу Для переключения между окнами можно использовать клавишу «Следующее окно». Нажмите программную кнопку «Закрыть», чтобы закрыть вторую программу.

Сравнение программ

В редакторе вы можете найти функцию «Подпрограмма» под программной клавишей «Разное». С помощью этой функции вы можете вставить в свою программу вызов подпрограммы:
CALL = вызывает подпрограмму из памяти ЧПУ
EXTCALL = вызов подпрограммы с локального диска/USB/сети
Подпрограммы открываются в расширенном окне, параллельно программе.
Примечание. Подпрограммы вызываются с использованием CALL или EXTCALL, в зависимости от того, используете ли вы опцию «Выполнение из внешнего хранилища (EES)».

Использование подпрограмм SINUMERIK

Нажмите программную кнопку «Найти», чтобы начать поиск в редакторах.
Сочетание клавиш Ctrl+F Если хотеть выделить строку до вызова экрана поиска, выделенный текст будет перенесен в поле поиска.

Поиск SINUMERIK

Для лучшей читабельности и прозрачности синтаксис программы ЧПУ имеет цветовую маркировку:

  • Комментарии (серый)
  • Блоки/функции ЧПУ (черный)
  • Вызовы инструмента/скорость/подача (синий)
  • G0 ускоренный ход (красный)
  • G1 (зеленый)
  • G2,G3 (синий)

Синтаксис программ ЧПУ с цветной маркировкой

Для структурирования больших программ и отдельных операций обработки можно формировать программные блоки в ShopMill/ShopTurn и в programGUIDE. Строки, выбранные в редакторе, группируются в программный блок. Вы можете создавать дополнительные программные блоки внутри одного программного блока (блок в блоке).

Структурирование больших программ

Чтобы разгруппировать программный блок, перейдите к концу блока (отметка «конец блока»). Вместо кнопки «Создать блок» отображается программная клавиша «Разгруппировать блок».

Разгруппировать блок

Вы можете открывать и закрывать программные блоки.

Вы можете открывать и закрывать программные блоки программы.

Вы можете использовать параметры и переменные для определения циклов ShopMill/ShopTurn или programGUIDE.
Дополнительные сведения об определении переменных и использовании параметров см. в документации.

 параметры и переменные для определения циклов

Некоторые параметры можно параметризовать с помощью данных настройки (SD) с помощью функции «Масштабирование технологии в экранных формах циклов»; например, время выдержки или безопасное расстояние для глубокого сверления. После этого они больше не отображаются в формах экрана циклов. Изготовитель оборудования (OEM) должен настроить функцию так, чтобы она была доступна.

Масштабирование технологии в экранных формах циклов

В ShopMill/ShopTurn значения подачи/скорости преобразуются автоматически при нажатии кнопки «ВЫБОР».

Источник: cnc-maniac.ru

Как программировать контроллеры Siemens

Как программировать контроллеры Siemens

Протокол связи BACNET на LONTALK разработан с использованием новейших технологий связи для эффективного функционирования. Такие контроллеры могут приспосабливаться к различным потребностям, в том числе в небольшой системе HVAC.

Работают контроллеры на основе принципа цикличности:

  1. Вначале прибор сканирует информацию, которая поступает к нему от устройств и датчиков;
  2. Потом анализирует состояние выходов согласно программным алгоритмам;
  3. В конце каждый выход приводится в то состояние, которое было определено.
Читайте также:
Как называется программа где находится человек

Как устроен контроллер?

программруемый-контроллер-1.jpg

Автоматизированная станция монтируется в шкафы для управления. Входы/выходы в данных станциях адаптируются к разным видам сигналов. К шине BACNET необходимо подключать приборы оператора. Контроллер Siemens Desigo PXC12.D имеет 12 точек данных:

  1. 4 точки UI — универсальные входы для подключения активных и пассивных датчиков. Отличаются по величине напряжения и силе тока;
  2. 2 точки DI — входы цифровые для получения сигналов от кнопок, термостатов, концевиков и др.;
  3. 4 точки UO — выходы аналоговые с возможностью программирования в качестве двоичных переключателей. К ним можно добавить нагрузку (реле). Такие выходы плавно управляют устройством;
  4. 2 точки DO — выходы релейные для двоичного управления. Сигналы подаются на магнитные пускатели, клапаны, лампочки. Такой выход функционирует по принципу замыкания или размыкания цепи.

Благодаря контроллерам Siemens Desigo обеспечивается прямое интегрирование сторонних компонентов и систем без неоправданных финансовых затрат. Оборудование подходит для рассредоточенных и небольших установок. Как терминалы оператора в таких установках могут быть применены до 5 комнатных модулей QAX… либо панели оператора PXM….

Для работы оператор здания может использовать любые терминалы, начиная от комнатного устройства, заканчивая панелью управления, которая позволяет регулировать условия работы установки. Сенсорная панель демонстрирует простоту и удобство при добавлении новых функций и элементов для управления, она оснащена многоуровневой системой защиты доступа.

Контроллеры дают возможность предприятиям экономить на обслуживающем персонале. Такие системы монтируются в больницах, офисах, жилых домах, школах и складских помещениях.

программруемый-контроллер-4.jpgПрограммирование контроллера

Программируется контроллер при помощи интегрированной среды разработки программного обеспечения систем автоматизации технологических процессов TIA Portal. В ней возможно программировать устройства, начиная от уровня контроллеров и приводов, заканчивая уровнем человеко-машинного интерфейса. Она является развитием систем автоматизации Simatic компании Siemens AG. Работает в режиме реального времени, количество входов и выходов ограничено.

Для того, чтобы программировать контроллер Siemens Desigo PXC12.D, необходимо:

  1. Скачать и установить программное обеспечение TIA Portal;
  2. Войдя в программу, создать в ней новый проект, перейдя по Creat new project. Задать имя проекту — автора и комментарии заполнять нет необходимости. Path — здесь необходимо определить место для хранения созданных проектов. нажимаем «Create» — создается проект;
  3. Далее необходимо сконфигурировать устройство, для этого выбираем Configure a device. Если нет в программе прежних устройств, создается новое устройство Add new device. Появляется список устройств, которые можно программировать. Необходимо выбрать контроллер PXC12.D с нужной конфигурацией;
  4. После выбора контроллера заходим в проект и переходим в поле, где выбираем Program blocks — организационный блок Main (OB1) (здесь создаем программу);
  5. Появляется окно с Network 1, здесь необходимо создать нормальный открытый контакт, катушку и подписать их. Вход открытого контакта подписываем i0.0 (input 0 регистр, 0 бит), выход — q0.0 (0 регистр, 0 бит). Запускаем ассимиляцию. В следующем окне выбираем интерфейс соединения: MPI, PLCSIM. Затем выполняется поиск устройств;
  6. В результате поиска появляется в окне созданное устройство, нажимаем на кнопку Load (загрузить), происходит компиляция проекта, в результате которой могут быть выявлены возможные ошибки. Если нет ошибок, проект загружается дальше. При выборе окна RUN и IB-входа со значением 0, выход QB включает индикатор со значением «0». Затем выбираем окно Stop.
  7. Усложнить схему можно путем создания нормального открытого контакта последовательно с двумя входами i0.1 и i0.0 и одним выходом q0.0. Загружается уже новая программа. Нажимаем на RUN, при выборе одного входа со значением 0 или 1, выход не загорается, при выборе двух входов — выход q0.0 загорается;
  8. Параллельное подключение — для его создания необходимо удалить вход i0.1. Добавляем параллельный контакт с таким же названием i0.1. Запускаем процесс компиляции (проверки на наличие ошибок). Выбираем окно RUN. Теперь при выборе входов со значениями 0 или 1, либо при выборе обоих значений — загорается выход q0.0 со значением 0. Нажимаем Stop. Все работает в правильно.

Панели, используемые в контроллерах

Для работы контроллера Siemens Desigo со связью через BACNET LONTALK используется панель оператора PXM20 с дисплеем высокого разрешения и подсветкой. Панель оснащена общим тревожным индикатором с зуммером. Ее можно монтировать на лицевой стороне шкафа управления или в модульную станцию. Работать с такой панелью может оператор любого уровня подготовки.

Локальная индикаторная панель высокого качества PXM10 может монтироваться к контроллерам Siemens Desigo. Она выполняет такие задачи, как отображение значений (измеренных и заданных), режимов и состояний, текущих тревог, тревог с подтверждением, изменение значений, заданных ранее.

К таким контроллерам может быть подключено до пяти комнатных модулей QAX3. которые контролируют микроклимат в помещениях.

Контроллеры Siemens Desigo на 12 точек данных и BACNET на LONTALK хорошо подходят для устройства систем автоматизации зданий, просто монтируются и программируются.

Источник: siemens-rf.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru