И так мы остановились на том, что создали в программе новый локомотив и настроили её для работы с интерфейсом BiDiB.
Теперь нужно сделать настройки, необходимые для работы Rocrail с RailCom. Для этого идём в свойствах Rocrail на вкладку Автоматика. Там есть группа настроек отвечающая за работу с двухсторонними интерфейсами.
Пробежимся коротко по ним.
1. Использовать BiDi соединение.
Собственно эта галочка разрешает саму работу с двухсторонними интерфейсами.
2. Create guest on BiDi.
При установленной галочке программа будет сама создавать
временный локомотив в таблице Локомотивов, если не найдёт в ней локомотива с полученным адресом. Этот лок будет удалён при перезапуске сервера Rocrail.
3. Использовать BiDi direction/
Эта функция позволяет использовать полученную информацию о направлении локомотива, при его работе не в автоматическом режиме.
4. Use identifier to set in block.
При выборе этого пункта, программа будет помещать идентификатор лока в блок или перемещать его из одного Блока в другой, при работе не в автоматическом режиме.
5. Отключение в случае несовпадения идентификации.
В случае, если полученный от датчика идентификатор не будет совпадать с идентификаторм, который ожидается программой в данный момент от этого датчика, то питание на макете будет выключено.
Теперь настроим датчик на плане пути. Выберем нужный датчик на плане пути и откроем его свойства, где можем прописать ему некоторые настройки.
На вкладке Общие можно дать ему оригинальный идентификатор датчика, а также привязать его к какому-либо объекту на плане пути.
На вкладке Интерфейс, выбираем Идентификатор интерфейса(BiDiB), а в окне Шина прописываем уникальный ID модуля BiDiB, к которому подключен этот датчик.
Чтобы не вбивать этот идентификатор вручную, в программе есть возможность сделать это методом Drag&Drop.
Для этого выбираем модуль BiDiB из списка и перетаскиваем его на символ датчика в плане пути.
Далее нужно выбрать тип датчика как Sensor(тип RailCom в данный момент не используется) и прописать адрес датчика на шине обратной связи BiDiB. На модулях, адресация датчиков начинается с 0(0-15, 16-31 и т.д.). Однако в Rocrail не может быть датчика с нулевым адресом, поэтому значение адреса на модуле, увеличивают на единицу(0-1, 1-2, 2-3, 3-4 и т.д.)
Последнее что надо сделать, это привязать это датчик к нужному Блоку. Для этого идём в свойства Блока на вкладку Маршруты и там настраиваем датчик для любых или определённых маршрутов, а также выбираем то событие, которое он должен вызывать на Блоке.
Вот вроде бы и все настройки, которые надо сделать, чтобы получить идентификацию лока на путях.
Теперь если поместить лок на секцию подключенную через этот токовый датчик модуля BiDiB, то он появиться в Блоке, а в окне сообщений Контроллер, можно увидеть полученную информацию.