Siemens simatic s7 язык программирования

Языки программирования контроллеров SIMATIC S7-200

В качестве основных языков программирования используются:

STL — низкоуровневый язык, применяемый для реализации особо критичных по времени модулей проекта. Характеризуется высоким временем разработки и углубленным знанием структуры контроллеров семейства SIMATIC S7; широко используется при оптимизации.

LAD, FBD — визуальные языки проектирования, часто использующиеся для реализации алгоритмов управления. Их отличает наглядность и сравнительная легкость применения персоналом, не знакомым со STEP7 и спецификой программирования контроллеров SIMATIC S7; таким образом, изменения в алгоритмы могут непосредственно вносить инженеры, технологи конкретного предприятия.

SCL — высокоуровневый Pascal-образный язык, наиболее широко применяющийся в настоящее время для разработки проектов. Сокращает время разработки, удобен как для реализации алгоритмов, так и сложных математических вычислений.

SFC, CFC — визуальные языки проектирования; используются при разработке проекта с помощью пакета PCS7. В алгоритме, реализованном на данных языках, без труда можно использовать блоки, написанные, например, на языках STL или SCL.

При разработке новых проектов широко используются существующие наработки, реализованные в виде готовых к применению модулей, включающих, но не ограничивающихся, блоками:

управления разнообразным технологическим оборудованием (насосами, клапанами, задвижками;

сбора, обработки и качественной оценки измерительных данных;

контроля параметров технологического процесса, при необходимости с выдачей сообщений и сигнализации;

самодиагностики самого контроллера SIMATIC и отдельных каналов;

организации интерфейса со средствами отображения (Protool, WinCC);

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

Программа состоит из отдельных элементов LAD, соединенных последовательно или параллельно один по отношению к другому. Контактная схема подобна электрической цепи. Программирование контактного плана (current path) или звена (rung) начинается на левой несущей или левой питающей шине (power rail). Надо выбрать место в звене, куда следует вставить элемент, затем выбирается требуемый программный элемент при помощи нажатия соответствующей функциональной клавиши (например, клавиша F2 используется для нормально разомкнутого (normally open — NO) контакта), при помощи нажатия соответствующей кнопки на функциональной линейке, из каталога программных элементов (пункт меню Insert > Program Elements or View > Catalog (Вставка > Программный элемент или вид > Каталог)). Завершается звено катушкой (coil) или прямоугольным блочным элементом (box). Большинству программных элементов должны быть назначены ячейки памяти (переменные). Самый простой способ сделать это — сначала выстроить все программные элементы, затем назначить им метки (label).

Бинарные адреса, такие как входы (inputs), сканируются с использованием контактов. Сканируемые сигнальные состояния комбинируются в соответствии с компоновкой контактов в последовательной или параллельной топологии. «Ток течет» через нормально разомкнутый контакт (normally open contact), если сканируемый бинарный адрес имеет сигнальное состояние «1» (контакт активирован); «ток течет» через нормально разомкнутый контакт (normally closed contact), если сканируемый бинарный адрес имеет сигнальное состояние «0» (контакт не активирован). Кроме того, вы можете сканировать биты состояния (слово статуса) или инвертировать результат логической операции (контакт NOT (НЕ)).

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

Программирование кодовых блоковИмеются катушки с дополнительными метками, например, катушки установки (Set coil) и сброса (Reset coil), которые выполняют специальные функции. Катушки так-же применяются для управления таймерами и счетчиками, вызова блоков без параметров, выполнения переходов в программе и так далее.

Прямоугольные блочные элементы (Boxes)

Прямоугольные блочные элементы представляют элементы LAD со сложными функциями. STEP 7 предоставляет «стандартные блочные элементы» двух различных типов:

без механизма EN/ENO, например, функции работы с памятью, функции таймера и счетчика, блочные элементы с функцией сравнения;

с EN/ENO, например, MOVE (Переместить), арифметические и математические функции, преобразование типов данных.

Когда вы вызываете кодовые блоки (блоки FC, FB, SFC и SFB), LAD представляет вызовы также в виде блочных элементов с EN/ENO. Кроме того, LAD предоставляет «пустой блочный элемент» (Empty box), в который при программировании можно ввести требуемую функцию.

Редактор LAD определяет сегмент в соответствии с принципом «главного звена». Это самая верхняя ветвь, которая начинается непосредственно на левой несущей (питающей шине) и должна завершаться катушкой или блочным элементом. В этомзвене могут быть расположены все элементы LAD. В параллельных ветвях, которые не берут начало на левой несущей (питающей шине), иногда действуют ограничения в зависимости от тех или иных программных элементов. Дополнительные ограничения определяют следующее: элемент LAD не может быть «замкнут накоротко» с «пустой» параллельной ветвью, и «ток» не может протекать через элемент справа налево (параллельная ветвь должна быть замкнута на ветвь, в которой она была разомкнута). Все остальные правила, применяемые к компоновке особых элементов LAD, обсуждаются в соответствующих главах. При использовании блочных элементов в качестве программных элементов можно: программировать единственный в сегменте блочный элемент;

скомпоновать блочные элементы в Т-ветви в ветвях, которые начинаются на левой несущей (питающей шине);

сгруппировать блочные элементы в последовательности путем подключения выхода ENO блочного элемента к входу EN следующего блочного элемента;

включить блочные элементы параллельно в ветвях на левой несущей (питающей шине) посредством выхода ENO.

С помощью компоновки блочных элементов вы можете определять сигнальные состояния выходов ENO: если выходы ENO закрываете (заделываете) катушкой, то «ток» течет в катушке при условии, что все блочные элементы сработали без ошибок в последовательном соединении, или один из блочных элементов закончил обработку без ошибок в случае параллельного соединения.

Рассмотрим методику создания прикладной программы пользователя для созданной системы управления на базе контроллера серии серии S7-200 и текстовый дисплей TD — 200.

В качестве примера рассмотрим последовательность создания программы, в ходе выполнения которой робототехнический комплекс «Ритм — 01» выполняется следующий набор действий:

— по нажатии клавиши F1 на текстовом дисплее, РТК «Ритм — 01» поднимается вверх;

— нижняя рука робота выдвигается в перед;

— поворот захвата кисти нижней руки робота по часовой стрелке;

— сжатие захвата нижней руки;

— поворот захвата нижней руки робота против часовой стрелки;

— поворот РТК «Ритм — 01» против часовой стрелки (вправо);

— опускание РТК «Ритм — 01» вниз;

— разжатие захвата нижней руки;

— нижняя рука робота задвигается назад;

— поворот РТК «Ритм — 01» по часовой стрелке (влево);

Дополнительно поставим следующие требования к программе: по нажатию клавиши F2 на текстовом дисплее TD — 200 необходимо остановить выполнение программ. Для дальнейшего перевода робота в исходное положение необходимо нажать клавишу F3.

Для дальнейшего решения необходимы данные об исходном положении РТК «Ритм — 01» и соответствие выхода Qij контроллера и выполняемые роботом действия.

Итак РТК «Ритм — 01» занимает следующее исходное положение:

— РТК «Ритм — 01» в нижнем положении (опущен);

— РТК «Ритм — 01» повернут влево

— руки (верхняя и нижняя) задвинуты назад;

— захваты рук робота разжаты;

Для написания прикладной программы пользователя составим ее блок — схему алгоритма по сформулированному выше условию.

Согласно блок-схеме алгоритма программы сначала проверяется нажатие клавиши F1 текстового дисплея TD — 200.

Если клавиша не нажата, то система остается в режиме ожидания. При условии нажатия клавиши F1 последовательно выполняются команды, реализующие заданную последовательность действий. В БСА программы присутствуют блоки задержки времени. Наличие блоков задержки обусловлено конечной длительностью технологической операции, (например, подъем, поворот РТК «Ритм — 01» и т.д. выполняемой РТК «Ритм — 01» ).

В ходе выполнения указанной последовательности действий, программа должна также постоянно контролировать нажатие клавиши F2 — клавиша остановки программы. Если клавиша F2 не нажата, то программой выполняются данные, если нажата — то робот останавливается в предыдущем положении и остается не подвижным.

Как видно из БСА, для перевода РТК «Ритм — 01» в исходное положение следует нажать клавишу F3 на текстовом дисплее TD — 200.

В соответствии с БСА программы, теперь можем разработать прикладную программу пользователя.

Разрабатываем программу в среде Step 7 MicroWin (программное обеспечение фирмы SIEMENS позволяющее программировать контроллеры фирмы SIEMENS серии S7 — 200).

Для программирования текстового дисплея используется утилита TD — 200 Designer.

Листинг разработанной программы приведен в ПРИЛОЖЕНИИ (Ж)

Работа программы заключается в следующем.

Программа проверяет какие клавиши на текстовом дисплее нажаты. Если нажата клавиша F1, то программа выполняет действия, приведенные в условии примера на БСА программы.

Если нажата клавиша F2, то происходит остановка робота, а на выходы Q контроллера подаются сигналы низкого логического уровня (уровень «логический ноль»).

Если после этого нажать клавишу F3, то РТК «Ритм — 01» перейдет в исходное положение.

Из особенностей программы опишем порядок формирования сигнала для выполнения определенной технологической операции. Изначально формируем «управляющее слово» (кодовую комбинацию, определяющую, на какой выход Q контроллера подается сигнал логической «1») и записываем его в ячейку памяти MW. Далее в программе считываем это слово и подаем каждый его бит на определенный соответствующий выход контроллера. Для выполнения следующего действия, формируем соответствующие «управляющее слово» и при помощи подпрограммы на выбранные выходы Q контроллера сигналы высокого уровня (сигналы логической «1»). Дальнейшие действия аналогичны.

Таким образом, сформировав «управляющее слово» и выдав его на выходы контроллера, представляется возможность программно управлять работой пневмораспределителей, а значит и работой РТК «Ритм — 01» в целом.

Источник

Романов В.П. Учебно-методическое пособие — Основы языка программирования STEP7 и базового программного обеспечения промышленных контроллеров SIEMENS

К о н т р ол л е р ы S IM A TI C S 7 мо гу т р а б от а ть с о с л еду ю щи м и т и п а ми д а н н ых :

Б и т — э то е ди н и ца , с оот ве тс т ву ю ща я од но му д в ои ч но му ра з ряд у . Д в а в оз м ож н ых

Б а й т с ос то и т и з 8 б ит , к от ор ым с оо т ве т с тв у ю т б ит о вы е ад р ес а о т 0 д о 7 (с пр а ва на ле в о) .

С т ар ши м я в ля е т с я б и т с б ол ь ш им ад ре с о м. Ба й т мо гу т об р а зо в а ть т ол ь к о т е б и т ы , а др е с

м л ад ше го и з к от о р ы х кр а те н 8 , на пр и ме р: 0 , 8, 16 и т. д . В к он т р ол л е р ах Si m a ti c S7 б а йт м ож е т

и н те р пр е т ир ов а т ь ся ка к п р ос т о б а йт ( наб ор б ит ) и ли к ак A SC I I -с им в ол .

С л ов о — э т о с л ед у ю ща я по с л е б а й та п о ве ли ч ин е е д и ни ца , е е дл ин а 16 б и т . Л ю б ые д ва

с ос ед н их б а йт а мо ж но об ъ е д и ни т ь в с л ов о, с та рш и м б у д е т я вл я т ьс я б а йт с ме нь ши м а д р ес о м.

А д р е с с л ов а — э т о ад ре с б а йт а с ме нь ши м ад р ес ом . В к он т р ол л е р ах Si m a ti c S 7 с л ов о м о же т

и н те р пр е т ир ов а т ь ся ка к п р ос т о с л ов о ( н а б ор б ит ), ц е л ое ч ис л о с о з н а к ом , д ат а , в р е мя и т .д .

Л юб ы е д в а с ос е д н их с ло в а м ож н о об ъ е ди н и ть в д во й но е с ло в о, е г о д л и на — 3 2 б и т а ил и 4

б а йт а . С та р ш и м сл о в ом ( б а й т ом ) я вл яе тс я с л ов о (б ай т ) с м е н ьш и м а д ре с о м. А д р е с д в ой н ог о

с л ов а — э то а д ре с ба й та с ме н ь ш и м ад ре с ом . В ко н т ро л л е р ах Si m a t i c S7 д в ой но е с л ов о м ож н о

и н те р пр е т ир ов а т ь к а к п р ос т о д в ой но е с л ов о, д л ин н ое це л ое ч ис л о с о з н а к ом , в е щ ес тв е нн ое ч ис л о

П е ре ме н на я т и па CH A R ( ch a r ac te r , л ит е р а ) з а ни м а е т од и н б а й т . Ти п д а нн ых CH A R

Источник

Читайте также:  Решение задач программирование блок схема
Оцените статью