Skip to content

Commit

Permalink
Merge pull request #346 from ix-ax/components
Browse files Browse the repository at this point in the history
Components
  • Loading branch information
PTKu authored Feb 20, 2024
2 parents abd13a2 + 6b2bd93 commit 7d9f8b9
Show file tree
Hide file tree
Showing 202 changed files with 13,226 additions and 106 deletions.
2 changes: 2 additions & 0 deletions cake/BuildContext.cs
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,8 @@ public BuildContext(ICakeContext context, BuildParameters buildParameters)
("components.abb.robotics", "axopen.components.abb.robotics", true),
("components.mitsubishi.robotics", "axopen.components.mitsubishi.robotics", true),
("components.ur.robotics", "axopen.components.ur.robotics", true),
("components.kuka.robotics", "axopen.components.kuka.robotics", true),
("components.siemens.identification", "axopen.components.siemens.identification", true),
("integrations", "ix.integrations", false),
("templates.simple", "templates.simple", false),
("template.axolibrary", "template.axolibrary", false)
Expand Down
5 changes: 2 additions & 3 deletions src/components.abb.robotics/ctrl/src/AxoIrc5_v_1_x_x.st
Original file line number Diff line number Diff line change
Expand Up @@ -1082,12 +1082,11 @@ NAMESPACE AXOpen.Components.Abb.Robotics

IF Outputs.ActionNo = Inputs.ActionNo THEN
_progress := 663;
StartMovementsTask.DoneWhen(TRUE);
END_IF;
END_IF;

IF _progress = 663 THEN
_progress := 663;
_progress := 0;
StartMovementsTask.DoneWhen(TRUE);
END_IF;
THIS.CallTimers(TRUE);
Expand Down Expand Up @@ -1239,7 +1238,7 @@ NAMESPACE AXOpen.Components.Abb.Robotics
END_IF;
END_IF;

IF _progress = 381 THEN
IF _progress = 382 THEN
StopMotorsTask.DoneWhen(TRUE);
THIS.CallTimers(FALSE);
_progress := 0;
Expand Down
5 changes: 2 additions & 3 deletions src/components.abb.robotics/ctrl/src/AxoOmnicore_v_1_x_x.st
Original file line number Diff line number Diff line change
Expand Up @@ -1082,12 +1082,11 @@ NAMESPACE AXOpen.Components.Abb.Robotics

IF Outputs.ActionNo = Inputs.ActionNo THEN
_progress := 663;
StartMovementsTask.DoneWhen(TRUE);
END_IF;
END_IF;

IF _progress = 663 THEN
_progress := 663;
_progress := 0;
StartMovementsTask.DoneWhen(TRUE);
END_IF;
THIS.CallTimers(TRUE);
Expand Down Expand Up @@ -1239,7 +1238,7 @@ NAMESPACE AXOpen.Components.Abb.Robotics
END_IF;
END_IF;

IF _progress = 381 THEN
IF _progress = 382 THEN
StopMotorsTask.DoneWhen(TRUE);
THIS.CallTimers(FALSE);
_progress := 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -133,45 +133,30 @@ public string ErrorDescription



errorDescriptionDict.Add(700, "Error: Parent has NULL reference!");
errorDescriptionDict.Add(701, "Error: AcquisitionControl has NULL reference!");
errorDescriptionDict.Add(702, "Error: AcquisitionStatus has NULL reference!");
errorDescriptionDict.Add(703, "Error: ResultsControl has NULL reference!");
errorDescriptionDict.Add(704, "Error: ResultsStatus has NULL reference!");
errorDescriptionDict.Add(705, "Error: SoftEventControl has NULL reference!");
errorDescriptionDict.Add(706, "Error: SoftEventStatus has NULL reference!");
errorDescriptionDict.Add(707, "Error: ResultData has NULL reference!");
errorDescriptionDict.Add(708, "Error: UserData has NULL reference!");
errorDescriptionDict.Add(709, "Error: ResultData has invalid size!");
errorDescriptionDict.Add(710, "Error: ResultData-lower bound index is not zero!");
errorDescriptionDict.Add(711, "Error: UserData has invalid size!");
errorDescriptionDict.Add(712, "Error: UserData-lower bound index is not zero!");
errorDescriptionDict.Add(713, "Error: The ResultData length exceeds the configured hardware structure's length!");

// errorDescriptionDict.Add(700, "Parent has NULL reference in the Run method!");
// errorDescriptionDict.Add(701, "hwIdAcquisitionControl has invalid value in the Run method!");
// errorDescriptionDict.Add(702, "hwIdAcquisitionStatus has invalid value in the Run method!");
// errorDescriptionDict.Add(703, "hwIdResultsControl has invalid value in the Run method!");
// errorDescriptionDict.Add(704, "hwIdResultsStatus has invalid value in the Run method!");
// errorDescriptionDict.Add(705, "hwIdSoftEventControl has invalid value in the Run method!");
// errorDescriptionDict.Add(706, "hwIdResultData has invalid value in the Run method!");
// errorDescriptionDict.Add(707, "hwIdUserData has invalid value in the Run method!");

// errorDescriptionDict.Add(708, "Error reading the AcquisitionStatus in the UpdateInputs method!");
// errorDescriptionDict.Add(709, "Error reading the ResultsStatus in the UpdateInputs method!");
// errorDescriptionDict.Add(710, "Error reading the SoftEventControl in the UpdateInputs method!");
// errorDescriptionDict.Add(711, "Error reading the ResultData in the UpdateInputs method!");
// errorDescriptionDict.Add(712, "ResultData has invalid size!");

// errorDescriptionDict.Add(713, "Error writing the AcquisitionControl in the UpdateOutputs method!");
// errorDescriptionDict.Add(714, "Error writing the ResultsControl in the UpdateOutputs method!");
// errorDescriptionDict.Add(715, "Error writing the SoftEventControl in the UpdateOutputs method!");
// errorDescriptionDict.Add(716, "UserData has invalid size!");
// errorDescriptionDict.Add(717, "Error writing the 16bytes of the UserData in the UpdateOutputs method!");
// errorDescriptionDict.Add(718, "Error writing the 32bytes of the UserData in the UpdateOutputs method!");
// errorDescriptionDict.Add(719, "Error writing the 64bytes of the UserData in the UpdateOutputs method!");
// errorDescriptionDict.Add(720, "Error writing the 1286bytes of the UserData in the UpdateOutputs method!");
// errorDescriptionDict.Add(721, "Error writing the 250bytes of the UserData in the UpdateOutputs method!");
errorDescriptionDict.Add(700, "Parent has NULL reference in the Run method!");
errorDescriptionDict.Add(701, "hwIdAcquisitionControl has invalid value in the Run method!");
errorDescriptionDict.Add(702, "hwIdAcquisitionStatus has invalid value in the Run method!");
errorDescriptionDict.Add(703, "hwIdResultsControl has invalid value in the Run method!");
errorDescriptionDict.Add(704, "hwIdResultsStatus has invalid value in the Run method!");
errorDescriptionDict.Add(705, "hwIdSoftEventControl has invalid value in the Run method!");
errorDescriptionDict.Add(706, "hwIdResultData has invalid value in the Run method!");
errorDescriptionDict.Add(707, "hwIdUserData has invalid value in the Run method!");

errorDescriptionDict.Add(708, "Error reading the AcquisitionStatus in the UpdateInputs method!");
errorDescriptionDict.Add(709, "Error reading the ResultsStatus in the UpdateInputs method!");
errorDescriptionDict.Add(710, "Error reading the SoftEventControl in the UpdateInputs method!");
errorDescriptionDict.Add(711, "Error reading the ResultData in the UpdateInputs method!");
errorDescriptionDict.Add(712, "ResultData has invalid size!");

errorDescriptionDict.Add(713, "Error writing the AcquisitionControl in the UpdateOutputs method!");
errorDescriptionDict.Add(714, "Error writing the ResultsControl in the UpdateOutputs method!");
errorDescriptionDict.Add(715, "Error writing the SoftEventControl in the UpdateOutputs method!");
errorDescriptionDict.Add(716, "UserData has invalid size!");
errorDescriptionDict.Add(717, "Error writing the 16bytes of the UserData in the UpdateOutputs method!");
errorDescriptionDict.Add(718, "Error writing the 32bytes of the UserData in the UpdateOutputs method!");
errorDescriptionDict.Add(719, "Error writing the 64bytes of the UserData in the UpdateOutputs method!");
errorDescriptionDict.Add(720, "Error writing the 1286bytes of the UserData in the UpdateOutputs method!");
errorDescriptionDict.Add(721, "Error writing the 250bytes of the UserData in the UpdateOutputs method!");


errorDescriptionDict.Add(800, "Clearing of the result data finished with error!");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -267,9 +267,8 @@ public string ActionDescription
actionDescriptionDict.Add(317, "Reading running.");
actionDescriptionDict.Add(318, "Reading running.");
actionDescriptionDict.Add(319, "Reading running.");
// actionDescriptionDict.Add(110, "Reading started.");
// actionDescriptionDict.Add(111, "Reading finished succesfully.");
// actionDescriptionDict.Add(112, "Reading restored.");
actionDescriptionDict.Add(111, "Reading finished succesfully.");
actionDescriptionDict.Add(112, "Reading restored.");

actionDescriptionDict.Add(120, "Change job by name started.");
actionDescriptionDict.Add(320, "Change job by name running.");
Expand Down
3 changes: 3 additions & 0 deletions src/components.kuka.robotics/.vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"dotnet.defaultSolution": "axopencomponentskukarobotics.sln"
}
34 changes: 34 additions & 0 deletions src/components.kuka.robotics/CHANGES_CHECKLIST.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
## Code

- [ ] Do the changes follow recomendations from [conventions](../../docfx/articles/guidelines/Conventions.md) and [component convetions](../../docfx/articles/guidelines/components.md.md)?
- [ ] Does your change introduces breaking changes?
- [ ] Did you consult with the maintainers the nature of the breaking changes (version bump)?


## Testing

- [ ] Are all changes unit-tested?
- [ ] Did you change any existing test? Please describe?

Changed tests
---
---

- [ ] How did you test the changes?

## Build

- [ ] Did you change directory structure that may affect the pipeline?

## Documentation

- [ ] Did you update the documentation where relevant?

### Changelog file updates
- [ ] Did you update the [CHANGELOG](docs/CHANGELOG.md)?
- [ ] Did you update the [CHANGELOG](docs/CHANGELOG.md) version according to value set in [GitVersion.yml](../../GitVersion.yml)?
- [ ] Did you describe breaking changes [CHANGELOG](docs/CHANGELOG.md)?
- [ ] Did you describe new features [CHANGELOG](docs/CHANGELOG.md)?
- [ ] Did you describe bug fixies [CHANGELOG](docs/CHANGELOG.md)?

x`
53 changes: 53 additions & 0 deletions src/components.kuka.robotics/CREATION_CHECKLIST.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
## Code

- [ ] Does code follow recomendations from [conventions](../../docfx/articles/guidelines/Conventions.md) and [component convetions](../../docfx/articles/guidelines/components.md.md)?


## Testing

- [ ] Are all publicly exposed members unit-tested using axunit?
- [ ] Is the axunit-test coverage at min level of 60%?
- [ ] Are all extended twins tested and is the coverage at min level of 60% ?
- [ ] Are all extended twins tested and is the coverage at min level of 60% ?

## Build

- [ ] Did you add this library to [build list](../../cake/BuildContext.cs#Libraries)?
- [ ] Did you add place the library in the [list](../../cake/BuildContext.cs#Libraries) past its dependencies?
- [ ] Did you add this library `src` folder to [build list](../../src/AXOpen-packable-only.proj)?
- [ ] Did you remove all project from the `src` folder that should not be packed?
- [ ] Does the build with test level L2 passes locally?

## Documentation

- The documentation should be CONCISE delivering nessary information about the usage of the library.
- The documentation should not explain details about internals of the library limit yourself on explaing how to use, not how it is made. Should it be necessary to explain some aspects in detail write an article instead.
- Do not explain HOW the parts of the library operate but WHAT they do.
- Focus on creating usable examples
- Examples should not be hard-written into to documents, but referenced from the [documentation project](app), the [ComponentTemplate](docs/ComponentTemplate.md) scaffolds the document with example references to documenation project

## General
- [ ] Does [README.md](./docs/README.md) contain general description of the library?
- [ ] Is the link to this documentation added to the [toc.yaml](../../docfx/components/toc.yml)?

### CTRL README.md
- [ ] Does [README.md](./ctrl/README.md) for controller contain information about apax package installation instructions?
- [ ] Does [README.md](./ctrl/README.md) for controller contain link to API documentation?
- [ ] Are there any additional requirement regarding usage of this package listed in this [README.md](./ctrl/README.md)?

### .NET TWIN README.md
- [ ] Does [README.md](./src/AXOpen.Components.Kuka.Robotics/README.md) for .NET TWIN contain information with installation instructions?
- [ ] Does [README.md](./src/AXOpen.Components.Kuka.Robotics/README.md) for .NET TWIN contain link to API documentation?
- [ ] Are there any additional requirement regarding usage of this nuget package listed in this [README.md](./src/AXOpen.Components.Kuka.Robotics/README.md)?

### BLAZOR README.md
- [ ] Does [README.md](./src/AXOpen.Components.Kuka.Robotics.blazor/README.md) contain information with installation instructions?
- [ ] Does [README.md](./src/AXOpen.Components.Kuka.Robotics.blazor/README.md) contain link to API documentation?
- [ ] Are there any additional requirement regarding usage of this nuget package listed in this [README.md](./src/AXOpen.Components.Kuka.Robotics/README.md)?


### Components

- [ ] Does [toc.yml](./docs/toc.yml) contain references to documenation to all components in this library?
- [ ] Does each component in this library has single md file with examples references from the code and structured according to [ComponentTemplate.md](./docs/ComponentTemplate.md)?

6 changes: 6 additions & 0 deletions src/components.kuka.robotics/app/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.apax
.env
bin

obj
testresult
1 change: 1 addition & 0 deletions src/components.kuka.robotics/app/AXSharp.config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"OutputProjectFolder":"ix","UseBase":false,"NoDependencyUpdate":false,"IgnoreS7Pragmas":false,"ProjectFile":"app_axopen_components_kuka_robotics.csproj"}
12 changes: 12 additions & 0 deletions src/components.kuka.robotics/app/JSONREPOS/Groups/AdminGroup
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"Changes": [],
"RecordId": null,
"DataEntityId": "AdminGroup",
"Name": "AdminGroup",
"Roles": [
"Administrator"
],
"RolesHash": "AQAAAAIAAYagAAAAEFMQB6OKJ9h2absnop3/241eQ1r0ZKSeKhZ+bKAj028Jt2GjYGXLJF/j94ExpkZt1Q==",
"Created": "2023-10-03T11:15:37.5601334+02:00",
"Modified": "2023-10-03T11:15:37.7766974+02:00"
}
89 changes: 89 additions & 0 deletions src/components.kuka.robotics/app/apax.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
name: "app_axopen.components.kuka.robotics"
version: '0.0.0-dev.0'
type: app
targets:
- plcsim
- llvm
- "1500"
variables:
APAX_BUILD_ARGS:
- "--debug" # Generate debug information for target "1500"
devDependencies:
"@ix-ax/ax-sdk": '0.0.0-dev.0'
"@ax/sld": 2.0.5
dependencies:
"@ix-ax/axopen.core": '0.0.0-dev.0'
"@ix-ax/axopen.timers": '0.0.0-dev.0'
"@ix-ax/axopen.abstractions": '0.0.0-dev.0'
"@ix-ax/axopen.components.kuka.robotics": '0.0.0-dev.0'
"@ix-ax/axopen.simatic1500": '0.0.0-dev.0'
"@ax/simatic-1500-clocks": ^6.0.37
scripts:
delta:
- START=$(date +%s)
- apax build --ignore-scripts
- apax sld load --accept-security-disclaimer -t $AXTARGET -i
$AXTARGETPLATFORMINPUT --mode delta
- echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in
:" $(expr $(date +%s) - $START) "s"
download:
- START=$(date +%s)
- apax build --ignore-scripts
- dotnet ixc
- apax download_only
- echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in
:" $(expr $(date +%s) - $START) "s"
ixc:
- START=$(date +%s)
- dotnet tool restore
- dotnet ixc
- echo "Built by ixc in :" $(expr $(date +%s) - $START) "s"
download_only:
- apax sld load --accept-security-disclaimer -t $AXTARGET -i
$AXTARGETPLATFORMINPUT -r
check+download: |
if [ $AXTARGET ]; then
if [ $AXTARGETPLATFORMINPUT ]; then
if ping -n 1 $AXTARGET &> /dev/null; then
echo "Downloading from:" $AXTARGETPLATFORMINPUT "=>" $AXTARGET
apax download_only
else
echo "Target with IP address:" $AXTARGET "is not accessible. No download is going to be performed!!!"
fi
else
echo "Environment variable AXTARGETPLATFORMINPUT not defined!!!"
fi
else
echo "Environment variable AXTARGET not defined!!!"
fi
postbuild:
- apax ixc
watch:
- dotnet watch --project
..\\app\\ix-blazor\\AXOpen.Components.Kuka.Robotics.blazorapp.csproj
fr:
- ..\\..\\integrations\\scripts\\StartPlcSimAdvCli.exe
- apax rr
frw:
- apax fr
- apax watch
rr:
- START=$(date +%s)
- apax install
- apax download
- echo $(date +%D)"-"$(date +%H)":"$(date +%M)":"$(date +%S) " - Finished in
:" $(expr $(date +%s) - $START) "s"
rrw:
- apax rr
- apax watch
r:
- apax plc-mode set stop -t $AXTARGET -y
- apax plc-mode set run -t $AXTARGET -y
d:
- apax download
do:
- apax download_only
dd:
- apax delta
installStrategy: strict
apaxVersion: 3.1.0
1 change: 1 addition & 0 deletions src/components.kuka.robotics/app/axsharp.companion.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"Id":"app_axopen_components_kuka_robotics","Version":"0.0.0-dev.0"}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<Project Sdk="Microsoft.NET.Sdk.Web">

<PropertyGroup>

<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<Packable>false</Packable>
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="..\..\..\base\src\AXOpen.Logging\AXOpen.Logging.Serilog.csproj" />
<ProjectReference Include="..\..\..\core\src\AXOpen.Core.Blazor\axopen_core_blazor.csproj" />
<ProjectReference Include="..\..\..\data\src\repositories\Json\AXOpen.Data.Json.csproj" />
<ProjectReference Include="..\..\..\security\src\AXOpen.Security.Blazor\AXOpen.Security.Blazor.csproj" />
<ProjectReference Include="..\..\src\AXOpen.Components.Kuka.Robotics.blazor\AXOpen.Components.Kuka.Robotics.blazor.csproj" />
<ProjectReference Include="..\ix\app_axopen_components_kuka_robotics.csproj" />
</ItemGroup>

</Project>
15 changes: 15 additions & 0 deletions src/components.kuka.robotics/app/ix-blazor/App.razor
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
@using AxOpen.Security.Service;
<CascadingAuthenticationState>
<Router AppAssembly="@typeof(App).Assembly" AdditionalAssemblies="new[] { typeof(BlazorSecurity).Assembly}">
<Found Context="routeData">
<RouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)" />
<FocusOnNavigate RouteData="@routeData" Selector="h1" />
</Found>
<NotFound>
<PageTitle>Not found</PageTitle>
<LayoutView Layout="@typeof(MainLayout)">
<p role="alert">Sorry, there's nothing at this address.</p>
</LayoutView>
</NotFound>
</Router>
</CascadingAuthenticationState>
Loading

0 comments on commit 7d9f8b9

Please sign in to comment.