Hello Guest it is March 28, 2024, 05:18:00 PM

Author Topic: Galil DMC4080 and Mach3 - ModBus  (Read 3089 times)

0 Members and 1 Guest are viewing this topic.

Galil DMC4080 and Mach3 - ModBus
« on: October 23, 2014, 01:23:55 AM »
Hello everyone, I'm new to this forum and Mach 3. I've rettofitted a large CNC grinder with a PC based control a company had semi configured for my application a few years ago and have a few of my own industrial CNC's, so that is where I'm coming from entering this challenge!

I've tried to solve this problem on my own, but I'm finding this problem to lose me...

I have a Galil DMC-4080 hooked up to a PC with Mach3 via ethernet. I've tried communicating to my analog inputs via the TCP Modbus with no success. When I go into "Setup TCP Modbus" I used the Galil IP as the "Master Address" (Even though it says adress in the software  :P) and when I click "Test" with that IP and then click "Open" the Status says: "No Error" - Good, right?

According to the step by step guide I found online for the Galil RIO by Ken Crouch: "Galil RIO Pocket PLC And Mach3 ModBus Installation and Programming" getting the "No Error" status means all is well as far as communications go.

I realize this DMC isn't a RIO, and I think this may be the problem. I read somewhere, likely in one of the hundreds of Galil manual pages I've read that the DMC cannot be a slave, only a master. In any event, I try to run a test, set cfgs in the TCP Modbus setup screen according to Ken's guide and nothing is responding. I'm getting a timeout from the Galil.

Now when I use the analog input via the Galil plugin I do get feedback from the input. What I want to do is be able to setup a way to get values off the Galil that have been pre-conditioned via the onboard Galil programming rather than have to use "Macropumps" to use features like "Rnd()" as you would type it in Excel.

Maybe you guys can help me out: I have a 100 ohm pot wired as a voltage divider to Analog 1 of the controller.
I'm using the 5V reference voltage to get a 0-5V range as my input, which responds as OEM DRO 1100 AND OEM DRO 1101, (though the values that come up when I use a brain are odd: OEM DRO 1100 gives me 0 to >10 for the first half of the pot's range, then >-10 to 0 as you get to the other end. Then, on DRO 1101 it is 0 to 4.2********* as a range, linear from one end to the other.) Why are two inputs responding to my input? I read somewhere about having a differential signal on one and something else on another but I can't remember if that even had anything to do with Analog inputs.

With either of those OEM DRO's the value is very erratic. I want a feedrate override knob and the with right formula the override works but the value is constantly changing. I was trying to add a filter script (Sorry if this is the wrong terminology, I'm very new to programming) that could run right on the Galil itself to pre-filter the signal, but I couldn't figure out how to retrieve the new variable that I had assigned the filtered value to. In this case, it was AN1, derived from the Galil AN[1].

I was hoping that once I had the ModBus working I could just take what I wanted from the Galil directly instead of having to write a macropump. Because macros and the onboard Galil software have pretty much the same programming flexibility I figured I would do all my code on the unit itself so only simple brains have to do the rest, and avoid the impact of slow running macropumps on my CNC system. Is this logic sound?

I've read Macropumps make things possible but they aren't optimal.

Suggestions as to the right course of action? Thanks!!

Dave