Страница 5 из 7

Re: Китайский PLC-контролллер FK3U

Добавлено: 05 ноя 2020, 10:26
vmarkiv
При работе по Modbus у меня не получается работать напрямую с выходными реле ( Y000- Y 010 ) через функцию 5 ( запись coil ) . При работе с записью регистров ( к примеру D1 ) все получается , данные в Y000-Y010 пишутся . На Arduino соорудил генератор Модбас команд для записи Coil в адреса от 0 до 65535 методом перебора - выходы не включаются ...

Re: Китайский PLC-контролллер FK3U

Добавлено: 10 ноя 2020, 17:33
vmarkiv
Удалось записать в адреса Y000 - Y012 значения , используя функцию 05 . Но , запись идет в ячейки памяти M0-M15 к которым подключены Y000 - Y012 . Для classicladder от LINUXCNC пришлось сделать настройку каждого выхода Q используя смещение и количество элементов один . при использовании количества элементов больше одного , classicladder передает функцией 15 , которая , видимо , в FX3U отсутствует .

Re: Китайский PLC-контролллер FK3U

Добавлено: 03 дек 2020, 14:31
BobaQPE
Добрый день.
Решил тоже "вступить" в сообщество сэкономивших.
Приобрел вот такое чудо: https://www.aliexpress.com/snapshot/0.h ... 2607514173
Задача была обрабатывать выключатели и свет в доме. С возможностью управления через NodeRed.
Запустил, проверил. Вроде все работает начал настраивать ModeBus Slave. вроде все должно быть просто.
Включил и получай нужные тебе регистры.
Вот только получилась засада, адреса регистров куда-то убежали.
Удалось найти только М0 - М1ххх они оказались на адресах начиная с 2048.
Ориентировался на инструкцию от Wecon, она вроде тоже похожий клон. Но не тут-то было.

Народ, кто делал таблицы регистров для клонов FX2N скиньте плиз.
По хорошему надо сделать программку, которая отсканирует, но у меня опыта в системном программировании 0.
Спасибо.

Re: Китайский PLC-контролллер FK3U

Добавлено: 03 дек 2020, 18:54
BobaQPE
Пришлось сделать небольшую программу для сканирования портов, чтоб хоть что-то найти.
Результаты сегодняшних изысканий.
ReadHoldingRegisters

D0 = 4096 = 0x1000
D2047 = 6143 = 0x17FF

еще блок 20096 до 20351 чем то забит

с 6143 по 20096 Ошибка данных


ReadCoils
m0 = 2048 = 0X0800
m1507 = 3583 = 0x0DFF

Y0 - Y7 = 1280 = 0x0500
X0 - X7 = 1024 = 0x0400

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

Re: Китайский PLC-контролллер FK3U

Добавлено: 13 май 2021, 11:08
mora11
Насчет поддержки китайцем LE3U языка ST в среде GX Works2:
(хоть я электрик, но не поднимается рука чертить по тысячи связей на LAD, жутко вводит в депрессию :))
Выяснил, что проблема в авто нумерации меток условного перехода (инструкция CJ), по дефолту компилятор начинает с метки P2048,
китаец сходит с ума.
По спецификации на поделку https://www.lollette.com/le3u-plc-controller, всего поддерживается 64 условных перехода, начиная с P0.
Настраивается в Tool->Device/Label Automatic-Assign Settings окно Pointer выставлением диапазона 0-62
(указатель 63-зарезервирован для перехода в конец программы).
Немного тестировал, основные конструкции (IF,FOR,CASE) работают, пока полет норм.
Но конечно 63 IF-а, это маловато...

Re: Китайский PLC-контролллер FK3U

Добавлено: 31 янв 2022, 03:46
Sattva
Приветствую.

Коллега принес FX3U PLC с вопросом о подсоединении расширителя выходов по RS-485
WP8027ADAM
https://aliexpress.ru/item/33002016990. ... 7014410124

Я ранее писал все под ESP32, Raspberry Pi и потому это пока взрыв мозга.
Удалось выставить параметры порта и вывести по примеру 2 байта данных в RS-485.
Но для управления WP8027ADAM нужна строка из 9 байта. У меня пока даже
нет идей как 9 байт вложить в регистр, в который помещается всего 2. :-)
Логично, что нужно много регистров и из них сложить все байты.
Осталось разобраться как.

Другими словами буду благодарен за подсказку в каком направлении изучать
регистры. Или быть может кто-то имеет пример обмена данными пакетами более 2 байт.

P. S.
Извиняюсь, но может в мире за последние годы вышло что-то более новое, чем PLC на Ladder
и о FX3U все уже забыли?


Заранее благодарен.

Re: Китайский PLC-контролллер FK3U

Добавлено: 31 янв 2022, 10:28
Kost_irk
Вы вообще не с того конца заехали, не надо вам никаких байтов никуда пихать. Есть протокол modbus rtu, ваш расширитель будет slave а fx3u мастером. В плк поддержка этого протокола уже есть, нужно только использовать правильный функциональный блок, ну и настроить его. Гуглите fx3u modbus master и повторяйте, там все примитивно должно быть.

Re: Китайский PLC-контролллер FK3U

Добавлено: 31 янв 2022, 17:43
Sattva
Kost_irk писал(а): 31 янв 2022, 10:28 Вы вообще не с того конца заехали
Спасибо за ответ. Приятно, что не оставили без внимания.

Код: Выделить всё

Понимаю к чему вы клоните. Должно быть что-то вроде:
1. Свяжись с устройством №2 по RS-485 MODBUS RTU.
2. Включи/выключи вывод номер 5.
Но так здесь выкрутиться нельзя.
Сами по себе данные не формируются, конечно. Вот пример определения
регистров и подготовки байт на выход в RS-485. На днях посмотрю результат
работы этого примера. Пока что, вижу, как FX3U в режиме мастера сам собой
CRC16 считает правильно.

https://youtu.be/z7iPu6nbNP8

Видео кликается и работает, просто на Youtube, а не embeded.


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

Re: Китайский PLC-контролллер FK3U

Добавлено: 31 янв 2022, 18:36
Kost_irk
Ничего не могу сказать о грамотности людей, но по сути все сделано так, как я и предлагал. Как он там упаковывает данные и прочее - не особо важно, потом он использует блок IVWR, который предназначен для общения с частотником, но по сути похоже является реализацией rtu функции 05 - write single coil. Также есть функция IVBWR, которая похоже аналог 0F - write multiple coil. Но это уже не точно, надо проверять. Если все правильно, то выгоднее вам будет сделать передачу через нее, меньше данных передавать и можно реализовать синхронное переключение, что на видео не получилось. Надо только ваши сигналы в 2 байта упаковать.
Я так понял, у вашего модуля запись по адресам 00-0F это отдельные выходы, а 10-11 это два байта по 8 выходов, в общем довольно удобно.
Еще здесь https://dl.mitsubishielectric.com/dl/fa ... 26201g.pdf описана команда ADPRW, которая тоже предназначена для работы с коммуникационным адаптером, который умеет и modbus. Непонятно только, есть ли у вас такая функция.

Re: Китайский PLC-контролллер FK3U

Добавлено: 31 янв 2022, 18:42
Sattva
Kost_irk, спасибо за manual и пояснения.
Я как раз собирался его найти сегодня и вчитаться.
Ничего не могу сказать о грамотности людей, но по сути все сделано так, как я и предлагал.
Отлично. Значит, и я этим путем пойду.

Говоря о байтах, расширитель дискретных выходов понимает такое:

Код: Выделить всё

Три примера команд TX:

Пример 1
02    0F    00  00     00  10    02      FF  00    B7 20 Enable 1-8 Outputs
Adr   Func  Reg.Addr.  Reg.Numb  Length  16PinsOut CRC16 MODBUS

Пример 2
02    0F    00  00     00  10    02      7F  00    D6 E0 
Adr   Func  Reg.Addr.  Reg.Numb  Length  16PinsOut CRC16 MODBUS

Пример 3
02    0F    00  00     00  10    02      00  00    F6 D0 
Adr   Func  Reg.Addr.  Reg.Numb  Length  16PinsOut CRC16 MODBUS


Ответ RX:
02 0F 00 00 00 10 54 34
Как видим, здесь команда 0F - write multiple coil применяется.
Вот о том, как ее смодулировать с контроллера я и размышляю.

Re: Китайский PLC-контролллер FK3U

Добавлено: 31 янв 2022, 18:49
Kost_irk
А вообще после нормального программирования лестничная логика это вывих мозга, все совсем не так делается, так что с непривычки может быть трудно.

Re: Китайский PLC-контролллер FK3U

Добавлено: 31 янв 2022, 18:50
Sattva
Спасибо за понимание. Вывих получен. Зализываем раны и в бой!

Re: Китайский PLC-контролллер FK3U

Добавлено: 31 янв 2022, 18:54
Kost_irk
Sattva писал(а): Говоря о байтах, расширитель дискретных выходов понимает такое:
Ну все правильно, я вам это и втолковываю, это стандартный протокол rtu. Вам как таковую команду использовать не надо, ее контроллер сам сделает, нужно только функциональному блоку передать адрес устройства, адрес записи ну и данные. И ответ сам примет, и ошибку выставит, если что не так. Если даже IVBWR это не команда 0F, пользуйте IVWR два раза, ставьте адреса 10 и 11, будут у вас выходы двумя восьмерками работать.

Re: Китайский PLC-контролллер FK3U

Добавлено: 07 июн 2022, 15:28
oleg453
Добрый день или вечер.
Много вопросов по FX3U.
Занимаясь электроникой более 60 лет понял, почаще надо
смотреть фильм "Воздушные приключения", перелет из Лондона в Париж.
В данном фильме есть персонаж, фанатичный немецкий полковник фон Гольштейн,
который правильно сказал: "Если есть инструкция то я полечу", хотя ни разу
не сидел за штурвалом самолета. Это вступление.
Более 12-ти лет назад начал осваивать контроллеры, в данный момент на столе
у меня десяток контроллеров разных фирм.
Контроллеры Мицибуси серии FX пробовал освоить с 2017 года, но в связи с нехваткой
времени забросил это занятие.
По роду работы необходимо было быстро написать программу в LD с возможностью
использования модулей расширения для дискретных и аналоговых сигналов.
За основу взял FX3U и не пожалел. Пришлось изучить документацию
и в настоящее время рекомендую данный контроллер, почему, да потому что у него
богатая математическая поддержка.
А теперь о самом главном.
Пересмотрев большое количество всяких роликов по использованию FX3U
нигде не нашел как подключить правильно протокол ModBus RTU, чтобы он работал.
Для программирования использую программу: MELSOFT GX Works3.
Для работы FX3U с дополнительными модулями расширения необходимо прописать
следующие команды, для контроллера:
--- M8002 [SET M8161]
[MOV K3 D8121]
[MOV K100 D8129];

Сбросить счетчики для выбора модуля расширения.
----M8002 [RST C0]
[RST C1]
[RST C2};
Прописать адреса устройств Slave, которые будут использоваться.
Пример:
----M8002 [MOV K15 D1]
[MOV k17 D2]
и т.д. у меня используется до пяти
Прошу извинить ЧПУ закончил работу, надо готовить печатную плату.
Продолжу завтра.

Re: Китайский PLC-контролллер FK3U

Добавлено: 07 июн 2022, 19:50
aftaev
oleg453 писал(а): За основу взял FX3U и не пожалел
Речь про оригинальный FX3U, или китайский клон?

Re: Китайский PLC-контролллер FK3U

Добавлено: 08 июн 2022, 11:59
oleg453
Коль не дилетант то приводи примеры.
А мы продолжим.
За основу взяты: PLK FX3U;
Модуль расширения WP3082ADAM - 8-аналоговых входов, 3 шт;
Модуль расширения WP8026ADAm - 16 каналов дискретных вводов, 1 шт;
Модуль расширения WP8027ADAM - 16 каналов дискретного ввода, 1 шт.
Сразу уточняю, почему выбраны данные модули.
Для определения параметров управления по протоколу RS485 для данных модулей
имеется программа WELLPRO Debugging Software_V1.42K.
Используя данную программу можно сразу увидеть полный фрейм протокола RS485
как для приема так и для передачи, и возможность производить изменения
параметров протокола ModBus RTU, а именно скорость передачи, выбрать количество передаваемых бит 7 или 8,
стоповый бит.
Пример: на входе установлен ток 4 мА для 1-го канала
WP3082 Запрос: 05 03 00 00 00 08 45 88; Ответ: 05 03 10 03 33 00 00 00 00 00 00 00 00 00 00 00 00 00 00 26 8D
Пример: на входе установлен ток 20 мА для 1-го канала
WP3082 Запрос: 05 03 00 00 00 08 45 88; Ответ: 05 03 10 0F F5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 65 DA
Из данных примеров водно: 05 адрес устройства в 16-ти ричной кодировки; 03 функциональный код протокола ModBus RTU;
10 количество передаваемых байт. Первый канал занимает 4 и 5 байт. Соответственно на каждый канал будет выделено по два байта.
В программе WELLPRO Debugging Software_V1.42K также можно посмотреть полный протокол для WP8026/
Пример: все входы отключены адрес- 21 (H15)
WP8026 Запрос: 15 02 00 00 00 10 7A D2; Ответ: 15 02 02 00 00 89 BB
при включении 01-го входа: Ответ: 15 02 02 01 00 88 2B
при включении 08-го входа: Ответ: 15 02 02 80 00 E8 7B
при включении с 01-го по 08-й входа: Ответ: 15 02 02 FF 00 E8 7B
при включении 09-го входа: Ответ: 15 02 02 00 01 48 7B
при включении 16-го входа: Ответ: 15 02 02 00 80 88 1B
при включении с 09-го по 16-й входа: Ответ: 15 02 02 00 FF xx xx
Из приведенных примеров видно, что первые восемь входов программируются в 4м байте, а вторые восемь входов
программируются в пятом байте.
Вспоминая бравого немецкого майора идем читать инструкцию: "Серия MELSEC FX Программируемые логические
контроллеры. Руководство по программированию. (стр. 765)". Открываем страницу 63- Адресация регистра -
В контроллерах FX3U или FX3UC имеется возможность указывать в качестве битовых операндов отдельные биты регистров данных.
Адресация осуществляется в виде " Dx.b". Например, адрес D10.7 означает бит 7 в регистре данных 10.
В остальных контроллерах такой функции нет.
На сегодня все.
Жду ответа от не дилетанта.

Re: Китайский PLC-контролллер FK3U

Добавлено: 09 июн 2022, 14:08
oleg453
Продолжим.
Были рассмотрены модули WP3082 и Wp8026 сейчас рассмотрим модуль WP8027.
Для подключения модулей расширения к компьютеру использую: " Промышленный преобразователь USB в RS485, защита от обновления, преобразователь RS232, Совместимость со стандартом V2.0, Модуль платы разъема RS-485" Конкретно продавца не указываю их много выберите сами. Данных модулей с десяток от разных продавцов и все они работают.
Сразу укажу адаптер для подключения контроллера к компьютеру для его программирования: "USB к RS232 com-порт PDA 9 pin DB9, адаптер кабеля, sup-порт, с 1/2 разъемами USB к 2/4/5, USB к 1/2, USB к 1/2, USB к 1/2/2, USB к 1/2." Конкретно продавца не указываю их много выберите сами. Данных модулей с десяток от разных продавцов и все они работают.
Почему данного адаптера много, были случаи когда при программировании оставлял на ночь подключенный адаптер к контроллеру, программа в это время была включена в режим "Monitor Mode (F3)", а утром почему-то адаптер переставал работать. Что- бы не испытывать судьбу закупил их с десяток.
Используя программу WELLPRO Debugging Software_V1.42K можно просмотреть реакцию протокола ModBus RTU на действия на входе модуля. Адрес модуля буду указывать как у меня он запрограммирован.
• Открывая программу "WELLPRO Debugging Software_V1.42K" в окне "Model Select" выбираем модуль который подключен к компьютеру. Для просмотра режима ModBus RTU, которым прошит данный модуль расширения, нажимаем клавишу: "Parameter Setting". На компьютере , в режиме "Устройства и принтеры" находим подключенный адаптер " USB-SERIAL CH340 (COMxx)" и в программе "Parameter Setting" в окне "Serial No." выставляем наш "COMxx" порт, а затем нажимаем кнопку "Port Close". Для поиска устройства нажимаем кнопку "Read" и в вкладке "Module Parameter Read" считываем параметры подключенного модуля расширения. Как правильно с завода он запрограммирован на адрес 01 и скорость 9600. Для введения новых параметров на вкладке "Communication Parameter Change" в окне "Address" указываем новый адрес устройства в сети RS485, а в окне "Parameter" выбираем новые параметры протокола RS485. Во вкладке "Module Address Change" в окне "New Address" новый адрес устройства сети RS485. После этих манипуляций нажимаем кнопки "Write" и кнопку "Read" в вкладке "Module Parameter Read" и смотрим новые параметры для протокола "ModBus RTU"нашего модуля расширения. Если Вас устраивает новые параметры, то вкладку "Parameter Setting" можно закрыть и в программе "WELLPRO Debugging Software_V1.42K" нажимаем кнопку "Function Testing". Открывается окно вашего модуля расширения: например "WP8027ADAM". Вновь нажимаем кнопку "Port Close", устанавливаем адрес устройства, который запрограммировали, и нажимаем кнопку "Write". Если связь установлена то в окне "Serial Send Data" (Последовательная отправка данных) будем считывать параметры протокола "ModBus RTU" на передачу, а в окне "Receive Data" (Последовательный прием данных) будем считывать параметры протокола "ModBus RTU" на прием, т.е. протокол ответа от модулю расширения к контроллеру.
• Пример: Модуль WP8027ADAM адрес - 23 (H17) Все выходы отключены,-
• Запрос: 17 0F 00 00 00 10 02 00 00 04 40; Ответ: 17 0F 00 00 00 10 56 F1;
• Пример: Модуль WP8027ADAM адрес - 23 (H17) Включен выход 01, -
• Запрос: 17 0F 00 00 00 10 02 01 00 05 D0; Ответ: 17 0F 00 00 00 10 56 F1;
• Пример: Модуль WP8027ADAM адрес - 23 (H17) Включен выход 08, -
• Запрос: 17 0F 00 00 00 10 02 80 00 65 80; Ответ: 17 0F 00 00 00 10 56 F1;
• Пример: Модуль WP8027ADAM адрес - 23 (H17) Включены выхода 01...08, -
• Запрос: 17 0F 00 00 00 10 02 FF 00 45 B0; Ответ: 17 0F 00 00 00 10 56 F1;
• Пример: Модуль WP8027ADAM адрес - 23 (H17) Включен выход 09, -
• Запрос: 17 0F 00 00 00 10 02 00 01 C5 80; Ответ: 17 0F 00 00 00 10 56 F1;
• Пример: Модуль WP8027ADAM адрес - 23 (H17) Включен выход 16, -
• Запрос: 17 0F 00 00 00 10 02 00 80 05 E0; Ответ: 17 0F 00 00 00 10 56 F1;
• Пример: Модуль WP8027ADAM адрес - 23 (H17) Включены выхода 09...16, -
• Запрос: 17 0F 00 00 00 10 02 00 FF 44 00; Ответ: 17 0F 00 00 00 10 56 F1;

Расшифровка кода сообщения: 17 - адрес устройства; Код функции: 15 (0x0F);
Что делает функция: Запись нескольких DO; Тип значения: Дискретное; Тип доступа: Запись.
(00 00 00 10) - специальные данные; (02) - количество передаваемых байт; пятый байт -отвечает за первую группу (01...08) из 8-ми каналов, шестой байт - отвечает за вторую группу (09...16) из 8-ми каналов.
Итак мы знает какие байты управляют выходами модуля (WP8027ADAM), но вот ответа о срабатывании выхода в данном модуле не наблюдается.
На сегодня все.
Жду ответа от "НЕ ДИЛЕТАНТА".

Re: Китайский PLC-контролллер FK3U

Добавлено: 09 июн 2022, 14:14
oleg453
Не получается вставить рисунки.
Кто знает как прошу подсказать.

Re: Китайский PLC-контролллер FK3U

Добавлено: 10 июн 2022, 17:01
oleg453
AliExpress компания WCMCU Store: Промышленный преобразователь USB в RS485, защита от обновления, преобразователь RS232, Совместимость со стандартом V2.0, Модуль платы разъема RS-485"
AliExpress компания TENSTAR Store: "USB к RS232 com-порт PDA 9 pin DB9, адаптер кабеля, sup-порт, с 1/2 разъемами USB к 2/4/5, USB к 1/2, USB к 1/2, USB к 1/2/2, USB к 1/2."

Re: Китайский PLC-контролллер FK3U

Добавлено: 10 июн 2022, 17:32
oleg453
Продолжим.
В предыдущем посте вкратце был рассмотрен Модуль расширения WP3082ADAM - 8-аналоговых входов.
Вся затея была основана на том, что в PLK FX3U имеется всего три ввода для токовой петли 0...20мА, а на объекте необходимо контролировать 32 канала токовой петли 4...20 мА. Поэтому основным модулем расширения является: WP3082ADAM остальные модули были взяты для эксперимента.
При запросе информации с модуля WP3082 удобно опрашивать все восемь каналов сразу поэтому вернемся к нашим примерам по данному модулю.
Пример: на входе установлен ток 4 мА для 1-го канала
WP3082 Запрос: 05 03 00 00 00 08 45 88; Ответ: 05 03 10 03 33 00 00 00 00 00 00 00 00 00 00 00 00 00 00 26 8D
Пример: на входе установлен ток 20 мА для 1-го канала
WP3082 Запрос: 05 03 00 00 00 08 45 88; Ответ: 05 03 10 0F F5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 65 DA
Разберем ответ для 1-го канала 05 -адрес устройства; 03 - функция чтения AO; (03 и 33) - данные первого канала; следующая пара байт (00 00) - данные второго канала; и т.д. до пары (26 8D) - контрольная сумма CRC. Из приведенной раскладки ответного кода делаем вывод:
для считывания адреса необходим один байт, в программе будет коэффициент (К1);
для считывания функции чтения AO необходим один байт, в программе будет (К1);
для считывания количества передаваемых байт данных необходим один байт, в программе будет (К1);
для считывания количества передаваемых байт каждого канала необходимо два байта, в программе будет (К2).
Как это все будет выглядеть рассмотрим тогда когда буду показывать код программы, сейчас это только надо запомнить.
Если есть вопросы задавайте, спорте.
Жду ответа от "НЕ ДИЛЕТАНТА".