-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathMainModule.mod
150 lines (132 loc) · 3.04 KB
/
MainModule.mod
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
MODULE MainModule
!
! Released under MIT License
!
! David Pollard
! Bristol Robotics Laboratory
!
! Original author
! Michael Dawson-Haggerty
!
!
!
!
! Main process... Calls ServerMain
PROC main()
! Set enable signal
ChangeExtruderState(1);
! Start server
ServerMain;
ENDPROC
!
!
! Resets all signals to low
PROC ResetAllSignals()
SetDO DO10_1, 0;
SetDO DO10_2, 0;
SetDO DO10_3, 0;
SetDO DO10_4, 0;
SetDO DO10_5, 0;
SetDO DO10_6, 0;
SetDO DO10_7, 0;
SetDO DO10_8, 0;
SetDO DO10_9, 0;
SetDO DO10_10, 0;
SetDO DO10_11, 0;
SetDO DO10_12, 0;
TPWrite "Signals reset";
ENDPROC
!
!
! Rehomes robot
PROC MoveToZeroPos()
VAR jointtarget HomePose;
VAR robtarget pTemp;
ActUnit STN1;
pTemp := CRobT();
pTemp.extax.eax_b := 0;
pTemp.extax.eax_c := 0;
HomePose := [[0,0,0,0,0,0], pTemp.extax];
ResetAllSignals;
MoveAbsJ HomePose, v200, fine, tool0;
DeactUnit STN1;
EXIT;
ENDPROC
!
!
! Test group output signal
PROC CountUp()
SetDO DO10_1, 1;
SetDO DO10_2, 1;
FOR reg1 FROM 0 TO 255 DO
TPWrite "val: ", \Num:=reg1;
SetGO GO_Signal, reg1;
WaitTime 0.25;
ENDFOR
ENDPROC
!
!
! Test digital output signals
PROC TestDO()
TPWrite "DO10_1";
SetDO DO10_1, 1;
WaitTime 2;
SetDO DO10_1, 0;
WaitTime 2;
TPWrite "DO10_2";
SetDO DO10_2, 1;
WaitTime 2;
SetDO DO10_2, 0;
WaitTime 2;
TPWrite "DO10_3";
!SetDO DO10_3, 1;
WaitTime 2;
! SetDO DO10_3, 0;
WaitTime 2;
TPWrite "DO10_4";
!SetDO DO10_4, 1;
WaitTime 2;
!SetDO DO10_4, 0;
WaitTime 2;
TPWrite "DO10_5";
SetDO DO10_5, 1;
WaitTime 2;
SetDO DO10_5, 0;
WaitTime 2;
TPWrite "DO10_6";
SetDO DO10_6, 1;
WaitTime 2;
SetDO DO10_6, 0;
WaitTime 2;
TPWrite "DO10_7";
SetDO DO10_7, 1;
WaitTime 2;
SetDO DO10_7, 0;
WaitTime 2;
TPWrite "DO10_8";
SetDO DO10_8, 1;
WaitTime 2;
SetDO DO10_8, 0;
WaitTime 2;
TPWrite "DO10_9";
SetDO DO10_9, 1;
WaitTime 2;
SetDO DO10_9, 0;
WaitTime 2;
TPWrite "DO10_10";
SetDO DO10_10, 1;
WaitTime 2;
SetDO DO10_10, 0;
WaitTime 2;
TPWrite "DO10_11";
SetDO DO10_11, 1;
WaitTime 2;
SetDO DO10_11, 0;
WaitTime 2;
TPWrite "DO10_12";
SetDO DO10_12, 1;
WaitTime 2;
SetDO DO10_12, 0;
WaitTime 10;
ENDPROC
ENDMODULE