dzrong
-
Posts
187 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Downloads
Posts posted by dzrong
-
-
-
The feedrate during a move is specified with the F command. The FRAX command is used to specify *which* axes are to be used in the feedrate calculations.
example:
X10 Y20 Z30 F10 //move with a feedrate of 10
X20 Y30 Z40 F20 //move with a feedrate of 20
I want to control 3 axis X,Z and C move synchronously,is't possible to limit the velocity and acceleration of Axis C?
For example:
X10 Z20 C30
-
Make sure M1 has a non self referenced definition.
What is mean " non self referenced definition"?
"M1->*" is what my M1 defined in my PPMAC.
-
Hello EveryOne,
I want to control 3 axis X,Z and C move synchronously,and I want to use the frax(x,z,c) to set the feedrate, but PPMAC seems not allow to do this,so how to control the speed of the three axis after some position points had been given?
Thanks
-
Hello EveryOne,
Why Synchronous M Variable not changed when program is running? The M1 always remain 0. Here is the program:
N1G90M1==1
N2G1M1==2
N3F10M1==3
N4ta100M1==4
N5X30M1==5
N6Z0M1==6
N7F1M1==7
N8ta1M1==8
N9ts0M1==9
N10frax(x,z)M1==10
N11S1000M1==11
N12M3M1==12
N13X30Z0M1==13
N14X29.999Z0M1==14
N15X29.998Z0M1==15
N16X29.997Z0M1==16
N17X29.996Z0M1==17
N18X29.995Z0M1==18
N19X29.994Z0M1==19
N20X29.993Z0M1==20
N21X29.992Z0M1==21
N22X29.991Z0M1==22
N23X29.99Z0M1==23
N24X29.989Z0M1==24
-
Hello EveryOne,
Why my C axis run so slow,only 20 block per second,
The unit of C is degree.
Coord[1].AltFeedRate=1000000
Motor[3].MaxSpeed=1000
Coord[1].PosRollover[2]=-360
Here is the program:
&1#1->1000000X-30000000
&1#2->1000000Z-30000000
&1#3->C
//
open prog 4
// --------------------User Code Goes Here------------------------
linear
abs
ta 1
ts 0
tm 1
C 0.01
C 0.02
C 0.03
C 0.04
C 0.05
C 0.06
C 0.07
C 0.08
C 0.09
C 0.1
C 0.11
C 0.12
C 0.13
C 0.14
C 0.15
C 0.16
C 0.17
C 0.18
C 0.19
C 0.2
C 0.21
C 0.22
C 0.23
C 0.24
C 0.25
C 0.26
C 0.27
C 0.28
C 0.29
C 0.3
C 0.31
C 0.32
C 0.33
C 0.34
C 0.35
C 0.36
C 0.37
C 0.38
C 0.39
C 0.4
C 0.41
C 0.42
C 0.43
C 0.44
C 0.45
C 0.46
C 0.47
C 0.48
C 0.49
C 0.5
C 0.51
C 0.52
C 0.53
C 0.54
C 0.55
C 0.56
C 0.57
C 0.58
C 0.59
C 0.6
C 0.61
C 0.62
C 0.63
C 0.64
C 0.65
C 0.66
C 0.67
C 0.68
C 0.69
C 0.7
C 0.71
C 0.72
C 0.73
C 0.74
C 0.75
C 0.76
C 0.77
C 0.78
C 0.79
C 0.8
C 0.81
C 0.82
C 0.83
C 0.84
C 0.85
C 0.86
C 0.87
C 0.88
C 0.89
C 0.9
C 0.91
C 0.92
C 0.93
C 0.94
C 0.95
C 0.96
C 0.97
C 0.98
C 0.99
C 1
close
-
Dear CharlesP,
I only think,maybe which Master of Delta Tau had done that before as what I'm doing,so we can solved the problem more simple.
That's all.
-
Hello Everyone,
I'm using ACC84E with PPmac,and want to get the abs position from an Endat2.2 with incremental encoder,The type of Linear grating is LIP211,0.03125nm per count(LSB).A 36($24)-bit encoder from HEIDENHAIN.
Now the position can be read correctly throw Acc84E[1].Chan[0].SerialEncDataA and Acc84E[1].Chan[0].SerialEncDataB after some setting like:
Acc84E[1].SerialEncCtrl=$002003;
Acc84E[1].Chan[0].SerialEncCmd =$071424;
But I can't get a valid data of the RM_bit ,it's always zero even I move the motor go throw the whole trip by hand. Of course proper command codes had been send before,like:
Acc84E[1].Chan[0].SerialEncCmd = $381424
Acc84E[1].Chan[0].SerialEncCmd = $421424
Because RM_bit is one bit of Acc84E[1].Chan[0].SerialEncDataC.SerialEncDataC is always zero,so RM_bit should be zero.
And the ACC84E very new,should be the latest firmware to support the function.
Does Anyone had using the Encoder like me? Can you give some suggestion?
-
This can be done although you need one of the more recent versions of the IDE which allows the password to be changed in the IDE from the factory default.
Do you mean I can change password by typing the new password in the "Password" space,and Connect directly,and then the new password will be auto changed?
-
Hello EveryOne,
For protecting source code reason, I want to change password of PPmac,by default is "deltatau",who can give me a complete process step by step to change the password?
Thanks
-
Hello everyone,
I set i260=3, and I want to know which Extension Period is now by using a plc0.
I think there is a count in TURBO PMAC which maybe 0\1\2\3, maybe it's a open memory and how can I get it?
Thanks
-
Hello,
I have a big program about 1000000 block in it,and I want to download it to the PPmac,
but an error:out of memory happenned.If the program size very small,everything works well.
My question is that,we know PPmac have very big memory about 1G,why 30M zise block cause a "Out of memory"?
Thanks.
-
How to access Motor[2].MasterPos in the user servo program of motor 1 ?
Motor[2].MasterPos can't be used directly.
-
If the position was calcalated in the realtime routines ,is Data Structure of Mptr->MasterPos supported in the user_pid_ctrl(struct MotorData *Mptr) or user_phase(struct MotorData *Mptr)?
-
Hello,
For some reason,I want to motor to follow a position every servo cycle,the position was calculated by the foreground PLC.Usually I will set ECT to get data from a user address and make Ix05 point to the ECT in Turbo,so the moter will follow the value of the address.But how to do that in Power Pmac? Or there are some simple way to do that?
-
Hello,
Is there any Acc-??? support RESOLVER of TURBO or Non-Turbo PMAC PCI card? It seem only 58E support that for UMAC.
-
Hello CharlesP,
I want to get position information of Clipper though DPRAM.
When enabled DPRAM foreground function,PMAC will auto copy the motor information to DPRAM,including position and so on.
After that,I want to get the Position information though DPRAM by PC,in the PC side Visual Studdio C# was be used.
So,after "using PCOMMSERVERLib" in the C#, Pmac.DPRGetLong(m_nDevice, 156, out i_x, out dpsucess) can get the DPRAM memory data,'156' is the host PC Address 0x009C which is the Motor net actual position of Memory Map.Of course the host PC Address 0x00A0 also include part information of Motor net actual position.
After I get both 0x009C and 0x00A0 data,the Motor net actual position will be calculated,but how to calculate?
-
How to get position using Turbo DPRAM?
I want to get position through DPRAM by the momery 0x009C of the motor 1,
DP:$060xxx-$060xxx+1 Motor net actual position (1/[ixx08*32] cts)
In the C#:
Pmac.DPRGetLong(m_nDevice, 156, out i_x, out dpsucess);
Pmac.DPRGetLong(m_nDevice, 160, out i_x_h, out dpsucess);
I get position data in i_x and i_x_h, but how to get position by the i_x_h and i_x?
Thanks
-
Hello Gregs,
Where can i get the manual of ACC-24S3?
Thanks
-
Hello KEJR,
Thank you for so much more and more characters reply.
I had found the reason:one character write wrong because me.
I have a more knowledge of seral port of power Pmac because you reply.
-
Is it possble to support 8 axis of power clipper? Just like acc-1p with clipper.
-
Because the value was 8bits data,that will be same in my application if or not have the `double`.And I had got other values expect 0x13... So that will not the key of my problem.
-
The 0x13/ 0x11 /0x0D is the apecial character of Linux,0x13 is Enter,0x11 is ^Q,ix13 ^s.
So must disable the system function of this characters. This may be done though setting options.c_lflag. But I can get it out.
If you can help me to try that,you can send that character using serial port,and recieve it itself(only connect the serail port send pin and recieve pin),if 0x13/ 0x11 /0x0D can be sent and recieve correctly,we win!
I change a little code of the examle, so the serial port can send Hex,
//static const char *SampleCommand = "ver\r";
static const char SampleCommand[7] = {0X3C ,0X13 ,0X11 ,0X0D ,0X03 ,0X4B ,0X0D};
char msg[EXAMPLE_CODE_RESPONSE_MAX];
int ret;
// Initialize the serial port.
// "/dev/ttyUSB0" is where Power PMAC maps the USB-to-Serial device
// The second number is the baud rate. Here are some example baud rates:
// B9600: 9600 baud
// B38400: 38400 baud (the default for talking to a Turbo PMAC)
// B115200: 115200 baud (the default for talking to a host PC or to another Power PMAC)
SerialPort = OpenSerialPort(Port,B9600); //rdz
// Change your baud rate to what you need. To talk to Turbo PMAC, use 38400.
// Note: If you want to use this to talk to Turbo PMAC, I1 should be set to 1 on the PMAC to disable CS handshaking
// Otherwise, Turbo will wait until it gets the CS signal to send characters
//Check return code to see if the port opened properly.
if(SerialPort < 0)
{
Send(1, "Problem opening port!");
return SerialPort;
} else printf("Serial port opened properly.\n");
//Write out the command to read display on meter...
//ret = write(SerialPort, SampleCommand, strlen(SampleCommand));
ret = write(SerialPort, SampleCommand, 7);
thought P var,we can get the recieve value
char buf;
int i,ret;
if(FileDescriptor < 1)
printf("Trying to Read a serial port with invalid file descriptor.");
i=0;
double StartTime = GetTimeSec();
while((GetTimeSec()-StartTime) < TimeoutSeconds)
{
ret = read(FileDescriptor, &buf, 1);
pshm->P[1000+i]=buf;
If p1001 can be 0x13, my problem is solved.
-
Yes,you are right.If this file is closed in IDE,no error happenned.
Acontis vs Etherlab
in Power PMAC
Posted
Is it possble to control “local” motors with ARM LS1021A CPU if the Acontis EtherCAT stack is used at the same time?
If not ,what problems will happen? I had done some test, and it seemes that can work at an 1 kHz update rate.