Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,6 @@ Before you start, you need the following tools installed on your machine:

* [ ] [Git](https://git-scm.com/)
* [ ] [Visual Studio 2022](https://visualstudio.microsoft.com/downloads/) (Any version below wouldn't work, but you can install them in parallel)
* [ ] [CodeMeter User Runtime (Version 8.x)](https://www.wibu.com/de/support/anwendersoftware/anwendersoftware.html)

Find more details on [requirements here](chapter-0-requirements.md).


## [Chapter 1 - Basics](chapter-1-basics.md)

Expand Down
9 changes: 0 additions & 9 deletions chapter-0-requirements.md

This file was deleted.

24 changes: 5 additions & 19 deletions chapter-1-basics.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,7 @@ This should not only leave you with a solution `PencilFactory.sln` inside
the new folder `PencilFactory`. It also does some initial configuration
and ships empty databases.

That means, you can directly open it in Visual Studio and dig into it. Before
you run the app, you might need to [install licenses](#encountering-wupiexceptions).
That means, you can directly open it in Visual Studio and dig into it.

Run the application (press `F5`).

Expand Down Expand Up @@ -215,7 +214,7 @@ the first steps to digitalize their factory:

Based on these requirements

* The cell should display a workersupport screen to the worker
* The cell should display a worker support screen to the worker
* Depending on the workers input (*success*, *failure*) the product either moves
to the next station or goes into a scrap container

Expand Down Expand Up @@ -316,7 +315,7 @@ thus signal `ReadyToWork` to the ProcessEngine.
This is typically used to start activities if a product is already 'in' a
cell.
* `ReadyToWorkType.Push` *won't* result in a `SequenceCompleted()`, but would
'wait' for an acitvity, like subscribing for push notifications.
'wait' for an activity, like subscribing for push notifications.
* `ActivityClassification.Production` is used to notify that the cell is ready to
work on an `Activity` of type `production`.

Expand Down Expand Up @@ -480,19 +479,6 @@ Use the `SUCCESS` and `FAILED` action to make the products flow through the prod
Here you will find a list of common problems, that might occur, and how to fix
them.

### Encountering `WupiException`s

> `WupiException: Der CmContainer-Eintrag wurde nicht gefunden, Fehler 200.`

The application depends on MORYX modules, that are licensed. But no worries:
They ship with developer licenses, that need to be activated:

* Open *CodeMeter Control Center*,
which you should have installed beforehand through the [CodeMeter User Runtime (Version 8.x)](https://www.wibu.com/de/support/anwendersoftware/anwendersoftware.html)
* Drag & Drop the `.WibuCmRau` files onto it

![Activate developer licenses](./chapter-1/drag-licenses.png)

### Encountering database issues after setup section

> Something went wrong on the server.
Expand All @@ -501,9 +487,9 @@ They ship with developer licenses, that need to be activated:

If you encounter issues when opening Products or Resources for the first time at the end of the setup,
consider checking the databases in the command center.
There you may have to create the missing databeses.
There you may have to create the missing databases.

If the issue occurs during the APD at a later stage due to messing up the order of stps or making changes to classes, of existing entires, you may also need to delete the DB.
If the issue occurs during the APD at a later stage due to messing up the order of steps or making changes to classes, of existing entries, you may also need to delete the DB.
#### Step 1: Open the Command Center
![Open the Command Center](./chapter-1/commandCenter.png)

Expand Down
Binary file removed chapter-1/drag-licenses.png
Binary file not shown.
2 changes: 1 addition & 1 deletion chapter-2-drivers.md
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ public override void Ready(IActivity activity)
}
```

The method `OnOuputSet` gets called when outputs are changed. In this example only the output `ProcessStart` gets set, which would activate the production.
The method `OnOutputSet` gets called when outputs are changed. In this example only the output `ProcessStart` gets set, which would activate the production.

```cs
protected override void OnOutputSet(object sender, string key)
Expand Down
4 changes: 2 additions & 2 deletions chapter-3-basics-II.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Basics II - Capabilities and ParameterBinding
In this chapter you will learn how to find the right Cell depending on a product property.

The manufacturer realised that only one ColorizingCell, in which the paint always has to be changed, isn't really efficient. He decided to add another one. Now for each color there is one cell.
The manufacturer realized that only one ColorizingCell, in which the paint always has to be changed, isn't really efficient. He decided to add another one. Now for each color there is one cell.

In order to define, which cell uses which color, first add a property `Color` to the ColorizingCell and set the color in the [Capabilities](https://github.com/PHOENIXCONTACT/MORYX-Framework/blob/dev/docs/articles/Processing/Capabilities.md) to let Moryx know what the cell is capable of. In this case using a specific color. Remember EntrySerialize means the property can be set in the UI by editing the corresponding resource.

Expand Down Expand Up @@ -41,7 +41,7 @@ public class ColorizingCell : Cell
```
> Note:
> The private variable with DataMember attribute the public one attributed with EntrySerialize are separated from each other here.
> DataMember attibutes are commited to the database before EntrySerialize ones are initialized.
> DataMember attributes are committed to the database before EntrySerialize ones are initialized.
> Here this would lead to not executing the setter before writing to the database.

For this to work add the property `Color` to the `ColorizingCapabilities` and check if the colors of the provided Capabilities match the ones you need.
Expand Down