А почему не использовать в качестве дополнительного интерфейса к SPI - I2C? Что бы не было такого ограничения к количеству модулей расширения, да и очень много микросхем с этим интерфейсом
А почему не использовать в качестве дополнительного интерфейса к SPI - I2C? Что бы не было такого ограничения к количеству модулей расширения, да и очень много микросхем с этим интерфейсом
электронщик до мозга костей и не только
20 контактов разъёма должно хватать на два интерфейса
электронщик до мозга костей и не только
SPI-I2C не очень подходят на большие расстояния. В идеале нужна внутренняя шина, которую можно переносить на другую DIN рейку как минимум или даже на большее растояние.
Так я и говорю про внутреннию шину для модулей расширения в пределах шита. Не устраивает частота 400мгц, можно и 100 использовать ...
электронщик до мозга костей и не только
rovki а наводки эти шины выдержат? мне кажется надо что-то типа RS485 использовать все же с экраном. Ну и опять же, если сделать протокол обмена на основе Modbus, чтобы гонять массивами. То подумав, можно модуль сделать так, что его можно было бы использовать не только с ПР. Чтобы модуль умел отвечать как по одному типу запросов (та же функция 20) когда подключаем к ПР, так и по стандартным командам Modbus, например если поставить что-то вроде каплера и подключать например к СПК, ПЛК, ИПП120 и так далее..
ну, дурак думками богатеет, а Овен сделает все как всегда
Так сейчас spi работает по кабелю нормально же. В моём контроллере Pazzle модульность на уровне не корпусов, а плат. Между платами разъёмы с интерфейсами spi (5 cs) и I2C .+ питание. На всё хватило 16 выводов разъёма. А у ПР 20 выводов. Правда у меня spi штатный, а у овен свой ( слышал, но не проверял), связанно это наверное с защитой ( что б ни кто не догадался, как свои модули подключать). Так было и с uart. По этим 2 интерфейсам всё что угодно можно подключать, модулей сторонних куча. Что касаемо интерфейса rs485, так он есть. Соединяйте его снаружи, зачем его на внутреннею шину? Да и скорость его на порядки меньше. Нужно разделять внутри системные интерфейсы (меж платные, внутри платные) и внешние интерфейсы ( как правило медленные)
Последний раз редактировалось rovki; 07.10.2023 в 10:25.
электронщик до мозга костей и не только
Ну уж нет. Мне хочется имть в ПРках быструю внутреннюю шину, чтобы кнопки быстро обрабатывать (двойные нажатия и прочую дичь).
На текущих ПРках и ПРмах это делается легко, а если там будет RS-485 и какой-то простокол - то как бы опрос не замедлился бы...
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net
при скорости 115200 за секунду 14400 байт, время программы скажем 5мс, 144 байта за цикл программы. предположим модуль аналогового входа на 8 каналов, 4*8=32 байта на ответ.
За цикл программы можно опросить 4 модуля.
соврал, 14,5*5=72 байта
и чем больше цикл программы, тем больше модулей можно опросить. Все зависит от организации опроса самой прошивкой ПР. А как известно тут нет возможности управлять выходами в середине цикла, и опросить входы в середине цикла тоже нельзя. Не того полета птичка
При желании разработчиков на всю толпу модулей со стороны ПР может быть всего один запрос на чтение для всех, и всего один запрос на передачу команд для всех.
Не надо думать что RS485 такой медленный, как вам кажется.
Еще раз говорю, если модуль подключается к определенному порту ПР (назовем ее внутренней шиной) то принцип работы один. Если тот же модуль подключить к стороннему устройству, то это обычный Modbus RTU и соответствующая скорость. При этом в самом ПРМ нет разделения на дополнительные разъемы, дополнительный интерфейс и так далее.
Кстати скоростью 115200 вроде RS485 не ограничен.
Последний раз редактировалось melky; 07.10.2023 в 12:19.