DDCSV macro description - DDCSV2.1 - Standalone CNC Motion Controller - Digital Dream Technology support
12Next
Return to List Add thread
View: 30087|Reply: 29
Print Previous Topic Next Topic

DDCSV macro description

[Copy Link]

8

Threads

333

Posts

1040

Credits

Super Moderator

Rank: 8Rank: 8

Credits
1040
Jump to the specified floor
Landlord
Posted at 2018-2-24 20:14:21 | All floors |Only larger image Replies reward |Descending browser |Read mode
Last edited by ytliu In 2018-2-24 21:01 Editor

DDCSV system supports macros. Macros support loops, conditional control languages, and common maths function calls.

For user processing files whose size is less than 100K or whose initial character name is sys, the system automatically scans the program structure before processing or emulation so as to implement the loop and branch statement support.

Note: The main program number of macro processing program defaults to 0.

Example:
Processing file: sysuser1.nc
O0000 (main entrance)
...
M98P0001L3 (call subroutine No.1 three times)
...
M30

O0001
...
M99

Reply

Use props Report

8

Threads

333

Posts

1040

Credits

Super Moderator

Rank: 8Rank: 8

Credits
1040
Sofa
 Author| Posted at 2018-2-24 20:15:00 | All floors
DDCSV macro variable Description:

#0- #49 for each subroutine internal private variables;
#50- #499 is the system internal variable area 1;
#500- #999 is the system parameter area;
#1000- #1999 is the system internal variable area 2;

The chs or eng file defines the system parameters that the user needs to configure, for example:

#1 -t2 -s1 "language setting" -m16 -min = 0.000 -max = 1.000 -i0 "Eng" -i1 "Chinese"

#n n is the parameter number (0-499), n + 500 is the macro variable number of this parameter;
-t is used to specify the type of parameter, t0 is an integer, t1 is a real number, and t2 is a selection type.
-s1 defines the name of the parameter;
-s2 defines the parameter unit;
-m parameter group, m0 that the parameters in the parameter configuration page does not show;
-min minimum parameter
-max maximum parameter
-i The text of the relevant entry is configured through it when the parameter type is selection type;
Reply Support 2 Opposition 0

Use props Report

8

Threads

333

Posts

1040

Credits

Super Moderator

Rank: 8Rank: 8

Credits
1040
Bench
 Author| Posted at 2018-2-24 20:15:30 | All floors
Last edited by ytliu In 2018-2-24 21:02 Editor

DDCSV Coordinate System Description:

The coordinate systems in DDCSV system include machine coordinate system, G53 coordinate system and G54-G59 coordinate system.

The machine coordinate system is established by home operation or zero under MACH. Read # 864- # 867 (X, Y, Z, A) to find the position of the tool in the machine coordinate system.

G53 is based on the machine coordinate system. # 800- # 803 (X, Y, Z, A) describes the distance from the origin of the G53 coordinate system to the origin of the machine coordinate system. Adjusting these parameters can reconstruct the G53 coordinate system. Read # 868- # 871 (X, Y, Z, A) to find the position of the tool in the G53 coordinate system.

The G54-G59 coordinate system is based on the G53 coordinate system. # 804- # 807 (G54 X, Y, Z, A), # 808- # 811 (G55 X, Y, Z, A), # 812- # 815 (G58 X, Y, Z, A), # 816- # 819 (G57 X, Y, Z, A), # 820- # 823 G54 X, Y, Z, A) respectively describe the distance from the origin of G54-G59 coordinate system to the origin of G53 coordinate system, and adjust these parameters to reconstruct the G54-G59

coordinate system; Read #840-#843(G54 X、Y、Z、A)、#844-#847(G55 X、Y、Z、A)、#848-#851(G56 X、Y、Z、A)、#852-#855(G57 X、Y、Z、A)、#856-#859(G58 X、Y、Z、A)、#860-#863(G59 X、Y、Z、A)to find the position of the tool in the G54-G59 coordinate system.

#516 describes the system currently working coordinate system, 0 corresponds to the G53 coordinate system, 1-6 corresponds to the G54-G59 coordinate system, 7 corresponds to the machine coordinate system.
Reply Support Opposition

Use props Report

8

Threads

333

Posts

1040

Credits

Super Moderator

Rank: 8Rank: 8

Credits
1040
Floor
 Author| Posted at 2018-2-26 11:15:07 | All floors
Will_D Posted at 2018-2-25 22:06
Many thanks for this information. It is very useful.

One question though

version 1.1 and version 2.1 is same in macro.

My English is poor. I did not understand the last sentence.Please explain further.
Reply Support Opposition

Use props Report

8

Threads

333

Posts

1040

Credits

Super Moderator

Rank: 8Rank: 8

Credits
1040
5#
 Author| Posted at 2018-2-26 21:46:16 | All floors
Last edited by ytliu In 2018-2-26 21:48 Editor

Hi JPoepsel!
102 subprogram is used to play back the track of the tool. Before using the 102 subroutine, the track must be recorded, the attachment is an example related to it.

track.rar

420 Bytes, Down times: 1386

Reply Support 0 Opposition 1

Use props Report

8

Threads

333

Posts

1040

Credits

Super Moderator

Rank: 8Rank: 8

Credits
1040
6#
 Author| Posted at 2018-3-2 07:36:52 | All floors
Will_D Posted at 2018-3-2 07:09
Few of us have rar. Please use .zip format

Hi!
Sorry, I will use .zip format later

track.zip

565 Bytes, Down times: 1913

Reply Support 1 Opposition 0

Use props Report

8

Threads

333

Posts

1040

Credits

Super Moderator

Rank: 8Rank: 8

Credits
1040
7#
 Author| Posted at 2018-3-2 07:38:39 | All floors
Hi Lukasz!
DDCSV through RS232 protocol bus IO expansion, the current version does not support communication with the serial MPG.

Output data packet 7 bytes, including three parts:
1. Data packet header 2 bytes "0x90 0xeb"
2. Output IO word 4 bytes, 0 bit -31 bit are mapped to # 1032- # 1063 macro variables
3. the checksum, XOR result of the first 6 bytes

Input data packet 7 bytes, including three parts:
1. Data packet header 2 bytes "0x90 0xeb"
2. Input IO words 4 bytes, 0 bit -31 bit are mapped to # 1000- # 1031 macro variables
3. the checksum, XOR result of the first 6 bytes

Bus output IO signal Instructions for use:
Change the IO status by assigning the relevant macro IO bus output
Example:
# 1032 = 1; set bus IO channel 0 to logic '1'

Bus input IO signal instructions:
M100 bus input IO instruction
#1100 Bus input IO channel number
#1101 Bus input IO expectations value
#1102 waiting time (ms),if <= 0, infinite waiting for the signal to reach the desired value; if> 0,   if the signal does not reach the expected value within the specified time,paused.

Example:
(If channel 2 is logic '1', subsequent codes are executed; otherwise, pauses after 1s.)
# 1100 = 2
# 1101 = 1
# 1102 = 1000
M100
...
Reply Support Opposition

Use props Report

8

Threads

333

Posts

1040

Credits

Super Moderator

Rank: 8Rank: 8

Credits
1040
8#
 Author| Posted at 2018-10-22 20:34:28 | All floors
Last edited by ytliu In 2018-10-22 20:42 Editor

Hi JPoepsel.
the "serial port" is the one feed out on the MPG conector.

Sorry, I am still on a business trip, and I will sort out the relevant information when I go back.

Reply Support Opposition

Use props Report

8

Threads

333

Posts

1040

Credits

Super Moderator

Rank: 8Rank: 8

Credits
1040
9#
 Author| Posted at 2018-10-28 09:31:33 | All floors
You need to design an IO expansion board similar to the one below and write the expansion board program according to the serial protocol described earlier. Then install the files in the attachment to the controller.


The attachment is an extended M command installation package.
M200: set bus outport channel 0 to logic '1'
M201: set bus outport channel 0 to logic '0'
M202: set bus outport channel 1 to logic '1'
M203: set bus outport channel 1 to logic '0'
...
...
M222: set bus outport channel 11 to logic '1'
M223: set bus outport channel 11 to logic '0'

M300-M315 corresponds to the level detection of 0-7 bus inport channel, no corresponding level will keep waiting.

IO扩展板.png (748.42 KB, Down times: 455)

IO扩展板.png

install.zip

10.25 KB, Down times: 541

Reply Support Opposition

Use props Report

8

Threads

333

Posts

1040

Credits

Super Moderator

Rank: 8Rank: 8

Credits
1040
10#
 Author| Posted at 2018-10-28 09:58:26 | All floors
Last edited by ytliu In 2018-10-28 10:26 Editor

When #108(M Bus IO command response) is set to 1 (yes), DDCSV periodically generates an output IO instruction packet according to the #1032-#1063 macro variable and sends it. In addition, DDCSV will periodically receive the bus input IO instruction packet and update the #1000-#1031 macro variable according to it. The #1000-#1031 update is real-time, which means that as soon as the bus input IO packet is received, #1000-#1031 will be updated.
Reply Support Opposition

Use props Report

You need to log in before you can reply Login | Register now

This forum Credits Rules

Shenzhen Digital Dream Numerical Technology Co., Ltd. support
Adress:507,A Building,Leibo Industry Zone,No. 22 Jinxiu East Road,Kengzi Street,Pingshan district,Shenzhen City,P.R. of China
Phone:13244704799
E-mail:info@ddcnc.com

TEL

0755-87654321

Wchat

Website designed by DigitalDream Technology Support
Quick Reply Back to top Back to list