Advanced Search

Search Results (Searched for: 7i76e)

Yesterday 17:47

Mesa, Linuxcnc with step direction servo's for axis and analog servo spindle.

Category: Basic Configuration

I managed to get the addressing working for the spindle analogout but spindle doesn't work still. Keep plugging away.
Address is hm2_7i76e.0.7i77.0.3. I never thought of a three until I asked for a error report and it showed me the pins.
Yesterday 17:05

Mesa, Linuxcnc with step direction servo's for axis and analog servo spindle.

Category: Basic Configuration

I think the analog sserial channel will be 3

To check:

mesaflash --device 7i76e --addr [card_ip_address] --dbname2 7i77 --readhmid
 
Yesterday 16:52

Mesa, Linuxcnc with step direction servo's for axis and analog servo spindle.

Category: Basic Configuration

I have finally managed to get my 4 step/dir axis working, but still having trouble with the analog servo spindle drive. I get errors for addressing for the output
hm2_7i76e.0.7i77.0.1.analogout5 I have tried with .5. I have tried 7i77.0.2.
it keeps saying anything with that address doesn't exist,
22 Nov 2024 22:00

Installing LinuxCnc on and SSD

Category: General LinuxCNC Questions

The other part I always mess up is after installing.

so I’m going to config a machine with 7i76eu + thcad-2 (I think, whatever model the currently have). So I need to configure the system with plasmac

i alway alway forget how to set plasmac on the system.
18 Nov 2024 19:37

Fanuc Serial Pulse Coders - Red cap servos, mesa 7i76e, how to?

Category: Driver Boards

Ah yes I see it now. I have assigned it to a timer, now I'm seeing the 8us request pulse on the scope at 3 volts (is that correct?). No response from the encoder yet and I'm getting this error, I'll have to check the wiring:

 

Here's where I made it to with the .hal thus far for those who may be on a similar path:
# fanuc encoder test .hal

# kinematics
loadrt [KINS](KINEMATICS)

# motion controller
loadrt [EMCMOT](EMCMOT) servo_period_nsec=[EMCMOT](SERVO_PERIOD) num_joints=[KINS](JOINTS)

# hostmot2 driver
loadrt hostmot2
loadrt [HM2](DRIVER) board_ip=[HM2](ADDRESS) config="num_dplls=-1 num_encoders=1 fanuc_chan_0=AA64 sserial_port_0=00000000"

setp hm2_[MESA](BOARD).0.watchdog.timeout_ns 5000000

setp hm2_7i97.0.dpll.01.timer-us -200
setp hm2_[MESA](BOARD).0.fanuc.00.timer-number 1

loadrt pid names=pid.x

# THREADS
addf hm2_[MESA](BOARD).0.read servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf pid.x.do-pid-calcs servo-thread
addf hm2_[MESA](BOARD).0.write servo-thread

# amp enable
net motion-enable <= motion.motion-enabled

# Global PWM setup
setp hm2_[MESA](BOARD).0.pwmgen.pwm_frequency 48000

# Board: 7i97

# Axis: X Joint: 0 Output: 0
# PID Setup
setp pid.x.Pgain [JOINT_0](P)
setp pid.x.Igain [JOINT_0](I)
setp pid.x.Dgain [JOINT_0](D)
setp pid.x.bias [JOINT_0](BIAS)
setp pid.x.FF0 [JOINT_0](FF0)
setp pid.x.FF1 [JOINT_0](FF1)
setp pid.x.FF2 [JOINT_0](FF2)
setp pid.x.deadband [JOINT_0](DEADBAND)
setp pid.x.maxoutput [JOINT_0](MAX_OUTPUT)
setp pid.x.error-previous-target True

# joint-0 enable chain
net joint-0-index-enable <=> pid.x.index-enable
net joint-0-index-enable <=> joint.0.index-enable
net joint-0-index-enable <=> hm2_[MESA](BOARD).0.encoder.00.index-enable

net joint-0-enable <= joint.0.amp-enable-out
net joint-0-enable => pid.x.enable
net joint-0-enable => hm2_[MESA](BOARD).0.pwmgen.00.enable

# PWM Generator setup
setp hm2_[MESA](BOARD).0.pwmgen.00.output-type 1 #PWM pin0
setp hm2_[MESA](BOARD).0.pwmgen.00.offset-mode 1 # offset mode so 50% = 0
setp hm2_[MESA](BOARD).0.pwmgen.00.scale [JOINT_0]SCALE

# ---Encoder feedback signals/setup---
setp hm2_[MESA](BOARD).0.encoder.00.counter-mode 0
setp hm2_[MESA](BOARD).0.encoder.00.filter 1
setp hm2_[MESA](BOARD).0.encoder.00.index-invert 0
setp hm2_[MESA](BOARD).0.encoder.00.index-mask 0
setp hm2_[MESA](BOARD).0.encoder.00.index-mask-invert 0
setp hm2_[MESA](BOARD).0.encoder.00.scale  [JOINT_0]ENCODER_SCALE

# position command and feedback
net joint-0-pos-cmd <= joint.0.motor-pos-cmd
net joint-0-pos-cmd => pid.x.command

net joint-0-pos-fb <= hm2_[MESA](BOARD).0.encoder.00.position
net joint-0-pos-fb => joint.0.motor-pos-fb
net joint-0-pos-fb => pid.x.feedback

# PID Output
net joint.0.output <= pid.x.output
net joint.0.output => hm2_[MESA](BOARD).0.pwmgen.00.value

# Encoder Setup
setp hm2_[MESA](BOARD).0.encoder.00.scale  [JOINT_0](ENCODER_SCALE)
setp hm2_[MESA](BOARD).0.encoder.00.counter-mode 0
setp hm2_[MESA](BOARD).0.encoder.00.filter 1
setp hm2_[MESA](BOARD).0.encoder.00.index-invert 0
setp hm2_[MESA](BOARD).0.encoder.00.index-mask 0
setp hm2_[MESA](BOARD).0.encoder.00.index-mask-invert 0

# Standard I/O Block - EStop, Etc
# create a signal for the estop loopback
net estop-loopback iocontrol.0.emc-enable-in <= iocontrol.0.user-enable-out

 
18 Nov 2024 18:56

problem while connecting the MESA 7i76e card to RS422 modbus-RTU and servo drive

Category: Driver Boards

OK then its just

RX <-- TX
TX --> RX

Though polarity may be either way
Mesa uses the EIA-RS-422/423 standard
where RX+ and TX+ are the inverted data
(for compatibility with RS-423/RS-232)
18 Nov 2024 18:28 - 18 Nov 2024 18:32

problem while connecting the MESA 7i76e card to RS422 modbus-RTU and servo drive

Category: Driver Boards

The drive is using RS-422, and I think it operates in Full Duplex (bidirectional) mode.
18 Nov 2024 18:12
18 Nov 2024 17:44

problem while connecting the MESA 7i76e card to RS422 modbus-RTU and servo drive

Category: Driver Boards

thank you Peter , 
I want to confirm my understanding. Are the connections in this image correct as you mentioned, or did I misunderstand?
 
 
18 Nov 2024 16:46

Fanuc Serial Pulse Coders - Red cap servos, mesa 7i76e, how to?

Category: Driver Boards

The timer number setup is via a parameter
probably something with "fanuc" and "timer" in it's name
18 Nov 2024 16:25 - 18 Nov 2024 16:43

Fanuc Serial Pulse Coders - Red cap servos, mesa 7i76e, how to?

Category: Driver Boards

Yes I have a digital oscilloscope, set it up at the machine today so that should be helpful. Looking at the pins, here's what's available.

 

Also, unsurprisingly no output from the serial port  with the current configuration.
18 Nov 2024 15:17

problem while connecting the MESA 7i76e card to RS422 modbus-RTU and servo drive

Category: Driver Boards

I would try setting up the mesa-modbus component

The 7I76E has an RS-485 interface but does require bias
resistors and the proper connections to work properly:

7I76E

RX- TX- --> A  (220 pullup to +5V)
RX+ TX+ --> B (220 pulldown to GND)

Later cards like the 7I96S Rev E and 7I76EU do no required the pullups/pulldowns
18 Nov 2024 11:48 - 18 Nov 2024 11:53

problem while connecting the MESA 7i76e card to RS422 modbus-RTU and servo drive

Category: Driver Boards

Hello everyone,
I am new to using LinuxCNC and the Mesa 7i76e.After connecting the Mesa 7i76e and the L7S servo drive using Modbus-RTU, I followed the connection setup as mentioned in this link:
forum.linuxcnc.org/27-driver-boards/3328...6e-with-uart?start=0

I also used the following bitfile:

freeby.mesanet.com/7i76e_7i76x1_PktD.bit

and I flashed it using Mesaflash.Next, I attempted to communicate with the L7S servo drive using the Mesa card and LinuxCNC. I connected the servo drive to the Mesa card and then connected it to a computer via Ethernet.I followed the codes provided at the bottom of this link:

linuxcnc.org/docs/stable/html/drivers/me...us.html#_quick_start

However, I modified the configuration from 7i96s to 7i76e. I calculated the CRC from google and tried sending an inertia code from terminal . my code like this :
#! /bin/bash
# First setup the DDR and Alt Source regs for the 7I96
mesaflash --device 7i76e --addr 10.10.10.10 --wpo 0x1100=0x1F800
mesaflash --device 7i76e --addr 10.10.10.10 --wpo 0x1104=0x1C3FF
mesaflash --device 7i76e --addr 10.10.10.10 --wpo 0x1200=0x1F800
mesaflash --device 7i76e --addr 10.10.10.10 --wpo 0x1204=0x1C3FF
# Next set the baud rate DDS's for 9600 baud
mesaflash --device 7i76e --addr 10.10.10.10 --wpo 0x6300=0x65
mesaflash --device 7i76e --addr 10.10.10.10 --wpo 0x6700=0x65
# setup the TX and RX mode registers
mesaflash --device 7i76e --addr 10.10.10.10 --wpo 0x6400=0x00000A20
mesaflash --device 7i76e --addr 10.10.10.10 --wpo 0x6800=0x3FC0140C
# Reset the TX and RX UARTS
mesaflash --device 7i76e --addr 10.10.10.10 --wpo 0x6400=0x80010000
mesaflash --device 7i76e --addr 10.10.10.10 --wpo 0x6800=0x80010000
# load two 8-byte modbus commands:
01 05 00 00 5A 00 F7 6A
11 03 00 8C 00 01 47 71
mesaflash --device 7i76e --addr 10.10.10.10 --wpo 0x6100=0x8C000311
mesaflash --device 7i76e --addr 10.10.10.10 --wpo 0x6100=0x71470100
# Command the TX UART to send the two 8 byte packets
mesaflash --device 7i76e --addr 10.10.10.10 --wpo 0x6200=0x08
#mesaflash --device 7i76e --addr 10.10.10.10 --wpo 0x6200=0x08
sleep 1
# display TX Mode
mesaflash --device 7i76e --addr 10.10.10.10 --rpo 0x6400
# display the RX mode reg, RX count, and the data
mesaflash --device 7i76e --addr 10.10.10.10 --rpo 0x6800
mesaflash --device 7i76e --addr 10.10.10.10 --rpo 0x6600
mesaflash --device 7i76e --addr 10.10.10.10 --rpo 0x6500
mesaflash --device 7i76e --addr 10.10.10.10 --rpo 0x6500

During testing, I noticed that when I send values, the L7S servo drive responds with unintelligible numbers or data that I cannot interpret.
 
Could the issue be in the transmission process I followed, or is it a hardware connection problem? For example, do I need a converter from RS-422 to RS-485?I would appreciate any help. Thank you! 
17 Nov 2024 23:34

Fanuc Serial Pulse Coders - Red cap servos, mesa 7i76e, how to?

Category: Driver Boards

You need to also set the FANUC interface timer to  timer you  have setup
(like timer 1) I don't know the name of the pin off hand but listing
all the fanuc pins should find it. Do you have a oscilloscope available?

With the AA64 setup you should get a 8 usec request pulse (+ to REQ+ and - to REQ-)
at the servo thread rate, The encoder should respond with 77 bits of data on the +/-
DATA lines

Note that the default AA64 setup is for a 64K count/turn encoder so wont be right
but should show some data. The correct setup for your 1m count/turn encoder
would need the appropriate setup string

 
17 Nov 2024 23:10

Fanuc Serial Pulse Coders - Red cap servos, mesa 7i76e, how to?

Category: Driver Boards

Thanks, I have experimented with the polarity of the data and request lines with no changes. Here's where I left off in the .hal based on what I could find here on the forum. I think I have added the initialization of DPLL but not sure about setting the timer.
# Fanuc Encoder Test .hal

# kinematics
loadrt [KINS](KINEMATICS)

# motion controller
loadrt [EMCMOT](EMCMOT) servo_period_nsec=[EMCMOT](SERVO_PERIOD) num_joints=[KINS](JOINTS)

# hostmot2 driver
loadrt hostmot2
loadrt [HM2](DRIVER) board_ip=[HM2](ADDRESS) config="num_dplls=-1 fanuc_chan_0=AA64 sserial_port_0=00000000"

setp hm2_[MESA](BOARD).0.watchdog.timeout_ns 5000000

setp hm2_7i97.0.dpll.01.timer-us -100

loadrt pid names=pid.x

# THREADS
addf hm2_[MESA](BOARD).0.read servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf pid.x.do-pid-calcs servo-thread
addf hm2_[MESA](BOARD).0.write servo-thread

# amp enable
net motion-enable <= motion.motion-enabled

# Global PWM setup
setp hm2_[MESA](BOARD).0.pwmgen.pwm_frequency 48000

# Board: 7i97

# Axis: X Joint: 0 Output: 0
# PID Setup
setp pid.x.Pgain [JOINT_0](P)
setp pid.x.Igain [JOINT_0](I)
setp pid.x.Dgain [JOINT_0](D)
setp pid.x.bias [JOINT_0](BIAS)
setp pid.x.FF0 [JOINT_0](FF0)
setp pid.x.FF1 [JOINT_0](FF1)
setp pid.x.FF2 [JOINT_0](FF2)
setp pid.x.deadband [JOINT_0](DEADBAND)
setp pid.x.maxoutput [JOINT_0](MAX_OUTPUT)
setp pid.x.error-previous-target True

# joint-0 enable chain
net joint-0-index-enable <=> pid.x.index-enable
net joint-0-index-enable <=> joint.0.index-enable
net joint-0-index-enable <=> hm2_[MESA](BOARD).0.encoder.00.index-enable

net joint-0-enable <= joint.0.amp-enable-out
net joint-0-enable => pid.x.enable
net joint-0-enable => hm2_[MESA](BOARD).0.pwmgen.00.enable

# PWM Generator setup
setp hm2_[MESA](BOARD).0.pwmgen.00.output-type 1 #PWM pin0
setp hm2_[MESA](BOARD).0.pwmgen.00.offset-mode 1 # offset mode so 50% = 0
setp hm2_[MESA](BOARD).0.pwmgen.00.scale [JOINT_0]SCALE

# ---Encoder feedback signals/setup---
setp hm2_[MESA](BOARD).0.encoder.00.counter-mode 0
setp hm2_[MESA](BOARD).0.encoder.00.filter 1
setp hm2_[MESA](BOARD).0.encoder.00.index-invert 0
setp hm2_[MESA](BOARD).0.encoder.00.index-mask 0
setp hm2_[MESA](BOARD).0.encoder.00.index-mask-invert 0
setp hm2_[MESA](BOARD).0.encoder.00.scale  [JOINT_0]ENCODER_SCALE

# position command and feedback
net joint-0-pos-cmd <= joint.0.motor-pos-cmd
net joint-0-pos-cmd => pid.x.command

net joint-0-pos-fb <= hm2_[MESA](BOARD).0.encoder.00.position
net joint-0-pos-fb => joint.0.motor-pos-fb
net joint-0-pos-fb => pid.x.feedback

# PID Output
net joint.0.output <= pid.x.output
net joint.0.output => hm2_[MESA](BOARD).0.pwmgen.00.value

# Encoder Setup
setp hm2_[MESA](BOARD).0.encoder.00.scale  [JOINT_0](ENCODER_SCALE)
setp hm2_[MESA](BOARD).0.encoder.00.counter-mode 0
setp hm2_[MESA](BOARD).0.encoder.00.filter 1
setp hm2_[MESA](BOARD).0.encoder.00.index-invert 0
setp hm2_[MESA](BOARD).0.encoder.00.index-mask 0
setp hm2_[MESA](BOARD).0.encoder.00.index-mask-invert 0

# Standard I/O Block - EStop, Etc
# create a signal for the estop loopback
net estop-loopback iocontrol.0.emc-enable-in <= iocontrol.0.user-enable-out

Thanks!
Displaying 1 - 15 out of 568 results.
Time to create page: 0.904 seconds
Powered by Kunena Forum