User Tools

Site Tools


cbus-en

Differences

This shows you the differences between two versions of the page.


cbus-en [2024/10/14 16:36] (current) – created - external edit 127.0.0.1
Line 1: Line 1:
 +====== CANBUS ======
 +[[:english#command_stations|{{  :interface.png}}]][[:english|{{  :rocrail-logo-35.png}}]]
 +[[:english|Content]] -> [[:english#command_stations|Command Stations]] ->  **[[:cbus-en|CANBUS]]** 
 +  * [[:cbus:flim-en|Node Setup]]
 +  * [[:english#merg_cbus|CAN-GCx Modules and Command Station]]
 +    * [[:can-gca1e-en|CAN-GC1e]] Ethernet Interface
 +    * [[:can-gca1-en|CAN-GC1]] Serial-USB Interface
 +    * [[:cbus:socketcan-en|RPI-CAN MCP251x Interface (SocketCAN)]]
 +    * [[:can-gca2-en|CAN-GC2]] 16 port programmable I/O
 +    * [[:can-gca2a-en|CAN-GC2a]] 16 port programmable I/O Nano based
 +    * [[:can-gc3-en|CAN-GC3]] DCC Command Station
 +    * [[:can-gc4-en|CAN-GC4]] RFID Concentrator
 +    * [[:can-gca5-en|CAN-GC5]] Stationary Throttle
 +    * [[:can-gc6-en|CAN-GC6]] 4 Channel servo controller
 +    * [[:can-gc7-en|CAN-GC7]] Fast clock
 +    * [[:can-gc8-en|CAN-GC8 Display driver for dynamic text]]
 +  * [[:can:portmapping-en|USB Port mapping]] (Optional)
 +
 + \\
 +
 +
 +===== Setup =====
 +{{:cbus:rcan-setup-en.jpg?600}}
 +
 +==== CAN-ID ====
 +The CAN-ID used for the CAN Interface like CANGC1(e) and SocketCAN.\\
 +The default is 1 and is the best choice for all interface types.\\
 +
 +
 +==== Sub-Library ====
 +The connected CAN nterface:
 +^ Type ^ BPS ^ Kit code ^ Manufacturer ^ Remark ^ Extended Frames ^
 +| TCP/IP | 10/100 MBPS | **[[:can-gca1e-en|CAN-GC1e]]** | GCA | :!: Set protocol to CBUS exclusive; It will stuck on receiving extended frames. | Invalid |
 +| USB | 500000 | **[[http://www.merg.org.uk/merg_resources/cbus.php|CANUSB]]** | MERG | Preferred by MERG. The 12V version can be used in combination with the CAN-GCA line. \\ RTS/CTS should be disabled because its not supported by this module. | Invalid |
 +| Serial | 230400 | **[[:can-gca1-en|CAN-GC1]]** | GCA | Uses **[[:cangc1-firmware-en#binary_response|binary responses]]** to improve through put. (Not MERG compatible.) | Invalid |
 +| Serial | 115200 | **[[http://www.merg.org.uk/merg_resources/cbus.php|CANRS]]** | MERG | Deprecated; It is not fast enough to keep up with CBUS at full speed! | Invalid |
 +| Serial | 115200 | **[[:sprog-en#pi-sprog_3|Pi-Sprog]]** | Sprog |  |  |
 +| SocketCAN | - | **[[:rocnet:pi01can-en|Pi01CAN]]** | GCA | **[[https://en.wikipedia.org/wiki/SocketCAN|SocketCAN]]** compatible devices. | Yes |
 +| LAWICEL / SLCAN | 115200...500000 | **[[http://www.fischl.de/usbtin/|USBTin]]** | Thomas Fischl | Tiny, fast and easy to use USB interface. | Yes |
 +| TCP/IP | WiFi | **[[:arduino:wio-overview-en#wio_can|WIO-CAN]]** | GCA | Needs the binary option. | Yes |
 +| USB | 115200...500000 | **[[:arduino:wio-overview-en#wio_can|WIO-CAN]]** | GCA | Needs linefeed option. | Yes |
 +**Note:** //Extended frame support is needed in case WIO-02 and/or WIO-Prog2 are on the same CAN bus.//\\
 +\\
 +
 +
 +====DTR====
 +Determine the serial DTR level on startup. None is default.\\
 +Some Windows device driver do not set this signal accordantly and must be set to "high" to be able to receive data.\\
 +
 +
 +====Binary====
 +Only in combination with Sub-Library TCP and WIO-CAN.\\
 + \\
 +==== Device ====
 +The serial device used for the CAN interface.\\
 +^ Kit code ^ Windows ^ Linux ^ Remark ^
 +| CANUSB | COM5...COMn | /dev/ttyUSB0.../dev/ttyUSBn | |
 +| CAN-GC1, CANRS | COM1...COM4 | /dev/ttyS0.../dev/ttySn | An **[[:usb-rs232-en|USB-RS232 converter]]** can also be used. (Tested) |\\
 +
 +==== Host/Port ====
 +The hostname and port for the TCP/IP interface.\\
 +In case of SocketCAN the host name is the device name. Default **can0**\\
 + \\
 +====Protocol====
 +|  :!: Set to CBUS only if a CANGC1, CANGC1e and/or CANGC3 is connected. :!:  |
 +Enable CAN protocols.\\
 +Default is RCAN and CBUS parallel.\\
 +RCAN uses extended CAN frames, and is used by WIO modules with CAN interface.\\
 +//CBUS modules do not evaluate extended CAN frames, and WIO modules do not evaluate standard CAN frames.//\\
 +
 + \\
 +====RCAN====
 +=== CS Node ID ===
 +Redirect all mobile commands with Node ID zero to the Command Station with this Node ID.\\
 +Mostly used in combination with __**[[:arduino:wioctrl-en|WIO-Control]]**__ and __**[[:gca-wioprog-en|WIO-Prog]]**__.\\
 + \\
 +
 +
 + \\
 +====CBUS====
 +=== Short events ===
 +Use the short version of the accessory events; Event number only. (Recommended)\\
 +The long events are based on node number and event number.\\
 +
 +
 +=== Fastclock ===
 +Send **[[:cbus:can-gc7-firmware#opc|fast clock packets]]** on the CBUS.\\
 +It is recommended to set this enabled in case of using a TCP/IP connection to prevent idle timeout disconnection.\\
 +
 +=== Command Ack ===
 +| :!: Use only in case of data loss in combination with WiFi. |
 +Activates the command acknowledgment handshake.\\
 +A next command can only be send if the interface did acknowledged the previous command.\\
 +This handshake prevents loss of commands due buffer overflow. (10/100MBit → 125kBit)\\
 +Other manufacturers, like Lenz, are also using such a handshake on there Ethernet interfaces.\\
 +| Only the **[[:cangc1e-firmware-en#binaries|CAN-GC1e version 1.c]]** is capable of handling this acknowledgment when this option is **[[:can-gca1e-en#setup|activated in the firmware]]**. |\\
 + \\
 +
 +=== Heartbeat ===
 +Sends every second an event# 4712 OPC_ACON/OPC_ACOF on the bus to be able to check for hardware/cable problems.\\
 +The LEDs on the modules should flash every second.\\
 +A CAN-GC2 can be programmed on this event# to be able to add a LED mounted on the dashboard.\\
 +
 +  * **Note:** In order not to trigger unwanted SoD queries with the heartbeat, the selected address must be outside the address range defined by **[[#SoD|SoD]]**.
 +
 +=== SoD ===
 +"Start of Day" address offset for the query of all input states.\\
 +This must be programmed as event in all input nodes which should report.\\
 +Alternatively, all GC2 modules can be set to SoD address++. The second field is the number of modules, and the third the sleep time (ms) between SoD queries.
 +This option avoids a CAN bus burst at SoD.\\
 +
 +
 +=== Slot purge time ===
 +CS timeout for updating DCC mobile decoders.\\
 +If a loco becomes idle before this time out a keep alive command is send to the CS.\\
 +:!: The hardware purgetime is 20 seconds, so this value should be **set to less then 20** to assure the slot is not purged during automatic runs!\\
 +
 +=== Decoder check ===
 +Check if all __**[[:accdec-gen-en|Decoders]]**__ are online. (NET-ID=CAN-ID, Bus=Node Number)\\
 +The default interval is 10 seconds.\\
 +A power off will be issued if a decoder is not responding. (Lost node.)\\
 +Loco sessions will be invalidated if the GC3(CANCMD) was lost.\\
 +| If a CAN-ID is found, which is not in the decoder list, it will be automatically added for checking. (It will be saved in the accessory decoder table, flagged as generated.) |
 + \\
 +
 +===== FLAT Addressing =====
 +CBUS addressing is **[[:addressing-en#flat_accessory_decoder_address_fada|FLAT]]**, __only the bus and address values are used.__\\
 +^ Rocrail ^ CBUS ^ Range ^Remark ^
 +| - | CAN ID | 0...255| Unique number within a CAN segment to be used in the CAN transport layer.\\ //This is the low part of the CAN **[[http://en.wikipedia.org/wiki/CAN_bus#ID_allocation|Message Identifier]]** without priority bits.// |
 +| Node-ID| Node-ID | 0...65535 | Used for **[[:cbus-en#short_events|long events]]** and **[[:cbus:flim-en|programming]]**. This must be set unique for all modules. |
 +| Address | Event number | 0...65535  |  |
 +| Gate | Added to the address of output objects. | 0,1 | This is needed for signal pattern support. | \\
 + \\
 +