Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Языков программирования

Функции и функциональные блоки | Пример программы на языке FBD | Задания для самостоятельной работы | Нормально разомкнутый контакт | Альтернативное ответвление (Alternative branch). | Задание свойств шага | Задание действий | Объявление действий | Пример программы на языке SFC | Примеры использования операторов в простых инструкциях |


Читайте также:
  1. Алгоритм симплекс-метода решения общей задачи линейного программирования
  2. Архитектура и принцип работы подсистемы клавиатуры. Назначение компонентов и возможности программирования
  3. Архитектура и принцип работы часов реального времени RTC и CMOS памяти. Возможности программирования
  4. Архитектура системного таймера и назначения каналов таймера. Режимы работы каналов таймера. Возможности программирования
  5. Будущие возможности языка программирования C Sharp
  6. Введение в систему программирования VBA. Объектная модель Excel, основные объекты Е. Краткая их характеристика.
  7. Взаимоотношение церковнославянского и греческого языков. Роль греческого языка византийской эпохи в формировании основного литературного языка Древней Руси

 

Язык FBD (Function Block Diagram – язык функциональных блок-схем) является языком графического программирования, в котором используется аналогия с электронной схемой, поэтому он наиболее понятен для электриков. FBD позволяет реализовывать сложные алгоритмы управления объектами автоматизации путем вызова готовых функций и функциональных блоков различной степени сложности и связей между ними. Функции и функциональные блоки размещены в обширных библиотеках. Они могут использоваться также и в других языках, что делает FBD незаменимым при разработке программного обеспечения для ПЛК.

В языке LD (Ladder Diagram – язык лестничных схем) для создания программы используются графически отображенные контакты, катушки и функциональные блоки. Программа на LD представляет собой аналог релейно-контактной схемы, что облегчает ее понимание электриками, работающими с устройствами релейной автоматики. Язык релейных схем известен еще со времен Эдисона. LD впервые был применен в ПЛК компаниями Modicon Франция) и Alen-Bradly (США) в 70-х годах прошлого века.

Языки FBD и LD имеют большой круг пользователей. Недостатком языков является увеличение сложности интерпретации, анализа и отладки программ по мере возрастания их объема. Кроме этого в них неудобным и неочевидным образом программируются конечные автоматы.

Язык SFC (Sequential Function Chart – язык последовательных функциональных схем) является графическим языком. Язык разработан в 1979 г. Его прототипом является язык Grafcet компании Telemecanique (Франция). Язык построен по принципу, близкому к концепции конечного автомата, что делает его одним из самых мощных языков программирования стандарта IEC 61131-3. Он удобен для описания как последовательных, так и параллельных процессов. На нем легко и естественным образом описываются технологические процессы, что делает его понятным для специалистов различного профиля. Недостатком языка является отсутствие в нем возможности реализации арифметических операций, поэтому он часто используется совместно с другими языками.

Язык ST (Structured Text – язык структурированного текста) по синтаксису похож на язык Pascal и легко понятен для программистов, изучающих языки высокого уровня. Он позволяет создавать программы, выполняющие любые логические и математические операции. Недостатком языка является то, что текстовая форма представления программ не дает наглядного представления ни о структуре программы, ни о происходящих в ней процессах.

Языки SFC и ST дополняют друг друга и в паре составляют полную и завершенную среду программирования.

Язык IL (Instruction List – лист инструкций) – текстовый язык ассемблерного уровня и наиболее понятен для программистов, создающих программы на языке Ассемблер. IL позволяет достичь высокой оптимальности кода: программные блоки, написанные на IL, имеют высокую скорость исполнения и наименее требовательны к ресурсам контроллера. Недостатками IL являются: высокая трудоемкость программирования, трудность модификации написанных на нем программ, малая степень «видимого» соответствия исходного текста программы и решаемой задачи.

Для всех перечисленных языков в Concept используются типы данных, приведенные в табл. 1.1. Обобщенные типы данных в таблице идентифицируются префиксом «ANY».

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

В программе для передачи данных служат переменные, константы, литералы (непосредственные данные) и прямые адреса.

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

Для передачи данных применяются также литералы (непосредственные данные), константы и прямые адреса (смотри табл. 1.2)

 

  Таблица 1.1
Типы данных в Concept
Иерархия типов данных Тип данных Кол-во битов Диапазон значений
ANY_ELEM ANY_BIT BOOL   0, 1 (False, True)
BYTE  
WORD  
ANY_NUM ANY_INT INT   –32768 … 32767
DINT   –2147483648 … 2147483647
UINT   0 … 65535
UDINT   0 … 4294967295
ANY_REAL REAL   -8.43·10–37 … +3.36·1038
    TIME   0 … 4294967295 [мс]
             

Примечание: Данные типа BOOL, BYTE и WORD в Concept воспринимаются, как последовательности бит, над которыми могут выполняться только поразрядные логические операции, недопустимые для других типов данных. Эти данные могут быть преобразованы в другие типы данных (см. табл. 2.4).

 

Для ПЛК компании Schneider Electric определены четыре области адресного пространства памяти, в которые пересылаются данные из модулей дискретного или аналогового входа. Из этих же областей пересылаются данные в модули дискретного или аналогового выхода.

Адреса отдельных каналов модулей состоят из префикса, определяющего область памяти, и собственно адреса. В табл. 1.2 приведены обозначения префиксов для различных модулей и примеры адресов. Адрес первого канала первого модуля должен начинаться с 00001. Адрес первого канала последующего модуля должен следовать за адресом последнего канала предыдущего модуля.

 

  Таблица 1.2
Адреса каналов модулей ввода/вывода ПЛК
Тип канала Область памяти
Первый вариант Второй вариант
Префикс Пример Префикс Пример
Входы модуля дискретного ввода   %100001 %100002 …. IX %IX00001 %IX00002 ….
Выходы модуля дискретного вывода   %000001 %000002 …. QX %QX00001 %QX00002 ….
Входы модуля аналогового ввода   %300001 %300002 …. IW %IW00001 %IW00002 ….
Выходы модуля аналогового вывода   %400001 %400002 …. QW %QW00001 %QW00002 ….
           

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

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

Переменным должно быть присвоено уникальное имя. Переменные делятся на адресные (локализованные) и безадресные (нелокализованные). Для адресных переменных должен быть указан адрес, по которому они размещаются в памяти. Для безадресных переменных адрес в явном виде не указывается.


Дата добавления: 2015-11-14; просмотров: 66 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
ОСНОВНЫЕ ОСОБЕННОСТИ| ЯЗЫК ФУНКЦИОНАЛЬНЫХ БЛОК-СХЕМ - FBD

mybiblioteka.su - 2015-2024 год. (0.008 сек.)