DRAKON.SU

Текущее время: Четверг, 12 Декабрь, 2024 20:09

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 77 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Re: Новый дракон-редактор для ПЛК
СообщениеДобавлено: Четверг, 09 Ноябрь, 2023 21:32 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5948
Откуда: Москва
Подробное изложение предыдущего сообщения Алексея Муравицкого.

Практическая эксплуатация ДРАКОН-технологии с новым ДРАКОН-редактором
(на примере разработки Регулятора пропорционально интегрального)

Алексей Муравицкий писал(а):
Сегодня я хочу поделиться успехами в эксплуатации среды разработки Дракон компании ООО АМГТ-Ресурс (Автор Алексей Степанов)

Задача:

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

1. Для работы по плавному регулированию нужно написать компонент ПИ – регулятор (Пропорционально Интегральный)

Его я создал в первую очередь в нашей среде:

Вложение:
Рисунок1.png
Рисунок1.png [ 59.33 КБ | Просмотров: 4322 ]

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

2. Создал класс (процедуру) с именем ПИ_рег
Вложение:
Рисунок2.png
Рисунок2.png [ 3.22 КБ | Просмотров: 4322 ]


3. Задал переменные необходимые для работы
Вложение:
Рисунок3.png
Рисунок3.png [ 82.58 КБ | Просмотров: 4322 ]

Перед именем каждой переменной, я ставлю префикс, маленькими буквами, который обозначает тип переменной
в – Вещественные
л- Логические
вр – Время
ф – Функция
н -натуральное
и т.д
Имена переменных можно задавать как на русском, так и на английском, любыми регистрами (нижний, верхний), допускаются цифры, нижнее подчеркивание, и пробелы.
Те же правила действуют для имен объектов: Программа, Класс, Метод , Вставка, Свойство, Функция, Список глобальных переменных,
Назначение переменных я объяснять не буду, из названий и так понятно.
Единственное наверно непонятное имя «Иной» - я выбрал это слово, вместо слова «Предыдущий», только по тому что он короче, и в принципе отражает суть.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новый дракон-редактор для ПЛК
СообщениеДобавлено: Четверг, 09 Ноябрь, 2023 21:55 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5948
Откуда: Москва
Продолжение рассказа

4. Создание функций.
Функции — это блоки кода, выполняющие определенные операции. Если требуется, функция может определять входные параметры, позволяющие вызывающим объектам передавать ей аргументы.
При необходимости функция также может возвращать значение как выходное. Функции полезны для инкапсуляции основных операций в едином блоке, который может многократно использоваться. В идеальном случае имя этого блока должно четко описывать назначение функции.
Функция может вызываться или вызываться из любого количества мест в программе. Значения, передаваемые функции, являются аргументами, типы которых должны быть совместимы с типами параметров в определении функции.
Нет практического ограничения на длину функции, но хороший дизайн предназначен для функций, выполняющих одну хорошо определенную задачу. Сложные алгоритмы лучше разбивать на более короткие и простые для понимания функции, если это возможно.

Вложение:
Рисунок4.png
Рисунок4.png [ 170.26 КБ | Просмотров: 4321 ]


5. Первая функция предназначена для вычисления ошибки, с учетом зоны не чувствительности регулятора, если она равна не 0
Вложение:
Рисунок5.png
Рисунок5.png [ 48.29 КБ | Просмотров: 4321 ]

6. Декларируем необходимые переменные, декларировать их можно как сразу, так и по ходу разработки Дракон схемы, через окно «ассистента»:
Вложение:
Рисунок6.png
Рисунок6.png [ 31.63 КБ | Просмотров: 4321 ]

7. Далее разрабатываем дракон-схему функции «ф_Ошибка»:
Вложение:
Рисунок7.png
Рисунок7.png [ 31.63 КБ | Просмотров: 4321 ]

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новый дракон-редактор для ПЛК
СообщениеДобавлено: Четверг, 09 Ноябрь, 2023 23:29 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5948
Откуда: Москва
Продолжение 2 рассказа Алексея Муравицкого

8. Создаем функцию, которую я назвал ф_Такт вещ мс
Задача этой функции, вычислять время между вызовами, преобразовывать его в вещественное, в миллисекундах.
Вложение:
Рисунок8.png
Рисунок8.png [ 171.19 КБ | Просмотров: 4320 ]

9. Определяем переменные для функции ф_Такт вещ мс:
Вложение:
Рисунок9.png
Рисунок9.png [ 42.03 КБ | Просмотров: 4320 ]

10. И создаем алгоритм
Вложение:
Рисунок10.png
Рисунок10.png [ 43.93 КБ | Просмотров: 4320 ]

Здесь хочу обратить внимание на встроенную функцию «Время()», которая возвращает текущее время системы в миллисекундах, и встроенный оператор конверсии типов. В данном случае конверсия любого входящего типа, в тип Вещественное(32 бита).

11. Создание функции «ф_Интеграл» -предназначена для интегрирования по времени между вызовами.
Вложение:
Рисунок11.png
Рисунок11.png [ 252.04 КБ | Просмотров: 4320 ]

Здесь хочу обратить внимание на встроенную функцию «Время()», которая возвращает текущее время системы в миллисекундах, и встроенный оператор конверсии типов. В данном случае конверсия любого входящего типа, в тип Вещественное(32 бита)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новый дракон-редактор для ПЛК
СообщениеДобавлено: Пятница, 10 Ноябрь, 2023 11:14 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5948
Откуда: Москва
Продолжение 3 рассказа Алексея Муравицкого

12. Декларация переменных.
Вложение:
Рисунок12.png
Рисунок12.png [ 75.18 КБ | Просмотров: 4307 ]

13. Схема функции:
Вложение:
Рисунок13.png
Рисунок13.png [ 41.89 КБ | Просмотров: 4307 ]

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

14. Функция «ф Ограничение интеграла»
Вложение:
Рисунок14.png
Рисунок14.png [ 217.87 КБ | Просмотров: 4307 ]

15. Декларация переменных:
Вложение:
Рисунок15.png
Рисунок15.png [ 26.62 КБ | Просмотров: 4307 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новый дракон-редактор для ПЛК
СообщениеДобавлено: Пятница, 10 Ноябрь, 2023 11:33 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5948
Откуда: Москва
Продолжение 4 рассказа Алексея Муравицкого

16. Собственно, сама схема:
Вложение:
Рисунок16.png
Рисунок16.png [ 30.77 КБ | Просмотров: 4305 ]

17. Ну и последний модуль это «ф Расчет ПИ», задача этой функции посчитать Y, и ограничить его в пределах 0…100
Вложение:
Рисунок17.png
Рисунок17.png [ 283.92 КБ | Просмотров: 4305 ]

18. Декларация переменных:
Вложение:
Рисунок18.png
Рисунок18.png [ 44.68 КБ | Просмотров: 4305 ]

19. И схема:
Вложение:
Рисунок19.png
Рисунок19.png [ 47.14 КБ | Просмотров: 4305 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новый дракон-редактор для ПЛК
СообщениеДобавлено: Пятница, 10 Ноябрь, 2023 11:46 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5948
Откуда: Москва
Продолжение 5 рассказа Алексея Муравицкого

20. После создания необходимых функций собрал все их по порядку в класс (Процедуру ПИ_Рег):
Вложение:
Рисунок20.png
Рисунок20.png [ 49.54 КБ | Просмотров: 4305 ]

21. После завершения работы над классом (Процедурой) экспортирую проект
Вложение:
Рисунок21.png
Рисунок21.png [ 68.13 КБ | Просмотров: 4305 ]

22. В текущей версии можно экспортировать как весь проект, так и отдельные модули
Вложение:
Рисунок22.png
Рисунок22.png [ 25.81 КБ | Просмотров: 4305 ]

23. Экспортируется в виде сплошного текста в отдельное окно
Вложение:
Рисунок23.png
Рисунок23.png [ 76.03 КБ | Просмотров: 4305 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новый дракон-редактор для ПЛК
СообщениеДобавлено: Пятница, 10 Ноябрь, 2023 12:03 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5948
Откуда: Москва
Продолжение 6 рассказа Алексея Муравицкого

24. На сегодняшний день перенос кода в другую программу осуществляется копированием кода, я буду переносить в кодесис 3.5.17
Вложение:
Рисунок24.png
Рисунок24.png [ 5.03 КБ | Просмотров: 4305 ]

25. Код
Вложение:
Рисунок25.png
Рисунок25.png [ 86.29 КБ | Просмотров: 4305 ]

26. Далее компилирую в кодесис код и проверяю работу в режиме эмуляции:
Вложение:
Рисунок26.png
Рисунок26.png [ 9.83 КБ | Просмотров: 4305 ]

27. Результат достигнут, имеем необходимый блок для создания более обширного проекта
Вложение:
Рисунок27.png
Рисунок27.png [ 67.13 КБ | Просмотров: 4305 ]

28. Соответственно можно объявить экземпляр в другом классе или программе, и использовать его там.
Вложение:
Рисунок28.png
Рисунок28.png [ 38.5 КБ | Просмотров: 4305 ]

На этом заканчивается сообщение Алексея Муравицкого
от 28 октября 2023 года

Мы рассмотрели тему «Практическая эксплуатация ДРАКОН-технологии с новым ДРАКОН-редактором
(на примере разработки Регулятора пропорционально интегрального)»
.
На этом всё. Конец рассказа про Регулятор пропорционально интегральный.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новый дракон-редактор для ПЛК
СообщениеДобавлено: Пятница, 10 Ноябрь, 2023 16:13 

Зарегистрирован: Среда, 07 Январь, 2015 14:53
Сообщения: 1360
В рассказах Алексея Муравицкого сам язык ДРАКОН деформирован во всех деталях!!!

Не следует так искажать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новый дракон-редактор для ПЛК
СообщениеДобавлено: Воскресенье, 12 Ноябрь, 2023 12:18 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5948
Откуда: Москва
LKom писал(а):
В рассказах Алексея Муравицкого сам язык ДРАКОН деформирован во всех деталях!!!

Алексей Муравицкий писал(а):
Хотелось бы уточнение от уважаемого LKom, про какую итерацию языка Дракон идет речь: про язык программирования?

И в чем тогда искажение, если все конструкции описанные у Владимира Даниловича Сохранены и используются абсолютно так как они описаны?

Из Википедии — язык программирования
Цитата:
Язы́к программи́рования — формальный язык, предназначенный для записи компьютерных программ[1][2]. Язык программирования определяет набор лексических, синтаксических и семантических правил, определяющих внешний вид программы и действия, которые выполнит исполнитель (обычно — ЭВМ) под её управлением.

Со времени создания первых программируемых машин человечество придумало более восьми тысяч языков программирования (включая эзотерические). Каждый год их число увеличивается[3]. Некоторыми языками умеет пользоваться только небольшое число их собственных разработчиков, другие становятся известны миллионам людей. Профессиональные программисты могут владеть несколькими языками программирования.

Язык программирования предназначен для написания компьютерных программ, которые представляют собой набор правил, позволяющих компьютеру выполнить тот или иной вычислительный процесс, организовать управление различными объектами, и т. п. Язык программирования отличается от естественных языков тем, что предназначен для управления ЭВМ, в то время как естественные языки используются, прежде всего, для общения людей между собой. Большинство языков программирования использует специальные конструкции для определения и манипулирования структурами данных и управления процессом вычислений.

Как правило, язык программирования определяется не только через спецификации стандарта языка, формально определяющие его синтаксис и семантику [⇨], но и через воплощения (реализации) стандарта — программные средства, обеспечивающие трансляцию или интерпретацию программ на этом языке [⇨]; такие программные средства различаются по производителю, марке и варианту (версии), времени выпуска, полноте воплощения стандарта, дополнительным возможностям; могут иметь определённые ошибки или особенности воплощения, влияющие на практику использования языка или даже на его стандарт.



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новый дракон-редактор для ПЛК
СообщениеДобавлено: Воскресенье, 12 Ноябрь, 2023 15:14 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5948
Откуда: Москва
Шкаф управления насосами с интерфейсом CANopen с управляющей программой, написанной в среде ДРАКОН для ПЛК

Видео https://youtu.be/Bb6cgOQhJvQ

Цитата:
На фирме АМГТ-Ресурс (Опытное КБ АМУР №3) разрабатывается шкаф управления насосами объемного действия с каскадным подключением и отключением 9 насосов. Насосы поддерживают давление и расход в зависимости от быстроменяющихся условий.
Управление насосами производится по сетевому интерфейсу CANopen.

Для реализации выбраны частотные преобразователи ОВЕН ПЧВ-3 с картой интерфейса CANopen, контроллер на CoDeSys 3.5 на борту с интерфейсом CANopen, китайской компании INVT (от официального представителя Русэлком).

Трудностьт в том, что нет отечественных производителей программирующих логических контроллеров с CANopen. Ни фирма Овен, ни НИИ системных исследований РАН (НИИСИ) пока не производят ПЛК с CANopen. Мы хотели использовать интерфейс Ethercat на контроллерах НИИСИ, но к преобразователям ОВЕН ПЧВ-3 нужно ждать модули расширения два месяца, поэтому остановились на CANopen, он просто был в наличии.

Для проверки мы создали стенд на базе центробежного насоса. Специально приобрели более слабый преобразователь ПЧВ-3. Программное обеспечение делалось в среде разработки ДРАКОН. Создано два модуля: первый модуль — регулятор пропорционально интегральный (ПИ-регулятор). Второй модуль: машина состояния ПЧ, так как функции ПЧ нам не подошли. В этом модуле написаны рампы разгона и торможения. Как только осуществлен разгон до текущего задания, переходим в рабочий режим, где нет рамп.

В видео видна скорость работы интерфейса CANopen, для этого и создавался стенд. На этом же стенде ранее испытывались ПЧ по интерфейсу Модбус RTU, где задание передавалось циклично и вводило задержку, прибавление частоты например по рампе разгона, добавлялось ступенчато по 1,5 гц в секунду. Здесь можно увидеть что частота меняется практически в реальном времени.

Система работает так. Датчик давления через FAI отправляет показания в ПЛК, ПЛК высчитывает мощность необходимую для поддержания заданного давления. По средствам интерфейса CANopen отправляет задачу в преобразователь частоты ПЧ, от ПЧ получает обратную связь о текущем состояний ПЧ. Скорость интерфейса 1 мбит/с
Авторы Алексей Муравицкий и Алексей Степанов.


Что такое CANopen?

Из Википедии

Цитата:
CANopen

CANopen — открытый сетевой протокол верхнего уровня для подключения встраиваемых устройств в бортовых транспортных и промышленных сетях. В качестве сетевого и транспортного уровня использует протокол реального времени CAN. Используется для связи датчиков, исполнительных механизмов и программируемых логических контроллеров между собой. Открытый стандарт.

Содержание

1 Типичные области применения
2 Достоинства
3 Недостатки
4 Перспективы
5 Структура стандартов
6 Промышленные сети семейства CAN
7 См. также
8 Примечания
9 Ссылки

Типичные области применения

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

Достоинства

По сравнению с другими сетями на базе шины CAN, сеть CANopen в большей степени пригодна для быстродействующих систем управления перемещением и контуров регулирования с обратной связью. Высокая надёжность, рациональное использование пропускной способности, подача питающего напряжения по сетевому кабелю.

Недостатки

Малая распространённость за пределами Европы.

Перспективы

Помимо протокола прикладного уровня, CANopen означает членство в клубе разработчиков аппаратуры "по интересам". Подробнее можно узнать на сайте CiA (www.can-cia.org). Вступить в данную организацию могут все, кто посчитает это нужным. Организация объединяет в том числе и ведущих производителей автомобилей в Европе.

Структура стандартов

Структура организации перекликается со структурой стандартов регламентирующих работу CANopen-сетей.

В основе протокола прикладного уровня лежит документ DS.301, который, в свою очередь, является практическим развитием идей, декларированных в документах CiA DS-201-207. Он определяет протоколы конфигурирования и функционирования сети.

CANopen-сеть ориентирована на применение микроконтроллеров, в том числе и самых дешёвых, поэтому разбивается на ряд необязательных подсистем, что позволяет использовать только лишь необходимые функции.

Функционирование сети — это обмен данными. Для понимания функционирования сети CANopen разделим все данные на функциональные и технологические.

Функциональные данные — те данные, которые описывают целевое функционирование системы (температура, величины управляющих воздействий исполнительных механизмов), те данные, которые передавались бы между блоками, даже если бы в качестве связующего звена использовалась линия связи, отличная от CAN, например, LIN или USB, или Ethernet, или I2C.

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

Документ CiA DS-201 выделяет 4 основных группы подсистем (Fig.3 CiA DS-201)

CMS — передача сообщений. Сюда относятся: обмен функциональными данными, обмен срочными сообщениями, обмен данными по запросу,
управление объектным словарём
NMT — управление сетью, контроль работы устройств сети
DBT — динамическое распределение идентификаторов
LMT — управление конфигурированием устройства
1. Обмен функциональными данными в реальном времени ключевое слово PDO, CMS (основная подсистема, в принципе необязательная, но если не будет ни одной из остальных подсистем, то данное пустое множество может называться CANopen лишь потенциально).
Пример: Система поддержания температуры в помещении основной блок, измерители температуры, нагреватели/испарители
Словарь объектов — это не подсистема ключевое слово PDO, SDO, entry, Index. Словарь используется всеми подсистемами и описывает целевые данные, которыми надлежит обмениваться, правила обмена. Можно провести параллель с реестром в Windows.
Пример: Температура в отдельных точках и параметр управления нагревателями/испарителями
2. Синхронизация обмена данными ключевое слово SYNC (необязательная, но такая же целесообразная подсистема, как и подсистема 1). При использовании данной подсистемы в сети существует генератор синхросообщений, периодически передающий высокоприоритетное сообщение SYNC. После появления в сети такого сообщения все синхронизируемые устройства производят обмен данными в течение заданного временного интервала (окно синхронного обмена данными). Коллизии (одновременная передача данных двумя и более устройствами) разрешаются на уровне физического уровня протокола CAN. Словарь объектов содержит перекрёстные ссылки, откуда какие данные взять и какие куда положить. Таким образом, приложения не занимаются самостоятельно сбором данных, просто в определённых переменных (с точки зрения приложения) периодически оказываются свежие данные аналогично с управляющими воздействиями. При этом режиме обмен может происходить не только между датчиками и основным блоком, но и между датчиками, минуя основной блок.
Асинхронный обмен данными. Включает обмен сообщениями сетевого управления (управления узлами сети) Network Management, NMT Services, сообщениями подсистемы контроля работы сети (вариант обнаружения ошибок работы сети) Error Control, срочными сообщениями — авральными объектами (обнаружение ошибок работы узлов) Emergency Object, EMCY. Сообщения данного класса могут появиться в любой момент времени, в том числе и внутри окна синхронного обмена данными. Данные сообщения имеют высокий приоритет (выше, чем сообщений, составляющих пакеты данных), а коллизии разрешаются на уровне физического уровня протокола CAN. Для реализации данных подсистем в сети назначается (на этапе проектирования сети) устройство, ответственное за работу конкретной подсистемы. Помимо этого, имеются механизмы динамического назначения подобных устройств. Теперь подробно.
3. Управление узлами сети Network Management, NMT Services (необязательная подсистема). Сеть может быть спроектирована таким образом что после включения каждый прибор, завершив инициализацию, перейдёт в состояние готовности, но при этом не будет участвовать в обмене функциональными данными до тех пор, пока мастер управления работой сети (NMT master) не разрешит его работу. В состоянии готовности устройство не принимает участия в обмене функциональными данными, но может обмениваться технологическими данными. В состоянии готовности устройство может быть сконфигурировано (см. далее Подсистема управления словарём объектов). При помощи данной подсистемы мастер сети может выполнить сброс и перезапуск любого из узлов, для которого потребуется такая процедура. Мастер получает от прибора сообщения, в которых указано реальное состояние прибора, если реальное состояние не соответствует ожидаемому, то это расценивается как ошибка. Реакции на ошибки рассмотрены ниже по тексту.
4. Контроль работы сети (обнаружение ошибок работы сети) NMT Error Control Protocols, Node Guarding, Heartbeat Protocol (необязательная подсистема). Некоторые системы (особенно связанные с безопасностью) должны контролировать наличие и исправность всех штатных датчиков.
Пример: Датчик-концевик, при срабатывании которого должен сразу отключаться двигатель.
Если сам датчик стал вдруг неисправен, то при замыкании концевика он не передаст сообщение об этом основному блоку, что чревато аварийной ситуацией, поэтому при обнаружении неисправности такого датчика необходимо сразу отключать двигатель
Обнаружение ошибок работы сети (Node Monitoring) производится двумя сходными способами[1]

I. Перекличка узлов Node Guarding. Мастер периодически опрашивает узлы, которые отвечают. Как только узел перестаёт отвечать, отмечается ошибка для этого датчика, и мастер в соответствии с логикой работы может остановить потенциально опасные процессы. Узел, который не будет опрошен в течение определённого времени (оборвалась линия), также отмечает для себя ошибку. Недостатки этого способа - запросы от мастера отнимают часть пропускной способности сети и отказ единственного узла (мастера) приводит к отказу всей сети.
II. Контрольное тактирование. Heartbeat (букв. англ. "сердцебиение"). Все узлы сети самостоятельно, без запроса, регулярно передают сообщения о своём состоянии - "heartbeat message". Если в течение контрольного интервала сообщения от какого-то узла отсутствуют, другие узлы, подписанные на его сообщения, отмечают для себя ошибку. Этот способ лишён недостатков предыдущего и рекомендован к применению в современных системах[2].
Для каждой конкретной сети допускается использование только одного способа контроля или Node Guarding или Heartbeat Protocol.

5. Изменение объектного словаря. ключевые слова PDO, SDO, PDO-mapping Объектный словарь содержит данные, которыми производится обмен по принципу PDO, описывает состав и структуру этих данных. Используя обмен данными по запросу(SDO), можно изменить набор данных, которыми будет производиться обмен по принципу PDO. Обмен SDO-данными возможен как в состоянии готовности, так и в состоянии работы. Таким образом, имеется возможность после включения питания, но до запуска функционирования сети, настроить все приборы сети на обмен нужными данными, а затем запустить сеть. Во время изменения структуры словаря во время работы следует учитывать следующие моменты:
SDO-обмен имеет более низкий приоритет, чем обмен PDO, поэтому может возникнуть момент времени, когда часть словаря уже будет изменена в соответствии с новыми требованиями, часть ещё не изменится и в этот момент произойдёт обмен PDO.
Поскольку устройства, передающие и принимающие PDO, должны понимать друг друга, то может возникнуть ситуация когда одно устройство будет работать с новой структурой, а другое - со старой.
Эти два примера показывают целесообразность изменения структуры словаря только когда сеть остановлена, к сожалению это бывает не всегда возможно.

6. Изменение данных по запросу. Помимо изменения словаря, приложение одного устройства может загрузить данные в другое устройство. Различие PDO- и SDO-обмена данными с точки зрения приложения. При обмене PDO всё происходит автоматически по определённым правилам и приложение, не обращаясь к сетевым примитивам, получает данные из переменных, как будто бы данные получаются внутри этого самого прибора. Для получения данных по принципу SDO приложение должно при помощи сетевых сервисов запросить данные у другого устройства, и только потом, получив ответ, использовать данные для работы. Поэтому основу-хребет обмена данными следует строить на PDO-обмене. К сожалению, имеются ограничения на размер данных(8 байт для PDO, но можно использовать несколько таких штук). И только при особой необходимости использовать SDO. При SDO-обмене данными устройство, к которому обратились с запросом на получение или запись (dowload/upload) данных, называется SDO-сервером, а устройство, которое инициировало обмен, называется клиентом. В зависимости от объема передаваемых данных обмен производится по разным алгоритмам и может быть не менее эффективен, чем PDO-обмен. SDO-обмен допускает производить контроль безошибочности данных, что позволяет даже загружать куски исполняемого кода.
7. Авральные объекты, срочные сообщения.Emergency Object, EMCY. В процессе работы прибор может обнаружить ошибки в работе своей программы или в работе электроники. В таком случае чем скорей об этом будут оповещены все остальные части системы, тем будет лучше и работа такой системы будет безопасней. Для этой цели используются высокоприоритетные срочные сообщения. Такие сообщения посылаются в момент обнаружения неисправности и в момент исчезновения этой неисправности. Стандарт описывает классы ошибок, такими параметрами могут быть ток, напряжение, температура. Если в сети задействован механизм срочных сообщений, то устройства обязаны понимать по крайней мере два сообщения — Общая ошибка (без уточнения категорий), сброс ошибки. Каждый тип ошибки может быть уточнён ещё целым байтом, который может кодировать например номер контролируемой цепочки.
Обработка ошибок. Базовый стандарт описывает только способы оповещения об ошибках и задаёт категории ошибок. Дальнейшие уточнение и реакция на ошибку определяется разработчиком системы.
Приведённые выше пункты описываются в документах CiA DS-201-207 и CiA DS-301. Разработчик системы «с нуля» может самостоятельно определить функциональные требования к сетке, контролируемые параметры и сценарии поведения при появлении неисправностей. Но поскольку CANopen-сети использует большое количество производителей, которые уже разработали системы, охватывающие множество сфер промышленности, то появились рекомендации того, какими параметрами, как минимум, должна оперировать та или иная система, и какие типы реакций на те или иные конкретные ошибки, которые свойственны конкретному классу устройств. Данные рекомендации оформлены в виде стандартов серий CiA DS-4**. Это позволяет производить не системы в целом, а части систем, и эти новые приборы будут прекрасно интегрироваться с системами, разработанными именитыми производителями. Часть этих стандартов уже открыта (устоявшиеся), часть остаются достоянием небольших групп производителей (новые, подверженные изменениям). Основная причина того, что существует так много закрытых документов - то, что это не просто рекомендации, но стандарты, при несоблюдении которых нарушается работоспособность системы. При внесении изменений в документы новые версии рассылаются всем участникам данной группы «по интересам». Группы по интересам не являются замкнутой кастой, все желающие могут вступить в ту или иную группу. Обязательным условием является денежный взнос. Взимаемые суммы зависят от размера фирмы и являются демократичными по отношению к малому бизнесу.


РАЗМЕР ФИРМЫ ЧЛЕНСКИЙ ВЗНОС (ГОД) С УЧЁТОМ ГЕРМАНСКИХ НАЛОГОВ
более чем 100 000 сотрудников: 8 700,00 Euro 10 353,00 Euro
от 10 000 до 99 999 сотрудников: 5 200,00 Euro 6 188,00 Euro
от 1 000 до 9 999 сотрудников: 4 100,00 Euro 4 879,00 Euro
от 100 до 999 сотрудников: 2 100,00 Euro 2 499,00 Euro
от 50 до 99 сотрудников: 1 500,00 Euro 1 785,00 Euro
от 10 до 49 сотрудников: 900,00 Euro 1 071,00 Euro
от 1 до 9 сотрудников: 650,00 Euro 773,50 Euro
для школ и университетов : 520,00 Euro 618,80 Euro
Все данные, касающиеся того, какие группы существуют, какие стандарты они выработали и как к ним подключиться, находятся на сайте can-cia.org, который в данном случае является основным организационным органом и механизмом связи с общественностью.

Промышленные сети семейства CAN

CANbus
DeviceNet


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новый дракон-редактор для ПЛК
СообщениеДобавлено: Понедельник, 13 Ноябрь, 2023 19:41 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5948
Откуда: Москва
Алексей Муравицкий писал(а):
Схема

Вложение:
IMG_20231113_183318_746.jpg
IMG_20231113_183318_746.jpg [ 188.38 КБ | Просмотров: 4145 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новый дракон-редактор для ПЛК
СообщениеДобавлено: Понедельник, 13 Ноябрь, 2023 20:18 

Зарегистрирован: Среда, 07 Январь, 2015 14:53
Сообщения: 1360
Как-нибудь будете комментировать Ваш плакат?


Последний раз редактировалось LKom Понедельник, 13 Ноябрь, 2023 20:23, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новый дракон-редактор для ПЛК
СообщениеДобавлено: Понедельник, 13 Ноябрь, 2023 20:31 

Зарегистрирован: Понедельник, 13 Ноябрь, 2023 18:57
Сообщения: 10
Реальные новости по разработке Дракона, за эту неделю имеют место быть?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новый дракон-редактор для ПЛК
СообщениеДобавлено: Понедельник, 13 Ноябрь, 2023 20:36 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5948
Откуда: Москва
Новая версия ДРАКОН-конструктора
Drakon Editor MS


Авторы: Алексей Муравицкий и Алексей Степанов

Новая версия получила следующие доработки:
1. Пользовательские структуры – пользователь может создать структуру и объявлять ее экземпляры в любых программных сущностях
Вложение:
Рисунок1.png
Рисунок1.png [ 129.96 КБ | Просмотров: 4137 ]

2. И соответственно кодогенерация:
Вложение:
Рисунок2.png
Рисунок2.png [ 123.28 КБ | Просмотров: 4137 ]

3. Есть возможность делить структуру по смысловым группам: Например:
Вложение:
Рисунок3.png
Рисунок3.png [ 132.98 КБ | Просмотров: 4137 ]

4. Отличий в принципе никаких:
Вложение:
Рисунок4.png
Рисунок4.png [ 126.76 КБ | Просмотров: 4137 ]

5. Появился рабочий макет Ассистента ввода.
Ассистент определяет из какой программной сущности был вызван. Соответственно отображает переменные, только видимые в той сущности, из которой был вызван.
Например: программа Машина состояний, схема переменных:
Вложение:
Рисунок5.png
Рисунок5.png [ 131.33 КБ | Просмотров: 4137 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новый дракон-редактор для ПЛК
СообщениеДобавлено: Понедельник, 13 Ноябрь, 2023 20:45 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5948
Откуда: Москва
Продолжение рассказа Алексея Муравицкого о Новой версии ДРАКОН-конструктора

6. Далее добавим класс Модуль в схему, при вызове Ассистента видим только объявленный экземпляр, и видим составную часть класса которую можно тоже вызвать отдельно это Новый метод:
Вложение:
Рисунок6.png
Рисунок6.png [ 145.67 КБ | Просмотров: 4137 ]

7. Конфигурируем модуль:
Вложение:
Рисунок7.png
Рисунок7.png [ 136.97 КБ | Просмотров: 4137 ]

8. При нажатии троеточия вызывается Ассистент:
Вложение:
Рисунок8.png
Рисунок8.png [ 147.36 КБ | Просмотров: 4137 ]

9. Выбираем необходимые данные и икона отконфигурирована
Вложение:
Рисунок9.png
Рисунок9.png [ 125.28 КБ | Просмотров: 4137 ]

На этом кончается рассказ Алексея Муравицкого о Новой версии ДРАКОН-конструктора


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новый дракон-редактор для ПЛК
СообщениеДобавлено: Понедельник, 13 Ноябрь, 2023 20:46 

Зарегистрирован: Понедельник, 13 Ноябрь, 2023 18:57
Сообщения: 10
Коллеги , не находите - чего-то не видно самого ассистента.

Видимо форум глючит последние картинки появились стало понятнее
Беру свои слова обратно


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новый дракон-редактор для ПЛК
СообщениеДобавлено: Понедельник, 13 Ноябрь, 2023 20:59 

Зарегистрирован: Понедельник, 13 Ноябрь, 2023 18:57
Сообщения: 10
Коллеги подскажите, где скачать крайнюю версию ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новый дракон-редактор для ПЛК
СообщениеДобавлено: Вторник, 14 Ноябрь, 2023 17:09 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5948
Откуда: Москва
Rodion Makarov писал(а):
Коллеги подскажите, где скачать крайнюю версию ?

Алексей Муравицкий писал(а):
Скачать программу Drakon Editor MS можно в телеграмм канале https://t.me/c/1816673468/12

Приглашение в телеграм-канал Алгоритмический язык ДРАКОН
https://t.me/+BtfsIEmVOOw4ZTYy


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новый дракон-редактор для ПЛК
СообщениеДобавлено: Вторник, 14 Ноябрь, 2023 21:37 
Аватара пользователя

Зарегистрирован: Вторник, 28 Февраль, 2023 13:15
Сообщения: 1
Здравствуйте.

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

И куда писать тоже не указано. Жаль, но дело поправимое, если про это просто забыли и недоглядели, на что собственно и обращаю ваше внимание уважаемые создатели( разработчки?) этого ТГ канала.
Вобщем видимо голубями слать =)


Вложения:
Screenshot_20231114_213211.png
Screenshot_20231114_213211.png [ 477.53 КБ | Просмотров: 4141 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новый дракон-редактор для ПЛК
СообщениеДобавлено: Вторник, 14 Ноябрь, 2023 22:50 

Зарегистрирован: Понедельник, 13 Ноябрь, 2023 18:57
Сообщения: 10
JKeySZR писал(а):
Здравствуйте.

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

И куда писать тоже не указано. Жаль, но дело поправимое, если про это просто забыли и недоглядели, на что собственно и обращаю ваше внимание уважаемые создатели( разработчки?) этого ТГ канала.
Вобщем видимо голубями слать =)


Да согласен! Прошу Владимира Даниловича связаться с создателем канала и указать на замечания!
Есть ещё проблемы у Муравицкого и Степанова с описанием инструкции по применению


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 77 ]  На страницу Пред.  1, 2, 3, 4  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2008-2024, участники конференции «DRAKON.SU», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB