Skip to content

Commit

Permalink
Merge pull request #344 from ix-ax/dev
Browse files Browse the repository at this point in the history
Experimental release for TIA2AX testing
  • Loading branch information
PTKu authored Nov 27, 2024
2 parents 20f7120 + f878944 commit 4fc978c
Show file tree
Hide file tree
Showing 3,080 changed files with 545,531 additions and 88,541 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
2 changes: 1 addition & 1 deletion .config/dotnet-tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
]
},
"docfx": {
"version": "2.63.0",
"version": "2.77.0",
"commands": [
"docfx"
]
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
- OS: [e.g. Microsoft Windows [Version 10.0.18363.1082]]
- ix version
- AX# version
- simatix-ax version (attach apax.yml file)
- hardware/software target type and version (e.g. S71516, PLCSIM Advanced)
- other tools used (visual studio, vscode)
Expand Down
4 changes: 3 additions & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Please describe the tests that you ran to verify your changes. Provide instructi
**Test Configuration**:

* simatix-ax version (apax.yml):
* ix version:
* AX# version:
* PLC Target system:
* PLC Firmware version:
* OS System:
Expand All @@ -41,3 +41,5 @@ Please describe the tests that you ran to verify your changes. Provide instructi
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream modules
- [ ] New texts in UI controls are localized into supported languages
- [ ] New text (localizable strings/wstrings) in the controller that were set for localization are localized into supported languages
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
- name: "Run build script"
env:
GH_TOKEN : ${{ secrets.GH_TOKEN }}
run: dotnet run --project cake/Build.csproj --do-test true --do-pack true --test-level 100 --do-publish true --do-publish-release true
run: dotnet run --project cake/Build.csproj --do-test true --do-pack true --test-level 2 --do-publish true --do-publish-release true
- name: Test Report
uses: dorny/test-reporter@v1
if: success() || failure()
Expand Down
4 changes: 2 additions & 2 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@
"request": "launch",
"preLaunchTask": "build",
// If you have changed target frameworks, make sure to update the program path.
"program": "${workspaceFolder}/src/ix.compiler/tests/Ix.ax.compilertests/bin/Debug/net6.0/Ix.ax.compilertests.dll",
"program": "${workspaceFolder}/src/AXSharp.compiler/tests/Ix.ax.compilertests/bin/Debug/net6.0/Ix.ax.compilertests.dll",
"args": [],
"cwd": "${workspaceFolder}/src/ix.compiler/tests/Ix.ax.compilertests",
"cwd": "${workspaceFolder}/src/AXSharp.compiler/tests/Ix.ax.compilertests",
// For more information about the 'console' field, see https://aka.ms/VSCode-CS-LaunchJson-Console
"console": "internalConsole",
"stopAtEntry": false
Expand Down
6 changes: 3 additions & 3 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"type": "process",
"args": [
"build",
"${workspaceFolder}/src/ix.compiler/tests/Ix.ax.compilertests/Ix.ax.compilertests.csproj",
"${workspaceFolder}/src/AXSharp.compiler/tests/AXSharp.ax.compilertests/AXSharp.ax.compilertests.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
Expand All @@ -19,7 +19,7 @@
"type": "process",
"args": [
"publish",
"${workspaceFolder}/src/ix.compiler/tests/Ix.ax.compilertests/Ix.ax.compilertests.csproj",
"${workspaceFolder}/src/AXSharp.compiler/tests/AXSharp.ax.compilertests/AXSharp.ax.compilertests.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
Expand All @@ -33,7 +33,7 @@
"watch",
"run",
"--project",
"${workspaceFolder}/src/ix.compiler/tests/Ix.ax.compilertests/Ix.ax.compilertests.csproj"
"${workspaceFolder}/src/AXSharp.compiler/tests/AXSharp.ax.compilertests/AXSharp.ax.compilertests.csproj"
],
"problemMatcher": "$msCompile"
}
Expand Down
1 change: 1 addition & 0 deletions CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
@PTKu @TomKovac
12 changes: 6 additions & 6 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
# Thanks!

Thank you for considering contributing to this project. This document will help you to get started and guide you through the process. Industrial automation has developed very limited culture of open-souce development. The most important is to get started and enjoy the wave of endorfins once your pull request is approved. It does not have to be anything big, maybe just typo in the documentation, question or idea to discuss.
Thank you for considering contributing to this project. This document will help you to get started and guide you through the process. Industrial automation has developed a minimal culture of open-source development. The most important is to get started and enjoy the wave of endorphins once your pull request is approved. It does not have to be anything significant, a typo in the documentation, question, or idea to discuss.

# Contributing

When contributing to this repository, please first discuss the change you wish to make via [issue](https://github.com/ix-ax/ix/issues) or open a [discussion](https://github.com/ix-ax/ix/discussions).
When contributing to this repository, please first discuss the change you wish to make via [issue](https://github.com/ix-ax/axsharp/issues) or open a [discussion](https://github.com/ix-ax/axsharp/discussions).

**IMPORTANT!!!** If you discover a **security issue do not disclose that information** in public spaces of the repo (issues, discussions), more info [here](SECURITY.md).
**IMPORTANT!!!** If you discover a **security issue, do not disclose that information** in public spaces of the repo (issues, discussions), more info [here](SECURITY.md).

## Before you contribute

- Your contributions are under MIT license.
- Make sure you work with tools and versions listed in the [pre-requisites](docs/articles/general/REQUISITES.md).
- Use consistent coding style, find more info in [coding style document](docs/articles/general/CODING_STYLE.md) of this project.
- Make sure you work with tools and versions listed in the [pre-requisites](docfx/index.md#prerequisites).
- Use consistent coding style, find more info in [coding style document](docfx/articles/general/CODING_STYLE.md) of this project.
- All changes happen via pull requests.
- Additions or changes to the code should contain [in-code documentation](https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/documentation-comments) .
- Additions or changes should be reflected in how-to and readme documentation.
Expand All @@ -21,5 +21,5 @@ When contributing to this repository, please first discuss the change you wish t
## Pull Request Process

1. Ensure any install or build dependencies are removed before requesting approval.
1. Describe the change in the PR use this [template](.github/PULL_REQUEST_TEMPLATE/pull_request_template.md) if applicable.
1. Describe the change in the PR use this [template](.github/pull_request_template.md#description) if applicable.
1. Pull requests will be reviewed and merged by repository maintainers.
143 changes: 103 additions & 40 deletions GitVersion.yml
Original file line number Diff line number Diff line change
@@ -1,54 +1,117 @@
mode: ContinuousDeployment
next-version: 0.13.4
assembly-versioning-scheme: MajorMinorPatch
assembly-file-versioning-scheme: MajorMinorPatch
next-version: 0.19.3
tag-prefix: '[vV]?'
version-in-branch-pattern: (?<version>[vV]?\d+(\.\d+)?(\.\d+)?).*
major-version-bump-message: \+semver:\s?(breaking|major)
minor-version-bump-message: \+semver:\s?(feature|minor)
patch-version-bump-message: \+semver:\s?(fix|patch)
no-bump-message: \+semver:\s?(none|skip)
tag-pre-release-weight: 60000
commit-date-format: yyyy-MM-dd
merge-message-formats: {}
update-build-number: true
semantic-version-format: Strict
strategies:
- Fallback
- ConfiguredNextVersion
- MergeMessage
- TaggedCommit
- TrackReleaseBranches
- VersionInBranchName
branches:
main:
regex: ^master$|^main$
mode: ContinuousDelivery
tag: ''
label: ''
increment: Patch
prevent-increment-of-merged-branch-version: true
prevent-increment:
of-merged-branch: true
track-merge-target: false
source-branches: [ 'develop', 'release' ]
track-merge-message: true
regex: ^master$|^main$
source-branches: []
is-source-branch-for: []
tracks-release-branches: false
is-release-branch: false
is-mainline: true
is-main-branch: true
pre-release-weight: 55000
develop:
regex: ^dev(elop)?(ment)?$
mode: ContinuousDeployment
tag: alpha
increment: Minor
prevent-increment-of-merged-branch-version: false
track-merge-target: true
source-branches: []
tracks-release-branches: true
is-release-branch: false
is-mainline: false
pre-release-weight: 0
release:
regex: ^releases?[/-]
mode: ContinuousDeployment
tag: preview
increment: None
prevent-increment-of-merged-branch-version: true
mode: ManualDeployment
label: beta
increment: Patch
prevent-increment:
of-merged-branch: true
when-branch-merged: false
when-current-commit-tagged: false
track-merge-target: false
source-branches: [ 'develop', 'main', 'support', 'release' ]
track-merge-message: true
regex: ^releases?[/-](?<BranchName>.+)
source-branches:
- main
is-source-branch-for: []
tracks-release-branches: false
is-release-branch: true
is-mainline: false
pre-release-weight: 30000
support:
regex: ^support[/-]
is-main-branch: false
pre-release-weight: 30000
feature:
mode: ManualDeployment
label: '{BranchName}'
increment: Inherit
prevent-increment:
when-current-commit-tagged: false
track-merge-message: true
regex: ^features?[/-](?<BranchName>.+)
source-branches:
- main
- release
is-source-branch-for: []
is-main-branch: false
pre-release-weight: 30000
pull-request:
mode: ContinuousDelivery
tag: ''
increment: Patch
prevent-increment-of-merged-branch-version: true
track-merge-target: false
source-branches: [ 'main' ]
tracks-release-branches: false
is-release-branch: false
is-mainline: true
pre-release-weight: 55000
label: PullRequest
increment: Inherit
prevent-increment:
of-merged-branch: true
when-current-commit-tagged: false
label-number-pattern: '[/-](?<number>\d+)'
track-merge-message: true
regex: ^(pull|pull\-requests|pr)[/-]
source-branches:
- main
- release
- feature
is-source-branch-for: []
pre-release-weight: 30000
unknown:
mode: ManualDeployment
label: '{BranchName}'
increment: Inherit
prevent-increment:
when-current-commit-tagged: false
track-merge-message: false
regex: (?<BranchName>.+)
source-branches:
- main
- release
- feature
- pull-request
is-source-branch-for: []
is-main-branch: false
ignore:
sha: []
merge-message-formats: {}
mode: ContinuousDelivery
label: '{BranchName}'
increment: Inherit
prevent-increment:
of-merged-branch: false
when-branch-merged: false
when-current-commit-tagged: true
track-merge-target: false
track-merge-message: true
commit-message-incrementing: Enabled
regex: ''
source-branches: []
is-source-branch-for: []
tracks-release-branches: false
is-release-branch: false
is-main-branch: false
38 changes: 21 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,22 @@
![](assets/pics/banner_wider.png)
![](docfx/images/banner_wider.png)

[![dev](https://github.com/ix-ax/ix/actions/workflows/dev.yml/badge.svg?branch=dev)](https://github.com/ix-ax/ix/actions/workflows/dev.yml)
[![preview](https://github.com/ix-ax/ix/actions/workflows/release.yml/badge.svg?branch=releases%2Fv0)](https://github.com/ix-ax/ix/actions/workflows/release.yml)
[![master](https://github.com/ix-ax/ix/actions/workflows/master.yml/badge.svg?branch=master)](https://github.com/ix-ax/ix/actions/workflows/master.yml)
[![dev](https://github.com/ix-ax/axsharp/actions/workflows/dev.yml/badge.svg?branch=dev)](https://github.com/ix-ax/axsharp/actions/workflows/dev.yml)
[![preview](https://github.com/ix-ax/axsharp/actions/workflows/release.yml/badge.svg?branch=releases%2Fv0)](https://github.com/ix-ax/axsharp/actions/workflows/release.yml)
[![master](https://github.com/ix-ax/axsharp/actions/workflows/master.yml/badge.svg?branch=master)](https://github.com/ix-ax/axsharp/actions/workflows/master.yml)
![semver](https://img.shields.io/badge/semver-0.10.0-blue)
[![GitHub license](https://badgen.net/github/license/Naereen/Strapdown.js)](https://github.com/ix-ax/ix/blob/master/LICENSE)
[![GitHub license](https://badgen.net/github/license/Naereen/Strapdown.js)](https://github.com/ix-ax/axsharp/blob/dev/LICENSE)

> **NOTE**
> **We have just gone through project-wide refactoring changing the name from **IX** to **AX#** (AXSharp). Some links and documentation may still be using the IX and some links are still broken at this point. We are working hard on fixing those issues. Should any of these block you please feel free to reach out to the team.**
# IX

The **IX** is a series of tools that extend SIMATIC AX (Automation Xpansion) with a flexible and powerful connection with .NET ecosystem. IX includes a compiler (`ixc`) that translates PLC data structures into C# (PLC .NET Twin), which makes the PLC data available in a structured way for any .NET application. Furthermore, presentation libraries provide additional features for the automated rendering of PLC data in the UI/HMI.
# AX#

The **AX#** is a series of tools that extend SIMATIC AX (Automation Xpansion) with a flexible and powerful connection with .NET ecosystem. AX# includes a compiler (`ixc`) that translates PLC data structures into C# (PLC .NET Twin), which makes the PLC data available in a structured way for any .NET application. Furthermore, presentation libraries provide additional features for the automated rendering of PLC data in the UI/HMI.

## State of the project

This project is under development; however, we are [releasing versions](https://github.com/ix-ax/ix/releases) that you can play with before the release of the full version. This project follows [semantic versioning](https://semver.org/).
This project is under development; however, we are [releasing versions](https://github.com/ix-ax/axsharp/releases) that you can play with before the release of the full version. This project follows [semantic versioning](https://semver.org/).

All versions released with a major version number `0` (e.g. 0.10.0) can have breaking changes to the previous version at any moment. Stable versions will be released with a major version number greater than `0` (e.g. 1.2.1).

Expand All @@ -25,26 +28,27 @@ We plan to have production-ready libraries and tools in early spring 2024, that
- application templates for quick development and deployment.


**Documentation** is a work in progress should you find missing, unclear, or misleading content please feel free to [add an issue](https://github.com/ix-ax/ix/issues/new/choose) or to create a pull request with the fix you find appropriate.
**Documentation** is a work in progress should you find missing, unclear, or misleading content please feel free to [add an issue](https://github.com/ix-ax/axsharp/issues/new/choose) or to create a pull request with the fix you find appropriate.

There are some **known issues** that we are looking into in the development process. The list of known issues is [here](https://github.com/ix-ax/ix/issues?q=is%3Aissue+is%3Aopen+label%3Aknown-issue).
There are some **known issues** that we are looking into in the development process. The list of known issues is [here](https://github.com/ix-ax/axsharp/issues?q=is%3Aissue+is%3Aopen+label%3Aknown-issue).



**IX** is the underlying technology for the [ix.framework](https://github.com/ix-ax/ix.framework) that will be rendered public in this organization and will provide a series of libraries and components for building automation projects.
**AX#** is the underlying technology for the [AXOpen](https://github.com/ix-ax/AXOpen) that will be rendered public in this organization and will provide a series of libraries and components for building automation projects.

## Disclaimer

**It is necessary to have a valid license for SIMATIC AX in order to use IX!**
**It is necessary to have a valid license for SIMATIC AX in order to use AX#!**
SIMATIC AX is currently in a limited sales release in selected European countries only. You will need to request access from the AX team which will check if your use case is suitable for the current state of the product. The first step to getting the approval is contacting your local SIEMENS sales representative or writing an email to [[email protected]](mailto:[email protected]?subject=Request%20for%20access%20|%20SIMATIC%20AX%20for%20IX).

## How it works

In simple terms, the IX takes the PLC program and translates the data structured into .NET classes.
In simple terms, the AX# takes the PLC program and translates the data structured into .NET classes.

### Write PLC code

~~~iecst
{S7.extern=ReadWrite}
{#ix-attr:[Container(Layout.Stack)]}
{#ix-attr:[Group(Layout.GroupBox)]}
{#ix-set:AttributeName = "Location"}
Expand Down Expand Up @@ -72,13 +76,13 @@ END_CLASS

~~~ C#
using System;
using Ix.Connector;
using Ix.Connector.ValueTypes;
using AXSharp.Connector;
using AXSharp.Connector.ValueTypes;
using System.Collections.Generic;

[Container(Layout.Stack)]
[Group(Layout.GroupBox)]
public partial class GeoLocation : Ix.Connector.ITwinObject
public partial class GeoLocation : AXSharp.Connector.ITwinObject
{
public OnlinerReal Latitude { get; }

Expand Down Expand Up @@ -123,7 +127,7 @@ To get started, visit the documentation [here](docfx/index.md#getting-started).

## Examples

Examples can be found [here](src/ix.examples)
Examples can be found [here](src/AXSharp.examples)


## Contributing
Expand Down
4 changes: 2 additions & 2 deletions SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Supported Versions

ix is in development; we will address the security issues in the latest pre-release version.
AX# is in development; we will address the security issues in the latest pre-release version.

<!--| Version | Supported |
| ------- | ------------------ |
Expand All @@ -14,6 +14,6 @@ ix is in development; we will address the security issues in the latest pre-rele
## Reporting a Vulnerability

**Please do not disclose the vulnerability in the publicly available parts of this repo.**
The vulnerabilities should be reported to the following email team@ixcite.tech
The vulnerabilities should be reported to the following email team@axsharp.com
We will address the security issue in a separate workflow.

Binary file modified assets/icons/icon_128_128.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed assets/pics/banner_wider.png
Binary file not shown.
5 changes: 2 additions & 3 deletions build-docs.ps1
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
# run build
dotnet run --project cake/Build.csproj -- $args --do-docs true
exit $LASTEXITCODE;
.\build.ps1
dotnet docfx .\docfx\docfx.json
Loading

0 comments on commit 4fc978c

Please sign in to comment.