top
Please keyin username and password:
Forgot your password
 
 
 

JVL MULTIBUS. Multi-Axis Communications. Share registers and IO between MAC and MISmotors

 
JVL MULTIBUS is a multiaxis communication protocol developed by JVL. Is based on the popular MODBUS protocol that operated standard low cost RS485 interface to simplify multi-axis communications. It may coexist with other MODBUS units like HMI on the same line at the same time. The intended use is that the Modbus master motor works as an inexpensive PLC, and use inexpensive MAC00-B4 and MAC00-B41 modules on all motors. Note this also gives the master motor access to remote inputs and outputs.
Unlike these common protocols, it requires dedicated master to operate. The master motor connected to the same network communicates on an equal footing, sharing all information, and therefore, sharing all processing resources.
Through JVL MULTIBUS, an array of SmartMotor servos become one giant parallel-processing system. This powerful technological advancement provides the joint benefits of centralized and distributed control.
This technology simplifies multi-axis communications by allowing any motor’s program to read from, write to, or control any other motor simply by tagging a local variable, Input/output or command with the other motor’s address.
You can get the benefits of JVL MULTIBUS technology for your multi-axis motion control applications.
 
Configuration
  1. Set motor as master
  2. Find and connect slaves
  3. Confirm motor as slave
”Connected”!
 
Only one motor on the serial line can have the role as the eRxP modbus master. The motor address on the Modbus master motor is not used with the Modbus protocol, but is still used with the MacTalk protocol.
If communicating with the MISxx integrated stepper motors or SMCxx stepper motor controller , only baud rates 9600, 19200, 38400, 56700, 115200 and 230400 baud can be used, since the higher baudrates are not compatible between these product series.
If all motors on the line are MAC400 through MAC4500 all baud rates up to the maximum 2.000.000 baud can be used. MIS and MACmotor can used on same network but then at max 230400 baud.
For a MACmotor network with 2 Megabit/s., 2 write and 2 read operations can be performed every 1.0 ms, if no retries are needed. 1 read can be performed within 250uS.
 

eRxP Modbus communication

Introduction
In firmware v2.16 Beta for the MAC400 through MAC4500, a command was added to perform serial Modbus communications between one master drive/motor and up to 254 slave drives/motors.
The two instruction can each transfer one register between the local motor and the remote motor.
They support 32-bit values only. Later may come expansion to support 16-bit registers and other functions.
 
The intended use is that the Modbus master motor works as an inexpensive PLC, and use inexpensive MAC00-B4 and MAC00-B41 modules on all motors. Note this also gives the master motor access to remote inputs and outputs.
 
Usage
At the time of this writing, the commands are not fully supported in MacTalk, but can be encoded as Binary Commands in MacTalk. The screenshot below shows the general way to use a 32-bit Write followed by a 32-bit Read.
 
 
The Tx32 Write command on line 2 will transmit the actual value of a 32-bit local register to a remote 32-bit register.
 
The Rx32 Write command on line 5 will request the actual value of a remote 32-bit register to a local 32-bit register.
 
Breakdown of the individual bytes of the Comm TX32/RX32 telegram:
 
0x0E: Special command to perform Communications.
 
0x01 or 0x02: 0x01 selects Rx32 - reading of one remote register to a loacal register. 0x02 selects Tx32 - sending one local register to one remote register.
 
0x03: Address of the remote motor in this case address 3. This is the motor address that be configured on the Main tab in MacTalk. Please also set bits [7:4] in register 213, UART1_SETUP, on the remote motor(s) to the value 1, so the modbus protocol willl use the motor address. Address 0 (zero) can be used in Tx32 telegrams to perform broadcast transmissions to all kotor on the line, most often for simultaneous start of movements or change of target position(s).
 
0x06, 0x00: The 16-bit register number of the remote register. Please note this uses the 16-bit-register numbering to be compatible with Modbus, so normal motor register numbers must be multiplied by two. In this case the value 0x0006 points to register 3, P_SOLL (2*3 = 6).
 
0x14, 0x00: The 16-bit register number of the local register. Please note this uses the 16-bit-register numbering to be compatible with Modbus, so normal motor register numbers must be multiplied by two. In this case the value 0x0014 (= decimal 20) points to register 10, P_IST (2*10 = 20 = 0x14).
 
In other words, this example sends the value of the local actual position to the remote target position register.
 
The execution of the eRxP program will wait until the command either completes successfully or fails after timeouts and retries. The default number of tries for each operation if 3 for each line. This can be changed by the user.
 
The timeout period before attempting retries or reporting faillure are calculated automatically by the firmware from the baud rate and known response time for the other MAC400-MAC4500 motors.
 
The status of the last operation can be read from regster 266, RXP_COMM_RESULT, where 0=Success/Idle, 1=Busy, 2=Failure/timeout.
 
In addition, register 267, RXP_COMM_ERRCNT, increments on every retry operation. This is intended to be used to evaluate the quality of the cabling and noise condition. A high rate of retransmissions may indicate problems with grounding, cable length, loose connections of excessive electrical noise. If the issue cannot be fixed in hardware, a lower baud rate may be worth trying.
 
Digital inputs are all available in registers 106, DIGITAL_INPUTS. Digital Outputs can be controlled with registers 113, DIGITAL_OUTPUTS. Note Analoge input(s) can also be read from Reg106 as a digital status with threshold 5.0 Volts.
 
Configuration
Only one motor on the serial line can have the role as the eRxP modbus master. This motor must have both bits 24 and 25 set in register 213, UART1_SETUP. Also bits [7:4] must have the value of 1 or 2 to select the Modbus protocol.
 
The motor address on the Modbus master motor is not used with the Modbus protocol, but is still used with the MacTalk protocol.
 
Each remote motor must also use its register 213, UART1_SETUP, with bits [25:24] set to 0, and bits [7:4] set to 1. The baudrate is selected by the lowest fourt bits [3:0] and must be the same on the master and the slave motor(s).
 
If communicating with the MISxx stepper motors, only baud rates 9600, 19200, 38400, 56700, 115200 and 230400 baud can be used, since the higher baudrates are not compatible between these product series.
 
If all motors on the line are MAC400 through MAC4500 all baud rates up to the maximum 2.000.000 baud can be used.
 
With 2 Megabit/s., 2 write and 2 read operations can be performed every 1.0 ms, if no retries are needed.
 
 
 
 
 
 


JVL A/S Bregnerødvej 127 DK-3460 Birkerød Denmark
Tel: +45 4582 4440 Fax: +45 4582 5550 E-mail: jvl@jvl.dk
Copyright © JVL A/S - All Rights Reserved.

SEO & CMS System.


HTML5 | CSS3