KFLOP+Kanalog и MODBUS через rs232->rs485

KFlop, KStep, KAnalog, KMotion...
Аватара пользователя
EX854508
Новичок
Сообщения: 19
Зарегистрирован: 26 авг 2016, 21:29
Репутация: 18
Настоящее имя: Александр Анатольевич
Контактная информация:

KFLOP+Kanalog и MODBUS через rs232->rs485

Сообщение EX854508 »

Тема как решение указанной проблемы не актуальна, так как она решилась в другом ключе.
Вот ссылка на новую тему со всеми приложениями
ПЛК ВМЕСТО KONNECT RS485-MODBUS KFLOP+KANALOG #1

Уважаемые знатоки! Недавно начал заниматься чпу, по заданию заказчика занимаюсь модернизацией станка. В силу определенных обстоятельств, а именно скудного финансирования, к Kflop'у в качестве замены Konnect был приобретен китайский клон ПЛК FX2N-30mr, для чего установлен конвертер интерфейса rs232->rs484; общаются два этих прекрасных парня по протоколу MODBUS. И все вроде бы замечательно, но больше 32 виртуальных битов из VirtualExpandedBits нулевого диапазона (т.е. VirtualBitsEx[0]) у меня использовать не получается. С кодом проблем нет, все компилируется и работает, но ровно до 1055 бита. Дальше - ну или ересь, или никак. Изменение скорости передачи и прочего эффекта не дало. Причем если использовать в дополнение к диапазону 1024-1055 "VirtualBitsEx[0]" диапазон 48-63 "VirtualBits" вместо "VirtualBitsEx[1]" то все хорошо, все работает, значит проблема не на моей стороне (я про код).
Открыв файл PC-DSP.h в папке DSP_Kflop нашел интересную строчку "int VirtualBitsEx0; // only upload 32 1024 Expanded Virtual Bits". Добавление строки "int VirtualBitsEx1" не дало ничего.
Помогите пожалуйста победить эту зверюгу! Хочу больше виртуальных битов!
P.S. Завтра протестирую причесанную программу для этого самого контроллера ZAHOR FX2N-30mr 14 выходов/16 входов, и если все будет в порядке выложу сюда код. И программу контроллера. На станке непричесанная программа уже работает :)
Вложения
FRONTVIEW.jpg (8100 просмотров) <a class='original' href='./download/file.php?id=134437&sid=779c701d050399506ad5234f44ce95cb&mode=view' target=_blank>Загрузить оригинал (61.68 КБ)</a>
RS485.jpg (8099 просмотров) <a class='original' href='./download/file.php?id=134442&sid=779c701d050399506ad5234f44ce95cb&mode=view' target=_blank>Загрузить оригинал (201.52 КБ)</a>
Последний раз редактировалось EX854508 03 апр 2018, 17:44, всего редактировалось 5 раз.
Будь сильным в своем незнании. Будь смел в своих невежествах.
Аватара пользователя
EX854508
Новичок
Сообщения: 19
Зарегистрирован: 26 авг 2016, 21:29
Репутация: 18
Настоящее имя: Александр Анатольевич
Контактная информация:

Re: KFLOP+Kanalog и MODBUS через rs232->rs485

Сообщение EX854508 »

В общем, по итогам дня:
- выхода работают;
- входа НЕ работают.
Хочу отметить, на станке решили пока обойтись без чтения входов PLC, благо их на Kanalog'е хватает. НО нужно разобраться с этой проблемой принципиально, для того чтобы в будущем можно было использовать любые PLC поддерживающие Modbus протокол.
Возможная причина - недоработка программы. Каюсь, так хотелось попробовать, что не стал до конца разбираться в оригинальной программе.
В результате нехитрых операций с кодом, было получено следующее сообщение
"ModbusMaster_Retry:4
Failed Monitor message 0
ModbusMaster_NextCmd(11)
ModbusMaster_Send(0)
List:0 ConnectIndex:1 MonitorIndex:0
Checksum: Theirs:AAD7 Mine:BCB3, 44 chars
Error=10, -0.009772"
Это говорит о том, что скорее всего какая-то неполадка с операцией формирования CRC-суммы. Буду разбираться дальше, как говорится, дорогу осилит идущий.
Прилагаю, как и обещал, программу для Dynomotion и для контроллера. Среда программирования контроллера - GX Developer 8.20w
Вложения
FX2N-30MR MODBUS SLAVE.rar
(10.07 КБ) 396 скачиваний
FX2N 13.03.2018 test.c
(15.65 КБ) 1112 скачиваний
Последний раз редактировалось EX854508 13 мар 2018, 21:51, всего редактировалось 2 раза.
Будь сильным в своем незнании. Будь смел в своих невежествах.
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6191
Откуда: Казахстан.
Контактная информация:

Re: KFLOP+Kanalog и MODBUS через rs232->rs485

Сообщение aftaev »

EX854508 писал(а):НО нужно разобраться с этой проблемой принципиально
Попробовать написать разработчику.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Аватара пользователя
EX854508
Новичок
Сообщения: 19
Зарегистрирован: 26 авг 2016, 21:29
Репутация: 18
Настоящее имя: Александр Анатольевич
Контактная информация:

Re: KFLOP+Kanalog и MODBUS через rs232->rs485

Сообщение EX854508 »

aftaev, да, идея хорошая. Чуть позже напишу Тому, что по этому поводу он думает. Но хочу пока попробовать сам разобраться с формированием CRC суммы, так как несмотря на то, что контроллер абсолютно китайский, проверка его Termit'ом показала, что ответные сообщения приходят с корректной суммой, то есть проблема не в нем. Да и CRC сумма меняется при включении и выключении битов выходов, значит проблема со стороны программы. И код ошибки соответствует "INTERROR_CHECKSUM ". В общем, надо еще поизучать.
Termit - программка для общения с MODBUS устройствами, разработчик S2-team.
Будь сильным в своем незнании. Будь смел в своих невежествах.
Аватара пользователя
EX854508
Новичок
Сообщения: 19
Зарегистрирован: 26 авг 2016, 21:29
Репутация: 18
Настоящее имя: Александр Анатольевич
Контактная информация:

Re: KFLOP+Kanalog и MODBUS через rs232->rs485

Сообщение EX854508 »

ПРОШУ ПРОСТИТЬ ЗАЛИЛ НЕ ТУ ВЕРСИЮ! ФАЙЛ ОБНОВИЛ!
ОТЛИЧИЕ ОТ СТАРОГО В СТРОКЕ 391 вместо "case 0x04:" читать "case 0x01:"
Будь сильным в своем незнании. Будь смел в своих невежествах.
Аватара пользователя
EX854508
Новичок
Сообщения: 19
Зарегистрирован: 26 авг 2016, 21:29
Репутация: 18
Настоящее имя: Александр Анатольевич
Контактная информация:

Re: KFLOP+Kanalog и MODBUS через rs232->rs485

Сообщение EX854508 »

ПРОБЛЕМА РЕШЕНА! ВХОДА И ВЫХОДА РАБОТАЮТ! КИТАЙЦЫ - ЗАСРАНЦЫ!
ССЫЛКА НА НОВУЮ ТЕМУ СО ВСЕМИ РАБОЧИМИ ПРИЛОЖЕНИЯМИ
ПЛК ВМЕСТО KONNECT RS485-MODBUS KFLOP+KANALOG #1
Будь сильным в своем незнании. Будь смел в своих невежествах.
Ответить

Вернуться в «KFlop»