VAL3 Version s6.x - VAL3 XML Format
VAL3 Version s6.x - VAL3 XML Format
VAL3 Version s6.x - VAL3 XML Format
FAVERGES
01.07.2004
Contents
1. Document Purpose............................................................................................................................. 1
2. VAL3 Architecture .............................................................................................................................. 1
3. fileS specification................................................................................................................................ 2
3.1.
Project file.................................................................................................................................. 2
3.1.1.
Example............................................................................................................................ 3
3.2.
Data file ..................................................................................................................................... 3
3.2.1.
aio type ............................................................................................................................. 4
3.2.2.
bool type ........................................................................................................................... 4
3.2.3.
config for Scara (Rs) ......................................................................................................... 4
3.2.4.
config for Anthropomorphic Arm (Rx/Tx)........................................................................... 5
3.2.5.
Special config.................................................................................................................... 5
3.2.6.
dio type ............................................................................................................................. 6
3.2.7.
frame type......................................................................................................................... 6
3.2.8.
joint type for Scara Arm (Rs)............................................................................................. 7
3.2.9.
joint type for anthropomorphic Arm (Rx/Tx) ...................................................................... 7
3.2.10. Special Joint...................................................................................................................... 8
3.2.11. mdesc type........................................................................................................................ 8
3.2.12. num type ........................................................................................................................... 9
3.2.13. Point for Scara arm (Rs) ................................................................................................... 9
3.2.14. Point for anthropomorphic arm (Rx/Tx)........................................................................... 10
3.2.15. Special Point................................................................................................................... 11
3.2.16. sio type ........................................................................................................................... 11
3.2.17. string type ....................................................................................................................... 11
3.2.18. tool type .......................................................................................................................... 11
3.2.19. trsf type ........................................................................................................................... 12
3.2.20. Example of file ................................................................................................................ 13
3.3.
Program file ............................................................................................................................. 14
3.3.1.
Example:......................................................................................................................... 14
1.
DOCUMENT PURPOSE
This paper presents the XML specification for the VAL3 up to s5.2 version.
Each VAL3 file (project, data and program) is saved in an XML format
2. VAL3 ARCHITECTURE
A VAL3 project is organized with 3 kinds of file. The project file that contents the project parameters and
the list of all the files (data and program) concerning by the project. All the files must be in the same
directory and the directory must have the same name of the project file name.
1/15
STUBLI FAVERGES
Place Robert Stubli - BP 70
74210 FAVERGES FRANCE
Tl 33 (0)4 50 65 60 60- Fax 33(0)4 50 65 60 70
www.staubli.com - ISO 9001
01.07.2004
usrapp
dummy
dummy.pjx
dummy.dtx
start.pgx
stop.pgx
3. FILES SPECIFICATION
All the files are stored in XML.
The encoding code is iso-8859-1 for version VAL3 before s6.* and utf-8 for VAL3 version s6.* and
after.
Example:
<?xml version="1.0" encoding="utf-8" ?>
The data section contains the data file and the tag is dataSection
The data file is declared with the tag data and the attribute file for the name of the file.
CAUTION: Only one data file is supported.
2/15
01.07.2004
The libraries section contains the libraries and the tag is aliasSection
The library is declared with the tag alias and its attributes;
1. The name for the name of the alias.
2. The interface for the path of the library.
3. The autoload that is true if library must be loaded with the project.
4. The password that specifies password for encrypted library. (optional attribute)
Example:
<alias name="io" interface="io" autoload="true" password="" />
3.1.1. Example
<?xml version="1.0" encoding="utf-8" ?>
<project xmlns="ProjectNameSpace" >
<parameters version="~VAL3:v4.0" stackSize="5000" millimeterUnit="true" />
<programSection>
<program file="start.pgx" />
<program file="stop.pgx" />
</programSection>
<dataSection>
<data file="main.dtx" />
</dataSection>
<aliasSection>
<alias name="io" interface="io" autoload="true" />
<alias name="lib" interface="lib1" autoload="true" />
</aliasSection>
</project>
The visibility of a data is public for data that can be accessed by other project or private for data that is
reserved for the owner project. The attribute name is public
3/15
01.07.2004
Each value of the data is stored inside the data element with special tag for each type (see below). In
each value element an index attribute specify the row of the element in the array. This index is a zero
based index. Its forbidden to have two values with the same index value in the same data.
The size of a data (array or not) is determined by the number of values. If it has more than one value, its
an array.
CAUTION: Except for the type aio, dio and sio a data must contain at least one value.
3.2.1. aio type
The tag for all aio data is aioSection. The tag for an aio data is aio.
An aio has no value. So a special attribute size permits to specify an array (greater than 1) or simple
data.
The size must be greater than 0.
<aioSection>
<aio size="1" name="aAio1" public="false" />
<aio size="3" name="aAioArray" public="false" />
</aioSection>
4/15
01.07.2004
<configRsSection>
<configRs name="cConfigRs1" public="false">
<valueConfigRs index="0">
<configRsValue shoulder="ssame" />
</valueConfigRs>
</configRs>
<configRs name="cConfigRs2" public="false">
<valueConfigRs index="0">
<configRsValue shoulder="ssame" />
</valueConfigRs>
<valueConfigRs index="1">
<configRsValue shoulder="sfree" />
</valueConfigRs>
</configRs>
</configRsSection>
5/15
01.07.2004
<configVrbSection />
6/15
01.07.2004
7/15
01.07.2004
vel
decel
tmax
rmax
Maximum permitted rotational speed of the tool centre point, in degrees per
second
blend
leave
In joint blend mode, distance between the target point at which blending starts
and the next point, in mm or inches, depending on the unit of length of the
application
reach
In joint blend mode, distance between the target point at which blending stops
and the next point, in mm or inches, depending on the unit of length of the
application
8/15
01.07.2004
<mdescSection>
<mdesc name=" mMdesc1" public="true" >
<valueMdesc index="0">
<mdescValue
accel="100" vel="100" decel="100"
tmax="99999" rmax="9999"
blend="off" leave="51" reach="50" />
</valueMdesc>
</mdesc>
<mdesc name=" mMdescArray" public="true" >
<valueMdesc index="0">
<mdescValue
accel="100" vel="100" decel="100"
tmax="99999" rmax="9999"
blend="off" leave="51" reach="50" />
</valueMdesc>
<valueMdesc index="2">
<mdescValue
accel="10" vel="1 decel="10"
tmax="99999" rmax="9999"
blend="off" leave="51" reach="50" />
</valueMdesc>
</mdesc>
</mdescSection>
01.07.2004
tpRsValue
<pointRsSection>
<pointRs name="pPointRs1" public="false">
<pRsFather alias="" name="fFrame2" fatherIndex="0" />
<valuePointRs index="0">
<tpRsValue x="0" y="0" z="0" rx="0" ry="0" rz="0" />
<cpRsValue shoulder="ssame" />
</valuePointRs>
</pointRs>
<pointRs name="pPointRs2" public="false">
<pRsFather alias="" name="World" " fatherIndex="0" />
<valuePointRs index="0">
<tpRsValue x="0" y="0" z="0" rx="0" ry="0" rz="0" />
<cpRsValue shoulder="sfree" />
</valuePointRs>
<valuePointRs index="1">
<tpRsValue x="0" y="0" z="0" rx="0" ry="0" rz="0" />
<cpRsValue shoulder="ssame" />
</valuePointRs>
</pointRs>
</pointRsSection>
10/15
01.07.2004
<valuePoint index="0">
<tpValue x="0" y="0" z="0" rx="0" ry="0" rz="0" />
<cpValue shoulder="sfree" elbow="efree" wrist="wfree" />
</valuePoint>
<valuePoint index="1">
<tpValue x="0" y="0" z="0" rx="0" ry="0" rz="0" />
<cpValue shoulder="sfree" elbow="efree" wrist="wfree" />
</valuePoint>
<valuePoint index="2">
<tpValue x="0" y="0" z="0" rx="0" ry="0" rz="0" />
<cpValue shoulder="sfree" elbow="efree" wrist="wfree" />
</valuePoint>
</point>
</pointSection>
01.07.2004
The tool father is stored in a sub element tagged tFather with three attributes:
- alias
alias of the library where the frame father is. Empty if in the same project
- name
name of the father frame.
- fatherIndex zero based index of the value if the father is an array. zero if not an array
The tag for the value of a tool data is valueTool. The content of the value is two sub elements
ttValue trsf value of the point (see trsfValue)
io
element for the i/o definition it contains 5 attributes:
alias must be io
name name of the io
ioIndex index of the io if in an array
open open stabilization time
close closing stabilization time
A special tool named flange is the root of the frame hierarchy and so has no father. The attribute name
of the tFather element must be empty.
<toolSection>
<tool name="flange" public="false" privilege="0">
<tFather alias="" name="" fatherIndex="0" />
<valueTool index="0">
<ttValue x="0" y="0" z="0" rx="0" ry="0" rz="0" />
<io alias="io" name="valve1" ioIndex="0" open="0" close="0" />
</valueTool>
</tool>
<tool name="tlTool1" public="false">
<tFather alias="" name="flange" fatherIndex="0" />
<valueTool index="0">
<ttValue x="1" y="0" z="0" rx="0" ry="0" rz="0" />
<io alias="io" name="valve1" ioIndex="0" open="0" close="0" />
</valueTool>
<valueTool index="1">
<ttValue x="1" y="0" z="0" rx="0" ry="0" rz="0" />
<io alias="io" name="valve1" ioIndex="0" open="0" close="0" />
</valueTool>
</tool>
</toolSection>
12/15
01.07.2004
<trsfSection>
<trsf name="trTrsf1" public="false">
<valueTrsf index="0">
<trsfValue x="0" y="0" z="0" rx="0" ry="0" rz="0" />
</valueTrsf>
</trsf>
<trsf name="trTrsfArray" public="false">
<valueTrsf index="0">
<trsfValue x="0" y="0" z="0" rx="0" ry="0" rz="0" />
</valueTrsf>
<valueTrsf index="1">
<trsfValue x="0" y="0" z="0" rx="0" ry="0" rz="0" />
</valueTrsf>
</trsf>
</trsfSection>
13/15
01.07.2004
14/15
01.07.2004
<programList xmlns="ProgramNameSpace">
<program name="new1" public="false">
<description />
<paramSection>
<param name="param1" type="bool" byVal="true" />
<param name="param2" type="num" byVal="true" />
</paramSection>
<localSection>
<local name="local1" type="string" size="1" />
</localSection>
<source>
<code>
begin
putln("example de code")
end
</code>
</source>
</program>
</programList>
15/15