Advanced Search

Search Results (Searched for: )

  • gbestwick
  • gbestwick
11 Dec 2024 22:53 - 11 Dec 2024 22:55

Issue with halcmd show pin not showing pins.

Category: EtherCAT

Hello everyone,
First, thank you to everyone who has been working hard on this aspect of LinuxCNC. Your work is greatly appreciated.

So, I have purchase a 16 in -16 out IO module to play with.

I have successfully got etherlab/ethercat installed. The service runs and when I run ethercat slaves I get:

0  0:0  PREOP  +  SG-ELC-ADIO-DI16-DO16-NPN(Digital 16-Input/16-Output)

When I run ethercat xml I get:
[code]
<?xml version="1.0" ?>
<EtherCATInfo>
  <!-- Slave 0 -->
  <Vendor>
    <Id>3992977410</Id>
  </Vendor>
  <Descriptions>
    <Devices>
      <Device>
        <Type ProductCode="#x00010204" RevisionNo="#x00000001">SG-ELC-ADIO-DI16-DO16-NPN(Digital 16-Input/16-Output)</Type>
        <Name><![CDATA[SG-ELC-ADIO-DI16-DO16-NPN(Digital 16-Input/16-Output)]]></Name>
        <Sm Enable="9" StartAddress="#xf02" ControlByte="#x44" DefaultSize="0" />
        <Sm Enable="9" StartAddress="#xf03" ControlByte="#x44" DefaultSize="0" />
        <Sm Enable="1" StartAddress="#x1000" ControlByte="#x0" DefaultSize="0" />
        <RxPdo Sm="0" Fixed="1" Mandatory="1">
          <Index>#x1a00</Index>
          <Name>Output Group 0</Name>
          <Entry>
            <Index>#x3101</Index>
            <SubIndex>1</SubIndex>
            <BitLen>8</BitLen>
            <Name>Output[00..07]</Name>
            <DataType>UINT8</DataType>
          </Entry>
        </RxPdo>
        <RxPdo Sm="1" Fixed="1" Mandatory="1">
          <Index>#x1a01</Index>
          <Name>Output Group 1</Name>
          <Entry>
            <Index>#x3101</Index>
            <SubIndex>2</SubIndex>
            <BitLen>8</BitLen>
            <Name>Output[08..15]</Name>
            <DataType>UINT8</DataType>
          </Entry>
        </RxPdo>
        <TxPdo Sm="2" Fixed="1" Mandatory="1">
          <Index>#x1600</Index>
          <Name>Input Group 0</Name>
          <Entry>
            <Index>#x3001</Index>
            <SubIndex>1</SubIndex>
            <BitLen>8</BitLen>
            <Name>Input[00..07]</Name>
            <DataType>UINT8</DataType>
          </Entry>
        </TxPdo>
        <TxPdo Sm="2" Fixed="1" Mandatory="1">
          <Index>#x1601</Index>
          <Name>Input Group 1</Name>
          <Entry>
            <Index>#x3001</Index>
            <SubIndex>2</SubIndex>
            <BitLen>8</BitLen>
            <Name>Input[08..15]</Name>
            <DataType>UINT8</DataType>
          </Entry>
        </TxPdo>
      </Device>
    </Devices>
  </Descriptions>
</EtherCATInfo>
I have created an XML file called ethercat-conf.xml and this is the contents:
[code]<masters>
  <master idx="0" appTimePeriod="1000000" refClockSyncCycles="1">
    <!-- EtherCAT Slave -->
    <slave idx="0" type="generic" vid="0xee000002" pid="0x00010204" configPdos="true" name="D1">
      <dcConf assignActivate="300" sync0Cycle="1000000" sync0Shift="0"/>
      <!-- Sync Manager 0: Outputs Group 0 -->
      <syncManager idx="0" dir="out">
        <pdo idx="1a00">
          <pdoEntry idx="3101" subIdx="1" bitLen="8">
            <!-- Digital Outputs 1-8 -->
            <complexEntry bitLen="1" halPin="lcec.0.0.digout-01" halType="bit"/>
            <complexEntry bitLen="1" halPin="lcec.0.0.digout-02" halType="bit"/>
            <complexEntry bitLen="1" halPin="lcec.0.0.digout-03" halType="bit"/>
            <complexEntry bitLen="1" halPin="lcec.0.0.digout-04" halType="bit"/>
            <complexEntry bitLen="1" halPin="lcec.0.0.digout-05" halType="bit"/>
            <complexEntry bitLen="1" halPin="lcec.0.0.digout-06" halType="bit"/>
            <complexEntry bitLen="1" halPin="lcec.0.0.digout-07" halType="bit"/>
            <complexEntry bitLen="1" halPin="lcec.0.0.digout-08" halType="bit"/>
          </pdoEntry>
        </pdo>
      </syncManager>

      <!-- Sync Manager 1: Outputs Group 1 -->
      <syncManager idx="1" dir="out">
        <pdo idx="1a01">
          <pdoEntry idx="3101" subIdx="2" bitLen="8">
            <!-- Digital Outputs 9-16 -->
            <complexEntry bitLen="1" halPin="lcec.0.0.digout-09" halType="bit"/>
            <complexEntry bitLen="1" halPin="lcec.0.0.digout-10" halType="bit"/>
            <complexEntry bitLen="1" halPin="lcec.0.0.digout-11" halType="bit"/>
            <complexEntry bitLen="1" halPin="lcec.0.0.digout-12" halType="bit"/>
            <complexEntry bitLen="1" halPin="lcec.0.0.digout-13" halType="bit"/>
            <complexEntry bitLen="1" halPin="lcec.0.0.digout-14" halType="bit"/>
            <complexEntry bitLen="1" halPin="lcec.0.0.digout-15" halType="bit"/>
            <complexEntry bitLen="1" halPin="lcec.0.0.digout-16" halType="bit"/>
          </pdoEntry>
        </pdo>
      </syncManager>

      <!-- Sync Manager 2: Inputs Group 0 -->
      <syncManager idx="2" dir="in">
        <pdo idx="1600">
          <pdoEntry idx="3001" subIdx="1" bitLen="8">
            <!-- Digital Inputs 1-8 -->
            <complexEntry bitLen="1" halPin="lcec.0.0.digin-01" halType="bit"/>
            <complexEntry bitLen="1" halPin="lcec.0.0.digin-02" halType="bit"/>
            <complexEntry bitLen="1" halPin="lcec.0.0.digin-03" halType="bit"/>
            <complexEntry bitLen="1" halPin="lcec.0.0.digin-04" halType="bit"/>
            <complexEntry bitLen="1" halPin="lcec.0.0.digin-05" halType="bit"/>
            <complexEntry bitLen="1" halPin="lcec.0.0.digin-06" halType="bit"/>
            <complexEntry bitLen="1" halPin="lcec.0.0.digin-07" halType="bit"/>
            <complexEntry bitLen="1" halPin="lcec.0.0.digin-08" halType="bit"/>
          </pdoEntry>
        </pdo>
        <pdo idx="1601">
          <pdoEntry idx="3001" subIdx="2" bitLen="8">
            <!-- Digital Inputs 9-16 -->
            <complexEntry bitLen="1" halPin="lcec.0.0.digin-09" halType="bit"/>
            <complexEntry bitLen="1" halPin="lcec.0.0.digin-10" halType="bit"/>
            <complexEntry bitLen="1" halPin="lcec.0.0.digin-11" halType="bit"/>
            <complexEntry bitLen="1" halPin="lcec.0.0.digin-12" halType="bit"/>
            <complexEntry bitLen="1" halPin="lcec.0.0.digin-13" halType="bit"/>
            <complexEntry bitLen="1" halPin="lcec.0.0.digin-14" halType="bit"/>
            <complexEntry bitLen="1" halPin="lcec.0.0.digin-15" halType="bit"/>
            <complexEntry bitLen="1" halPin="lcec.0.0.digin-16" halType="bit"/>
          </pdoEntry>
        </pdo>
      </syncManager>
    </slave>
  </master>
</masters>

I run the command:
halcmd loadusr -W lcec_conf ethercat-config.xml
halcmd show pin lcec

I get:
Component Pins:
Owner   Type  Dir         Value  Name
     4  u32   OUT    0x00000001  lcec.conf.master-count
     4  u32   OUT    0x00000001  lcec.conf.slave-count


I feel like there should be a whole host of pins listed at this point. Can anyone please assist me? Mr. GPT hasn't got me anywhere.
[/code][/code]
  • Masterdrive
  • Masterdrive
11 Dec 2024 21:41
Replied by Masterdrive on topic Remora - ethernet NVEM / EC300 / EC500 cnc board

Remora - ethernet NVEM / EC300 / EC500 cnc board

Category: Computers and Hardware

Hi, there is no cpp source code for the NVMPG. I decompiled the extracted firmware and managed to find the serial transmission section. The communication protocol was derived from that. The attached spreadsheet simulates the protocol. You should be able to use that for your purpose or alternatively look at the code of the NVMPG LinuxCNC component.

github.com/scottalford75/Remora-NVEM/blo.../MPG%20protocol.xlsx

Hi Scott,
thanks for your time and dedication.
I've owned a NVEM 2 since 2018, but buried it long time ago since I was not able to make it work reliably.
www.cnczone.com/forums/controller-cards/...084.html#post2154084
At that point in time, and till now, I've been using Mach3 (yeah... no LinuxCNC... i know...)

2019, after migrating to an UC300ETH controller, I tried to make the MPG work with Mach3 without using the NVEM.
I didn't want to waste such a nice MPG.
At that time, I did some reverse engineering... not as professional as you did... mine was mostly trial and error and listening to the serial communication between the MPG and the NVEM after opening it and finding a MAX232. I captured hundreds of packages, and tried to find the similarities on what was displayed on the MPG and what was within the payload. I almost got the payload down to your level.
I was too dumb to know about headers and such -_-

I also tried to create an Arduino program for having the MPG communicate with a PC using MODBUS.
But again, I was too dumb to find a smart solution, like having the Button-presses being reflected as Output-Pin changes on the Arduino, and hook those up to my motion-controller. Or using the Arduino Pro-Micro as a HID. Instead I tried to make the communication work with MODBUS and Mach3 "Brain", which resulted in a complex, and unreliable solution.
So I buried that solution almost 4 years ago as well.

That being said... I'm surprised about the NVEM still being a topic after stumbling about this thread by accident.
Would you mind if I would revive my idea of a NVMPG to PC connection, utilizing some of the "wisdom" you've gathered throughout the years?
Don't get me wrong... I'm an "enthusiast", far away from being an "achiever", my programming days are more than 20 years in the past now... but it's been bugging me a lot looking at this "unfinished project" (a lot of them exist though -_-)

Kind regards,
David
  • gardenweazel
  • gardenweazel's Avatar
11 Dec 2024 21:27
Replied by gardenweazel on topic Qtdragon for lathe??

Qtdragon for lathe??

Category: Qtvcp

Got it. No problems.

Ahhh, I misunderstood.

"scroll the gcode, mdi or graphics view" now understood.

Thanks
  • partec
  • partec
11 Dec 2024 21:27
cam_align was created by partec

cam_align

Category: Qtvcp

Chris, a little something here, regarding the variation of the circle diameter

mouse scroll only - scroll circle diameter 

may now work a little slower than in previous versions

It would perhaps be practical if the currently set value according to the

middle mouse single click - cycle through rotation increments 

would also be used to adjust the diameter?
  • gardenweazel
  • gardenweazel's Avatar
11 Dec 2024 21:23
Replied by gardenweazel on topic Inconsistent values from Versaprobe

Inconsistent values from Versaprobe

Category: Qtvcp

Chris,
I'm not sure that the calculation is is correct. I see the tool table file being written to but, the offset is incorrect.

For example, take this line:
T42  P42  D+12.700000 Z+290.403761 ;SpeTool Spiral .5" Shank .5" Dia 2" CL

I first zero'ed the above line, measured spindle with 3d probe. Then the "Z" probe fails multiple times before the gcode starts correctly. The above line was after the multiple probes and the gcode started running.
My "Z" can only travel somewhere around 120mm based on it's current configuration.

Here's another tool table entry:
T28  P28  D+3.175000 Z+12.349993 ;Whiteside 1/8" RD1600
This is what I would expect to see(Z+12.349993).
However I probed multiple times on that one also.

I did look at the code and there is an os.fsync on line 335 of qt_tstat.py which is located in def _save()
There's also comments to this perhaps causing "odd errors".

I'm thinking that maybe the FLUSH before the FSYNC might be causing this?

 
  • cmorley
  • cmorley
11 Dec 2024 20:47
Replied by cmorley on topic Qtdragon for lathe??

Qtdragon for lathe??

Category: Qtvcp

All qtdragon versions have that button now. I'd you have an MPG you might like it to scroll the gcode, mdi or graphics view. There is no option to remove it currently.
  • schnellmued
  • schnellmued
11 Dec 2024 19:51
Replied by schnellmued on topic Remora - ethernet NVEM / EC300 / EC500 cnc board

Remora - ethernet NVEM / EC300 / EC500 cnc board

Category: Computers and Hardware

Remora does not use the Base Thread.
Whether you run Remora or MESA the latency will be the same.
 

Hi Scott

Ok, then i have maybe some weird misconfiguration on my side. Today i switched the mill to a 7i96S today and the servo thread on the same laptop with same kernel params and network card is about 700k-750k instead 1,5m-6,0m with the remora config. Any idea what iam doing wrong ? Shall i upload my remora config ?

-
schnellmued
  • fully_defined
  • fully_defined's Avatar
11 Dec 2024 18:10
Replied by fully_defined on topic Rotary Selector Switches & Resistors

Rotary Selector Switches & Resistors

Category: General LinuxCNC Questions

I just purchased 1N4148 diodes , 0,1μF capacitors , and 12-position switches , to build some multiplexed rotary switches. I have no idea if this is going to work, but this is where I will start.

Unfortunately, the information needed to accomplish this is scattered all over the internet, with no solid how-to guide for LinuxCNC. If I am successful, and I have the patience, I may make such a thing when the time comes.

Once I have that part figured out, I will move on to rotary encoders for feed and speed overrides. And then after that, matrix keyboards. Hopefully the 7i73 has enough inputs for all of this, because I do not want any HMI inputs connected to the 7i96s board - only sensors.

I have also read about Arduinos being used for this kind of thing. I have an R4 Minima that is capable of emulating a keyboard through its type-c port, so I may use that for buttons. I don't know yet if that's a good idea or a bad idea.
  • gardenweazel
  • gardenweazel's Avatar
11 Dec 2024 17:48 - 11 Dec 2024 17:58
Replied by gardenweazel on topic Qtdragon for lathe??

Qtdragon for lathe??

Category: Qtvcp

Hi Chris,
I noticed that my screen included a scroll button in the DRO section which I didn't want/need and this appears as if it maybe part of this change?

I was looking for "MACHINE_TYPE_HINT" in the documentation and via GIT, found a few references but none that indicated
acceptable values.
 
  • macrimarco001
  • macrimarco001
11 Dec 2024 17:18 - 11 Dec 2024 19:06

Newbie looking for a hardware configuration based on Raspberry Pi

Category: Computers and Hardware

Salve,
Thank you so much for this new resource. I think i'll start playing around with it as soon as i get a Raspberry Pi. i wonder what is the maximum control frequency using this solution.
I see you are a professor. I'm currently a computer engineering student at UniCal. i wish there would be a similar project at my university :(.
Hope you do well. Thanks again.
  • gilesclement
  • gilesclement
11 Dec 2024 16:18
Replied by gilesclement on topic Mill Single Point Spline Broaching - Spindle Orient?

Mill Single Point Spline Broaching - Spindle Orient?

Category: Advanced Configuration

Thanks for the reply, I do have a servo with feedback to control on the spindle so accuracy should be ok.

If you have a simple example of the INI/Hal file which can switch between velocity and orient that would be very helpful. I'm also trying to use orient for probing where the spindle rotates 90* for each touch.
  • PCW
  • PCW's Avatar
11 Dec 2024 15:23

Changing stepgen position-scale parameter dynamically

Category: Basic Configuration

Parameters can be changed with a hal setp command
 Note that dynamically changing the stepgen position scale
will result in following errors.
  • Lcvette
  • Lcvette's Avatar
11 Dec 2024 15:15 - 11 Dec 2024 15:44
Replied by Lcvette on topic Probe_Basic Bugs?

Probe_Basic Bugs?

Category: QtPyVCP

for the issue with second y and z axis being mixed up, this is because the ini axis numbering is off when it adds in the second y axis as axis 2, to fix this, also change the axis number in the properties editor. in your situation it should be set as follows to account for your second Y axis motor:

axisNumber 0 = X
axisNumber 1 = Y
axisNumber 2 = Y2
axisNumber 3 = Z
axisNumber 4 = B

like this below in the images:

   

   

   

   

   

   
  • Lcvette
  • Lcvette's Avatar
11 Dec 2024 14:58
Replied by Lcvette on topic Probe_Basic Bugs?

Probe_Basic Bugs?

Category: QtPyVCP

yes there is not currently a preconfigured display option setup for xyzb.


however, you could run:

sudo editvcp probe_basic in terminal and make any edits on the apt installed version. if you are on the stable branch the changes will remain, if you are on the develop branch any changes will be overwritten when updates are pushed and you you subsequently run apt update.
  • Lcvette
  • Lcvette's Avatar
11 Dec 2024 14:54

Probe Basic is splitting into Stable and Develop apt branch

Category: QtPyVCP

if you would like to change the opening screen to the main tab, you can change it by doing the following:

open a terminal and enter the following:
sudo editvcp probe_basic

enter your password and enter

Qtdesigner will open, if you wish to delete the status message label, simply click inside the white area anywhere and press the delete key.  This will delete the message label and its contents.

 


Alternatively if you would like to keep the message there but change the tab that is seen when starting probe basic, click the main tab button to change the display page, and save.  Close Qtdesigner and start probe basic as you normally would, this will now startup the program on the main tab and if opted to delete the status page message label widget it will also be gone.  this will reappear if you are on the develop version after any updates have been pushed but should remain edited if on the stable version as no new changes are pushed to the stable version branch.

Hope this helps!

Chris
Displaying 21856 - 21870 out of 22082 results.
Time to create page: 0.699 seconds
Powered by Kunena Forum