background top icon
background center wave icon
background filled rhombus icon
background two lines icon
background stroke rhombus icon

Скачать "39. Настройка Modbus Master через стандартные средства CODESYS"

input logo icon
Теги видео
|

Теги видео

ОВЕН
СПК
ПЛК210
ПЛК200
Moxa
ICP DAS
ioLogic
Субтитры
|

Субтитры

subtitles menu arrow
  • enАнглийский
Скачать
00:00:01
говорить про codesys 35 и сегодня
00:00:03
давайте разберемся как настроить обмена
00:00:05
с другими устройствами по протоколу
00:00:07
modbus через дерево проекта используя
00:00:09
стандартные средства конфигурирования
00:00:11
если вы опрашиваете какие-то устройства
00:00:14
компании овен например модули линейкам
00:00:16
их 110 или 210 то вы можете
00:00:18
воспользоваться готовыми шаблонами
00:00:19
опроса в этом случае вам не придется
00:00:21
думать про коды функции modbus адреса
00:00:24
регистров типы данных и так далее все
00:00:27
будет уже заранее готовые вам нужно
00:00:29
будет только привязать переменная это
00:00:31
удобно но если вы опрашиваете устройства
00:00:33
других производителей
00:00:34
то вероятно такие шаблоны вы не найдете
00:00:36
и вам потребуется использовать
00:00:39
стандартные средства конфигурирования и
00:00:40
настроить опросы вручную поэтому давайте
00:00:42
сегодня разберемся как это сделать я
00:00:45
буду показывать это в контексте
00:00:47
протокола modbus tcp
00:00:48
но для modbus rtu в принципе все будет
00:00:50
аналогично сначала добавляем в проект
00:00:54
компонент ethernet поскольку мы
00:00:57
используем оба степи как я уже сказал
00:00:59
ставим галочку отобрать я версия и
00:01:01
выбираем версию которую соответствует
00:01:04
нашей прошивки и нашей версии codesys и
00:01:05
я использовал codesys версии в 35 спать
00:01:09
14:03 и соответственно выбираю соответствующую
00:01:11
версию компонентах 35 14 0 в компонент
00:01:18
ethernet и добавляем от 27 мастер тоже
00:01:21
не забывая соблюдать version ность и уже
00:01:24
у него компонент на 20 слоев
00:01:30
для начала я прошу модули ввода-вывода
00:01:33
компания чипе даст который называется и
00:01:37
т 2260 поэтому сразу переменную
00:01:43
устройства и теперь давайте настраивать
00:01:48
обмен для начала нужно указать
00:01:51
используем и сетевой адаптер контроллера
00:01:52
для этого возле девайс на вкладке
00:01:56
установки соединения сканирую сеть
00:01:57
нахожу свой контроллер и после этого
00:02:01
перехожу опять в компонент ethernet
00:02:03
нажимаю на кнопку и выбирая нужный
00:02:05
адаптер ну из пока только один адаптер
00:02:07
его общем то легко найти он имеет
00:02:09
обозначение вернёт 0 в компоненте на 20
00:02:13
фем attire можно ничего не менять
00:02:15
достаточно поставить галочку авто
00:02:16
подключения чтобы при потере связи при
00:02:18
ошибках обмена контроллер пробовал
00:02:20
установить соединение или теперь самое
00:02:23
интересное мы начинаем настраивать опрос
00:02:25
уже со своих устройством для начала
00:02:28
нужно указать адрес модуля мой модуль
00:02:30
имеет адрес 10 2 2590 и теперь нужно
00:02:39
добавить канал вопроса то есть и писать
00:02:41
запросы которые контроллер должен
00:02:43
отправлять модулю это модуль дискретных
00:02:45
входов выходов
00:02:46
давайте посмотрим инструкцию и найдем
00:02:50
карту регистров так вот видим
00:02:54
руководстве modbus регистр тейбл
00:02:57
переходим туда и ищем что-то похожее на
00:03:00
дискретные входы-выходы а так ну вот мы
00:03:05
нашли
00:03:06
digital output channels и где-то рядом
00:03:09
должен быть да и адресов ну то есть
00:03:14
дискретные входы значит смотрим для
00:03:18
работы с дискретными выходами
00:03:19
используется регион 0 xxx это
00:03:23
то есть койла соответственно адресация с
00:03:29
нуля то есть первый выход модули это
00:03:34
coil 0 2 выход модуля койл 1 и так далее
00:03:37
кстати интересно что в самом модуле
00:03:39
адресация каналов тоже ведет с нуля
00:03:41
наверное для программистов это даже
00:03:43
удобнее вот а
00:03:48
дискретные входы лежат в области 1 x x
00:03:50
то есть дискрет импульс это же нумерация
00:03:53
с нуля то есть первые шесть голов это
00:03:55
дискретные выходы первые шесть и скрытым
00:03:57
под эта входа в принципе довольно
00:04:01
очевидно адресация довольно понятны
00:04:03
давайте собственно
00:04:04
создадим наши два запроса
00:04:08
давайте для начала почитаем дискретные
00:04:12
входы используем функцию редиска tempus
00:04:14
но мы поняли что фото лежат в области
00:04:16
descried импульс как мы это поняли
00:04:17
кстати по обозначению 1 x x ну и где-то
00:04:21
в руководстве возможно более подробно
00:04:22
расписывается соответствие вот этих
00:04:24
индификатор of областей памяти под басы
00:04:26
кода функции но в принципе человеку
00:04:29
знакомому smart base идентификатору я
00:04:32
должен намекнуть на код функции которые
00:04:35
надо использовать
00:04:38
соответственно адрес начали 0
00:04:40
учитываем 6 бит шея дискретных входов
00:04:42
module of назовем его там да и например
00:04:45
каналы и добавляем 2 канал это в райт
00:04:53
мультиплекс давайте все это записывать
00:04:56
сразу все выхода адресация тоже сад с
00:05:01
нуля и 6 бит потому что шесть выходов
00:05:05
так давайте в программе объявим
00:05:08
несколько переменных
00:05:11
я покажу чит на примере например примере
00:05:14
привязкой переменных к нулевому
00:05:18
входа-выхода потому что они меня
00:05:20
замкнуты друг на друга и там я покажу
00:05:21
могу показать в общем-то некое реальное
00:05:24
событие при переключении перехожу на
00:05:28
вкладку соотнесения входов-выходов не
00:05:30
забываю в параметры всегда обновлять
00:05:32
перемены поставить значение включено 2
00:05:36
иначе в этот не у вити реальных данных
00:05:39
раскрывая свои узлы
00:05:41
вот в общем то мой канал да и привязываю
00:05:48
переменную
00:05:53
к нулевому дискретному входу капитан 0
00:05:56
дискретного входа и тоже самое делаю с
00:05:58
выходами на соответствие 2 перемена
00:06:00
поведают туда
00:06:01
теперь загружаю проект
00:06:25
и у нас казалось бы все горит зеленым
00:06:27
значит все хорошо пробуем записать 1
00:06:34
дискретный выход но кстати мою час видим
00:06:37
промелькнул какая-то ошибка я записал 1
00:06:41
дискретный выход но вход не замкнулся
00:06:43
значить команда фактически не было
00:06:45
отправлено и при этом если мы посмотрим
00:06:49
в конфигураторе то видно что в общем-то
00:06:51
ничего не произошло первый ход ими
00:06:53
значение of и первый выход тоже именно
00:06:55
чини ков то есть моя команда до модуля
00:06:57
не дошла хотя казалось бы еще и настроил
00:06:59
корректно как понять чем проблема можно
00:07:03
пример перейти на вкладку и кто брикс
00:07:05
посмотреть вот buy modes ер ах какой
00:07:08
вообще какая ошибку вообще нас
00:07:09
проскакивает
00:07:17
значит проблема в том что на
00:07:18
проскакивает не всегда довольно
00:07:20
интересно и возможно нам ее придется
00:07:24
долго ждать на самом деле даже не особо
00:07:26
интересно я заранее немного с этим
00:07:28
модулем поработал и могу исходу
00:07:30
объяснить в чем дело дело в адресе
00:07:33
которые используют впрочем от баз и лиц
00:07:35
так называемый юнит айди спецификациям
00:07:38
от вас подразумевает что этот адрес
00:07:41
нужен только при использовании
00:07:42
конвертера fma 20 фем от баса рту а во
00:07:45
всех остальных случаях он должен иметь
00:07:46
значение специально ф-но и по умолчанию
00:07:50
к тысяч именно так это можно увидеть на
00:07:52
вкладке на 25 life конфигурация вот мы
00:07:54
видим не то диванами значения f и еще 5
00:07:57
ну а модуль х чипе dos требует чтобы где
00:08:00
стоял значение 1 возможно это значение
00:08:02
можно как-то в модуле задачи возможно
00:08:03
описан даже документации но я честно
00:08:06
говоря при беглом прочтении не нашел но
00:08:09
это не особо удивляет потому что наши
00:08:10
модули например и мы здесь и 10 до
00:08:12
недавнего времени работает точно также
00:08:14
требовали это di1 в ответе что не совсем
00:08:17
корректно и не совсем соответствует
00:08:18
спецификации правда свежую прошивку
00:08:20
это исправили и уже современных
00:08:22
прошивках модели должны отвечать им
00:08:24
запросы с адресом ф.ф. кстати если мы
00:08:28
теперь закроем и перри откроем тот мы
00:08:29
видим этот параметр появился здесь
00:08:37
опять разгружая проект после того как
00:08:40
изменил uni дойди
00:08:47
теперь же ошибок моргать не должна
00:08:49
замыкаю 1 выход
00:08:51
и вот я вижу что у меня сразу замкнул
00:08:54
сульфат но это видно и в к тысяче
00:08:56
это можно проверить и вверх
00:08:57
конфигураторе мода вот мы видим значение
00:08:59
оконного 1 фото
00:09:00
иначе него на 1 выхода и то есть мы
00:09:02
успешно настроили обмен смотрим через
00:09:04
стандартный света конфигурирование в
00:09:06
принципе это был довольно несложно за
00:09:09
исключением вот этого нюанса с юнита иди
00:09:10
который мог вести начинающих
00:09:12
пользователей некое затруднение но в
00:09:14
целом все было достаточно просто и
00:09:16
понятно и документация в общем то
00:09:17
довольно внятно но давайте теперь
00:09:20
попробуем сделать что-то более сложное у
00:09:22
меня есть еще один модуль
00:09:25
давайте его добавлю соответственно еще
00:09:27
120 слов это модуль компании макса
00:09:30
линейки logic 12 x x а точнее модуль
00:09:37
аналоговых выходов и там все будет
00:09:42
гораздо более интересно вот мой модели
00:09:45
toyota 1241 так ну опять мы для начала
00:09:52
указываем айпи адрес у меня это 10 2010
00:09:59
2 2591
00:10:01
в этом случае уже с unit 1 чего делать
00:10:03
не надо модуля согласно спускаться
00:10:06
отвечает на запросы солистом ff тут все
00:10:08
здорово это модуль аналоговых выходов
00:10:11
давайте мы перейдем руководством не
00:10:14
найдем его карту регистров так для
00:10:20
начала давайте считаем так нажимаю
00:10:22
называемой arrow или то есть сырое
00:10:25
значение мусора значение аналогового
00:10:28
выхода считаем запишем соответственно
00:10:30
она располагается в холдинг регистров
00:10:35
тут это написано в явном виде ну и не
00:10:38
удивительно где им еще располагаться мы
00:10:39
же можем записывать вот и начиная с
00:10:41
адреса 1000 24 длина 4 регистры потому
00:10:45
что у модуля 4 выхода и соответственно
00:10:47
колдуешь по одному регистру
00:10:48
зарезервировано
00:10:52
давайте я добавлю канала назову его
00:10:57
например уа рау
00:11:01
рид адрес тысячи 24 ну я не буду сейчас
00:11:07
все четыре добавлять будет только с
00:11:08
первом работе в принципе что один что 4
00:11:11
все по аналогии делаются с одинаково и
00:11:14
добавлю второй канал уже за пищу и спали
00:11:18
функцию rhythm & diplo регистр хотя
00:11:22
вероятно модуль и шестую функцию
00:11:24
поддерживает но в общем-то 5 нет никакой
00:11:25
renzi как в данном случае как у них
00:11:27
использовать и опять-таки адрес я задаю
00:11:30
тот же самый тысяч 24
00:11:39
ну давайте постепенно буду объявлять
00:11:41
переменные какие то чтобы очень более
00:11:50
интересно
00:11:57
соответственно пока я гуляю переменные
00:11:59
типа word пока мы работаем с сырыми
00:12:00
значением со очистными они имеют
00:12:02
диапазон от 0 до 4095
00:12:05
согласно документация и привязываем эти
00:12:09
переменные каналам опроса составную
00:12:14
переменную привязываю к запросу чтения
00:12:16
одну каналу записях опять не забываем в
00:12:20
параметры всегда обновлять переменные
00:12:21
поставили галочку поставить начальных
00:12:23
включено 2 обязательно так загружаю проект сейчас
00:12:30
мы уже хочет это должны увидеть
00:12:40
давайте я задам некое значение например
00:12:42
например тысячу я его записала сразу
00:12:47
прочитал ночи прошло успешно и веб
00:12:49
конфигураторе модуля давайте мы откроем
00:12:55
вкладку от 0 аналоговых писать тут тоже
00:12:57
интересными 1 и 0 из 0 идет выходов так
00:13:03
откроем вкладку 0 аналогового выхода и
00:13:08
вот мы видим как раз значение которое мы
00:13:11
записали тысячи это сырое значение вот из этого
00:13:13
диапазона его может масштабировать то
00:13:15
есть вот я на свое масштабирование в
00:13:16
процента от 0 до 100 и соответственно
00:13:19
наша тысячи это примерно четверть а по
00:13:21
зона поэтому
00:13:22
[музыка]
00:13:29
пум пум поэтому 10 бреется 11 из 50 а
00:13:33
вот почему из 50 я честно говоря не
00:13:36
готов сходу ответить потому что подробно
00:13:40
с настройками модуля еще не разбирался
00:13:45
ну в общем то давайте теперь вот это 1
00:13:48
704 нас попробуем считать
00:13:58
смотрим опять карту регистров вот мы
00:14:04
видим есть такой параметр a household
00:14:06
выливать масштабирования от
00:14:08
масштабирована и значение она уже лежит
00:14:10
в области input регистр с его можно
00:14:12
только читать лежит начиная с адресно 0
00:14:15
и 8 регистров по одних выявлено
00:14:17
соответственно кольцевых это выделено по
00:14:19
два регистра ну тут написано как раз и
00:14:21
два words явном виде здесь от не
00:14:23
написано хотя можешь написаны где другом
00:14:25
виде документа но соответственно
00:14:27
вероятней всего и для хранения
00:14:28
использовал тип холод соответствует оси
00:14:30
чем мы должны используйте прил значение
00:14:33
с плавающей точкой
00:14:34
добавляем еще одну переменную и тут уже
00:14:47
начинается интересности мы не можем
00:14:49
переменной типа релат привязать канал
00:14:50
вопроса поскольку там доступна только
00:14:54
массивы вардов мочевой регистров это
00:14:56
связано стем что сама 2 сон не
00:14:58
подразумевает не использую никаких типов
00:15:00
данных кроме вот в общем-то регистров
00:15:02
которые в капище соответствует типа word
00:15:04
но и битов которые мы уже рассмотрели в
00:15:06
предыдущем модуле регистре биты и все
00:15:08
что есть такая борьба с типизация уже на
00:15:10
стране устройств настраивается и поэтому
00:15:14
нам нужно объявить массив из двух лордов
00:15:16
которые мы сможем привязать канал
00:15:17
вопроса а потом этот массив нам уже
00:15:19
потребность преобразовать переменную
00:15:21
типа реал
00:15:26
а для начала нам честно говоря еще
00:15:31
потребуется собственно вопрос настроить
00:15:33
как-то я это упустил мы используем
00:15:38
функцию ритм под регистр
00:15:39
который был сказано это написана
00:15:41
документация и начальный адрес 0 мы
00:15:43
считываем два регистра
00:15:44
ну потому что собственно вот по 2
00:15:46
регистре выделено на значение от
00:15:49
масштабирования каждого на как от
00:15:50
каждого аналогового выхода вот
00:15:55
привязываем наш массив прям вот к
00:15:59
верхнему
00:16:00
к верхней переменный канала и теперь
00:16:04
соответственно мы его считаем не надо но
00:16:06
как превратить в переменную типа rifle
00:16:08
как это сделать проще сделать
00:16:10
использовать используя библиотеку young
00:16:12
money cash in ее можно скачать наш с
00:16:14
нашего сайта установите репозиторий
00:16:16
библиотека disease и дальше мы и
00:16:18
добавляем вправе менеджер библиотек вот
00:16:22
она один communications в ней есть в
00:16:26
общем то вот такая замечательная функция
00:16:28
который называется war 2 туре а то есть
00:16:30
даем на вход два варда и при
00:16:33
необходимости флаг нужно ли приставлять
00:16:35
байта мире фаттах и на выходе получаем
00:16:37
брела торонто что нам нужно и пишем
00:16:40
соответственно довольно простой код
00:16:45
началу указываем пространство имен
00:16:47
библиотеки осиял как понять что но имя
00:16:50
такое это видно матерью биотек вот она
00:16:52
пространства имен ставим точку выбираем
00:16:55
нужную функцию war 2 туре ум и
00:16:58
соответственно подаем на вход элементы
00:17:04
этого массива
00:17:10
пока непонятно нужно будет нам
00:17:12
переставлять батиль нет давайте вот
00:17:14
похудела будем отважится загружаем
00:17:17
проект если сейчас все пройдет успешно
00:17:19
то соответственно в переменной его мы
00:17:20
должны увидеть значение типа там один
00:17:22
сосед . 814 вот это вот
00:17:32
но мы не видим вообще ничего и почему ты
00:17:35
здесь 0 им может быть это был привязать
00:17:37
переменную
00:17:44
так вообще у нас от мяча смотрим
00:17:46
работать довольно странно а ну блин да
00:17:50
логично точно значения был нулевой
00:17:52
поэтому мы видели 0 в канале я еще раз
00:17:57
задал тысячу
00:17:58
чем ее в программе мы в программе выемку
00:18:00
это огромное число вот значит надо либо
00:18:02
переставить либо байты либо регистра
00:18:04
наверное все таки регистра давайте
00:18:06
проверим просто поменяем порядок подачи
00:18:10
элементов массива на вход на вход
00:18:13
функцию мы сначала подавали 0 1 а теперь
00:18:15
в другом порядке 1 и 0 соответствием
00:18:18
образом мы изменим порядок регистров в
00:18:20
подаваемых функцию данных так не забыть час опять
00:18:28
это значение задач какой-то могу
00:18:35
принципе да прямо здесь делать нас
00:18:36
привязанным переменной канал так в этот
00:18:42
раз мы получили 24
00:18:43
это не совсем то что ждал над логично
00:18:45
потому что смотрите мы я задал тысячу то
00:18:47
есть тысячи это примерно примерно
00:18:52
четверть от диапазона у нас диапазон от
00:18:55
0 до 4 90 50 до 100 процентов я
00:18:58
рассуждал получить около 25 процентов и
00:19:00
в к тысяч я вижу именно это то есть 24
00:19:03
сплаве 24 . 4 ватта почему идешь ты
00:19:06
проявляется как бы поделено на два как
00:19:10
будто бы то есть честно говоря с ходу не
00:19:12
готов ответить
00:19:13
возможно ещё какие-то нюансы пока мне не
00:19:17
понятны
00:19:26
так что мы делаем дальше мы уже
00:19:36
посмотрели как рабой с переменке парил
00:19:37
давайте сделаем что-то чуть более
00:19:39
сложная в карте регистров я системный
00:19:45
регистров которых можно с помощью
00:19:48
которых можно прочитать например имя
00:19:50
устройства версию прошивки
00:19:53
аптайм то есть время наработки дату
00:19:58
сборки прошивки api адрес модули
00:20:00
mac-адрес модуля и имя модели выдавать
00:20:02
ему еще это прочитаем прочитаем мы
00:20:04
представим для поняли в человеческом
00:20:06
виде это гораздо интересней чем просто
00:20:08
почитать ну для начала нам потребуется
00:20:11
объявить переменная почему мы их сразу
00:20:15
будем объявлять как были в таком от
00:20:16
баском виде в котором можно будет
00:20:18
привязать к слову то есть видимо
00:20:21
сефардов и в человеческом то есть у
00:20:24
человека форматом для разных переменных
00:20:25
может быть разной паху так тут немного
00:20:29
разнобой ну давайте начнем с модульным
00:20:31
значит все тут выпота регистрах и
00:20:33
доступно только для чтения
00:20:34
там и начиная с адреса 5000 так и 10 10
00:20:44
10 регистров
00:20:45
то есть 20 символов можете держать им
00:20:49
модели
00:20:50
зарезервировано по крайней мере столько
00:20:52
знаете ответ на объявляем массив из 10
00:20:57
вардов
00:21:06
давайте назовем от вас маппинг и еще
00:21:15
будут юзер в пользовательский перемены
00:21:18
они уже таком человеческом виде
00:21:19
соответственно имя модели мы бы хотели
00:21:22
наверное видеть виде строки в программе
00:21:26
так соответственно беря переменной типа
00:21:35
string и нам нужно понять сколько
00:21:37
символов не может быть значит у нас 20
00:21:42
20 байт потому что есть риге
00:21:45
от 0 до деньги и соответственно задать я
00:21:47
ж сам сказал 10 регистров поэтому
00:21:50
соответствует 0 9
00:21:52
это 10 регистров 20 байт данных и
00:21:55
поэтому длину строки мы выбираем 19
00:21:58
потому что каждый символ это байт и плюс
00:22:00
при создании строки еще один байт
00:22:02
выделяется на терменируйте символ
00:22:10
давай лучше сначала берем перемен а
00:22:13
потом уже будем все это настроить
00:22:14
запросы привязать чтобы не дергаться
00:22:17
между различными окнами
00:22:18
так следующее по порядку у нас девайся
00:22:24
аптайм это время наработки модуля это
00:22:28
два регистра то есть от посредь перемена
00:22:30
типа дабл вордсворт тут в принципе все
00:22:34
понятно ну давайте мы объем об этоим
00:22:44
соответствие массив из двух вардов и
00:22:52
сразу объявим соответсвующую переменной
00:22:54
типа дабл word который хочет видеть поле
00:22:57
и даже не так не использует наверно
00:22:59
будет удобнее видеть увидеть time
00:23:02
сделаем вот так то есть время наработки
00:23:07
до вероятно удобнее виде типа time
00:23:10
показывать так что на следующее
00:23:17
следующее это mac-адрес ну давайте я
00:23:21
сразу обратим внимание вот следующий
00:23:23
диск параметров можно считать одним
00:23:25
групповым запросам то есть у нас есть
00:23:26
мак адрес он занимает ли регистр с 24 по
00:23:28
2 6 даже 2 7 регистра то есть 27 28
00:23:33
занимает айпи адрес с 29 два регистра
00:23:36
занимает версия прошивки ведь 29 и 30 и
00:23:39
31 3 2 занимает вот дату сборка прошивки
00:23:41
мы все это можем считать одним групповым
00:23:44
запросам и в сумме все это займет
00:23:45
соответственно 3 + 2 + 2 + 2 9 регистров
00:23:49
и назовем например это к типам
00:23:54
мак-альпина
00:24:04
так соответственно массив у нас будет от
00:24:10
0 до 8 потому что 9 регистров давайте
00:24:19
еще раз еще немножко проблем чтобы так
00:24:21
красиво смотрелось и нам легче было
00:24:23
ориентироваться с точки зрения
00:24:25
политических переменах
00:24:26
mac адрес ip адрес нам удобнее
00:24:28
представлять строковыми видя при этом мы
00:24:36
заранее знаем что в строковом видео
00:24:37
mac-адрес занимает 19 символов потому
00:24:42
что это 6 октет of по два символа и 5
00:24:45
дует очень между ними которые разделяют
00:24:47
эти октета
00:24:51
айпи адрес тут соответственно символов
00:24:55
15 может быть максимум потому что четыре
00:25:00
октета по три символа и три точки между
00:25:04
ними так
00:25:07
дата версия прошивки для то сбор
00:25:11
сборки прошивки давайте ещё раз
00:25:14
посмотрим документацию версия прошивки
00:25:15
например может выглядеть вот таким
00:25:17
образом давайте под ним выделим пример 8
00:25:22
символов
00:25:32
и дата сборка прошивки тоже 8 символов
00:25:36
занимает потому что там год месяц год
00:25:43
месяц 1 час ведь честно говоря я честно
00:25:54
принес честно говоря сам не уверен в ком
00:25:56
там имена формате
00:26:02
приводится пример
00:26:05
16-17 18 у меня версия прошивки вот
00:26:11
такое это вероятно девятнадцатый год 11
00:26:14
месяцев ноябрь
00:26:16
06 это видимо день 15 мм частного то
00:26:19
есть видимо да минут никому не интересно
00:26:21
узнать время сборка прошивки
00:26:27
так у нас есть переменная там что-то еще
00:26:31
было последнее в карте регистров девайс
00:26:35
не то есть модульным это имя устройства
00:26:37
и девайс неясным сами только недавно это
00:26:41
узнала его задает пользователь
00:26:42
то есть вот он нет как бы не кинете
00:26:45
фиксатор который позволяет вот как-то
00:26:47
устройств отличает модель там у всех
00:26:49
модули такого типа будет модель 1 этажа
00:26:52
а вот это имя поле тимор через
00:26:53
конфигуратор за лицом там на вкладке
00:26:55
general settings
00:26:56
вот и как то используй как свой
00:26:59
внутренний и неких котором модуля
00:27:00
строковый значит занимает может он
00:27:04
занимать trisa регистров ваш вот поэтому
00:27:09
собственно
00:27:14
создаем массив на 30 регистров
00:27:19
так и в строковом виде
00:27:27
вот то то же самое как было с модельным
00:27:29
уезде 59 потому что еще один байт
00:27:32
пользуются для хранения терменируют его
00:27:34
0 такте во сне
00:27:35
мобиль еще перемены нам еще вероятно
00:27:38
потребуется промежуточные переменные или
00:27:39
хранение каких-то промежуточных
00:27:40
результатов я их сразу как бы вот для
00:27:43
них комментарий напишу так ну давайте
00:27:55
создавать канал и опроса
00:27:59
еще одна вещь сделаю все тело давайте
00:28:02
данным будем запрашивать не
00:28:04
циклически потому что принципе нет
00:28:06
смысла покажу 100 миллисекунд читать
00:28:08
данные они там не изменяются ну хотя
00:28:12
другой стороны страны наверное как раз
00:28:14
этот аптайм имеет смысла циклически
00:28:16
читать но все остальное она принципе
00:28:17
статическая поэтому давайте сделаем бит
00:28:19
и поэта фронт этого бита будем
00:28:21
однократно отправлять запрос на читающих
00:28:23
этих данных так переходим в нашу слоев
00:28:30
устройства и начинаем задавать канала 1
00:28:33
у нас там была из этих системных
00:28:35
регистров model name это импорт
00:28:41
регистров у нас все это impad регистры и
00:28:42
если память не подводит с 5000 на wan
00:28:45
так не туда пишу с пятитысячного спите
00:28:52
1000 10 регистров хотят обратить
00:28:56
внимание тут в документе 2 модель
00:29:00
адресации т.е. если б старта адрес ну
00:29:02
как бы астарта адреса статрегистра
00:29:04
достать страны обозначения 100 до старта
00:29:07
адрес это именно физически адресация
00:29:09
точки то катар использовать в к тысяче а
00:29:11
вот старт регистр это логическая то есть
00:29:13
тут надо смотреть на первый символ
00:29:15
тройка
00:29:16
вспомнить что 3x этой неделе секатор
00:29:19
impad регистров и из этого становится
00:29:20
понятно какая функция нам нужно вот и
00:29:23
потом и вычистить единичку потому что
00:29:27
при логической адресация нумерация
00:29:28
ведется ведется с единицы
00:29:30
а при физической адресация ведется с
00:29:31
нуля
00:29:32
то есть грубо говоря чтобы вот этот
00:29:35
адрес пересчитать в этот нужно здесь
00:29:37
выбрать первый символ и вычесть единиц
00:29:38
то есть таким образом вот мы можно взять
00:29:40
в адрес получить этот но в crysis
00:29:42
физическая лизации нам достаточно
00:29:43
использует только у тебя столбец сорта
00:29:45
адрес так насчет 5010 регистров и
00:29:50
триггер я делаю передний фронт потому
00:29:53
что этот параметр я буду читать не
00:29:55
циклически а по команде поле для
00:29:58
следующее у нас это аптайм опять какой
00:30:10
там было даст регистра 5020 5020 длина 2
00:30:17
и это я же считывается кличке ну потому
00:30:19
что аптайм соответственно постоянно
00:30:20
могли изменяется так дальше вот этот
00:30:27
канал специфический маг api
00:30:37
информация прошивки так опять не забывая
00:30:40
функция рид impad регистр с адрес там по
00:30:42
моему пять тысяч 24 если что-то с правой
00:30:45
себя и число регистру 9 и последняя да
00:30:53
за 4 и последняя это девайс на 30
00:30:57
регистр начиная с 5 тысяч 40 от у тебя
00:31:01
только забыл от сама триггер поставить
00:31:04
передний фронт
00:31:06
так
00:31:13
девайс ним тоже передней фон значит 5040
00:31:17
и тэсс регистров добавили все канала
00:31:23
теперь можно привязать данные
00:31:27
соответственно прямо на верхнем уровне я
00:31:29
их тут цепляю model name
00:31:36
аптайм маккой пищу остальное и так и
00:31:46
девайс на и не забывай убит привязать
00:31:49
вот этот который объявил команда команда
00:31:53
чтения можно просто copy-paste и так все
00:31:58
и привязал и в принципе я даже могу это
00:32:01
уже загрузите увидеть что что-то
00:32:03
считалось но я не пойму что это
00:32:04
считалось потому что я считаю матчи в
00:32:06
вардов а большинство данных тут строкам
00:32:08
виде хотелось бы нам увидеть и останется
00:32:12
собственно задач преобразовать их нужную
00:32:14
форму
00:32:20
так команду надо активировать ты значит
00:32:23
0 енот мы идем от там считывается
00:32:25
давайте дернуть самый вид записи оби
00:32:27
чтения так не в ответ на что массивы
00:32:32
чем-то заполнить теперь ну насчет как-то
00:32:34
конвертировать в основном строки в
00:32:38
основном сроки и аптайм соответствует
00:32:40
переменной типа time так поскольку мы
00:32:43
будем работать со строками нам
00:32:44
потребуется переменная на подразумевали
00:32:46
отёках one string utils
00:32:47
ее также можно скачать с нашего сайта и
00:32:50
установить в капище с и после этого его
00:32:53
ее можно будет добавить в проект вот она
00:32:55
one string utils
00:32:57
давайте идти по порядку мы начнем осмотр
00:33:03
с моделям с модели модуля значит у нас
00:33:13
есть массив вардов нам мы хотим получить
00:33:16
переменную типа string of принципе все
00:33:18
что нам нужно как то вот переместить
00:33:20
данные из эти перемены в эту тут мы
00:33:23
можем использовать функцию из библиотеки
00:33:27
уинн коммуникациям которого я уже 4
00:33:29
использовал она называется свобода то
00:33:31
она позволяет копировать данные из любой
00:33:35
перемены в любую так вот солдата
00:33:39
первый аргумент это указательный
00:33:41
источник то есть нашем случае этот вот
00:33:43
этот массив второй аргумент это
00:33:47
указатель на то куда эти данные надо
00:33:49
переместить то есть моем случае это вот
00:33:51
модель
00:33:53
дальше это размера буфера
00:33:56
то есть в данном случае этот размер
00:33:57
переменной который лежит по указателю
00:34:01
вот поэтому по второму указатель куда мы
00:34:04
перемещаем данные и дальше флаги значит
00:34:08
изменение порядка байт вот порядок байт
00:34:11
нам надо поменять я уже сам с этим
00:34:13
модулем работала и просто это знаю если
00:34:15
бы я не знал ну предполагает не знал я
00:34:17
буду то что данный какие-то не такие
00:34:18
тогда мне пришлось собственно
00:34:19
регулировать от байтами регистрами
00:34:21
смотреть какой порядок нужно подобрать
00:34:25
собственно давайте ради интереса мы с
00:34:27
этого начнем первый раз конечно удобнее
00:34:33
поставить всю эту фолз так нет в
00:34:37
принципе час бы довольно наглядно
00:34:57
считываем данные и вот мы видим один из
00:35:02
42
00:35:03
то есть вроде бы от какая строка но я
00:35:06
чуть раньше показывал мой модуль имеет
00:35:07
модель едте 1241 но на самом деле в
00:35:11
конфигураторе она отображается как я
00:35:14
1241 без буквы т то есть принципе все
00:35:22
это похоже на правда только порядок
00:35:24
несколько другой поэтому значит что мы
00:35:28
делаем мы отменяем флаг 1 флаг это
00:35:32
изменить порядок байт при копировании
00:35:34
данных и поставкам порядок байт изменили
00:35:38
можешь соответственно получим корректную
00:35:40
строку
00:35:53
опять 4 данные и вот я получаю е 1241
00:35:58
это в общем то ровно то что я ожидал так
00:36:04
а давайте мы следом сделаем девайс на м
00:36:06
потому что там практически все тоже
00:36:08
самое только нужно изменить имена
00:36:13
переменных
00:36:24
так дальше нам нужно разобраться с
00:36:27
аптайма значит в модуле аптайм это число
00:36:32
секунд прошедших с момента его в
00:36:36
получении так давайте вот привычным
00:36:41
перемена объем типы дабл word что
00:36:43
получить как растет число секунд
00:36:53
тут принципа
00:36:55
то же самое я опять использовать эту
00:36:57
функцию для того чтобы переместить
00:37:05
содержимое мочевом вардов переменной
00:37:07
типа дабл word двор единственный нюанс
00:37:11
тут потребуется уже менять порядок не
00:37:13
байт а регистров в результате в
00:37:19
переменной типа dword окажется число
00:37:21
секунд и мы бы хотели от получить типе
00:37:24
то им это сделать крайне проста мы
00:37:27
просто берем значение нашей переменной
00:37:29
типа дабл word и вот умножаем на
00:37:31
константам т одну секунду вот
00:37:38
спецификатор вообще литералов типа times
00:37:40
и теперь давайте опять загрузимся вот
00:37:44
проверим никакие некие промежуточные
00:37:45
результаты
00:37:46
половин дело сделали осталось только
00:37:49
mac-адрес айпи адрес и вот дата и версия
00:37:53
сборки прошивки
00:38:00
ну вот видим собственно аптайма вам
00:38:03
идущим на часов со вчера он работает у
00:38:05
меня читать данные и увидим что девайс
00:38:11
не обсчитался вот мы видем значение тест
00:38:14
тест именно та который я задал веб
00:38:17
конфигураторе
00:38:19
так ведь и это уберу не нужно и
00:38:24
разберемся с оставшимися параметрами так
00:38:30
ну для начала давайте разберемся с
00:38:33
mac-адресом библиотеки one string utils
00:38:46
которые не добавлялась есть специальная
00:38:48
функция для конвертации mac-адрес из
00:38:50
бинарного строка и вид она называется в
00:38:53
общем то просто максу string на ее выход
00:38:56
надо подать массив учитель и 6 6 байт
00:38:58
но у нас такого матче пока нет у нас
00:39:01
есть только что у нас есть у нас есть
00:39:03
общий массив где все данные записаны
00:39:05
поэтому сначала нам нужно сначала нам
00:39:11
нужно скопировать сначала нужно объявить
00:39:16
во первых этот массив и 6 байт
00:39:20
которым потом подадим на вход функции и
00:39:24
в этот массив скопировать вот кусок
00:39:27
нашего другого массива где лежит вся
00:39:29
информация о прошивке и магия и api так
00:39:33
только байт соответственно можно
00:39:38
принципе сразу записать
00:39:40
так и опять мы используем ту же самую
00:39:46
функцию солдата значит мы соответственно
00:39:49
берем наш массив но для упрощения как бы
00:39:55
в принципе может было так оставить для
00:39:56
того чтобы было более наглядно мы
00:39:58
давайте вот сошлемся на его нулевой
00:39:59
элемент потому что начал ритм а потом
00:40:01
айпи потом информация о прошивке
00:40:03
то есть это не обязательно записывать
00:40:05
индекс в данном случае потому что вот
00:40:08
такая запись это типа ссылка на первый
00:40:11
элемент массива и такая запись с ссылка
00:40:13
начальный элемент массива 0 1 на 1 вот и
00:40:18
мы перекладываем соответственно данные и
00:40:20
сначала этого массива чудо
00:40:32
так
00:40:37
порядок байт нам надо будет как раз вот
00:40:40
тут поменять тут уже мы работаем со
00:40:43
строками тут нужно свапать байты они
00:40:44
регистра как было с аптайма давайте
00:40:49
сразу все тоже самое сделаем пример все
00:40:51
тоже самое делаем для опят риса то есть
00:40:53
там виден стамбуле том матче в
00:40:54
соответственно меньше потому что четыре
00:40:56
байта занимается опять лез в таком
00:40:59
бинарном виде
00:41:05
так соответственно тут мы какой
00:41:09
указываем элемент матче вот тут мы
00:41:10
указываем
00:41:11
третий элемент массива потому что мак
00:41:15
занимает три варда то есть 0 1 2 3 4
00:41:19
варды
00:41:20
в нашем массиве занимает пи пи адрес так
00:41:24
значит не забываем поменять везде вот
00:41:25
эти префикса
00:41:36
и соответственно вызове функции тоже
00:41:39
счет надо заменить вот давайте мы сейчас
00:41:41
еще один при муже промежуточный
00:41:43
результат зафиксирован что все корректно
00:41:45
у нас и после этого разберемся с
00:41:53
оставшимися до пасты копипаста я забыла
00:42:02
здесь поменять так тут функции
00:42:04
называется вообще по-другому она
00:42:07
называется байт байт стоят и string вот
00:42:09
в этот функция позволяет как раз массив
00:42:12
из четырех байт конвертирует строку это
00:42:17
опять-таки функция библиотеки воинским
00:42:18
катился
00:42:39
считываем параметры по команде так что
00:42:42
мы получили получили адрес 10 2 2591
00:42:45
совершенно верный и это именно тот адрес
00:42:47
которого так как рассказать сдавала я
00:42:48
прочим углевода все правильно и получили
00:42:51
мак адрес там 0 0 90 8 но это корректно
00:42:55
mac-адрес вот он собственно
00:42:56
конфигураторе
00:42:57
тоже отображается и давайте с двумя
00:43:00
оставшимися параметрами разберемся датой
00:43:02
сборка прошивки и версий прошивки так у
00:43:06
нас первые по счет в матче лежит версия
00:43:08
прошивки
00:43:09
давайте с нее и начнем я рано
00:43:16
приключился тут написано расшифровка
00:43:19
то есть первый бой ну вот я сейчас
00:43:21
состоит из трех и
00:43:25
из трех кусков вот и каждый пай
00:43:29
соответственно отвечает за вот за одно
00:43:32
из полей версий прошивки
00:43:35
тут они еще предлагают соответственно в
00:43:38
123 вот давайте мы прямо
00:43:40
что-то такое получим получу попробуем
00:43:43
получить в как isis значит нам нужно
00:43:46
разобрать все это на байт и
00:43:49
соответственно объявляем массив из
00:43:51
четырех байт еще один так firmware выше
00:43:58
а 4 байт соответственно там всегда 0 так
00:44:13
опять-таки что мы делаем мы копируем эти
00:44:17
данные с пятого элемента массива то есть
00:44:21
3 4 у нас опять с 5 6 это версия
00:44:26
прошивки и 7 8 дата сборка прошивки вот
00:44:30
в копируем в этом массив так
00:44:49
ничего особо не могу поделать люблю
00:44:51
выравнивать строки так мы скопировали и
00:45:00
теперь нам нужно это преобразовать
00:45:02
значит по сути нам нужно вот значение
00:45:08
или байтов просто как-то склеить и
00:45:09
поставить точки и давайте мы для этого
00:45:12
используем функцию ну понять что это
00:45:15
можно было бы сделать
00:45:16
не с несколькими вызовами функции concat
00:45:19
вот но в библиотеке а я string utils
00:45:25
есть уже более удобная функция так
00:45:30
переменной который мне нужна эта функция
00:45:33
называется concat 8 она позволяет
00:45:36
склеить как бы не два значения между боя
00:45:38
сразу восемь значит сначала мы берем
00:45:41
префикс то есть у нас префикс это буквы
00:45:44
и дальше
00:45:48
байты массива порядок честно говоря сход
00:45:51
не знаю но давайте попробуем с 0
00:45:57
соответствие просто байты нам нужно
00:45:59
значение тибальт преобразовать строку
00:46:01
вид так вот и разделить точками
00:46:13
так вот так вот так и теперь поправить
00:46:22
нужно поправить согласно вещи которые
00:46:25
там при капе пасти был амаль так я забыл
00:46:27
тут поставить закрывающую скобку и
00:46:28
соответственно всех остальных тоже
00:46:32
индексом массива в индекс массива мне
00:46:34
надо поменять так все теперь у меня
00:46:37
ошибки нет вот соответственно те поля
00:46:41
которые не нужны
00:46:42
я указывал пустые строки от следующей
00:46:44
версии кадре fiesta поест опциональные
00:46:46
ночницы инициализации вообще можно те
00:46:49
значения которых тип не нужны при вызове
00:46:50
функции вообще не прописывать успешно
00:46:53
цвет появилась так давайте это какая-то
00:46:55
такая была достаточно сложная штука
00:46:56
давайте мы сразу проверен что все
00:46:58
получилось корректно ой блин у меня тут
00:47:01
это разделителя
00:47:03
запятые почему-то поставила над был
00:47:05
точки в принципе поменять не сложно
00:47:08
сейчас мы дочь проверим так опять
00:47:13
вообще-то считывая версия получил 310
00:47:19
так смотрим что у меня веб-на фигура
00:47:21
тори
00:47:23
ну версия 31 ну как бы ну 0 0 то есть вы
00:47:27
видимо как бы version is чуть-чуть
00:47:29
отличается давайте общем-то для
00:47:32
справедливости поставим туточки
00:47:34
и перейдём к нашему последнему значению
00:47:36
это дата сборки версия прошивки
00:47:39
документация написание совсем очевидно
00:47:41
то есть вот такой пример приведем что
00:47:43
если типов конфигураторе увидите вот
00:47:45
такую сборку то типа вот так я подумал
00:47:48
что это на самом деле просто
00:47:51
целое число будет
00:47:53
то есть и потом добавить но оказалось
00:47:55
что тут опять манипуляции с байтами то
00:47:56
есть в одном пальце будет год-другой
00:47:59
байтим месяц там в третьем по этим будет
00:48:03
и the same day
00:48:05
и в последнем а час поэтому нам опять
00:48:08
таки нужен массив из четырех байт начало
00:48:13
ровно такой же
00:48:30
так соответственно как я уже говорил
00:48:33
меняем индекс с 5 6 нас лежала версия
00:48:38
прошивки 7 8 то есть прав конца массива
00:48:40
лежит даты и сборки значит наш массе
00:48:44
берем вот этот наш массив
00:48:49
так и теперь нам нужно все это
00:48:53
преобразовать к строкам уведу опять-таки
00:49:01
воспользуемся функции concat 4 потому
00:49:05
что у нас 4 как у поля
00:49:06
4 разряда времени и в общем примерно все
00:49:12
то же самое что мы уже делали
00:49:15
про склеиваем строковые строго
00:49:18
представления байт в одну длинную строку
00:49:21
так
00:49:27
и не забываем после копипаста менять
00:49:30
индекса
00:49:45
загружаем проект
00:49:52
опять команда отправляю на чтение данных
00:49:55
так где моя команда вот и получаю
00:50:00
1911 1615 смотрим веб конфигураторе
00:50:07
1911 0 и 615 а так игра действительно
00:50:20
честно говоря у меня не там у логическое
00:50:23
объяснение то есть массив из
00:50:25
так в массиве а все все корректно это я
00:50:38
уже просто пропустил начнут
00:50:39
соответственно ведущие нули учитываются
00:50:41
мы ведущие нули не добавили так
00:50:44
соответственно нас ведущие нули могут
00:50:46
быть
00:50:53
ну окей давайте мы все таки сделаем при
00:50:56
максимально красиво правда вызов функции
00:50:57
будет длинным это нам не очень хорошо
00:51:01
наверное было бы разумно разбить на
00:51:03
сначала отдельные разряды короче
00:51:05
получить как бы следующим 0 и нулями
00:51:07
отдельные такие строки по два символа
00:51:08
потом собрать но чтоб не трать время я
00:51:11
использую еще одну функцию библиотеки
00:51:13
воинским кутил срок стати мы заметили
00:51:15
что все функции которые она тут
00:51:16
понадобились и могли понадобиться них в
00:51:17
этом для тяги есть и от функция
00:51:19
добавления ведущий нулей так этого
00:51:27
сигнатуры вспомним а я уже путаю функции
00:51:36
называется не лидера почему-то я потом
00:51:38
почему-то потому что он вот так то есть
00:51:39
думаю ведущий нулях то есть она называет
00:51:41
функция на самом деле от чар вот потому
00:51:44
что может не только ведущий 0 и добавить
00:51:46
а принципе любое так вот такая сигнатура
00:51:49
строка сколько добавлять ее типа что
00:51:52
добавлять так давайте счетов beer лучше
00:51:58
потом опять копипастить значит году
00:52:10
символов ведущим нулем
00:52:13
заполнение слева и справа все
00:52:24
это не не не очень как он довольно плох
00:52:27
читаемый код и я это делаю только для
00:52:29
того чтобы честно вы сэкономите время и
00:52:31
там не трать еще пять минут на
00:52:33
объявление отдельных этих самых
00:52:35
отдельных строковых переменных для
00:52:37
каждого разряд времени и так далее вот
00:52:40
так на самом деле
00:52:48
за годом можно было так не делать потому
00:52:49
что вы в этом веке уже не будет как бы
00:52:53
котлету которых могли бы быть ведущей 0
00:52:55
и удачное представление но ладно так вот
00:53:02
теперь мы получили ровно то что мы видим
00:53:03
ввергнув куратор 19 1106 15 видим это
00:53:06
означает 1919 год ноября 6 ноября и 15
00:53:13
часов очень похоже на правду во первых
00:53:16
мы тут видим то же самое а если мы
00:53:17
откроем документацию на титанике чтобы
00:53:19
мы тут тоже увидим в общем ноябрь 19 что
00:53:22
как бы намекает как как говорится вот то
00:53:26
есть мы считали данная и причем их
00:53:28
преобразовали с помощью функций
00:53:30
библиотеки оленьку мне cash in one
00:53:31
string utils
00:53:32
вот он соответственно не факт что ей и
00:53:37
как безусловно когда к его первый раз вы
00:53:39
это делаете будут какие то вопросы
00:53:40
потому что не заранее сходу понять
00:53:42
трудно понять какой там порядок байт
00:53:43
какая регистр какой порядок регистров
00:53:46
какой формат представления данных но в
00:53:48
общем-то опытным путем и при
00:53:50
внимательном изучении документация то
00:53:52
есть можно принципе во всем этом
00:53:53
разобраться вот так происходит настройка
00:53:56
обмена с произвольными устройствами в
00:54:00
режиме modbus мастер и собственно все
00:54:04
что мне сегодня хотелось рассказать
00:54:07
спасибо вам за внимание
00:54:10
вот и и увидимся в следующем видео и уже
00:54:13
в следующем году
00:54:14
всех с наступающим

Описание:

На этой странице вы можете по ссылке скачать медиафайл «39. Настройка Modbus Master через стандартные средства CODESYS» максимально возможного качества БЕЗ каких-либо ограничений на количество загрузок и скорость скачивания.

Готовим варианты загрузки

popular icon
Популярные
hd icon
HD видео
audio icon
Только звук
total icon
Все форматы
* — Если видео проигрывается в новой вкладке, перейдите в неё, а затем кликните по видео правой кнопкой мыши и выберите пункт "Сохранить видео как..."
** — Ссылка предназначенная для онлайн воспроизведения в специализированных плеерах

Вопросы о скачивании видео

mobile menu iconКак можно скачать видео "39. Настройка Modbus Master через стандартные средства CODESYS"?mobile menu icon

  • Сайт http://unidownloader.com/ — лучший способ скачать видео или отдельно аудиодорожку, если хочется обойтись без установки программ и расширений. Расширение UDL Helper — удобная кнопка, которая органично встраивается на сайты YouTube, Instagram и OK.ru для быстрого скачивания контента.

  • Программа UDL Client (для Windows) — самое мощное решение, поддерживающее более 900 сайтов, социальных сетей и видеохостингов, а также любое качество видео, которое доступно в источнике.

  • UDL Lite — представляет собой удобный доступ к сайту с мобильного устройства. С его помощью вы можете легко скачивать видео прямо на смартфон.

mobile menu iconКакой формат видео "39. Настройка Modbus Master через стандартные средства CODESYS" выбрать?mobile menu icon

  • Наилучшее качество имеют форматы FullHD (1080p), 2K (1440p), 4K (2160p) и 8K (4320p). Чем больше разрешение вашего экрана, тем выше должно быть качество видео. Однако следует учесть и другие факторы: скорость скачивания, количество свободного места, а также производительность устройства при воспроизведении.

mobile menu iconПочему компьютер зависает при загрузке видео "39. Настройка Modbus Master через стандартные средства CODESYS"?mobile menu icon

  • Полностью зависать браузер/компьютер не должен! Если это произошло, просьба сообщить об этом, указав ссылку на видео. Иногда видео нельзя скачать напрямую в подходящем формате, поэтому мы добавили возможность конвертации файла в нужный формат. В отдельных случаях этот процесс может активно использовать ресурсы компьютера.

mobile menu iconКак скачать видео "39. Настройка Modbus Master через стандартные средства CODESYS" на телефон?mobile menu icon

  • Вы можете скачать видео на свой смартфон с помощью сайта или pwa-приложения UDL Lite. Также есть возможность отправить ссылку на скачивание через QR-код с помощью расширения UDL Helper.

mobile menu iconКак скачать аудиодорожку (музыку) в MP3 "39. Настройка Modbus Master через стандартные средства CODESYS"?mobile menu icon

  • Самый удобный способ — воспользоваться программой UDL Client, которая поддерживает конвертацию видео в формат MP3. В некоторых случаях MP3 можно скачать и через расширение UDL Helper.

mobile menu iconКак сохранить кадр из видео "39. Настройка Modbus Master через стандартные средства CODESYS"?mobile menu icon

  • Эта функция доступна в расширении UDL Helper. Убедитесь, что в настройках отмечен пункт «Отображать кнопку сохранения скриншота из видео». В правом нижнем углу плеера левее иконки «Настройки» должна появиться иконка камеры, по нажатию на которую текущий кадр из видео будет сохранён на ваш компьютер в формате JPEG.

mobile menu iconСколько это всё стоит?mobile menu icon

  • Нисколько. Наши сервисы абсолютно бесплатны для всех пользователей. Здесь нет PRO подписок, нет ограничений на количество или максимальную длину скачиваемого видео.