Skip to content

Commit 8730b8f

Browse files
authored
[DOCUMENTATION] Add conceptual overview of IX (#41)
* Create draft PR for #40 * [documentation] documention update - short conceptual overview - fixed API doc generation * additional examples Blazor renderer --------- Co-authored-by: PTKu <[email protected]>
1 parent 400780b commit 8730b8f

File tree

344 files changed

+2496
-1460
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

344 files changed

+2496
-1460
lines changed

build-docs.ps1

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# run build
2+
dotnet run --project cake/Build.csproj -- $args --do-docs true
3+
exit $LASTEXITCODE;

cake/Program.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -317,10 +317,10 @@ public override void Run(BuildContext context)
317317

318318
if (Helpers.CanReleaseInternal())
319319
GenerateApiDocumentation(context, @$"ix.connectors\src\Ix.Connector\bin\{context.DotNetBuildSettings.Configuration}\net6.0\Ix.Connector.dll", @"Ix.Connector");
320-
GenerateApiDocumentation(context, @$"ix.connectors\src\Ix.Connector.S71500.WebAP\bin\{context.DotNetBuildSettings.Configuration}\net6.0\Ix.Connector.Sax.WebAPI.dll", @"Ix.Connector.Sax.WebAPI");
320+
GenerateApiDocumentation(context, @$"ix.connectors\src\Ix.Connector.S71500.WebAPI\bin\{context.DotNetBuildSettings.Configuration}\net6.0\Ix.Connector.S71500.WebAPI.dll", @"Ix.Connector.S71500.WebAPI");
321321

322-
GenerateApiDocumentation(context, @$"ix.builder\src\IX.Compiler\bin\{context.DotNetBuildSettings.Configuration}\net6.0\IX.Compiler.dll", @"IX.Compiler");
323-
GenerateApiDocumentation(context, @$"ix.builder\src\IX.Cs.Compiler\bin\{context.DotNetBuildSettings.Configuration}\net6.0\IX.Compiler.Cs.dll", @"IX.Compiler.Cs");
322+
GenerateApiDocumentation(context, @$"ix.compiler\src\IX.Compiler\bin\{context.DotNetBuildSettings.Configuration}\net6.0\IX.Compiler.dll", @"IX.Compiler");
323+
GenerateApiDocumentation(context, @$"ix.compiler\src\IX.Cs.Compiler\bin\{context.DotNetBuildSettings.Configuration}\net6.0\IX.Compiler.Cs.dll", @"IX.Compiler.Cs");
324324

325325
GenerateApiDocumentation(context, @$"ix.abstractions\src\Ix.Abstractions\bin\{context.DotNetBuildSettings.Configuration}\net6.0\Ix.Abstractions.dll", @"Ix.Abstractions");
326326
GenerateApiDocumentation(context, @$"ix.blazor\src\Ix.Presentation.Blazor\bin\{context.DotNetBuildSettings.Configuration}\net6.0\Ix.Presentation.Blazor.dll", @"Ix.Presentation.Blazor");

docs/README.md

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
1-
21
# IX
32

3+
**IX is an open-source project developed by a group of automation engineers. It provides easy access from .NET-based applications to SIMATIC-AX based PLC programs.**
4+
45
## What's in
56

6-
### [Ix.ixc compiler](articles/compiler/README.md)
7+
## [Ix.ixc compiler](articles/compiler/README.md)
78

89
Transpiles the structured text program data to .NET twin objects. These objects provide different methods of accessing the PLC data. Twin objects are suitable to use for HMI (with any .NET UI framework like *WPF, Blazor, MAUI or WinForms*). Twins implement value change notifications which makes it easy for the UI framework to react to changes in the PLC.
910

1011
Mirroring the PLC program in a .NET object gives any solution consistency and scalability on a scale hard to achieve with traditional approaches.
1112

12-
### [Ix.Connectors](articles/connectors/README.md)
13+
## [Ix.Connectors](articles/connectors/README.md)
1314

1415
The connectors provide a communication layer for twin objects generated by the compiler (ixc).
1516

16-
### [Ix.Blazor](articles/blazor/README.md)
17+
## [Ix.Blazor](articles/blazor/README.md)
1718

1819
The presentations provide a mechanism for automated UI generation from PLC code. The UI layout and properties are malleable with the directives in the PLC code.
1920

@@ -83,6 +84,11 @@ Create new project from template
8384
dotnet new [shortname] -n YOUR_PROJECT_NAME
8485
~~~
8586

87+
#### Prepare your PLC and AX project
88+
89+
Using TIA portal you need to enable WebAPI interface [see here](https://console.simatic-ax.siemens.io/docs/hwld/PlcWebServer) and [here](https://youtu.be/d9EX2FixY1A?t=151) is a very informative youtube video.
90+
91+
8692
Consult README.md file located in your new project for additionatl information.
8793

8894
### From scratch
@@ -127,10 +133,6 @@ Copyright (C) 2022 author
127133
--version Display version information.
128134
~~~
129135

130-
#### Prepare your PLC and AX project
131-
132-
Using TIA portal you need to enable WebAPI interface [see here](https://console.simatic-ax.siemens.io/docs/hwld/PlcWebServer) and [here](https://youtu.be/d9EX2FixY1A?t=151) is a very informative youtube video.
133-
134136
Before usage apax commanad ensure that you are logged in
135137
~~~
136138
apax login
@@ -171,3 +173,10 @@ namespace your_project_name
171173
}
172174
}
173175
~~~
176+
177+
Start PLC twin operations
178+
179+
~~~C#
180+
// This start cyclical operation on PLCTwin at 10ms rate
181+
your_project_name.Entry.Plc.Connector.BuildAndStart().ReadWriteCycleDelay = 10;
182+
~~~

docs/_navbar.md

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
11
* # About
2-
3-
* [What's in](README.md)
2+
* [Introduction](/articles/conceptual/Conceptual.md)
3+
* [Getting started](/README.md#getting-started)
4+
* ---
5+
* [Compiler](/articles/compiler/README.md)
6+
* [Blazor rendering](/articles/blazor/README.md)
7+
* # API
8+
* [Connector API](/api/Ix.Connector/Ix.Connector.md)
9+
* [Connector.S71500 API](/api/Ix.Connector.S71500.WebAPI/Ix.Connector.S71500.WebAPI.md)
10+
* [Compiler core API](/api/IX.Compiler/IX.Compiler.md)
11+
* [Compiler Cs API](/api/IX.Compiler.Cs/IX.Compiler.Cs.md)
12+
* [Abstractions API](/api/Ix.Abstractions/Ix.Abstractions.md)
13+
* [Presentation Blazor API](/api/Ix.Presentation.Blazor/Ix.Presentation.Blazor.md)
14+
* [Presentation Controls Blazor API](/api/Ix.Presentation.Blazor.Controls/Ix.Presentation.Blazor.Controls.md)
415

516

docs/_sidebar.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
11
* [Home](/)
22
* -----
3+
* [Introduction](/articles/conceptual/Conceptual.md)
4+
* [Getting started](/README.md#getting-started)
5+
* ---
6+
* [Compiler](/articles/compiler/README.md)
7+
* [Blazor rendering](/articles/blazor/README.md)
8+
* ---
39
* [APIs](/apis.md)
410
* ----
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Ix.Connector.S71500.WebAPI assembly
2+
3+
## Ix.Connector namespace
4+
5+
| public type | description |
6+
| --- | --- |
7+
| static class [WebApiConnectorExtensions](./Ix.Connector/WebApiConnectorExtensions.md) | Provides extension methods for instantiating WebAPI connector. |
8+
9+
## Ix.Connector.S71500.WebApi namespace
10+
11+
| public type | description |
12+
| --- | --- |
13+
| class [WebApiBool](./Ix.Connector.S71500.WebApi/WebApiBool.md) | |
14+
| class [WebApiByte](./Ix.Connector.S71500.WebApi/WebApiByte.md) | |
15+
| class [WebApiChar](./Ix.Connector.S71500.WebApi/WebApiChar.md) | |
16+
| class [WebApiConnector](./Ix.Connector.S71500.WebApi/WebApiConnector.md) | Provides connector to mediate connection with IX twins over WebAPI connection. |
17+
| class [WebApiConnectorFactory](./Ix.Connector.S71500.WebApi/WebApiConnectorFactory.md) | |
18+
| class [WebApiDate](./Ix.Connector.S71500.WebApi/WebApiDate.md) | |
19+
| class [WebApiDateTime](./Ix.Connector.S71500.WebApi/WebApiDateTime.md) | |
20+
| class [WebApiDInt](./Ix.Connector.S71500.WebApi/WebApiDInt.md) | |
21+
| class [WebApiDWord](./Ix.Connector.S71500.WebApi/WebApiDWord.md) | |
22+
| class [WebApiInt](./Ix.Connector.S71500.WebApi/WebApiInt.md) | |
23+
| class [WebApiLDate](./Ix.Connector.S71500.WebApi/WebApiLDate.md) | |
24+
| class [WebApiLDateTime](./Ix.Connector.S71500.WebApi/WebApiLDateTime.md) | |
25+
| class [WebApiLInt](./Ix.Connector.S71500.WebApi/WebApiLInt.md) | |
26+
| class [WebApiLReal](./Ix.Connector.S71500.WebApi/WebApiLReal.md) | |
27+
| class [WebApiLTime](./Ix.Connector.S71500.WebApi/WebApiLTime.md) | |
28+
| class [WebApiLTimeOfDay](./Ix.Connector.S71500.WebApi/WebApiLTimeOfDay.md) | |
29+
| class [WebApiLWord](./Ix.Connector.S71500.WebApi/WebApiLWord.md) | |
30+
| class [WebApiReal](./Ix.Connector.S71500.WebApi/WebApiReal.md) | |
31+
| class [WebApiSInt](./Ix.Connector.S71500.WebApi/WebApiSInt.md) | |
32+
| class [WebApiString](./Ix.Connector.S71500.WebApi/WebApiString.md) | |
33+
| class [WebApiTime](./Ix.Connector.S71500.WebApi/WebApiTime.md) | |
34+
| class [WebApiTimeOfDay](./Ix.Connector.S71500.WebApi/WebApiTimeOfDay.md) | |
35+
| class [WebApiUdInt](./Ix.Connector.S71500.WebApi/WebApiUdInt.md) | |
36+
| class [WebApiUInt](./Ix.Connector.S71500.WebApi/WebApiUInt.md) | |
37+
| class [WebApiULInt](./Ix.Connector.S71500.WebApi/WebApiULInt.md) | |
38+
| class [WebApiUSInt](./Ix.Connector.S71500.WebApi/WebApiUSInt.md) | |
39+
| class [WebApiWChar](./Ix.Connector.S71500.WebApi/WebApiWChar.md) | |
40+
| class [WebApiWord](./Ix.Connector.S71500.WebApi/WebApiWord.md) | |
41+
| class [WebApiWString](./Ix.Connector.S71500.WebApi/WebApiWString.md) | |
42+
43+
<!-- DO NOT EDIT: generated by xmldocmd for Ix.Connector.S71500.WebAPI.dll -->

docs/api/Ix.Connector.Sax.WebAPI/Ix.Connector.Sax.WebApi/WebApiBool.md renamed to docs/api/Ix.Connector.S71500.WebAPI/Ix.Connector.S71500.WebApi/WebApiBool.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,6 @@ public class WebApiBool : OnlinerBool
1616

1717
## See Also
1818

19-
* namespace [Ix.Connector.Sax.WebApi](../Ix.Connector.Sax.WebAPI.md)
19+
* namespace [Ix.Connector.S71500.WebApi](../Ix.Connector.S71500.WebAPI.md)
2020

21-
<!-- DO NOT EDIT: generated by xmldocmd for Ix.Connector.Sax.WebAPI.dll -->
21+
<!-- DO NOT EDIT: generated by xmldocmd for Ix.Connector.S71500.WebAPI.dll -->
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# WebApiBool.GetAsync method
2+
3+
```csharp
4+
public override Task<bool> GetAsync()
5+
```
6+
7+
## See Also
8+
9+
* class [WebApiBool](../WebApiBool.md)
10+
* namespace [Ix.Connector.S71500.WebApi](../../Ix.Connector.S71500.WebAPI.md)
11+
12+
<!-- DO NOT EDIT: generated by xmldocmd for Ix.Connector.S71500.WebAPI.dll -->
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# WebApiBool.Read method
2+
3+
```csharp
4+
public void Read(string value)
5+
```
6+
7+
## See Also
8+
9+
* class [WebApiBool](../WebApiBool.md)
10+
* namespace [Ix.Connector.S71500.WebApi](../../Ix.Connector.S71500.WebAPI.md)
11+
12+
<!-- DO NOT EDIT: generated by xmldocmd for Ix.Connector.S71500.WebAPI.dll -->
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# WebApiBool.SetAsync method
2+
3+
```csharp
4+
public override Task<bool> SetAsync(bool value)
5+
```
6+
7+
## See Also
8+
9+
* class [WebApiBool](../WebApiBool.md)
10+
* namespace [Ix.Connector.S71500.WebApi](../../Ix.Connector.S71500.WebAPI.md)
11+
12+
<!-- DO NOT EDIT: generated by xmldocmd for Ix.Connector.S71500.WebAPI.dll -->

0 commit comments

Comments
 (0)