Showing posts with label K-Bus. Show all posts
Showing posts with label K-Bus. Show all posts

December 1, 2020

Мы замкнули шину K-Bus

Чтобы проверить информацию из истории про K-Bus-Interbus, коллега А по моей просьбе взял BK9050, подключил к нему модуль дискретных входов-выходов KL1859... и не стал подключать терминальный модуль.

Все испытания проводились в целях испытания. Ни один из модулей не пострадал. Животные участие не принимали.
Не пытайтесь повторить, потеряете гарантию!

Сканируем… Устройства на шине недоступны. Проверяем индикацию коплера. На картинке выше виден единственный красный индикатор. Документация говорит, что это "K-Bus ERR", то есть ошибка шины K-Bus. В данном случае отсутствует терминальный модуль.

Вспоминаем результаты препарации из предыдущей статьи и замыкаем шину:

Все индикаторы зеленые, шина доступна, устройства сканируются и обнаруживаются. Никогда не делайте так в реальных условиях! Всегда используйте терминальный модуль KL9010. 

August 11, 2020

История K-Bus или INTERBUS

Несерьезные действия временами приводят к серьезным или по крайней мере полезным результатам. Как-то раз в проекте пропала конечная, защитная крышка EtherCAT шины. Чтобы как-то компенсировать стоимость крышки, да и скорее не стоимость, а время доставки, в голову коллеги явилась мысль заменить ее на терминал от K-Bus. Интуиция подсказала, что металлические контакты установлены не просто так, а несут какое-то назначение. В EtherCAT-крышке у нас только интеллектуальная пластмасса, а она, как известно, изолятор и ток не проводит. Модуль KL9010 был вскрыт, препарирован и свет увидели его потроха.


Внутри у него...


Модуль внутри пустой, но в зоне расопления(?) контактов, есть вставка из платы с контактными площадками и накладными-прижимными клеммами. Две из них попарно замкнуты перемычкой.

Kа-бас шина не будет работать, а точнее не будет обнаруживать дочерние устройства, если на ее конце не установить терминальный модуль KL9010. Теперь мы точно знаем, что там перемычка: два средних контакта из шести замкнуты перемычкой.


История


Я покопался в своем архиве и вытащил из-под груды ссылок занятный, но давно заброшенный блог Gadgets Inside с гикпроном внутренностей терминалов. Там есть бекхофф и там есть интересные заметки про шину K-bus.

Beckhoff KL4032, 2 channel, 12 bit, -10..+10V модуль выходов.
Beckhoff KL3062, 2 channel, 12 bit, 0..10V модуль входов.
KL is the “older” series of Beckhoff’s I/O modules, it incorporates the K-bus connection interface, which is basically an INTERBUS interface, but Beckhoff names it K-Bus (Koppler-Bus).
[...]
Beckhoff BK200A. Probably this is the INTERBUS protocol IC, but has a “Beckhoff brand”.
[...]
On the back side there is only one bigger (44 pins) IC named Beckhoff BK200A. This must be the INTERBUS protocol IC, just named in a “Beckhoff way”.
KL — это более старая [пост 2013 года] серия Бекхоффских модулей входов-выход. Модули построены вокруг К-bus интерфейса, который фактически является интерфейсом INTERBUS, но Бекхофф называет его K-Bus (Koppler-Bus).

Внутри модуля установлена микросхема Beckhoff BK200A. Вероятно, это обычный интерфейс протокола INTERBUS, но под брэндом Бекхофф.

С обратной стороны [это уже про другой терминал] платы находится только одна большая 44-пиновая микросхема, обозначенная как Beckhoff BK200A... дальше аналогично предыдущей выдержке.

Поверим паталогоанатому на слово и на выходные запишемся в межавтобусный клуб Interbus Club, а по дороге в клуб, полистаем брошюру INTERBUS Basics (interbus club).


Вступаем в клуб


Из брошюры узнаем, что:
This method is more efficient than the message-based method for a large number of devices. The summation frame method ensures fixed data lengths for devices and therefore constant transmission times. The determinism of this method is essential for the accurate calculation of the response time.
Этот метод более эффективен чем отправка отдельных сообщений большому количеству устройств. Использование метода объединения фреймов [в один большой] обеспечивает фиксированную длину данных от устройств и следовательно гарантирует постоянное [предсказуемое] время передачи [фрейма]. Предсказуемость данного метода — это основа точного подсчета времени отклика.

Знакомая философия, не так ли? Картинка для наглядности:

От 485-го к витым парам Ethernet. Протоколы мигрируют туда же. Полезно иногда оглянуться на историю.


Так что там с перемычкой?


Согласно описанию INTERBUS последний модуль должен замкнуть контакты номер 5 и 9, чтобы кольцо шины замкнулось. Что видимо и происходит в конечном модуле. Вот картинка из документации Бекхофф на коплер BK4000 (Interbus Bus Coupler):
Ну и напоследок, терминатор — поглотитель энергии (обычно резистор) на конце длинной линии, сопротивление которого равно волновому сопротивлению данной линии (Википедия). Здесь же обычный джампер или перемычка.

July 7, 2017

Вебинар. Введение в K-Bus и терминалы серии KL3xxx

Тема анонса была запутанной и заранее было непонятно — о чем же все-таки нам расскажут. В итоге все это вылилось в краткое описание модулей K-bus и почему они больше не нужны. Есть вероятность, что это было краткое введение и когда-нибудь будет более подробное, так как тема интересна хотя бы тем, что еще много живого оборудования из предыдущего поколения.

Вещал Мартин Подрушек (Martin Podrouschek): Beckhoff K-Bus and analog inputs. Introduction of KL3xxx terminals.

В 70-х годах прошлого века (ого!) была принята трехступенчатая система: ПЛК ↔ много-много-модулей-ввода-вывода ↔ сенсоры/актуаторы (исполнительные механизмы). В 95-м году Бекхофф предложил собрать все это в одном устройстве "интеллектуальная система терминалов шины" (intelligent bus terminal system) и в итоге получился Profibus bus coupler BK3000:

Система предусматривает как минимум две линии питания: одна линия питает логику коплера и логику терминалов (модулей расширения), а вторая линия предназначена для питания входов/выходов терминалов. Выхода  в принципе могут потреблять значительный ток или вообще сгореть, но логика питается по другой линии, поэтому она сможет пожаловаться коплеру о неприятностях в силовой части. Если питания не хватает или нужно развязать часть модулей по питанию — можно добавить в линейку специальный модуль подпитки и потенциальной развязки.

Кроме коплера как обычного транслятора пакетов данных (коплеры BKxxxx) были разработаны программируемые коплеры с мозгами — серия BCxxxx.


Внутренности и способности


Условно можно разделить систему на два уровня передачи данных: уровень полевой шины до коплера и уровень периферийных устройств — внутренняя шина (K-bus), то есть внутренняя шина между коплером и терминалами. Из-за такой сепарации возникает проблема диагностики, так как отсутствует непосредственная прямая связь между внешней полевой шиной и терминалами.

Внутри терминала содержится набор регистров, содержащих настройки модуля и, соответственно, позволяющие менять поведение модуля. Часть регистров хранится в ОЗУ, часть в ПЗУ, а часть в EEPROM. В результате, часть регистров жестко прописаны производителем и не меняются, какие-то можно изменять, а какие-то сбрасываются и восстанавливаются при каждом новом включении. Некоторые вообще защищены паролем.

Система поддерживает максимум 256 дискретных устройств ввода/вывода или 128 аналоговых. Так как после 64 терминалов обязательно необходим модуль подпитки шины, то в итоге максимально возможное число модулей сокращается до 250.

Каждое устройство может поддерживать до четырех каналов ввода/вывода. Каждый канал — это всего-лишь 3 байта данных. Если нужно больше каналов, то придется мультиплексировать, дробить время обработки, сокращая другие каналы. Хорошая новость — все это решается на уровне коплера. Также ограничено суммарное количество регистров на канал — 64 регистра. Если нужно больше, то вводят вторую страницу регистров.

Типичное время цикла коплера 1..2 миллисекунды.

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

Внутри память модуля разбита на две области: область входов и область выходов. Каждая из этих областей в свою очередь разбита на область байтовой памяти (регистры данных для аналоговых входов/выходов) и область битовой памяти (дискретные входа/выхода).


Доступ к регистрам


Способ первый: через специальную платную программу KS2000 и специальный кабель Serial/USB KS2000-Z2-USB.

Изображение: Beckhoff Automation

Способ второй: программный, через ПЛК Бекхофф по шине с помощью функциональных блоков библиотеки Tc2_Coupler.lib.

Способ третий: инженерный в режиме FreeRun или Run доступ к регистрам через TwinCAT System Manager: тыкаем правой кнопкой в коплер в дереве конфигурации и выбираем Register Access...

В любом случае система не настолько стандартизирована, как более новая, построенная на EtherCAT, поэтому следует внимательно изучить документации. Всегда есть несколько выходов, той или иной степени прямости.


Сравнение и выводы


 K-Bus (1995 год прошлого века)EtherCAT, E-Bus (2003 год настоящего века)
Идентификация устройства нет производитель и код продукта
Стоимость сложный и дорогой простой и дешевый
Передача данных меньше 10 мегабит быстрая, до 10 гигабит
Синхронизация нет жесткая, распределенные часы с погрешностью меньше 100 наносекунд
Операционный образ данных 4x12 байт теоретически можно до 65 килобайт, практически используется 8 килобайт
Диагностика двух-шаговая непосредственная
Доступ опосредованный через регистры непосредственный CAN-через-ADS (CoE)

Вывод я вам лучше нарисую: