Category Archives: ПЛК-системы

Книги и справочники

1. Гайнутдинов К.Р. Простое и понятное программирование в CoDeSys

Книга простым языком рассказывает о первых шагах в освоении  CoDeSys и ОВЕН ПЛК. Автор более 5 лет сам ведет курсы по CoDeSys, поэтому не только знает саму среду программирования, но и умеет доносить свои знания до слушателей. Будет полезна новичкам.

Часть 1.

Часть 2.

Часть 3. 

2. Петров И.В. Программируемые контроллеры.2004

Замечательное справочное руководство по CoDeSys от официального дистрибьютора CoDeSys в России. Обзор возможностей СoDeSys, включая языки, операторы, структуру проекта и многое другое. Скачать

3. Справочник инженера АСУТП Федоров 2008г

Большое и правильное исследование того, как следует организовывать системы АСУТП. Настольная книга всякого уважающего себя инженера АСУ. Скачать

4. Компьютерное управление технологическим процессом, экспериментом, оборудованием В.В.Денисенко 2009-600R

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

5. Клюев А.С. Проектирование систем автоматизации технологических процессов.1990

Классика не стареет. Сам по ней учился. Скачать

6. Наладка средств автоматизации и автоматических систем регулирования. Под ред.А.С.Клюева.1989

Тоже из классики. Особенно интересно для пуско-наладчиков. Скачать

7. Усольцев А.А. Частотное управление асинхронными двигателями/Учебное пособие. СПб: СПбГУ ИТМО, 2006

Хорошее академическая книга по управлению ПЧ. Скачать

8. Гайнутдинов К.Р. ПР, вводный курс.

Подробное пошаговое описание работы с программируемым реле ОВЕН для новичков.

ПР, вводный курс. Глава 1. Скачать

ПР, вводный курс. Глава 2. Скачать

ПР, вводный курс. Глава 3. Скачать

ПР, вводный курс. Приложение А. Скачать

ПР, вводный курс. Приложение В. Скачать

Скачать

Мой блог находят по следующим фразам

Редактирование команд FBD Step7

Установка формата для FBD

Вы можете установить формат для создания программ в виде функционального плана. Выбираемый вами формат (А4 книжная ориентация/альбомная ориентация/максимальный размер) оказывает влияние на количество элементов функционального плана, которые могут быть отображены в одной цепи.

1. Выберите команду меню Options > Customize [Параметры > Настройка].

2. В появившемся диалоговом окне выберите закладку «LAD/FBD (или LAD/FBD)».

3. Выберите требуемый формат из окна списка «Layout [Размещение]».

Введите требуемый размер формата.

Настройки для печати

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

Настройки в таблице «LAD/FBD»

В таблице «LAD/FBD» куда Вы попадаете с помощью команды меню Options > Customize [Параметры > Настройка], Вы можете выполнять основные настройки, например, установить размер и ширину адресного поля.

Правила ввода элементов функционального плана

Сегмент функционального плана может состоять из ряда элементов. Все элементы должны быть соединены (IEC 1131–3).

При программировании в FBD Вы должны соблюдать ряд руководящих указаний. Сообщения об ошибках проинформируют Вас о любых сделанных вами ошибках.

Ввод и редактирование адресов и параметров

Когда вставляется элемент FBD, то в качестве маркеров для адресов и параметров используются символы ??? и … .

  • Красные символы ??? стоят вместо адресов и параметров, которые должны быть подключены.
  • Черные символы … стоят вместо адресов и параметров, которые могут быть подключены.

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

Размещение блоков

Стандартные блоки (триггеры, счетчики, таймеры, математические операции и т. д.) могут быть добавлены к блокам с двоичными логическими операциями (&, >=1, XOR). Исключением из этого правила являются блоки сравнения.

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

  

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

  • установка значения счетчика
  • назначение параметров и прямой счет, назначение параметров и обратный счет
  • назначение параметров и запуск импульсного таймера, назначение параметров и запуск таймера с удлиненным импульсом
  • назначение параметров и запуск таймера с задержкой включения/выключения.

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

Блоки, требующие булевой логики:

  • выход, установка выхода, сброс выхода _/[R]
  • промежуточный выход _/[#]_/, положительный фронт _/[P]_/,отрицательный фронт _/[N]_/
  • все блоки счетчиков и таймеров
  • переход по отрицанию _/[JMPN]
  • включение главного управляющего реле _/[MCR<]
  • сохранение VKE (RLO) в бите BR _/[SAVE]
  • возврат _/[RET]

Блоки, не допускающие булевой логики:

  • активизация главного управляющего реле [MCRA]
  • деактивизация главного управляющего реле [MCRD]
  • открытие блока данных [OPN]
  • выключение главного управляющего реле [MCR>]

Все остальные блоки могут как иметь булевы логические операции, так и не иметь их.

Деблокирующий вход/Деблокирующий выход

Деблокирующий вход «EN» и деблокирующий выход «ENO» блоков может быть подключен, но это не обязательно.

Удаление и замена

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

Константы

Двойные линии не могут назначаться константам (например, TRUE или FALSE). Вместо этого, используйте адреса типа данных BOOL.

Мой блог находят по следующим фразам

Правила ввода элементов в LAD Step7

Сегмент контактного плана может состоять из ряда элементов, расположенных в нескольких ветвях. Все элементы и ветви должны быть соединены; левая шина не считается соединением(IEC 1131–3).

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

Закрытие сегмента LAD

Каждый сегмент контактного плана должен быть закрыт с помощью катушки или блока. Для закрытия сегмента не должны использоваться следующие элементы контактного плана:

  • блоки сравнения
  • катушки для промежуточных выводов _/(#)_/
  • катушки для анализа положительного _/(P)_/ или отрицательного _/(N)_/фронта.

 Размещение блоков

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

Размещение катушек (coils)

Катушки размещаются автоматически на правом конце сегмента, образуя конец ветви.

Исключения: Катушки для промежуточных выводов _/(#)_/ и для анализа положительного _/(P)_/ или отрицательного _/(N)_/ фронта не могут размещаться ни на левом, ни на правом краю ветви. Не разрешаются они и в параллельных ветвях.

Некоторые катушки требуют булевой логической операции, а некоторые катушки не должны иметь булевой логической операции.

Катушки, требующие булевой логики.

  • выход _/( ), установка выхода _/(S), сброс выхода _/(R)
  • промежуточный выход _/(#)_/, положительный фронт _/(P)_/, отрицательный фронт _/(N)_/
  • все счетчики и таймеры
  • переход по отрицанию _/(JMPN)
  • включение главного управляющего реле _/(MCR<)
  • сохранение VKE (RLO) в бите BR _/(SAVE)
  • возврат _/(RET)

Катушки, не допускающие булевой логики:

  • активизация главного управляющего реле _/(MCRA)
  • деактивизация главного управляющего реле _/(MCRD)
  • открытие блока данных _/(OPN)
  • выключение главного управляющего реле _/(MCR>)

Все остальные катушки могут как иметь булеву логику, так и не иметь ее.

Следующие катушки не должны использоваться как параллельные выходы:

  • переход по отрицанию _/(JMPN)
  • переход _/(JMP)
  • вызов из катушки _/(CALL)
  • возврат _/(RET)

Деблокирующий вход/Деблокирующий выход

Деблокирующий вход «EN» и деблокирующий выход «ENO» блоков может быть подключен, но это не обязательно.

Удаление и замена

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

Режим замены может использоваться для простой замены элементов одного и того же типа.

Параллельные ветви

  • Чертите параллельные ветви слева направо.
  • Параллельные ветви открываются вниз и закрываются вверх.
  • Параллельная ветвь всегда открывается после выделенного элемента контактного плана.
  • Параллельная ветвь всегда закрывается после выделенного элемента контактного плана.
  • Для удаления параллельной ветви удалите все элементы в этой ветви.
  • Когда в ветви удаляется последний элемент, ветвь удаляется автоматически.

Константы

Двойные линии не могут назначаться константам (например. TRUE или FALSE). Вместо этого, используйте адреса типа данных BOOL.

Недопустимые логические операции в контактном плане

Поток энергии справа налево

Нельзя создавать ветви, которые могут вызвать поток энергии в противоположном направлении. Пример показан на следующем рисунке: при нулевом состоянии сигнала на I 1.4 поток энергии через I 6.8 был бы направлен справа налево, что недопустимо.

 

Короткое замыкание

Не могут создаваться ветви, вызывающие короткое замыкание. Пример показан на следующем рисунке:

 

Мой блог находят по следующим фразам

Секрет популярности корпусной мебели

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

Самым большим преимуществом корпусной мебели является её модульность и мобильность, т. е. её легко переставлять с места на место. Если вы делаете ремонт в спальне, то можно с лёгкостью перетащить все наименования из одной комнаты в другую предварительно выгрузив все вещи оттуда. Сегодня данный вид изделий производится из самых разных материалов. Самые популярные — это ДСП, МДФ, ДВП и натуральная древесина. Стоит заметить, что качественная корпусная мебель очень часто используется для офисных помещений в силу своей компактности. Если вы хотите купить несколько изделий для своей новой квартиры то есть резон рассмотреть такую альтернативу как мебель на заказ. Это позволит вам выбрать цветовую гамму, материал и даже функциональное назначение.
Также замечательным вариантом является встроенная мебель, которая отлично подходит для узких коридоров и небольших помещений. С помощью таких мебельных изделий владелец сможет не только избавиться от захламлённости квартиры, но и придать помещениям современный вид. Вместительная и элегантная мебель подобного плана украсит любой дом. Однако нужно очень внимательно выбирать фирму, которая способна поручиться за качество изготавливаемых наименований. К сожалению, сегодня появилось очень много посредников, которых заботит только уровень продаж и обычно изделия от перекупщика стоят намного дороже. Однако их можно очень просто проверить. Просто задайте им вопрос о гарантийном сроке и о скорости возврата бракованных наименований. Если они уходят от ответа или «мнутся» то перед вами посредник. Ищите именно производителя, которые сможет обеспечить качественную доставку мебели к вам домой.

Мой блог находят по следующим фразам

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

Язык программирования Ladder Logic (LAD)

Графический язык программирования Ladder Logic (LAD) основан на представлении коммутационных схем. Элементы коммутационной схемы, такие как нормально открытые контакты и нормально замкнутые контакты, группируются в сегменты. Один или несколько сегментов образуют раздел кодов логического блока.

Создание программ в нем выполняется в редакторе пошагового ввода.

 пример сегментов в LAD

 Язык программирования. Функциональный план (FBD)

Язык программирования Функциональный план (FBD) использует для представления логики графические логические символы, известные из булевой алгебры. Сложные функции, такие как математические, также могут быть представлены непосредственно в соединении с логическими блоками.

Пример сегмента в FBD

 Язык программирования. Список команд (STL)

Представление языка программирования Список команд (STL) – это текстовый язык, подобный машинному коду. Каждая команда соответствует шагу работы CPU при обработке программы. Несколько команд могут быть связаны друг с другом, образуя сегменты.

Пример сегментов в Списке команд

 Язык программирования Список команд включен в стандартный пакет программного обеспечения STEP 7. Вы можете редактировать блоки S7 в этом представлении языка с помощью редакторов пошагового ввода или создавать свою программу с помощью редактора, работающего в режиме свободного редактирования в исходном файле на STL, а затем компилировать ее в блоки.

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

Язык программирования SCL (Structured Control Language [Структурированный язык управления]), доступный как дополнительный пакет, − это текстовый язык высокого уровня, определение которого в целом соответствует стандарту Международной электротехнической комиссии IEC 1131-3. Этот паскалеобразный язык благодаря своим командам высокого уровня упрощает в сравнении с STL программирование циклов и условных переходов. Поэтому SCL пригоден для расчетов, включая формулы, сложные оптимизационные алгоритмы или управление большими объемами данных.

 Создание программ на S7 SCL производится в режиме свободного редактирования в исходном файле.

Пример:

FUNCTION_BLOCK FB20

VAR_INPUT

ENDVAL: INT;

END_VAR

VAR_IN_OUT

IQ1 : REAL;

END_VAR

VAR

INDEX: INT;

END_VAR

BEGIN

CONTROL:=FALSE;

FOR INDEX:= 1 TO ENDVALUE DO

IQ1:= IQ1 * 2;

IF IQ1 >10000 THEN

CONTROL = TRUE

END_IF

END_FOR;

END_FUNCTION_BLOCK

Язык программирования S7 Graph (последовательное управление)

Графический язык программирования S7 Graph, доступный в виде дополнительного пакета, дает возможность программирования устройств последовательного управления. Это включает в себя создание последовательности шагов, определение содержания каждого шага и определение переходов. Вы программируете содержание шагов на специальном языке программирования (похожем на список команд) и вводите переходы в редакторе цепных логических схем (модернизированная версия языка КОР).

S7 Graph очень ясно представляет сложные последовательности и делает программирование и поиск неисправностей более эффективными.

Пример последовательного управления в S7 Graph

 Создаваемые блоки

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

Исходный файл

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

Язык программирования S7 HiGraph (граф состояний)

Графический язык программирования S7 HiGraph, доступный в качестве дополнительного пакета, позволяет программировать ряд блоков в вашей программе как графы состояний. Это разделяет вашу установку на отдельные функциональные агрегаты, каждый из которых может принимать различные состояния. Для изменения состояний определяются переходы. Вы описываете действия, поставленные в соответствие состояниям, и условия для переходов между состояниями на языке, похожем на список команд.

Вы создаете граф для каждого функционального агрегата, который описывает поведение этого агрегата. Графы для установки объединяются в группы графов. Для синхронизации функциональных агрегатов между графами может производиться обмен сообщениями. Ясное представление переходов между состояниями функционального агрегата делает возможным систематическое программирование и облегчает поиск ошибок. В отличие от S7 Graph, в S7 HiGraph в каждый момент времени активно только одно состояние (в S7 Graph: «шаг»). На следующем рисунке показано, как создавать графы для функциональных агрегатов (пример).

 

 Группа графов хранится в исходном файле HiGraph в папке «Source Files [Исходные файлы]» под программой S7. Затем исходный файл компилируется в блоки S7 для программы пользователя.

Синтаксис и формальные параметры проверяются на последнем элементе графа (при закрытии рабочего окна). Адреса и символы проверяются при компиляции исходного файла.

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

Дополнительный пакет программного обеспечения CFC (Continuous Function Chart [Схема непрерывных функций]) – это язык программирования, используемый для графического связывания сложных функций.

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

Созданная программа хранится в виде схем CFC. Они находятся в папке «Charts [Схемы]» под программой S7. Эти схемы затем компилируются для формирования блоков S7 для программы пользователя. Возможно, Вы сами захотите создать подлежащие соединению блоки, в этом случае Вы программируете их для SIMATIC S7 с помощью одного из языков программирования S7, а для SIMATIC М7 – с помощью С/С++.

Мой блог находят по следующим фразам

Туры в Меденин, Тунис

Тунис — популярное туристическое направление в Африке. Это одна из самых цивилизованных стран Черного континента. Сегодня на ее курортах можно отдохнуть недорого. Путешественникам предлагаются горящие туры в Тунис в августе и до октября. Весной и в начале лета также можно приобрести путевки со скидкой. Такой вариант путешествия подойдет легким на подъем туристам, готовым за пару дней собраться в путь.

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

Меденин привлекает удобным месторасположением. От него недалеко до экскурсионных жемчужин Джербы и Магриба. Знаменит историческими памятниками и сам город. Также он радует гостей развитой инфраструктурой. Меденин нередко называют идеальным по соотношению цены и качества отдыха городом в Тунисе. В отпуск в средиземноморский туристический центр отправиться можно в любое время года. Для пляжного отдыха подойдет период с мая по октябрь. «Холодный» сезон считается в Меденине преимущественно экскурсионным.

Город интересен богатой историей. За время своего существования он многое пережил. Меденином владели карфагеняне, римляне, затем берберы. Колониальная история города также безоблачной не была. Но Меденин стойко преодолел превратности судьбы, сегодня является мирным, очень гостеприимным и комфортным для отдыха местом. В архитектуре города преобладают римские черты. Также велико колониальное наследие.

Но известность Меденину как экскурсионному центру принесли берберские памятники. Любителям истории рекомендуется осмотреть местные ксары. Древние берберские «многоэтажки» — главная достопримечательность самого города и его живописных окрестностей. Большинство ксар расположено на холмах в пустыне. Несколько строений сохранилось на берегу Средиземного моря. Наибольшее внимание туристов привлекает состоящий из отдельных жилищ-горф квадратный ксар.

Лучше всего сохранились древние постройки на горе Меденин. Поднявшись на нее, туристы смогут увидеть множество небольших ксар. Сегодня останки поселения находятся под охраной властей Туниса, считаются культурной ценностью. Один из ксаров украшает центр современного Меденина. Горфы здесь превращены в музеи. Также на территории ксара открыты сувенирные лавки. В них вы сможете приобрести берберские украшения, предметы быта, изготовленные умелыми мастерами.

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

Тех, кто желает ближе познакомиться с арабской экзотикой, также гостеприимно встретит загадочная Африка. Туристам предлагаются недорогие путевки в Марокко: эта страна знаменита шикарными пляжами, красотой пустынных пейзажей, развитой инфраструктурой. Марокко придется по душе любителям экскурсионного отдыха и ценителям комфорта. Арабская Африка никого не оставит равнодушным.

Мой блог находят по следующим фразам

Мой блог находят по следующим фразам

Работа с архивом в CoDeSys 3.5

Рассмотрим возможности создания и управления архивом в СоDeSys 3.5. В качестве примера будем по таймеру опрашивать набор переменных, изменяющихся на фиксированный шаг в каждом цикле ПЛК.

 

PROGRAM PLC_PRG

VAR

Arc1_1:GetData; //блок формирования строки и заголовка

Arc1_2:WriteData; // блок записи в архив

strT:STRING:=’bla bla bla’; //некоторая текстовая переменная

in1:BYTE; //некоторые внутренние переменные

in2: WORD;

in3:DWORD;

b:BOOL; //вспомогательная переменная

tp1:ton; // таймер для задания периода архивации

END_VAR

Сама программа:

b:=TRUE; //задаем ее каждый цикл TRUE для работы таймера

in1:=in1+1; // некоторые операции с данными

in2:=in2+2;

in3:=in3+123;

IF tp1.Q THEN

b:=FALSE; // обеспечит перезапуск таймера(его циклическую работу)

END_IF

Arc1_1.SetHead(); //разрешаем составить заголовок (обязательно ставить перед объявление переменных для архивирования)

Arc1_1( Name:=’in1′, Tip:=1, Znachenie:=ADR(in1)); // записываем значение переменной «in1»

Arc1_1( Name:=’in2′, Tip:=2, Znachenie:=ADR(in2));

Arc1_1( Name:=left(‘in3 name bolee 15 sim’,15), Tip:=3, Znachenie:=ADR(in3)); // имя переменной обязательно должно быть меньше 16 символов, если больше, то может вызвать ошибку

Arc1_1( Name:=’text’, Tip:=4, Znachenie:=ADR(strT));

//запишем все эти данные в архив, разрешение на работу свяжем с таймером, данныt берем из ФБ «Arc1_1», имя архива будет «ar1», и хранится будет в папке «/var/log/»(путь надо завершать косой чертой), режим оставляем по умолчанию равны «0»

Arc1_2(Enable:=tp1.Q, ArcPnt:=adr(Arc1_1), NameArc:=’ar1′, Path:=’/var/log/’);

TP1(IN := b, PT:= T#1M); //запустим таймер

На ПЛК получим файл(ы) следующего вида

Как видно к имени архива добавилась дата.

Со следующим содержанием:

//заголовок

#000 size=001 name=in1 #001 size=002 name=in2 #002 size=004 name=in3 name bolee #003 size=015 name=text

//данные

2010.12.03 16.05.22 #000=66 #001=00CC #002=00003102 #003=bla bla bla

2010.12.03 16.05.27 #000=CC #001=0198 #002=00006204 #003=bla bla bla

2010.12.03 16.05.32 #000=32 #001=0264 #002=00009306 #003=bla bla bla

2010.12.03 16.05.37 #000=98 #001=0330 #002=0000C408 #003=bla bla bla

2010.12.03 16.05.42 #000=FE #001=03FC #002=0000F50A #003=bla bla bla

2010.12.03 16.05.47 #000=64 #001=04C8 #002=0001260C #003=bla bla bla

2010.12.03 16.05.52 #000=CA #001=0594 #002=0001570E #003=bla bla bla

2010.12.03 16.05.57 #000=30 #001=0660 #002=00018810 #003=bla bla bla

2010.12.03 16.06.02 #000=96 #001=072C #002=0001B912 #003=bla bla bla

2010.12.03 16.06.07 #000=FC #001=07F8 #002=0001EA14 #003=bla bla bla

2010.12.03 16.06.13 #000=62 #001=08C4 #002=00021B16 #003=bla bla bla

2010.12.03 16.06.18 #000=C8 #001=0990 #002=00024C18 #003=bla bla bla

2010.12.03 16.06.23 #000=2E #001=0A5C #002=00027D1A #003=bla bla bla

и т.д.

Описание и назначение библиотеки

Библиотека ArchivatorOwenLib предназначена для ведения архива данных и записи его в энергонезависимую память контроллера (внутреннюю или внешнюю). Для этого используется два ФБ: первый блок «GetData» формирует строку для записи, на него заводятся те переменные, которые мы хотим архивировать; второй блок «WriteData» осуществляет запись сформированной строки в архив, в перспективе осуществляет несколько режимов ведения архива (пока доступен только один: каждый день создается новый файл).

Описание ФБ

Блок «GetData»

Входы:

• Name — имя переменной, максимальная длина15 символов, используется при формирование заголовка архива, если включен режим формирования заголовка;

• Tip – тип записываемой переменной: 0-REAL, 1-Byte, 2-Word, 3-DWord, 4-String (максимальная длина такая же, как у имени – 15 сиволов )

• Znachenie -значение переменной

Выходы:

• ErrCode -код ошибки (255-переполнение строки данных, 254-переполнение заголовка, 253-переполнение и строки данных и заголовка, 0-ошибок нет); если ошибка случилось, то блок продолжает работать, только новые данные не будут добавлены в конечную строку данных или заголовка.

• StrOut – сформированная строка данных определенного формата (номер переменной в виде #xxx и значение в шеснадцатиричной форме записи, например #005=00A1, «#»Номер переменной ПРОБЕЛ «=»Значение переменной в зависимости от типа)

• StrOutHead –сформированная строка заголовка определенного формата ( «#»Номер переменной ПРОБЕЛ «size=»Размер в байтах ПРОБЕЛ«name=» имя переменнойПРОБЕЛ)

Блок «WriteData»

Входы:

• Enable – разрешение на работу

• ArcPnt – ссылка на ФБ формирования заголовка и строки данных «GetData»

• NameArc – имя архива(максимум 15 символов)

• Path – путь к папке, в которой будет храниться архив (в конце должна стоять косая черта, например: /var/log/)

Для записи данных на флеш-карту или SD-карту памяти у контролеров ПЛК304/308 путь выглядит следующим образом:

SD: « /mnt/mmc/»

USB: «/mnt/usb1(2)/»

• Mode – режим работы (0-каждый день создается новый файл архива, дата добавляется в имя архива)

Выходы:

• ErrCode –код ошибки (0-ошибок нет, 1-не удалось создать файл, 2-не удалось открыть или файл занят, 3- не удалось записать), если ошибка случилось, то происходит выход из ФБ

 

Удаленный опрос тепловычислителя ВКТ-7 программой «ВКТ7Easy2 v3.44» при помощи модема ОВЕН ПМ01

Настройка модемов.

Для настройки модема, как со стороны ВКТ так и со стороны ПК нужно:

1) Подключить модем к компьютеру через прямой кабель (например, КС5) или используя преобразователь интерфейса (например, ОВЕН АС3-М, АС4).

2) Соединиться с ним с помощью программы «HyperTerminal»

Для WindowsXP: ПУСК-Программы-Стандартные-Связь.

3) Создать новое подключение, выбрать COM-порт, к которому непосредственно подключен модем.

4) Настроить порт. Для заводских настроек модема, настройки порта следующие:

  • Скорость – 9600
  • Биты данных – 8
  • Контроль четности – нет
  • Число стоп-битов – 1
  • Управление потоком – нет

Настройки порта

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

Распайка провода ПМ01 – ВКТ-7 и подключение.

Интерфейс RS-232.

Для организации связи необходимо чтобы на стороне ВКТ стоял модемы с интерфейсом RS-232 (COM — порт), поэтому рекомендуем использовать модемы модификации: ПМ01-х.АВ. Со стороны ПК могут стоять модемы как с интерфейсом RS-232 так и RS-485.

Для подключения модема к ПК можно использовать кабель КС5 (достаточно трехпроводной схемы), к прибору – кабель с указанной выше распайкой. Интерфейсная плата в ВКТ имеет внешнее питание, поэтому необходимо использовать внешний блок питания на 9 В. или 12 В (например, ОВЕН БП15Б-Д2-12). Схема питания:

Общая распайка кабеля:

Распайка кабеля

 

3. Организация обмена.

Для опроса необходимо использовать программу «ВКТ7Easy2 v3.44» (от производителя тепловычислителя).

Сначала необходимо настроить порт ПК. Для этого в меню «Настройки» надо выбрать пункт «Настройки канала связи», в открывшемся окне указать номер COM порта, к которому подключен модем, скорость 9600. В качестве строки инициализации необходимо указать «АТ».

Настройка канала связи

 

Далее необходимо добавить узел учета тепла с модемным соединением и указать номером модема.

Настройки узла учета тепла

 

Далее необходимо настроить содержимое узла учета, а именно указать тип интерфейса (RS-232) и сетевой адрес прибора (в данном случае «1»). Для этого необходимо выбрать созданный узел и нажать на кнопку «ОК».

Настройки интерфейса

 

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

Лог обмена данными

 

Примечание.

Если в процессе обмена довольно часто происходят перезапросы, рекомендуется в окне «Настройки»/«Настройки канала связи» задать следующие параметры: аппаратный тайм-аут на чтение – 1000мс, тайм-аут на модемное соединение – 300с.

 

Работа с подменю ПЛК63,73

Подмодули (подэлементы) пользовательских параметров могут добавляться или удаляться пользователем в модулях (элементах) конфигурации «SubMenu (Ветки пользовательского меню)». Настройка пользовательских параметров производится аналогично настройке фиксированных модулей. Процедура добавления параметров проиллюстрирована на рисунке 1.

Рисунок 1 – Подключение нового уровня вложенности либо нового пользовательского параметра

При добавлении пользовательских параметров требуется задавать их тип – «Конфигурационный» либо «Оперативный» (см. рисунок 2). Конфигурационные пользовательские параметры – значение этих параметров считывается из EEPROM при запуске контроллера. Конфигурационные пользовательские параметры доступны для редактирования с передней панели и для чтения / записи по сети (при условии установленных атрибутов). Введенные в ПО CoDeSys (в окне режима «Конфигурация ПЛК (PLC Configuration)») новые значения этих параметров не сохраняются в EEPROM и не доступны по сети RS.

Введенные с передней панели ПЛК или по сети значения конфигурационных параметров сохраняются в EEPROM, и при выключении питания будут сохранены. Оперативные пользовательские параметры доступны для редактирования с передней панели, по сети (при условии установленных атрибутов) и из ПО CoDeSys (в окне режима «Конфигурация ПЛК (PLC Configuration)») при редактировании значения канала в рамках установленных минимального и максимального значения. Значения оперативных параметров сохраняются в ОЗУ, и при выключении питания последнее значение параметра не будет сохранено. При включении питания значение параметра примет значение, установленное по умолчанию.

Рисунок 2 – Задание типа пользовательского параметра

 Подэлемент «SubMenu (Ветка)»

В модули «SubMenu (Ветки)» можно добавлять подмодули (подэлементы) «SubMenu» (Ветка), представляющие собой вложенные ветви меню для объединения параметров по группам (веткам). Вложенность Submenu может достигать четырех уровней.

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

В модули «SubMenu (Ветки)» можно добавлять подэлементы (пользовательские параметры) типов (см. рисунок 7.20), перечисленных ниже.

Параметры типа «DateTimeP», «DateP», «TimeP» не влияют на задание значений часов реального времени ПЛК, а служат для передачи в пользовательскую программу информации об определенном времени, например – о времени включения какого-то устройства или о времени и дате перехода в специальный режим.

«FloatP» – подэлемент, задающий число с плавающей точкой типа Real (IEEE Float 32); имеет канал типа «Real». Для задания номера регистра по протоколу Modbus следует учитывать, что значение должно быть четным, т.к. параметр занимает 2 регистра (4 байта).

«IntP» – подэлемент, задающий целое число в диапазоне от 0 до 65535; имеет канал типа «Int».

«ByteP» – подэлемент, задающий значение стандартного типа Byte.

«DateTimeP» – подэлемент, содержащий дату и время; имеет канал типа DWord, в котором хранится значение времени и даты в специальном формате.

Значение параметра задается в формате ДД.ММ.ГГГГ ЧЧ:ММ:СС, см. рисунок 3. Максимальное и минимальное значение для данного параметра не устанавливается.

Для преобразования данных подэлемента «DateTimeP» в стандартный формат используется специальная функция «DT_TO_SystemTimeDate» из библиотеки «Owen_specific_tools», которая возвращает указатель на структуру «SystemTimeDate» из библиотеки «SYSLIBTIME». Для обратного преобразования используется функция «SystemTimeDate_TO_DT» из той же библиотеки («Owen_specific_tools»).

Рисунок 3 – Формат значения параметра «DateTimeP»

 − «DateP» – подэлемент, устанавливающий дату; имеет канал типа DWord, в котором хранится значение даты в специальном формате.

Значение параметра задается в формате ДД.ММ.ГГГГ. Максимальное и минимальное значение для данного параметра не устанавливаются. Для преобразования данных параметра «DataP» в стандартный формат используется специальная функция «DT_TO_SystemTimeDate» из библиотеки «Owen_specific_tools», которая возвращает указатель на структуру «SystemTimeDate» из библиотеки «SYSLIBTIME». Для обратного преобразования используется функция «SystemTimeDate_TO_DT» из той же библиотеки («Owen_specific_tools»).

«TimeP» – подэлемент, задающий время; имеет канал типа DWord, в котором хранится значение времени в специальном формате. Значение параметра задается в формате ЧЧ:ММ:СС. В аналогичном формате задается минимальное и максимальное значение.

Для преобразования данных параметра TimeP в стандартный формат используется специальная функция «DT_TO_SystemTimeDate» из библиотеки «Owen_specific_tools», которая возвращает указатель на структуру «SystemTimeDate» из библиотеки «SYSLIBTIME». Для обратного преобразования используется функция «SystemTimeDate_TO_DT» из той же библиотеки («Owen_specific_tools»).

«BoolP» – подэлемент, задающий булевский параметр: состояние «Вкл.» (Включено) или «Выкл.» (Выключено); имеет канал типа Bool. Максимальное и минимальное значение для данного параметра не устанавливается.

«StringP» – подэлемент, задающий строку; имеет канал типа String 16. Параметр может использоваться для передачи в программу ПЛК строковой информации по сети. Параметр не доступен для изменения с передней панели.

Если установлен флажок переключателя «Разрешить изменения значения по сети», то параметр доступен для изменения его по сети и из программы ПЛК.

Если флажок не установлен, то в параметр можно записывать только значения из программы ПЛК.

Если для параметра задан тип «Конфигурационный», то параметр будет отображать статическую строку, недоступную для редактирования ни с передней панели ПЛК, ни по сети.

«EnumP» – подэлемент, имеющий вид списка с набором заранее определенных значений; при редактировании параметра с передней панели на ЖКИ отображаются строки из списка. Список изначально определен в ПО контроллера и не может быть изменен пользователем. Модуль имеет канал типа Byte, в котором содержится позиционный номер выбранного элемента списка.

Для параметра можно задавать минимальное и максимальное значения, и значение по умолчанию, которое должно входить в установленные ограничения. Для удобства ориентации по списку при конфигурировании показывается позиционный номер выбранной строки списка (при отображении на ЖКИ номер не показывается), см. рисунок 4.

Рисунок 4 – Формат значения параметра «EnumP»

«PointP» – подэлемент задает точку графика – соотношение значений переменных (X и Y). Добавив требуемое количество подэлементов, можно определить зависимость (график) Y=f(X). Значение вводится в поле «Значение /По умолчанию» в формате: «Координата Х; Координата Y». Диапазон задания координат Х и У от минус 3276.7 до 3276.7. Модуль имеет канал типа DWord имеющий формат: 4-х байтовое поле, в котором первые 2 байта – это значение координаты Y, вторые два байта – координаты X, значения которых умножено на 10 в степени, заданной параметром «Знаков после запятой»(см. рисунок 5).

Значение параметра «Знаков после запятой» (0, 1, 2 или 3) задается для обеих координат. На ЖКИ будет отображаться столько знаков после запятой, сколько указанно в этом параметре. Например, если в поле «По умолчанию» указаны значения 11; 12.5 , а параметру «Знаков после запятой» задано значение 2, то на ЖКИ отобразятся значения 11.00 и 12.50.

Для преобразования координаты точки графика в стандартный формат используется специальная функция «DWORD_TO_POINT» из библиотеки «Owen_specific_tools». Для преобразования из стандартного формата в фор-мат «DWORD» используется функция «POINT_TO_DWORD» из библиотеки «Owen_specific_tools».

Рисунок 5 – Формат значения параметра «PointP»

 − «Graph8P», «Graph5P», и «Graph3P» – подэлемент задает совокупность точек графика – соотношения значений переменных (X и Y) в точках, количество которых определяется наименованием выбранного подэлемента – 8, 5 или 3,. Добавив требуемое количество подэлементов, можно определить зависимость (график) Y=f(X). Каждый подмодуль представляет из себя «ветку» конфигурации, содержащую группу параметров (каналов) и параметр – количество точек.

Рисунок 6 – Формат значения параметра «Graph8»

 Число одновременно отображаемых переменных в окнах отладки и/или визуализации сокращено. Точное количество переменных для отладки зависит от их типа и от частоты их обновления, но в среднем количество переменных для отладки и визуализации не должно превышать 30-50 штук. Это ограничение не относится к общему количеству переменных, используемых в проекте.

Использование OPC-драйверов «ОВЕН»

OPC-драйверы, разработанные компанией ОВЕН, предназначены для подключения приборов фирмы ОВЕН к системам SCADA.

Драйверы реализованы в виде двух модулей: OWEN-RS232 и OWEN-RS485.

Они применяются для приборов фирмы ОВЕН, поддерживающих сетевой интерфейс «токовая петля» (для преобразования в сеть RS-232 используется адаптер АС2) и поддерживающих сетевой интерфейс RS-485.

Для преобразования в сеть RS232 или USB можно использовать адаптеры фирмы ОВЕН – АС3, АС3-М, АС4,– или других производителей.

При работе могут быть использованы протоколы OWEN, ModBus-RTU или ModBus-ASCII.

Перед началом работы пользователь должен задать конфигурацию своих приборов и режим работы порта. К адаптеру AC-2 можно подключить до 8 приборов. К одной сети RS485 подключается до тридцати двух приборов (шлейфом, без применения репитера). Список приборов, которые можно подключить к серверам:

1) OWEN-RS232:

− Задатчик-регулятор МПР51

− Измеритель ТРМ0 PiC

− Измеритель УКТ38-В

− Измеритель УКТ38-Щ4

− Измеритель регулятор ТРМ1 PiC

− Измеритель регулятор ТРМ10 PiC

− Измеритель регулятор ТРМ12 PiC

− Измеритель регулятор ТРМ5 PiC

− Многоканальный регулятор ТРМ32

− Многоканальный регулятор ТРМ33

− Многоканальный регулятор ТРМ34

− Многоканальный регулятор ТРМ38

2) OWEN-RS485:

− Многоканальный регулятор ТРМ138

− Универсальный двухканальный программный ПИД-регулятор ОВЕН ТРМ151

− Счетчик импульсов СИ8

− Прибор контроля положения ПКП1

− Модуль ввода аналоговый ОВЕН МВА8

− Модуль вывода управляющий ОВЕН МВУ8

− ПИД регулятор с универсальным входом ТРМ101

− Измеритель двухканальный с универсальными входами ОВЕН ТРМ200

− Измеритель-регулятор одноканальный с универсальным входом ОВЕН ТРМ201

− Измеритель-регулятор двухканальный с универсальными входами ОВЕН ТРМ202

− Контроллер приточной вентиляции ОВЕН ТРМ133

Для установки модулей OWEN-RS232 и OWEN-RS485 требуется запустить программу-инсталлятор (файл OwenOPC-setup.exe), содержащуюся на дистрибутивном диске.

Начиная с версии 1.0.0.5, OPC-сервера OWEN-RS232 добавлен тег, управляющий обменом на внешней шине (флаг активности OPC-сервера).

Имя тега «Status/active», тип BOOL. Запись в этот тег 1 (единицы) разрешает обмен по внешней шине, запись 0 (нуля) запрещает обмен.

Установка OPC-драйверов фирмы ОВЕН

Для установки модулей OWEN-RS232 и OWEN-RS485 требуется:

1) Запустить программу-инсталлятор (файл OwenOPC-setup.exe).

2) В открывшемся окне программы-инсталлятора – нажать кнопку «Далее». В последовательно открывающихся окнах мастера установки –выполнять инструкции, отображаемые в окне.

Рисунок 1 – Окно 1 программы – инсталлятора ОРС-сервера для приборов ОВЕН