Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
c9d5a60
Update README.md
MarlenaRowa Jul 11, 2022
796f440
Merge pull request #20 from dih2-rowa/AfterMidChangesBig
MarlenaRowa Oct 10, 2022
cf6ea05
Update instalationguide.md
MarlenaRowa Oct 29, 2022
823458c
Update RoseAP2_InstalationGuide.md
MarlenaRowa Oct 29, 2022
1a59df5
Update RoseAP2_InstalationGuide.md
MarlenaRowa Oct 29, 2022
6ce7c05
Update README.md
MarlenaRowa Oct 29, 2022
d74ac5b
Neue SPS IP
mhRowa Nov 10, 2022
a085f05
folder renaming
mhRowa Nov 10, 2022
ccf7af5
Folder rename
mhRowa Nov 10, 2022
f3ba2e7
Changed to server IP
mhRowa Nov 11, 2022
3683a84
Changed to server IP
mhRowa Nov 11, 2022
e15d913
Big Changes for ServerIP
mhRowa Nov 11, 2022
f0199e2
Added RowaClient without GUI (Console)
mhRowa Nov 14, 2022
4c3c22a
Merge pull request #21 from dih2-rowa/MasterNew
mhRowa Nov 14, 2022
2a92559
Update docker-compose.yml
MarlenaRowa Nov 14, 2022
85aeafe
Changed IP
mhRowa Nov 14, 2022
5c1e6ce
Changed entity IDs
mhRowa Nov 14, 2022
053a364
Add files via upload
mhRowa Dec 15, 2022
f170200
datamodel_standardization
mhRowa Jan 11, 2023
f8511af
Update getting_started.md
mhRowa Jan 20, 2023
200c8bb
Update instalationguide.md
mhRowa Jan 20, 2023
65687bb
Update getting_started.md
mhRowa Jan 20, 2023
366e305
Update instalationguide.md
mhRowa Jan 30, 2023
a633733
Update instalationguide.md
mhRowa Jan 30, 2023
86b0a0e
Rename instalationguide.md to installationguide.md
mhRowa Jan 30, 2023
03976e5
Delete usermanual.md
mhRowa Jan 30, 2023
ac10172
Update architecture.md
mhRowa Jan 30, 2023
fc14777
Delete api.md
mhRowa Jan 30, 2023
802d902
Delete RoseAP2_ConfigurationGuide.md
mhRowa Jan 30, 2023
636957a
Delete RoseAP2_InstalationGuide.md
mhRowa Jan 30, 2023
d7f97a3
Update and rename RoseAP1_InstalationGuide.md to How_To_Deploy.md
mhRowa Jan 30, 2023
098b977
Create How_To_Adapt.md
mhRowa Jan 30, 2023
a026309
Update and rename RoseAP1_ConfigurationGuide.md to How_To_Use.md
mhRowa Jan 30, 2023
3da5a85
Delete getting_started.md
mhRowa Jan 30, 2023
64a1eaa
Rename installationguide.md to How_To_Install.md
mhRowa Jan 30, 2023
8623da4
Update README.md
mhRowa Jan 30, 2023
11a2c47
Update How_To_Adapt.md
mhRowa Jan 30, 2023
2f3e578
Cleaning
mhRowa Jan 30, 2023
5550881
Merge branch 'master' of https://github.com/dih2-rowa/programhandler
mhRowa Jan 30, 2023
73a90b8
Update How_To_Install.md
mhRowa Feb 1, 2023
5288c10
Adjusted Datatypes
mhRowa Feb 6, 2023
85589b3
Added enumartion
mhRowa Feb 8, 2023
ccff625
Update How_To_Install.md
mhRowa Mar 27, 2023
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
47 changes: 7 additions & 40 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Basically, the Program Handler consists of 3 software components:
- File Server

### Robot Program Handler - Server
Is a software written in C# that is based on the OpenSource [C3bridge-server](https://github.com/ulsu-tech/c3bridge-server).
Is a software written in C++ that is based on the OpenSource [C3bridge-server](https://github.com/ulsu-tech/c3bridge-server).
The software itself has to be installed directly on the robot and .here it takes over the functions for sending and receiving robot programs.

### Robot Program Handler - Client
Expand All @@ -34,55 +34,22 @@ The interface to the OCB was realised via a specially developed API. The communi
### File Server
The file server is used to make robot programs available to several processing centres.

## How to adapt it?

This software is working only with Kuka KRC4 robot, with operation system Windows XP or higher.
First of all, it is neccesary, to know, what IP address Robot Controler has. This can be find directly in Kuka Teach Panel in (Manu -> Stat-up -> Network Configuration).
Then it is necessary to open Port 7000 in controller (Menu -> Start-up-> Network Configuration -> Advanced -> NAT -> Add Port) with permitted protocols "tcp/udp". After it, cold start with files reload must be performed.

To start application running proper one must perform steps below:
1. Download C3 Bridge Interface Server from here https://github.com/ulsu-tech/c3bridge-server or http://c3.ulsu.tech/, put it to robot controller , if wished, it can be added to autostart. To put it proper to robot controller, admin account must be active and HMI must be minimized. Then just start it, server is already running and is ready to work.
2. In RowaConnct/exe is a executing file RowaConnect.exe, start it
3. Fill Ip Adress and Port field with correct data(Ip adress of robot os to find in robot Controller (Menu -> Start-up-> Network Configuration)
4. Click on check connection, then, if connection is fine, find a correct path, where are located programs, which should be checked and add a path to server where files are stored (Robot also must see this path!)
5. Click on choose a folder to save your choice and then connect.
6. Program runs
![image](https://user-images.githubusercontent.com/103100980/187377224-612c7a82-ccaa-4008-9daa-21d2624af2bc.png)

## How to install it?

Check the file [How_To_Install.md](/docs/How_To_Install.md) and follow steps.

The OPCUA_Server IP has to be adjust in the docker_compose file:
![image](https://user-images.githubusercontent.com/103100980/176501183-013f9ca7-a3fc-497f-81fd-5b1f726c0db6.png)
## How to adapt it?

As well as in the config.properties of the IoT Agents:
![image](https://user-images.githubusercontent.com/103100980/176501471-5ff6d2e1-5905-4e63-8934-2c8e8e681225.png)
Check the file [How_To_Adapt.md](/docs/How_To_Adapt.md) and follow steps.

## How to deploy it?

For using a software, it is required to have docker compose and Visual Studio Code already installed on computer.

Program C3Bridge should be copied to robot and started - if wished, it can be moved to autostart.

Code shall be copied to place, where program handler is supposed to work.

Next step is to Compose Docker file. For it, file docker-compose.yml must be find in Visual Studio code:

![image](https://user-images.githubusercontent.com/103100980/176618480-dc39ad00-c259-440c-b9c3-495f8674e4f2.png)

and with right mouse button, choose an option Compose Up - Disclaimer: Docker must be active.

In case, there is problem with restarting any of container, there are two way to go on Windows:
1. Ubuntu for Windows must be installed
2a. Write a command -> wsl -d docker-desktop sysctl -w vm.max_map_count=262144 <- in Powershell
2b. Or :
- Set vm.max_map_count=262144 in /etc/sysctl.conf
- Apply with sudo sysctl -p
Check the file [How_To_Deploy.md](/docs/How_To_Deploy.md) and follow steps.

## How to use it?

After adapting and deploying it, program is supposed to be able to recive any wished order information directly on HMI and download/update programs from/to file server only by ordering it on HMI.

HMI should be prepared for operator, the way, that involved people can freely use it.
Check the file [How_To_Use.md](/docs/How_To_Use.md) and follow steps.

## Environment Restrictions

Expand Down
26 changes: 13 additions & 13 deletions RowaConnect/Form1.cs
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ public Form1()
Connect_TB.Enabled = true;
}

private void textBox1_KeyPress(object sender, KeyPressEventArgs e) // das ist wegen IP adress, dass kan man nur Number und punkt schreiber�n
private void textBox1_KeyPress(object sender, KeyPressEventArgs e) // das ist wegen IP adress, dass kan man nur Number und punkt schreiber�n
{
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) && (e.KeyChar != '.'))
{
Expand Down Expand Up @@ -106,7 +106,7 @@ private void Connect_TB_Click(object sender, EventArgs e)
RBname = valueResponse1.Value;
Console.AppendText("[Info: " + dateNow + "] " + "Connection to " + RBname + " established, please choose a path" + System.Environment.NewLine);

// pr�f welche folder sind am Roboter
// pr�f welche folder sind am Roboter

ListDirectoryRequest request21 = new ListDirectoryRequest(@"KRC:\");
ListDirectoryResponse response21 = (ListDirectoryResponse)syncClient.SendRequest(request21);
Expand Down Expand Up @@ -227,7 +227,7 @@ private void ProgramRun_DoWork(object sender, System.ComponentModel.DoWorkEventA
{


// infinite loop f�r program
// infinite loop f�r program
for (; ; )
{
API.Subscription1();
Expand Down Expand Up @@ -279,7 +279,7 @@ private void ProgramRun_DoWork(object sender, System.ComponentModel.DoWorkEventA
ProgramDict.TryGetValue(ProgrammName, out VersDatOnRobot);

}
// wenn nicht, dann wir machen neu program f�r dictionary (neue variable)
// wenn nicht, dann wir machen neu program f�r dictionary (neue variable)
else
{
ProgramDict.Add(ProgrammName, VersDat);
Expand Down Expand Up @@ -453,7 +453,7 @@ private void ProgramRun_DoWork(object sender, System.ComponentModel.DoWorkEventA
if (Form1.ErrorNummer == 2)
{
Console.Invoke(new MethodInvoker(delegate {
Console.AppendText("[Error: " + dateNow + "]" + "Error occured while connecting to localhost:5011, check if subscription manager is on" + System.Environment.NewLine);
Console.AppendText("[Error: " + dateNow + "]" + "Error occured while connecting to 10.92.80.10:5011, check if subscription manager is on" + System.Environment.NewLine);
}));
Form1.ErrorNummer = 0;

Expand Down Expand Up @@ -681,7 +681,7 @@ public static void Answer()
{

// das ist ok
var client = new RestClient("http://localhost:1026/");
var client = new RestClient("http://10.92.80.10:1026/");
var request = new RestRequest("v2/entities/Robot1/attrs/writeOrderstatus?type=Order", Method.Put);
request.AddHeader("fiware-service", "robot_info");
request.AddHeader("fiware-servicepath", "/demo");
Expand All @@ -703,7 +703,7 @@ public static void Answer()
{

// hier ist url zu wechseln wenn neue subscription funktioniert
var client = new RestClient("http://localhost:1026/");
var client = new RestClient("http://10.92.80.10:1026/");
var request = new RestRequest("v2/entities/Robot1/attrs/writeOrderstatus?type=Order", Method.Put); // here writeOrderStatus?type=Order to writeProductstatus?type=Product
request.AddHeader("fiware-service", "robot_info");
request.AddHeader("fiware-servicepath", "/demo");
Expand All @@ -728,7 +728,7 @@ public static void GetProgramData()
{
// json lesen und data von programm nehmen

var client = new RestClient("http://localhost:1026/");
var client = new RestClient("http://10.92.80.10:1026/");
var request = new RestRequest("/v2/entities/" + Form1.OrderID);
request.AddHeader("fiware-service", "robot_info");
request.AddHeader("fiware-servicepath", "/demo");
Expand Down Expand Up @@ -777,7 +777,7 @@ public static void GetDataID()
{
// json lesen und data von programm nehmen

var client = new RestClient("http://localhost:1026/");
var client = new RestClient("http://10.92.80.10:1026/");
var request = new RestRequest("v2/entities/" + Form1.IDName, Method.Get);
request.AddHeader("fiware-service", "robot_info");
request.AddHeader("fiware-servicepath", "/demo");
Expand Down Expand Up @@ -834,7 +834,7 @@ public static void Subscription1()

// 4 sub, in falls, brauchst du neue, enfach copy paste und name wechseln

var client = new RestClient("http://localhost:5011/");
var client = new RestClient("http://10.92.80.10:5011/");
var request = new RestRequest("/Subscription1");
var response = client.Execute(request);
if (response.StatusCode == System.Net.HttpStatusCode.OK)
Expand Down Expand Up @@ -886,7 +886,7 @@ public static void Subscription1()
public static void Subscription2() // Server to robot

{
var client = new RestClient("http://localhost:5011/");
var client = new RestClient("http://10.92.80.10:5011/");
var request = new RestRequest("/Subscription2");
var response = client.Execute(request);

Expand Down Expand Up @@ -937,7 +937,7 @@ public static void Subscription2() // Server to robot
}
public static void Subscription3() // Robot to server
{
var client = new RestClient("http://localhost:5011/");
var client = new RestClient("http://10.92.80.10:5011/");
var request = new RestRequest("/Subscription3");
var response = client.Execute(request);

Expand Down Expand Up @@ -989,7 +989,7 @@ public static void Subscription4() // Auftragsnummer

{

var client = new RestClient("http://localhost:5011/");
var client = new RestClient("http://10.92.80.10:5011/");
var request = new RestRequest("/Subscription4");
var response = client.Execute(request);
if (response.StatusCode == System.Net.HttpStatusCode.OK)
Expand Down
24 changes: 24 additions & 0 deletions RowaConsoleClient/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
**/.classpath
**/.dockerignore
**/.env
**/.git
**/.gitignore
**/.project
**/.settings
**/.toolstarget
**/.vs
**/.vscode
**/*.*proj.user
**/*.dbmdl
**/*.jfm
**/bin
**/charts
**/docker-compose*
**/compose*
**/Dockerfile*
**/node_modules
**/npm-debug.log
**/obj
**/secrets.dev.yaml
**/values.dev.yaml
README.md
Binary file added RowaConsoleClient/.vs/RowaConsoleClient/v17/.suo
Binary file not shown.
Loading