How should I tune the PID to improve 'Jog Axis' reponse?
In MAX the 'Jog Axis' reponse as the accessory.
When decelerating the velocity, it exceed zero more to a large negative velocity. And this makes the settling time long.
How should I tune the PID to disappear the phenomena? Anybody can tell me?
Thanks a lot.
Attachments:
Jog Axis.JPG 146 KB
Hi, Jochen. Thanks for your answer. Now I try to express my question in detail.
System: 2_D position table (50mm*50mm)
hardware: PCI7344 + 2 voice coil motor + driver(no feedback,just a amplifier) + 0.5micron encoder(Renishaw) as the position feedback
software: Labview7.1 + MAX3.1
Aim: To get the setting time of single axis lower than 40ms (even if there is some overshot)
The document you mentioned I have read before. When I tune the servo,'Auto tune' can't get meaningful parameters. So all the time I tune it manually.
1, About Step reponse: I can get a setting time lower than 40ms(step 1000 counts + 200 sample) by accident, but the same PID I can't get the good result all the time.
2,When I use 'start motion.flx' moving 6000 counts (400000 counts/s+32000000 counts/s^2+S curve time 3) or use 'Jog axis',the setting time are more than 100ms (see axis.jpg). I try to increase the Td or Kd. It can change the overshot, but the setting time is not ideal. IF Kd too large, the system will unstable. I think maybe the aim is unpractical, right? Jochen, has you tune some table whose setting time lower than 40ms using 7344?
3,what's the relationship between 'step reponse' and 'Jog axis'.Should I tune the PID according to 'Step reponse' or 'Jog axis'? (In 'Jog axis', the velocity and Acceleration and Deceleration also play an important role.)
4,The driver have no current feedback.I guess it is an important problem.what'a your opinion?
Attachments:
jog axis.JPG 143 KB
jog axis2.JPG 143 KB
Similar Messages
-
How Can We Tune the Joins with "OR" Caluse ?
Hi
We've identified one Query in one of Our PL/SQL Stored Procedure which is taking huge time to fetch the records. I have simulated the problem as shown below. The problem Is, How can i tune the Jions with "OR" Clause. i have tried replacing them with Exists Caluse, But the Performance was not much was expected.
CREATE TABLE TEST
(ID NUMBER VDATE DATE );
BEGIN
FOR i IN 1 .. 100000 LOOP
INSERT INTO TEST
VALUES
(i, TO_DATE(TRUNC(DBMS_RANDOM.VALUE(2452641, 2452641 + 364)), 'J'));
IF MOD(i, 1000) = 0 THEN
COMMIT;
END IF;
END LOOP;
END;
CREATE TABLE RTEST1 ( ID NUMBER, VMONTH NUMBER );
INSERT INTO RTEST1
SELECT ID, TO_NUMBER(TO_CHAR(VDATE,'MM'))
FROM TEST ;
CREATE TABLE RTEST2 ( ID NUMBER, VMONTH NUMBER );
INSERT INTO RTEST2
SELECT ID, TO_NUMBER(TO_CHAR(VDATE,'MM'))
FROM TEST;
CREATE INDEX RTEST1_IDX2 ON RTEST1(VMONTH)
CREATE INDEX RTEST2_IDX1 ON RTEST2(VMONTH)
ALTER TABLE RTEST1 ADD CONSTRAINT RTEST1_PK PRIMARY KEY (ID)
ALTER TABLE RTEST2 ADD CONSTRAINT RTEST2_PK PRIMARY KEY (ID)
SELECT A.ID, B.VMONTH
FROM RTEST1 A , RTEST2 B
WHERE A.ID = B.ID
AND ( (A.ID = B.VMONTH) OR ( B.ID = A.VMONTH ) )
BEGIN
DBMS_STATS.gather_table_stats(ownname => 'PHASE30DEV',tabname => 'RTEST1');
DBMS_STATS.gather_table_stats(ownname => 'PHASE30DEV',tabname => 'RTEST2');
DBMS_STATS.gather_index_stats(ownname => 'PHASE30DEV',indname => 'RTEST1_IDX1');
DBMS_STATS.gather_index_stats(ownname => 'PHASE30DEV',indname => 'RTEST2_IDX2');
DBMS_STATS.gather_index_stats(ownname => 'PHASE30DEV',indname => 'RTEST1_IDX2');
DBMS_STATS.gather_index_stats(ownname => 'PHASE30DEV',indname => 'RTEST2_IDX1');
END; Pls suggest !!!!!!! How can I tune the Joins with "OR" Clause.
Regards
RJI don't like it, but you could use a hint:
SQL>r
1 SELECT A.ID, B.VMONTH
2 FROM RTEST1 A , RTEST2 B
3 WHERE A.ID = B.ID
4* AND ( (A.ID = B.VMONTH) OR ( B.ID = A.VMONTH ) )
Execution Plan
0 SELECT STATEMENT Optimizer=CHOOSE (Cost=94 Card=2 Bytes=28)
1 0 TABLE ACCESS (BY INDEX ROWID) OF 'RTEST2' (Cost=94 Card=1 Bytes=7)
2 1 NESTED LOOPS (Cost=94 Card=2 Bytes=28)
3 2 TABLE ACCESS (FULL) OF 'RTEST1' (Cost=20 Card=100000 Bytes=700000)
4 2 BITMAP CONVERSION (TO ROWIDS)
5 4 BITMAP AND
6 5 BITMAP CONVERSION (FROM ROWIDS)
7 6 INDEX (RANGE SCAN) OF 'RTEST2_PK' (UNIQUE)
8 5 BITMAP OR
9 8 BITMAP CONVERSION (FROM ROWIDS)
10 9 INDEX (RANGE SCAN) OF 'RTEST2_IDX1' (NON-UNIQUE)
11 8 BITMAP CONVERSION (FROM ROWIDS)
12 11 INDEX (RANGE SCAN) OF 'RTEST2_PK' (UNIQUE)
Statistics
0 recursive calls
0 db block gets
300332 consistent gets
0 physical reads
0 redo size
252 bytes sent via SQL*Net to client
235 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
2 rows processed
SQL>SELECT /*+ ordered use_hash(b) */ A.ID, B.VMONTH
2 FROM RTEST1 A, RTEST2 B
3 WHERE A.ID = B.ID AND(A.ID = B.VMONTH OR B.ID = A.VMONTH)
4 ;
Execution Plan
0 SELECT STATEMENT Optimizer=CHOOSE (Cost=175 Card=2 Bytes=28)
1 0 HASH JOIN (Cost=175 Card=2 Bytes=28)
2 1 TABLE ACCESS (FULL) OF 'RTEST1' (Cost=20 Card=100000 Bytes=700000)
3 1 TABLE ACCESS (FULL) OF 'RTEST2' (Cost=20 Card=100000 Bytes=700000)
Statistics
9 recursive calls
0 db block gets
256 consistent gets
156 physical reads
0 redo size
252 bytes sent via SQL*Net to client
235 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
2 rows processed -
How should we get the out put file-name same as in put file-name in file to
Hi frnds,
having hundreds of files in the sender system with different names, how should we get the out put file-name in the receiver system same as the in put file-name in file to file scenario ?
Thanks in advance.
truly,
snrvakiti.Hi,
In Receiver File Adapter you can set under 'Adapter-Specific Message Properties'
check Use Adapter-Specific Message Properties
check Fail on Missing Adapter Message Properties
Check File Name
Have a look at this link, [File_to_File|http://allsapnetweavernotes.blogspot.com/2008/09/how-can-i-access-filename-from-fileftp.html]
Regards,
P.Rajesh -
How should I set the iMac display in normal mode
how should I set the iMac display in normal mode
Not certain if this is what you're asking, but the normal setup would be System Preferences>Displays>Disply tab and select 'Best for display'.
-
to create apple US account i followed all the steps including none in the payment option. i dont have US address how should i fill the fields.
You need to be in a country to use its store - if you are not in the US with a US billing address then you cannot use the US store.
From the US store's terms of use :
The iTunes Service is available to you only in the United States, its territories, and possessions. You agree not to use or attempt to use the iTunes Service from outside these locations. Apple may use technologies to verify your compliance. -
How do I stop the Adobe Product Improvement Program prompt?
How do I stop the Adobe Product Improvement Program prompt from coming up every time I open Photoshop CS5 on my Mac, even after I have responded that I do not want to participate? This is becoming very annoying and I have looked on line for a method to turn this off without luck.
Thanks,
AlanIt only asks once.
So it sounds like your preferences might not be getting saved for some reason (usually a permissions problem on your system).. -
Hi,
How should I understand the parameters/argument values in the {} and [] right after a function?
For instance the {[Name="control"]}[Content] part in the
control=Excel.CurrentWorkbook(){[Name="control"]}[Content]
and also the [Control]{0} part in the periodctrl=control[Control]{0}.
Thanks.
Regards,The "[]" operator in M is like the "." operator in C-like languages, if that helps. It takes an aggregate value with named components and it selects one of those components. In the case of the record "Foo", "Foo[Bar]"
returns the field named Bar. In the case of the table "Baz", "Baz[Quux]" returns the column named Quux.
Similarly, the "{}" operator in M does subscripting of lists -- like the "[]" operator in C-like languages. If "Foo" is a list, then "Foo{0}" returns the first element of the list, "Foo{1}" returns the second
element of the list, and so on.
In the case of tables, it's also possible to use "{}" with a record argument, in which case it will return the row which matches the record criteria -- provided there is exactly one. So if "Foo" is a table, then "Foo{[Bar = 1]}"
will return the row for which the Bar column has a value of 1.
Many of the data access functions in Power Query return what we call "navigation tables". Sql.Database, for instance, returns a table with columns named Name, Schema, Object, Kind and Data. Each table in the database has a single entry in this
navigation table. When we index into the table with "table{[Schema="dbo", Object="table"]}", we're selecting the single row that matches those criteria. This gives us a record. We then want to pick the "Data" field of
that record, which contains the actual table data. That's why there's typically a "[Data]" at the end of expressions which fetch data from the SQL table. -
How should I change the following SELECT QUERY?
Requirement:
There are checks in the program for material group 2, z93 AND z94 which should be skipped if the sales org = 'JP40'.
sales organisation is taken from the layout(SE51) dictionary fields (MODULE POOL PROGRAM)
The select query is:
select single matnr
into t_mvke-matnr "dummy
from mvke
where matnr = t_9000-matnr
and vkorg = vbak-vkorg
and vtweg = vbak-vtweg
and mvgr2 in (c_z93,c_z94).
How should I skip the material group c_z93, c_z94 only for JP40(vbak-vkorg) sales organisation, except JP40 material group should be there for other sales org. but for JP40 material group should be skipped.
What would be the select query or should I give any kind of IF conditions before select query.
Please help me out.Hi Rani K
You can try like
IF VBAK-VKORG = 'JP40'.
select single matnr
into t_mvke-matnr "dummy
from mvke
where matnr = t_9000-matnr
and vkorg = vbak-vkorg
and vtweg = vbak-vtweg.
ELSE.
select single matnr
into t_mvke-matnr "dummy
from mvke
where matnr = t_9000-matnr
and vkorg = vbak-vkorg
and vtweg = vbak-vtweg
and mvgr2 in (c_z93,c_z94).
ENDIF.
Thanks
Gaurav -
I was trying to update my apps and all I get is waiting, how should I resolve the problem?
COntact iTunes by:
Apple - Support - iTunes - Contact Us
Is the credit card billing address in the same country as the iTunes/App store you are trying to use? It has to be. -
I have forgot my ipod passcode how should i remove the passcode from it
i have forgot my ipod passcode how should i remove the passcode from it
Connect the iOS device to your computer and restore via iTunes. Place the iPod in Recovery Mode if necessary to allow the restore.
If recovery mode does not work try DFU mode.
How to put iPod touch / iPhone into DFU mode « Karthik's scribblings
For how to restore:
iTunes: Backing up, updating, and restoring iOS software
To restore from backup see:
iOS: How to back up
If you restore from iCloud backup the apps will be automatically downloaded. If you restore from iTunes backup the apps and music have to be in the iTunes library since synced media like apps and music are not included in the iPod backup that iTunes makes.
You can redownload iTuns purchases by:
Downloading past purchases from the App Store, iBookstore, and iTunes Store -
How should i get the delta data for those new object's previous delta data?
Hallo all,
i have 2lis_11_vahdr and i am using a standard and loading delta! now i have appended some new fields in the datasource then in infosource then in ods and infocube..! now how should i get the delta data for those new object's previous delta data???
JimmyHi,
After appending new fields in the datasoure.It is not possible to delta load, u should have to load everything
Thanks,
Shreya -
All the my messages from my phone inbox disappeared.Why did it happen and how should i get the messages back?please help
Is the MacBook the computer you have synced with in the past? If not you can use the computer that you have synced with to restore your apps. Are you sure you are using the same Apple ID that you used to purchase the Apps?
-
I try to modify the hp54600a instrument driver for GPIB, so i can use it with RS232. But somehow it didnt work. When i try to run the initilize it, the prgoram show VISA read error (time is up before the process is finish). How should I modify the VI so I can use it with RS232 interface ?
First, check the instrument's user manual to see if the GPIB and serial command sets are the same. Also check to see what EOS(End of String) characters the instrument requires. Then, do a loopback test to test communication in LabVIEW.
Search Results: Serial Loopback Test
Ray K
NI Applications EngineerMessage Edited by Molly K on 02-18-2005 10:57 PM -
How should I set the parameters of PID Autotuning such as relay amplitude and PV noise level?
I want to control the temperature of a room by changing the hot water flow of a radiator with a control valve. The desirable control accuracy is +/- 0.5 degree of centigrade.
What number should I set for relay amplitude? And what number should I set for PV noise level?Hello loghmani,
If your output is saturating try to reduce your relay amplitude and/or reduce the gain Kc of the PID controller before starting the autotuning procedure. You can find more information about each of the parameters that you've inquired about at this KnowledgeBase article.
I would recommend taking a look at the General Auto PID Simulator.vi example. You can find this example by doing a search in the example finder or by clicking linked example at the bottom of the detailed help page of the Autotuning PID.vi.
If you haven't looked at the PID user manual that also contains useful information on setting up PID algorithims and Autotuning.
David A
National Instruments
FlexRIO Product Support Engineer -
How do I get the PID of a child process in java using JNI?
I am writing an app in Java (for **nix) that will spawn multiple processes (using Process objects). I want to be able to get the PID for a particular child process (not the parent). How can I do this?
You could try an extreme hack of using JNI to read whatever field of the java.lang.Process-derived class may hold a native process id. This would be unsupportable beyond the exact JVM(s) you can test it on, and should only be a last resort, but within these constraints it may work well. The source code for package java.lang gives clues of where to start hacking.
-slj-
Maybe you are looking for
-
Create table from external data with dates
I have a CSV that looks somewhat like this: abcuser,12345,5/12/2012,5,250.55 xyzuser,67890,5/1/2012,1,50 ghjuser,52523,1/1/1900,0,0 When I create the external table, then query it I get a date error: CREATE TABLE xtern_ipay userid VARCHAR2(50), acctn
-
I can't even activate it use it nothing help please
-
Add "wrap your product as a gift" option in shopping cart or product checkout
Hi, does anybody have an idea of to add an option in the checkout, so the user be able to select the "wrap this product as a gift" option, and add a cost to the total price if the option is checked? I´m trying to figure it out, and the only option av
-
Bridge as a Image Tracking Solution?
I work for a Directory Publishing company and we are looking for a program that will help us track the use of images, photos, artwork, etc. used in ads. We are basically wanting to be able to look at a image file we have saved in our library of files
-
Unable to map/get Attributes with import of LDIF Object Class
Hi All, We are trying to take import of Customized Object Class and Attributes into OID through LDIF. LDIF import command is: ./ldapadd -p 3060 -h myhost -D "cn=orcladmin" -w Ac123456 -f xyzObjClass.ldif LDIF contents are: dn: cn=subSchemaSubentry ch