Tia Portal

2020-08-02 Промышленное  2 комментария

Пришло время коснуться  такой большой и интересной  темы, как Tia Portal. Возможно, что скоро будет создана отдельная рубрика, в которой будут освещаться вопросы, касающиеся исключительно работы с данным ПО.

Если кто не в курсе, Tia Portal -  это интегрированная среда разработки компании Siemens, которая  включает в себя:

  • SIMATIC STEP 7  версии Professional/ Basic -  для программирования и конфигурирования контроллеров SIMATIC S7-1200/ S7-1500/ S7-300/ S7-400, а также распределительных систем ввода-вывода ET-200
  • SIMATIC WinCC – для создания систем визуализации для HMI панелей и SCADA систем
  • SINAMICS StartDriveдля работы с приводами SINAMICS
  • SIMOCODE ES – для конфигурирования  аппаратов управления и защиты двигателей
  • SIMOTION Scout TIA – для систем управления перемещением

Кроме того имеется эмулятор  S7-PLCSIM, который предназначен для отладки пользовательских программ, а также различные опциональные пакеты.

В общем, среда  включает в себя все необходимое для удобной работы с различным оборудованием Siemens.

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

В частности на блоге недавно была статья ПИД-регулятор.Методика настройки, в которой рассматривался процесс ПИД-регулирования больше с теоретической стороны, а здесь мы рассмотрим практическую часть – работу со  стандартными инструкциями, которые предлагает STEP 7.

Хотелось бы данную тему раскрыть в наиболее полном объеме. Формат подачи материала пока еще окончательно не определен, так что если будут какие-нибудь предложения, то пишите в комментариях.

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

Также хочу заметить, что для всех примеров будет использоваться  Tia Portal V15, то есть 15 версия, которая несмотря на то, что вышла уже 16-я, остается на сегодняшний день наиболее актуальной.

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

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

Первая функция — Включение и выключение по одной кнопке.

Создаем функциональный блок, прописываем переменные  и пишем следующий код:

0001 A #inBoolBtn
0002 FP #sBoolFront
0003 = #sBoolTempМ2
0004 A #sBoolTempМ2
0005 A #sBoolOnOff
0006 = #sBoolTemp3
0007 AN #sBoolOnOff
0008 A #sBoolTempМ2
0009 S #sBoolOnOff
0010 A #sBoolTemp3
0011 R #sBoolOnOff
0012 A #sBoolOnOff
0013 = #outBoolBtn
0014 NOP 0

Далее этот функциональный блок вызываем в ОВ1. На вход inBoolBtn подключаем нашу кнопку, а на выход outBoolBtn подключаем, например, лампочку.

Блок включения-выключения по одной кнопке

Один раз нажимаем на кнопку, лампа включается. Еще раз нажимаем , лампа выключается.

Следующий блок – Сигнализация. Создаем функциональный блок и пишем следующий код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//Сигнализация. Блок описывает аварийно-предупредительную сигнализацию
 
#outBoolSound:= #inBoolBtnSignal = TRUE OR #sBoolFault = TRUE;
 
 // проверка и сброс звука
 
#outBoolLed := #inBoolAlarm = TRUE OR #inBoolBtnSignal = TRUE; 
 
//Проверка и активация индикатора "Неисправность"
 
#outBoolLight := #inBoolAlarm = TRUE OR #inBoolBtnSignal = TRUE; 
 
//Проверка и активация световой колонны
 
IF #inBoolAlarm AND NOT #sBoolFrontm1_2 // Обработка фронта
 
THEN #sBoolFault := true; 
 
//где #inBoolAlarm - это бит фронт которого мы ловим
 
//#sBoolFrontm1_2 - вспомогательный бит
 
//#sBoolFault - сигнальный бит - становиться равным 1 
//при переходе #inBoolAlarm из "0" в "1" (положительный фронт)
 
END_IF;
 
#sBoolFrontm1_2 := #inBoolAlarm;
 
IF #inBoolBtnSignal=TRUE  THEN #sBoolFault :=FALSE;
 
END_IF;

На вход inBoolAlarm подаем сигнал об аварии(любой). На inBoolBtnSignal подключаем кнопку для сброса и проверки сигнализации. На выход outBoolSound – подключаем сирену, на outBoolLed – индикатор неисправности, на outBoolLight – светосигнальную колонну.

Блок Сигнализация

Таким образом , если нажать на кнопку «Сброс и проверка сигнализации» ,то включаются все 3 выхода. Кнопку отпускаем, выхода выключаются. Если пришла авария, то включаются все выхода. При нажатии кнопки «Сброс и проверка сигнализации», выход на сирену (outBoolSound) выключается. Оставшиеся 2 выхода включены до тех пор , пока не пропадет сигнал об аварии.

Поделиться в соц. сетях

Опубликовать в LiveJournal
Опубликовать в Яндекс

  • Alex says:

    Добрый день!

    У меня вопрос: можно ли программы созданные в более ранних версиях Тиа Портал перенести на более позднюю, например 15 и если можно то каким образом?

    • admin says:

      Да, это возможно. Например проект, созданный в V14 можно открыть в V15. При загрузке проекта TIA Portal предложит сам обновить ее.

Комментарии

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>