Страница 1 из 1

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

Добавлено: 12 мар 2018, 23:33
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 входов, и если все будет в порядке выложу сюда код. И программу контроллера. На станке непричесанная программа уже работает :)

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

Добавлено: 13 мар 2018, 16:33
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

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

Добавлено: 13 мар 2018, 16:50
aftaev
EX854508 писал(а):НО нужно разобраться с этой проблемой принципиально
Попробовать написать разработчику.

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

Добавлено: 13 мар 2018, 17:01
EX854508
aftaev, да, идея хорошая. Чуть позже напишу Тому, что по этому поводу он думает. Но хочу пока попробовать сам разобраться с формированием CRC суммы, так как несмотря на то, что контроллер абсолютно китайский, проверка его Termit'ом показала, что ответные сообщения приходят с корректной суммой, то есть проблема не в нем. Да и CRC сумма меняется при включении и выключении битов выходов, значит проблема со стороны программы. И код ошибки соответствует "INTERROR_CHECKSUM ". В общем, надо еще поизучать.
Termit - программка для общения с MODBUS устройствами, разработчик S2-team.

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

Добавлено: 13 мар 2018, 21:54
EX854508
ПРОШУ ПРОСТИТЬ ЗАЛИЛ НЕ ТУ ВЕРСИЮ! ФАЙЛ ОБНОВИЛ!
ОТЛИЧИЕ ОТ СТАРОГО В СТРОКЕ 391 вместо "case 0x04:" читать "case 0x01:"

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

Добавлено: 03 апр 2018, 14:08
EX854508
ПРОБЛЕМА РЕШЕНА! ВХОДА И ВЫХОДА РАБОТАЮТ! КИТАЙЦЫ - ЗАСРАНЦЫ!
ССЫЛКА НА НОВУЮ ТЕМУ СО ВСЕМИ РАБОЧИМИ ПРИЛОЖЕНИЯМИ
ПЛК ВМЕСТО KONNECT RS485-MODBUS KFLOP+KANALOG #1