You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/software/plc-ide/tutorials/can-setup/content.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,7 +29,7 @@ The main advantages of the CAN bus protocol are:
29
29
30
30
Structure of a CAN network:
31
31
***Main device:** Main controller or orchestrator of the communication. It interacts with the rest of the devices on the network, sending and receiving data from them. It usually is a controller device like the Portenta Machine control.
32
-
***Node or ECU (Electronic Control Unit):** Devices capable of interacting on the data bus. Although every device on the network can listen to the data that is being transferred on the bus each device has an unique number (ID) to communicate with that is included in every message, ignoring the messages that do not match their ID. However, all the nodes have access to the messages of the network, being possible for a node to read and use the data from another node if necessary.
32
+
***Node or ECU (Electronic Control Unit):** Devices capable of interacting on the data bus. Although every device on the network can listen to the data that is being transferred on the bus each device has a unique number (ID) to communicate with that is included in every message, ignoring the messages that do not match their ID. However, all the nodes have access to the messages of the network, being possible for a node to read and use the data from another node if necessary.
33
33
34
34
CAN has built-in error detection so the application can handle its own errors in case of data loss (like CRC).
35
35
@@ -74,9 +74,9 @@ To configure in depth the settings you need to add the **Generic CANopen device*
74
74
75
75

76
76
77
-

77
+

78
78
79
-
Once the **Generic CANOpen device** has been added you can customize the configuration to comply your needs.
79
+
Once the **Generic CANOpen device** has been added you can customize the configuration to comply with your needs.
@@ -122,9 +122,9 @@ This window allows to create objects and set the addresses, this is called a map
122
122
123
123
### PDO Tables
124
124
125
-
This table customize the PDO (Process Data Object) dictionary, so you will set the variables for the information that you want to have usually cause they are time-critical, any device can overwrite those addresses, so it acts like shared variables.
125
+
This table customizes the PDO (Process Data Object) dictionary, so you will set the variables for the information that you want to have usually cause they are time-critical, any device can overwrite those addresses, so it acts like shared variables.
126
126
127
-
You can edit the table by adding, removing new variables, you can also assign and unassign existing variables on your programs (Global Variables) to this table.
127
+
You can edit the table by adding or removing new variables. You can also assign and unassign existing variables on your programs (Global Variables) to this table.
Copy file name to clipboardExpand all lines: content/software/plc-ide/tutorials/plc-ide-pin-mapping/content.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
title: 'Arduino® PLC IDE Pin Mapping'
3
3
difficulty: beginner
4
-
description: "Assign the pins to variables and interact with them on the Arduino PLC IDE"
4
+
description: "Assign the pins to variables and interact with them on the Arduino PLC IDE."
5
5
tags:
6
6
- PLC IDE
7
7
- IO
@@ -20,7 +20,7 @@ In this tutorial you will see how to access the available pins of your device as
20
20
21
21
A **mapping table** is a table that **links** a **source**, like the memory address of an I/O, and its **target name** which functions as an alias. For example, if a microcontroller has an I/O with the name `PA01`, a mapping table can be used to access that resource with the name `digitalOut01`.
22
22
23
-
***If you are familiar with the C languages, it is similar with the way a pointer works.***
23
+
***If you are familiar with the C languages, it is similar to the way a pointer works.***
24
24
25
25
Using **mapping tables** makes your programs easier to read, which is always a good practice for long-term maintenance.
26
26
@@ -42,7 +42,7 @@ First of all, open the **Arduino PLC IDE** and create a new project (or open an
42
42
43
43
### Resources Tab
44
44
45
-
Navigate to the **Resources** tile window, you will see a list of the available mappings for your device, in the case of the **Portenta Machine Control** you have:
45
+
Navigate to the **Resources** tile window and you will see a list of the available mappings for your device. In the case of the **Portenta Machine Control** you have:
Copy file name to clipboardExpand all lines: content/software/plc-ide/tutorials/plc-programming-introduction/content.md
+21-21Lines changed: 21 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
title: 'Programming Introduction With Arduino® PLC IDE'
3
3
difficulty: intermediate
4
-
description: "Create programs with all the IEC-61131-3 languages on the Arduino PLC IDE"
4
+
description: "Create programs with all the IEC-61131-3 languages on the Arduino PLC IDE."
5
5
tags:
6
6
- Getting started
7
7
- IEC-61131-3
@@ -16,7 +16,7 @@ software:
16
16
17
17
## Introduction
18
18
19
-
The IEC-61131-3 standard collects 5 programming languages to help you creating your programs; you can use them together to make an entire program, grouping them in functions and function blocks. In addition to the standard languages, an Arduino sketch can be integrated, interacting with the other languages by means of Shared Variables. This kind of development can be accomplished using Arduino PLC IDE. In this tutorial you will familiarize with all of them while having an Arduino sketch in mind as a reference.
19
+
The IEC-61131-3 standard collects 5 programming languages to help you to create your programs; you can use them together to make an entire program, grouping them into functions and function blocks. In addition to the standard languages, an Arduino sketch can be integrated, interacting with the other languages by means of Shared Variables. This kind of development can be accomplished using Arduino PLC IDE. In this tutorial you will familiarize yourself with all of them while having an Arduino sketch in mind as a reference.
20
20
21
21
## Goals
22
22
@@ -34,38 +34,38 @@ The goals of this tutorial are:
34
34
35
35
There are 2 types of variables:
36
36
* Global variables: All of the 5 programs can access it.
37
-
* Local variables: Only the one program has access to it.
37
+
* Local variables: Only one program has access to it.
38
38
39
39
#### Global Variable
40
40
Click inside the **Project** tab and click the **Global_vars** section, a table is available to see the full list of global variables on your project.
41
41
42
42
To add a new one, right-click on the table and click the **insert** button.
43
43

44
44
45
-
It will add a new row with the default settings, you can doubleclick each field and change them as you need.
45
+
It will add a new row with the default settings, you can double-click each field and change them as you need.
After setting the new variable, you will be able to access it from all your languages's programs.
48
+
After setting the new variable, you will be able to access it from all your language programs.
49
49
50
-
You will see a list with all the glboal variables in the **Global_vars** section.
50
+
You will see a list with all the global variables in the **Global_vars** section.
51
51

52
52
53
53
#### Local Variable
54
54
55
-
Go inside the **Project** tab and select a program by doubleclicking it, once it has been opened you will see a **Local Variables** table on the top panel.
55
+
Go inside the **Project** tab and select a program by double-clicking it, once it has been opened you will see a **Local Variables** table on the top panel.
Following the same steps explained previously, you can right-click the table, and press the **insert** button.
59
-

59
+

60
60
61
-
A new variable will be added with default settings, doubleclick each of them to change them as you need.
61
+
A new variable will be added with default settings, double-click each of them to change them as you need.
62
62
63
63
### Adding Blocks
64
64
The blocks are features or functions available from libraries and the PLC IDE.
65
65
66
66
These will help you to perform tasks, like AND gates, ADD function, etc...
67
67
68
-
To add a block on your program (only possible with LD, SFC, FBD) you can drag and drop them from the right side window called "Library Tree"
68
+
To add a block to your program (only possible with LD, SFC, FBD) you can drag and drop them from the right side window called "Library Tree"
69
69

70
70
71
71
Once you drag and drop it on your canvas it will generate a block with some input and output pins fully customizable, most of the time you can right-click the block and add more pins in case you need more than the default.
@@ -82,19 +82,19 @@ There are 4 Tasks:
82
82
To assign a program to a task, you can easily drag and drop your program to the task.
83
83

84
84
85
-
By default the `main` program is attached to the `Fast` task, you can remove it by rightclicking and pressing the "remove program" option.
85
+
By default the `main` program is attached to the `Fast` task, you can remove it by right-clicking and pressing the "remove program" option.
86
86
87
-
You can also assign a new program by rightclicking the task and pressing `Add program`, then select the program from the list shown in the popup window.
87
+
You can also assign a new program by right-clicking the task and pressing `Add program`, then select the program from the list shown in the pop-up window.
88
88
89
-
If you want to configure the task, rightclick on it and press `Task configuration`, you will be able to, for example, change the cycle time of the task.
89
+
If you want to configure the task, right-click on it and press `Task configuration`, you will be able to, for example, change the cycle time of the task.
90
90
91
91
***The execution order will be from top to bottom, the order shown inside each task.***
92
92
93
93
### Watch Variables
94
94
95
95
To check that our program is running and counting correctly, we will use the **watch** feature which allows you to see the value of a variable in real time.
96
96
97
-
To do so you need to go **View > Tool windows > Watch** and you will have a new tool window.
97
+
To do so you need to go to **View > Tool windows > Watch** and you will have a new tool window.
98
98
99
99
Inside the **Tool window** you can drag and drop variables, or click the **Insert new item** button to add a specific variable.
100
100
@@ -117,7 +117,7 @@ void loop(){
117
117
### IEC-61131-3 Languages
118
118
To create a new program open your project tab, go to the toolbar **Project > New object > New program**, set a name for your program and select its language.
119
119
120
-

120
+

121
121
122
122

123
123
@@ -160,14 +160,14 @@ Here is a video doing that from scratch:
160
160
<iframewidth="100%"height="415"src="https://www.youtube.com/embed/0EdATSgIc9o"title="YouTube video player"frameborder="0"allow="accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture"allowfullscreen></iframe>
161
161
162
162
### Sequential Function Chart
163
-
This languages approaches the script similar to a flow-chart so you have blocks which do some work, you check the result of that work, and afterwards you keep flowing with the choices.
163
+
This language approaches the script in a similar way as a flowchart, meaning you have blocks that do some work, you check the result of that work, and afterward you keep flowing with the choices.
164
164
165
165
SFC language can not interact directly with the machine, meaning you can not make an output be OFF directly, to do so you will need to create **actions**
166
166
167
167
#### Actions
168
-
An action is a script in another language (i.e structured text) that performs the work, this will get triggered depending on the chart.
168
+
An action is a script in another language (i.e. structured text) that performs the work, this will get triggered depending on the chart.
169
169
170
-
To create one go on your project tree, right-click the SFC script and click the "New action" button.
170
+
To create one go to your project tree, right-click the SFC script and click the "New action" button.
171
171
172
172

173
173
@@ -180,7 +180,7 @@ A **Step** is the job to do, and a **Transition** is the result of that work.
180
180
181
181
A **Jump** is a link to another **Step** of the chart. In order to make a loop you will need to use the jump to point the "init" step.
182
182
183
-
The counter program should look like the following picture. Note the action inside the "count" Step: you can see a small "counter" text which is the action's name of the program done in Structured Text which code is the same as shown on the Structured Text section.
183
+
The counter program should look like the following picture. Note the action inside the "count" Step: you can see a small "counter" text which is the action's name of the program done in Structured Text which code is the same as shown in the Structured Text section.
184
184

185
185
186
186
Here is a video doing that from scratch:
@@ -189,15 +189,15 @@ Here is a video doing that from scratch:
189
189
### Functional Block Diagram
190
190
This is similar to the SFC Programming, but in this case there is no sequential path on the program, you add blocks to do the needed work.
191
191
192
-
For example adding the **Add** block will do the Add function each cycle.
192
+
For example, adding the **Add** block will do the Add function each cycle.
<iframewidth="100%"height="415"src="https://www.youtube.com/embed/l1L4jzDVKyE"title="YouTube video player"frameborder="0"allow="accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture"allowfullscreen></iframe>
199
199
200
-
***On the previous programs, we used local variables, remember to select the program's specific variables to be watched, or you will not see any data***
200
+
***In the previous programs, we used local variables, remember to select the program's specific variables to be watched, or you will not see any data***
0 commit comments