То есть единственный вариант победить это - работа с портом напрямую
Спасибо большое
Ничего не поделаешь, буду пробовать реализовать
То есть единственный вариант победить это - работа с портом напрямую
Спасибо большое
Ничего не поделаешь, буду пробовать реализовать
После создания своих функций в секции "Глобальная функция", а в этой секции глобальных функций может быть несколько, обращение к ним из скриптов ничем не отличается от обращения к встроенным функциям.
Для MY_16WRITE(BYTE Adres, WORD Mask)
Аргументы Adres и Mask могут быть константами, регистрами панели или результатом вычислений в текущем скрипте.
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Мой канал на РУТУБЕ
https://rutube.ru/channel/23641433/
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Что очень круто наваяли.
Изначально ведь нужно было записать всего один регистр командой 0х10. И в этом, частном случае нужно формировать посылку всего из 11 байт. Зачем своя функция для записи больше чем один регистр? По тому, что если регистров больше чем один, то и Writes() будет использовать команду 0х10.
А уж групповая посылка 124 регистров за раз это наверно через чур много.
А в этом фрагменте
Для ссылки 3х команда 0x0f не применимаКод:switch (objType) { case MODBUS_RTU_REGS_3X: bSend[1] = 0x0f; case MODBUS_RTU_REGS_4X: bSend[1] = 0x10; default: return Writes(comID, staID, objType, add1, regs, pRegs); //don't know what to do }
![]()
Последний раз редактировалось petera; 27.10.2014 в 16:37.
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Мой канал на РУТУБЕ
https://rutube.ru/channel/23641433/
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Проще слепить свою универсальную функцию и не мучиться потом
Забавно, что панель записать позволяет в 3х регистры... Убрал досадную оплошность, спасибо.
В панели вроде работает, только не могу проверить обработку ошибок. Использую симулятор слейва PeakHMI http://www.hmisys.com/
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Мой канал на РУТУБЕ
https://rutube.ru/channel/23641433/
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Мой канал на РУТУБЕ
https://rutube.ru/channel/23641433/
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Сейчас доведём до идеала![]()
Чтобы не ошибиться, в первом регистре успешные попытки связи, во втором все безуспешные, в третьем все таймауты, в четвёртом все ошибки данных, причём второй равен сумме третьего и четвёртого, всё верно?
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Мой канал на РУТУБЕ
https://rutube.ru/channel/23641433/
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Увеличить таймаут до десяти секунд, подключить вместо нормального устройства просто терминал и любой ответ заслать
Любой ответ нельзя.
Захват-1.png
ЗЫ. Во вложении описание протокола
Последний раз редактировалось petera; 28.10.2014 в 15:04.
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Мой канал на РУТУБЕ
https://rutube.ru/channel/23641433/
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg