Skip to content

Commit 9ac7f38

Browse files
committed
mege with remote
2 parents 04cb749 + 1f00c11 commit 9ac7f38

9 files changed

Lines changed: 488 additions & 159 deletions

File tree

.github/workflows/pr-dev.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ jobs:
5353
shell: pwsh
5454

5555
- name: "Run build script"
56-
continue-on-error: true
56+
continue-on-error: false
5757
env:
5858
GH_TOKEN : ${{ secrets.GH_TOKEN }}
5959
GH_USER : ${{ secrets.GH_USER }}

src/showcase/app/ix-blazor/showcase.blazor/Pages/CognexVision/Documentation.razor

Lines changed: 174 additions & 139 deletions
Large diffs are not rendered by default.

src/showcase/app/src/ComponentsAbbRobotics/Documentation/Component_1.st

Lines changed: 113 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,31 +36,139 @@ NAMESPACE AXOpen.Components.Abb.Robotics
3636
//<Usage>
3737
VAR PUBLIC
3838
Sequencer : AxoSequencer;
39-
Steps : ARRAY[0..3] OF AXOpen.Core.AxoStep;
39+
Steps : ARRAY[0..14] OF AXOpen.Core.AxoStep;
4040
END_VAR
4141

4242
METHOD PRIVATE UseInSequencer
4343

4444
Sequencer.Run(THIS);
4545
Sequencer.Open();
4646

47-
IF(Steps[0].Execute(Sequencer, 'Start at main')) THEN
47+
IF(Steps[0].Execute(Sequencer, 'Restore')) THEN
48+
manualControl := FALSE;
49+
AxoIrc5_v_1_x_x.Config.TaskTimeout := LTIME#0S;
50+
AxoIrc5_v_1_x_x.Config.ErrorTime := LTIME#0S;
51+
AxoIrc5_v_1_x_x.Restore();
52+
Sequencer.MoveNext();
53+
END_IF;
54+
55+
IF(Steps[1].Execute(Sequencer, 'Start at main')) THEN
4856
IF(AxoIrc5_v_1_x_x.StartAtMain().IsDone()) THEN
4957
Sequencer.MoveNext();
5058
END_IF;
5159
END_IF;
5260

53-
IF(Steps[1].Execute(Sequencer, 'Move to position')) THEN
61+
IF(Steps[2].Execute(Sequencer, 'Start motors and program')) THEN
62+
IF(AxoIrc5_v_1_x_x.StartMotorsAndProgram().IsDone()) THEN
63+
Sequencer.MoveNext();
64+
END_IF;
65+
END_IF;
66+
67+
IF(Steps[3].Execute(Sequencer, 'Move to position 100')) THEN
68+
movementParams.ActionNo := BYTE#100;
69+
movementParams.GlobalSpeed := BYTE#5;
70+
movementParams.ToolNo := BYTE#10;
71+
movementParams.WorkobjectNo := BYTE#15;
72+
movementParams.PointNo := BYTE#20;
73+
movementParams.UserSpecSpeed1 := INT#25;
74+
movementParams.UserSpecSpeed2 := INT#30;
75+
movementParams.Coordinates.X := REAL#1.2;
76+
movementParams.Coordinates.Y := REAL#2.3;
77+
movementParams.Coordinates.Z := REAL#3.4;
78+
movementParams.Coordinates.Rx := REAL#4.5;
79+
movementParams.Coordinates.Ry := REAL#5.6;
80+
movementParams.Coordinates.Rz := REAL#6.7;
81+
5482
IF(AxoIrc5_v_1_x_x.StartMovements(movementParams).IsDone()) THEN
83+
AxoIrc5_v_1_x_x.StartMovementsTask.Restore();
84+
Sequencer.MoveNext();
85+
END_IF;
86+
END_IF;
87+
88+
IF(Steps[4].Execute(Sequencer, 'Move to position 1')) THEN
89+
movementParams.ActionNo := BYTE#1;
90+
91+
IF(AxoIrc5_v_1_x_x.StartMovements(movementParams).IsDone()) THEN
92+
AxoIrc5_v_1_x_x.StartMovementsTask.Restore();
5593
Sequencer.MoveNext();
5694
END_IF;
5795
END_IF;
5896

59-
IF(Steps[2].Execute(Sequencer, 'Stop')) THEN
97+
IF(Steps[5].Execute(Sequencer, 'Move to position 3')) THEN
98+
movementParams.ActionNo := BYTE#3;
99+
100+
IF(AxoIrc5_v_1_x_x.StartMovements(movementParams).IsBusy() AND Sequencer.CurrentStep.Duration >= T#500ms) THEN
101+
Sequencer.MoveNext();
102+
END_IF;
103+
END_IF;
104+
// Simulation of the entering the robotic cell during movement =>
105+
IF(Steps[6].Execute(Sequencer, 'Stop during movement')) THEN
106+
AxoIrc5_v_1_x_x.StartMovements(movementParams); // <- This line just emulates the cyclical call of the movement method
60107
IF(AxoIrc5_v_1_x_x.StopMovements().IsDone()) THEN
61-
Sequencer.CompleteSequence();
108+
Sequencer.MoveNext();
109+
END_IF;
110+
END_IF;
111+
112+
IF(Steps[7].Execute(Sequencer, '<#Unlocking and opening the robotic cell#>')) THEN
113+
//-------------------------------------------------------
114+
AxoIrc5_v_1_x_x.StartMovements(movementParams); // <- This line just emulates the cyclical call of the movement method
115+
IF (TRUE) THEN
116+
Sequencer.MoveNext();
117+
END_IF;
118+
//-------------------------------------------------------
119+
END_IF;
120+
121+
IF (Steps[8].Execute(Sequencer, '<#Closing and locking the robotic cell#>')) THEN
122+
//-------------------------------------------------------
123+
AxoIrc5_v_1_x_x.StartMovements(movementParams); // <- This line just emulates the cyclical call of the movement method
124+
IF (TRUE) THEN
125+
Sequencer.MoveNext();
126+
END_IF;
127+
//-------------------------------------------------------
128+
END_IF;
129+
// <= Simulation of the entering the robotic cell during movement
130+
131+
IF(Steps[9].Execute(Sequencer, 'Start motors and program')) THEN
132+
AxoIrc5_v_1_x_x.StartMovements(movementParams); // <- This line just emulates the cyclical call of the movement method
133+
IF(AxoIrc5_v_1_x_x.StartMotorsAndProgram().IsDone()) THEN // <- Starting motor and program after safety circuit has been interupted
134+
Sequencer.MoveNext();
135+
END_IF;
136+
END_IF;
137+
138+
IF(Steps[10].Execute(Sequencer, 'Continue to position 3')) THEN
139+
IF(AxoIrc5_v_1_x_x.StartMovementsTask.IsDone()) THEN
140+
AxoIrc5_v_1_x_x.StartMovementsTask.Restore();
141+
Sequencer.MoveNext();
142+
END_IF;
143+
END_IF;
144+
145+
IF(Steps[11].Execute(Sequencer, 'Move to position 100')) THEN
146+
movementParams.ActionNo := BYTE#100;
147+
148+
IF(AxoIrc5_v_1_x_x.StartMovements(movementParams).IsDone()) THEN
149+
AxoIrc5_v_1_x_x.StartMovementsTask.Restore();
150+
Sequencer.MoveNext();
151+
END_IF;
152+
END_IF;
153+
154+
IF(Steps[12].Execute(Sequencer, 'Move to position 1')) THEN
155+
movementParams.ActionNo := BYTE#1;
156+
157+
IF(AxoIrc5_v_1_x_x.StartMovements(movementParams).IsDone()) THEN
158+
AxoIrc5_v_1_x_x.StartMovementsTask.Restore();
159+
Sequencer.MoveNext();
160+
END_IF;
161+
END_IF;
162+
163+
IF(Steps[13].Execute(Sequencer, 'Stop movement and program')) THEN
164+
IF(AxoIrc5_v_1_x_x.StopMovementsAndProgram().IsDone()) THEN
165+
Sequencer.MoveNext();
62166
END_IF;
63167
END_IF;
168+
IF(Steps[14].Execute(Sequencer, 'Restore')) THEN
169+
AxoIrc5_v_1_x_x.Restore();
170+
Sequencer.CompleteSequence();
171+
END_IF;
64172
END_METHOD
65173

66174
//</Usage>

src/showcase/app/src/ComponentsKukaRobotics/Documentation/Component_2.st

Lines changed: 115 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,31 +38,141 @@ NAMESPACE AXOpen.Components.Kuka.Robotics
3838
//<Usage>
3939
VAR PUBLIC
4040
Sequencer : AxoSequencer;
41-
Steps : ARRAY[0..3] OF AXOpen.Core.AxoStep;
41+
Steps : ARRAY[0..14] OF AXOpen.Core.AxoStep;
4242
END_VAR
4343

4444
METHOD PRIVATE UseInSequencer
4545

4646
Sequencer.Run(THIS);
4747
Sequencer.Open();
48+
Sequencer.SequenceMode := eAxoSequenceMode#RunOnce;
4849

49-
IF(Steps[0].Execute(Sequencer, 'Start at main')) THEN
50+
IF(Steps[0].Execute(Sequencer, 'Restore')) THEN
51+
ActivateManualControl := FALSE;
52+
ExampleRobot.Config.TaskTimeout := LTIME#0S;
53+
ExampleRobot.Config.ErrorTime := LTIME#0S;
54+
ExampleRobot.Restore();
55+
Sequencer.MoveNext();
56+
END_IF;
57+
58+
IF(Steps[1].Execute(Sequencer, 'Start at main')) THEN
5059
IF(ExampleRobot.StartAtMain().IsDone()) THEN
5160
Sequencer.MoveNext();
5261
END_IF;
5362
END_IF;
5463

55-
IF(Steps[1].Execute(Sequencer, 'Move to position')) THEN
64+
IF(Steps[2].Execute(Sequencer, 'Start motors and program')) THEN
65+
IF(ExampleRobot.StartMotorsAndProgram().IsDone()) THEN
66+
Sequencer.MoveNext();
67+
END_IF;
68+
END_IF;
69+
70+
IF(Steps[3].Execute(Sequencer, 'Move to position 100')) THEN
71+
movementParams.ActionNo := BYTE#100;
72+
movementParams.GlobalSpeed := BYTE#5;
73+
movementParams.ToolNo := BYTE#10;
74+
movementParams.WorkobjectNo := BYTE#15;
75+
movementParams.PointNo := BYTE#20;
76+
movementParams.UserSpecSpeed1 := INT#25;
77+
movementParams.UserSpecSpeed2 := INT#30;
78+
movementParams.Coordinates.X := REAL#-1.2;
79+
movementParams.Coordinates.Y := REAL#2.3;
80+
movementParams.Coordinates.Z := REAL#3.4;
81+
movementParams.Coordinates.Rx := REAL#4.5;
82+
movementParams.Coordinates.Ry := REAL#5.6;
83+
movementParams.Coordinates.Rz := REAL#6.7;
84+
5685
IF(ExampleRobot.StartMovements(movementParams).IsDone()) THEN
86+
ExampleRobot.StartMovementsTask.Restore();
87+
Sequencer.MoveNext();
88+
END_IF;
89+
END_IF;
90+
91+
IF(Steps[4].Execute(Sequencer, 'Move to position 1')) THEN
92+
movementParams.ActionNo := BYTE#1;
93+
94+
IF(ExampleRobot.StartMovements(movementParams).IsDone()) THEN
95+
ExampleRobot.StartMovementsTask.Restore();
5796
Sequencer.MoveNext();
5897
END_IF;
5998
END_IF;
6099

61-
IF(Steps[1].Execute(Sequencer, 'Stop')) THEN
100+
IF(Steps[5].Execute(Sequencer, 'Move to position 3')) THEN
101+
movementParams.ActionNo := BYTE#3;
102+
103+
IF(ExampleRobot.StartMovements(movementParams).IsBusy() AND Sequencer.CurrentStep.Duration >= T#500ms) THEN
104+
Sequencer.MoveNext();
105+
END_IF;
106+
END_IF;
107+
// Simulation of the entering the robotic cell during movement =>
108+
IF(Steps[6].Execute(Sequencer, 'Stop during movement')) THEN
109+
ExampleRobot.StartMovements(movementParams); // <- This line just emulates the cyclical call of the movement method
62110
IF(ExampleRobot.StopMovements().IsDone()) THEN
63-
Sequencer.CompleteSequence();
111+
Sequencer.MoveNext();
112+
END_IF;
113+
END_IF;
114+
115+
IF(Steps[7].Execute(Sequencer, '<#Unlocking and opening the robotic cell#>')) THEN
116+
//-------------------------------------------------------
117+
ExampleRobot.StartMovements(movementParams); // <- This line just emulates the cyclical call of the movement method
118+
IF (Sequencer.CurrentStep.Duration >= T#1s) THEN // IF (TRUE) THEN
119+
Sequencer.MoveNext();
120+
END_IF;
121+
//-------------------------------------------------------
122+
END_IF;
123+
124+
IF (Steps[8].Execute(Sequencer, '<#Closing and locking the robotic cell#>')) THEN
125+
//-------------------------------------------------------
126+
ExampleRobot.StartMovements(movementParams); // <- This line just emulates the cyclical call of the movement method
127+
IF (Sequencer.CurrentStep.Duration >= T#1s) THEN // IF (TRUE) THEN
128+
Sequencer.MoveNext();
129+
END_IF;
130+
//-------------------------------------------------------
131+
END_IF;
132+
// <= Simulation of the entering the robotic cell during movement
133+
134+
IF(Steps[9].Execute(Sequencer, 'Start motors and program')) THEN
135+
ExampleRobot.StartMovements(movementParams); // <- This line just emulates the cyclical call of the movement method
136+
IF(ExampleRobot.StartMotorsAndProgram().IsDone() AND Sequencer.CurrentStep.Duration >= T#1s) THEN //IF(ExampleRobot.StartMotorsAndProgram().IsDone()) THEN // <- Starting motor and program after safety circuit has been interupted
137+
Sequencer.MoveNext();
138+
END_IF;
139+
END_IF;
140+
141+
IF(Steps[10].Execute(Sequencer, 'Continue to position 3')) THEN
142+
ExampleRobot.StartMovements(movementParams); // <- This line just emulates the cyclical call of the movement method
143+
IF(ExampleRobot.StartMovementsTask.IsDone()) THEN
144+
ExampleRobot.StartMovementsTask.Restore();
145+
Sequencer.MoveNext();
146+
END_IF;
147+
END_IF;
148+
149+
IF(Steps[11].Execute(Sequencer, 'Move to position 100')) THEN
150+
movementParams.ActionNo := BYTE#100;
151+
152+
IF(ExampleRobot.StartMovements(movementParams).IsDone()) THEN
153+
ExampleRobot.StartMovementsTask.Restore();
154+
Sequencer.MoveNext();
155+
END_IF;
156+
END_IF;
157+
158+
IF(Steps[12].Execute(Sequencer, 'Move to position 1')) THEN
159+
movementParams.ActionNo := BYTE#1;
160+
161+
IF(ExampleRobot.StartMovements(movementParams).IsDone()) THEN
162+
ExampleRobot.StartMovementsTask.Restore();
163+
Sequencer.MoveNext();
164+
END_IF;
165+
END_IF;
166+
167+
IF(Steps[13].Execute(Sequencer, 'Stop movement and program')) THEN
168+
IF(ExampleRobot.StopMovementsAndProgram().IsDone()) THEN
169+
Sequencer.MoveNext();
64170
END_IF;
65171
END_IF;
172+
IF(Steps[14].Execute(Sequencer, 'Restore')) THEN
173+
ExampleRobot.Restore();
174+
Sequencer.CompleteSequence();
175+
END_IF;
66176
END_METHOD
67177

68178
//</Usage>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"folders": [
3+
{
4+
"path": "app"
5+
}
6+
],
7+
"settings": {}
8+
}

src/showcase/showcase.sln

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Microsoft Visual Studio Solution File, Format Version 12.00
1+
Microsoft Visual Studio Solution File, Format Version 12.00
22
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "showcase.solution", "showcase.solution.proj", "{C768FAAD-5770-4942-BA87-3DACC2B3E227}"
33
EndProject
44
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "inxton_axopen_abstractions", "..\abstractions\src\AXOpen.Abstractions\inxton_axopen_abstractions.csproj", "{7FE122C0-B464-4764-B7BE-45F4CF4FEE8F}"

src/simatic1500/ctrl/assets/siemens_s7_1500/6ES7518-3AT10-0AB0_v4_0.hwl.yml

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,23 @@ Templates:
1919
Value: 'admin'
2020
- Name: CYCLE_COMMUNICATION_LOAD
2121
Value: 20
22+
- Name: TimeSynchronizationNtpV2
23+
Value: 'SetServersInProject'
24+
AllowedValues:
25+
- 'Disabled'
26+
- 'SetServersAtDevice'
27+
- 'SetServersInProject'
28+
- 'SetServersRemotely'
29+
- Name: TimeSynchronizationServer1
30+
Optional: TRUE
31+
- Name: TimeSynchronizationServer2
32+
Optional: TRUE
33+
- Name: TimeSynchronizationServer3
34+
Optional: TRUE
35+
- Name: TimeSynchronizationServer4
36+
Optional: TRUE
37+
- Name: TimeSynchronizationUpdateInterval
38+
Optional: TRUE
2239
Content:
2340
Name: '${NAME}'
2441
TypeIdentifier:
@@ -219,11 +236,11 @@ Templates:
219236
TimeOfDayStandardTimeStartWeek: 'Last'
220237
# Possible values: 1 - Sunday | 2 - Monday | 3 - Tuesday | 4 - Wednesday | 5 - Thursday | 6 - Friday | 7 - Saturday
221238
TimeOfDayStandardTimeStartWeekday: 'Sunday'
222-
# TimeSynchronizationServer1 (String)
223-
# TimeSynchronizationServer2 (String)
224-
# TimeSynchronizationServer3 (String)
225-
# TimeSynchronizationServer4 (String)
226-
# TimeSynchronizationUpdateInterval (Integer)
239+
TimeSynchronizationServer1: ${TimeSynchronizationServer1}
240+
TimeSynchronizationServer2: ${TimeSynchronizationServer2}
241+
TimeSynchronizationServer3: ${TimeSynchronizationServer3}
242+
TimeSynchronizationServer4: ${TimeSynchronizationServer4}
243+
TimeSynchronizationUpdateInterval: ${TimeSynchronizationUpdateInterval}
227244
CentralAlarmManagement: True
228245
# Possible values: 0 - NoLicense | 1 - SimaticOpcUaS71500Small | 2 - SimaticOpcUaS71500Medium | 3 - SimaticOpcUaS71500Large
229246
OpcUaPurchasedLicense: 'NoLicense'
@@ -232,7 +249,7 @@ Templates:
232249
IPv4ForwardingActive: False
233250
# MacRtLicensePurchased (Integer)
234251
# Possible values: 0 - Disabled | 1 - SetServersAtDevice | 2 - SetServersInProject | 3 - SetServersRemotely
235-
TimeSynchronizationNtpV2: 'Disabled'
252+
TimeSynchronizationNtpV2: ${TimeSynchronizationNtpV2}
236253
# DomainConfiguration (Integer)
237254
HostAndDomainnameActive: False
238255
# Hostname (String)

src/styling/src/wwwroot/css/momentum.css

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)