Machsupport Forum
Mach Discussion => Mach SDK plugin questions and answers. => Topic started by: cdeady on April 07, 2009, 05:32:32 PM
-
Can someone help me with this structure?
I am writing a Plugin for a Baldor Motion control and I am trying to understand this structure, particularly what variables am I expected to write to?
For example, the variable Enable, is this set by Mach3 or do I set it to indicate that the axis is Enabled?
I have searched the Yahoo groups and the groups here with no luck, I have also looked at the customization WIKI.
Thanks,
Craig Deady
-
craig,
what are you trying to do?
When you say Baldor Motor controller do you mean Spindle motor controller?
If so, what kind of stuff are you trying to do with the control?
Alot of control options can be done through a modbus connection to your MC.
scott
-
Scott,
Not Baldor MOTOR control, but Baldor MOTION control. It is a multi-axis motion controller that can control up to 16 axes of servos and steppers. The servos can be local to the control (analog type drives) or network based drives (using Ethernet powerlink). So, in my case the Baldor Motion control will control all axes on the machine as well as the I/O (inputs and outputs). Thus the Plugin will be a movement plugin.
Craig
-
Ahhh,
Well then you would need to find out, the format that it will take for executing Motion commands. (see the Galil plug in example for instance). You will need to get into the documentation, to see what kinda instruction set the control will take to preform its movements.
scott
-
Scott,
I don't need help with the Baldor interface, I know that.
My question was to get information on the AxisInfo structure that is in Engine.h and what the variables do, which ones do I write to from my plugin and which ones are written to by Mach.
Craig
-
The engine variables in the Axis structure are for the Printer Driver, if you are doing an external motion board then you will have to do something else, as I was trying to tell you above. But here is the stuct with my understanding of it, some of it I am unsure of cause I dont use alot of it.
struct AxisInfo
{
int Index; // Current Count
int MasterIndex; //Machine 0
char StepPin; // Pin for step pulse
char DirPin; // Pin for Direction Pulse
char StepPort; // Port # for step
char DirPort; // Port # for Direction
bool StepNegate; // low active step?
bool DirNegate; // low active Direction?
int CurVelocity; // Current Velocity
int MaxVelocity; // Current Max Velocity (jogging )
int MasterVelocity; // Master Velocity...Maximum Velocity in all circumstances.
int Acceleration; // Acceleration
bool AtSpeed; // At Speed Currently
bool Acc; // Accelerating?
bool Dec; // Decelerating?
bool Enable; // Axis Enabled?
bool Jogging; // Jogging On?
int JoggDir; // Direction of Jog;
bool Homing; // is this a homing jog?
bool DeRef; // Dereferanceing Move?
int Memory[6]; //dont know
int ActiveMemory; //dont know
int Color; //dont know
int TripCount; //dont know
int DepthCount; //dont know
bool Probing;
bool Slave; //is this axis a slave
int SlaveAxis; //what axis is it slaved to
};
scott
-
Scott,
Thanks for taking the time to help me with this.
Craig