Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
113 commits
Select commit Hold shift + click to select a range
43f7326
Create draft PR for #256
PTKu Oct 10, 2023
3d5eb8f
again paths, paths and paths.... :(
PTKu Oct 11, 2023
a6473ef
again paths, paths and paths.... :(
PTKu Oct 11, 2023
e2df51a
Merge branch 'dev' into 256-_TEMPLATE_Template_Simple_needs_additiona…
PTKu Oct 11, 2023
e55be8b
messenger and logger optimization
PTKu Oct 11, 2023
63aca23
performance improvements
PTKu Oct 11, 2023
918bae4
test fix where improper context mock implementation
PTKu Oct 11, 2023
198a88b
adjust template.simple config + additions
PTKu Oct 12, 2023
36b56a7
adjust template.simple config + additions
PTKu Oct 12, 2023
0f1cf68
_axoContext
Oct 12, 2023
f90f67a
THIS._context_ in inherrited object to _context_
Oct 12, 2023
62a7ef3
THIS.GetContext() work in tasks with property _context_
Oct 12, 2023
9f285a2
seq, axotask, axoobj
Oct 13, 2023
e7b35ea
sequncer init steps
Oct 13, 2023
a6030e3
getContextUnsafe()
Oct 13, 2023
18efe1a
ignore
Oct 13, 2023
cfbbbbf
adjusts to lates AX# update
PTKu Oct 16, 2023
27ae541
cylinder init when context is nulll
Oct 16, 2023
e8976dd
task execute optimalization
Oct 16, 2023
e9a6a83
cylinder init fix
Oct 16, 2023
758808d
axo task inline
Oct 16, 2023
a037150
axo task clean up
Oct 16, 2023
232efa3
updates to AX# 0.15.0-alpha.159
PTKu Oct 16, 2023
67f967c
Merge branch '256-_TEMPLATE_Template_Simple_needs_additional_testing_…
Oct 16, 2023
58fd17d
messanger on conditition
Oct 16, 2023
771ea31
AxoCylinder optimize
Oct 16, 2023
0e1e0f6
axo task status
Oct 17, 2023
99bf9ab
fix axotask
Oct 17, 2023
8b64196
sequencer optimalization
Oct 17, 2023
d84c916
sequncer cast
Oct 17, 2023
391bf81
var for opencycle count
Oct 17, 2023
b6798a5
step inline calls
Oct 17, 2023
dd26af9
fixing axostep
Oct 17, 2023
b8c14f4
AxoCylinder initialize only with AxoObject
Oct 18, 2023
199a443
investigation for cylinder speed up
Oct 18, 2023
e0d09f6
wip for synch
PTKu Oct 18, 2023
d00be49
Merge branch '256-_TEMPLATE_Template_Simple_needs_additional_testing_…
PTKu Oct 18, 2023
d518a1c
axo dataman performance opt.
Oct 18, 2023
ed30f5b
AxoDataman - go back
Oct 18, 2023
beae7d6
axodatatman optimized just object init
Oct 18, 2023
74d6d7d
axocomponent inlining
Oct 18, 2023
dffd9c0
AxoInsight optimalization - init of objects
Oct 18, 2023
e9ec7c6
axo messanger inline optimalization
Oct 18, 2023
4e8669d
fix cylinder app
Oct 18, 2023
ce6b864
serve clean
Oct 19, 2023
8ff88a9
sets dotnet to 7.0.402
LukasKytka Oct 19, 2023
c406d9f
Merge branch '256-_TEMPLATE_Template_Simple_needs_additional_testing_…
LukasKytka Oct 19, 2023
a805dab
Merge branch '256-_TEMPLATE_Template_Simple_needs_additional_testing_…
PTKu Oct 19, 2023
e9a8a07
updates ax# packages and remover -L due to apax 2
PTKu Oct 23, 2023
22b9610
fix an issue with string interpolation in remote task
PTKu Oct 23, 2023
6b20456
[wip] improvements to messaging add new UI
PTKu Oct 23, 2023
05e81e5
nesting depth reduction in data
PTKu Oct 23, 2023
cd37bcd
nesting depth redution in inspectors
PTKu Oct 23, 2023
67284f3
template simple refactoring
PTKu Oct 23, 2023
b5b9925
various asps
PTKu Oct 23, 2023
f4b4d37
additional fixies to axomessenger
PTKu Oct 23, 2023
6ec6034
asp
PTKu Oct 23, 2023
674b207
fixes an issue in log dequeue missing await
PTKu Oct 24, 2023
06a5d0e
fix some issues with data in template.simple
LukasKytka Oct 24, 2023
56a5096
Merge branch '256-_TEMPLATE_Template_Simple_needs_additional_testing_…
LukasKytka Oct 24, 2023
8eec1d7
additional visual improvement on AxoComponent and AxoMessenger details
LukasKytka Oct 24, 2023
cd08838
various template.simple additions
PTKu Oct 25, 2023
82b93da
add remote data handling for starer unit
LukasKytka Oct 25, 2023
dc3d33e
optimalization in Digital and Analog signals
Oct 25, 2023
550f572
adds guiding feature to templates
PTKu Oct 25, 2023
c8f2f07
Merge branch '256-_TEMPLATE_Template_Simple_needs_additional_testing_…
PTKu Oct 25, 2023
3cb83b7
asp
PTKu Oct 25, 2023
e5c9f1c
Create draft PR for #262
Brano5 Oct 25, 2023
8388ec5
Add Draggable project, with all component for draggable items
Brano5 Oct 25, 2023
7ea3763
Add readme
Brano5 Oct 25, 2023
54663c2
Using mongo repo
Oct 26, 2023
b30352a
mono ref in twin, init repo on server side
Oct 26, 2023
b44b4fb
add proj ref to server app
Oct 26, 2023
6ff84c6
entityData, UnitHeader, estations
Oct 26, 2023
8e66f17
unit process data
Oct 26, 2023
345ef78
snippets
Oct 26, 2023
2ebf483
Changes in Draggable - added more customizing option. Updated readme
Brano5 Oct 26, 2023
4db7c9d
context initialize entity repository
Oct 26, 2023
fe99446
unit template razor fix
Oct 26, 2023
acc5475
template service fix
Oct 26, 2023
87501b2
repository extension
Oct 27, 2023
e1fc31d
code tour
Oct 27, 2023
6e3df63
split settings and data
Oct 27, 2023
ecd2cdf
Unit tour
Oct 27, 2023
8c0240c
added technology data on plc side
Oct 27, 2023
44634a3
try to fix tech data
Oct 27, 2023
a575ff0
fix unit template service init
Oct 27, 2023
3fdf825
fix tour
Oct 30, 2023
1c1dec6
fix template services
Oct 30, 2023
19f6266
tech settings to navigation menu
Oct 30, 2023
19fe570
technology data view
Oct 30, 2023
61475e2
starter unit technology data
Oct 30, 2023
9a93d2d
technology data in ground and auto seq
Oct 30, 2023
3718e75
fix technology data in template.simple
PTKu Oct 31, 2023
67cd45f
Rename to VisualComposer.
Brano5 Nov 2, 2023
8b84d73
synch with visual composer
PTKu Nov 2, 2023
c570020
add visual composer to template
PTKu Nov 2, 2023
f462a6c
Unit object in unit
Nov 3, 2023
89400e6
Merge remote-tracking branch 'origin/256-and-visual-composer' into 25…
Nov 3, 2023
5045de1
UnitObject as a public class
Nov 3, 2023
802547b
Components member fix in Unit
Nov 3, 2023
2d8304a
UnitTemplate - init repositories, naming
Nov 3, 2023
4a02d2b
mybrandnewapplication
PTKu Nov 3, 2023
5332dc8
Merge branch 'dev' into 256-_TEMPLATE_Template_Simple_needs_additiona…
PTKu Nov 4, 2023
5cdb502
Merge branch 'dev' into 256-_TEMPLATE_Template_Simple_needs_additiona…
PTKu Nov 6, 2023
d35674d
checks for apax.yml existence in dirs
PTKu Nov 7, 2023
11ae78c
Merge branch '256-_TEMPLATE_Template_Simple_needs_additional_testing_…
PTKu Nov 7, 2023
e21659a
Create draft PR for #222
TomKovac Nov 9, 2023
9969ca2
disable paralel build
TomKovac Nov 9, 2023
bfca95d
Merge branch '256-_TEMPLATE_Template_Simple_needs_additional_testing_…
TomKovac Nov 9, 2023
56fe45c
Abbility to abort task remotely disabled by default
TomKovac Nov 9, 2023
761f5a1
merge with dev
PTKu Nov 10, 2023
813ab80
asp
PTKu Nov 10, 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
2 changes: 1 addition & 1 deletion scripts/test_L1.ps1
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# run build

dotnet run --project cake/Build.csproj --do-test --test-level 1
dotnet run --project cake/Build.csproj --do-test --test-level 1 -x
exit $LASTEXITCODE;
6 changes: 3 additions & 3 deletions src/components.drives/app/ix-blazor/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@

Entry.Plc.Connector.SubscriptionMode = ReadSubscriptionMode.Polling;
Entry.Plc.Connector.BuildAndStart().ReadWriteCycleDelay = 250;
Entry.Plc.Connector.ConcurrentRequestMaxCount = 4;
Entry.Plc.Connector.ConcurrentRequestDelay = 100;
Entry.Plc.Connector.ConcurrentRequestMaxCount = 4;
Entry.Plc.Connector.ConcurrentRequestDelay = 100;
Entry.Plc.Connector.SetLoggerConfiguration(new LoggerConfiguration()
.WriteTo
.Console()
Expand Down Expand Up @@ -105,4 +105,4 @@ public static List<Role> CreateRoles()
public const string process_settings_access = nameof(process_settings_access);
public const string process_traceability_access = nameof(process_traceability_access);
public const string can_skip_steps_in_sequence = nameof(can_skip_steps_in_sequence);
}
}
76 changes: 74 additions & 2 deletions src/core/ctrl/src/AxoTask/AxoTask.st
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,8 @@ NAMESPACE AXOpen.Core
{#ix-set:Help = "<#Check task calling in the code, task is called more then once.#>"}
_MultipleExecuteIsCalled : AXOpen.Messaging.Static.AxoMessenger;
_SuspendMultipleExecuteCallCheck : BOOL := FALSE;
_RemoteRestoreEnabled : BOOL := TRUE;
_RemoteAbortEnabled : BOOL := FALSE;
END_VAR

///<summary>
Expand Down Expand Up @@ -417,8 +419,16 @@ NAMESPACE AXOpen.Core

IF(_context_ = NULL) THEN RETURN; END_IF;
IF( RemoteInvoke) THEN THIS.Invoke(); RemoteInvoke := FALSE; END_IF;
IF( RemoteRestore) THEN THIS.Restore(); RemoteRestore := FALSE; END_IF;
IF( RemoteAbort) THEN THIS.Abort(); RemoteAbort := FALSE; END_IF;
IF _RemoteRestoreEnabled THEN
IF( RemoteRestore) THEN THIS.Restore(); RemoteRestore := FALSE; END_IF;
ELSE
RemoteRestore := FALSE;
END_IF;
IF _RemoteAbortEnabled THEN
IF( RemoteAbort ) THEN THIS.Abort(); RemoteAbort := FALSE; END_IF;
ELSE
RemoteAbort := FALSE;
END_IF;
IF( RemoteResume) THEN THIS.Resume(); RemoteResume := FALSE; END_IF;

_MultipleExecuteIsCalled.Serve(THIS);
Expand All @@ -431,6 +441,7 @@ NAMESPACE AXOpen.Core
END_IF;
END_IF;
_openCycleCountExecute := _openCycleCount;


// If the Invoke() method was called in more then one PLC cycle back without calling the Execute() method
// and the Execute() is subsequently called without calling the Invoke() method in the same PLC cycle,
Expand Down Expand Up @@ -479,6 +490,7 @@ NAMESPACE AXOpen.Core
END_IF;
END_IF;

THIS.UpdateState();
Execute := Status = eAxoTaskState#Busy;

_taskTimer.OnDelay(THIS, Execute, LT#99999D);
Expand Down Expand Up @@ -570,6 +582,66 @@ NAMESPACE AXOpen.Core
END_IF;
END_METHOD

///<summary>
/// Sets the remote restore functionality based on the provided input.
/// Enables or disables remote restoration based on the value of the 'Enable' parameter.
///</summary>
///<param name="Enable">A boolean value indicating whether remote restore functionality should be enabled (TRUE) or disabled (FALSE).</param>
///<remarks>
/// This method allows dynamic control over the ability to perform remote restoration tasks.
/// When enabled, remote restoration functionality is activated, allowing tasks to be restored remotely.
/// When disabled, remote restoration functionality is deactivated, preventing tasks from being restored remotely.
///</remarks>
METHOD PUBLIC SetRemoteRestoreEnabled
VAR_INPUT
Enable : BOOL; // Input parameter to enable or disable remote restore.
END_VAR
_RemoteRestoreEnabled := Enable; // Assign the input value to the variable.
END_METHOD

///<summary>
/// Retrieves the current status of remote restore functionality.
///</summary>
///<returns>A boolean value indicating whether remote restore functionality is enabled (TRUE) or disabled (FALSE).</returns>
///<remarks>
/// This method provides the current status of remote restore functionality.
/// It returns TRUE if remote restoration is enabled, allowing tasks to be restored remotely.
/// It returns FALSE if remote restoration is disabled, preventing tasks from being restored remotely.
///</remarks>
METHOD PUBLIC GetRemoteRestoreEnabled : BOOL
GetRemoteRestoreEnabled := _RemoteRestoreEnabled; // Returns the current status of remote restore functionality.
END_METHOD

///<summary>
/// Sets the remote abort functionality based on the provided input.
/// Enables or disables remote abort based on the value of the 'Enable' parameter.
///</summary>
///<param name="Enable">A boolean value indicating whether remote abort functionality should be enabled (TRUE) or disabled (FALSE).</param>
///<remarks>
/// This method allows dynamic control over the ability to perform remote abort tasks.
/// When enabled, remote abort functionality is activated, allowing tasks to be aborted remotely.
/// When disabled, remote abort functionality is deactivated, preventing tasks from being aborted remotely.
///</remarks>
METHOD PUBLIC SetRemoteAbortEnabled
VAR_INPUT
Enable : BOOL; // Input parameter to enable or disable remote abort.
END_VAR
_RemoteAbortEnabled := Enable; // Assign the input value to the variable.
END_METHOD

///<summary>
/// Retrieves the current status of remote abort functionality.
///</summary>
///<returns>A boolean value indicating whether remote abort functionality is enabled (TRUE) or disabled (FALSE).</returns>
///<remarks>
/// This method provides the current status of remote abort functionality.
/// It returns TRUE if remote abort is enabled, allowing tasks to be aborted remotely.
/// It returns FALSE if remote abort is disabled, preventing tasks from being aborted remotely.
///</remarks>
METHOD PUBLIC GetRemoteAbortEnabled : BOOL
GetRemoteAbortEnabled := _RemoteAbortEnabled; // Returns the current status of remote abort functionality.
END_METHOD

///<summary>
/// Executes once when the task is aborted.
///</summary>
Expand Down
90 changes: 90 additions & 0 deletions src/core/ctrl/test/AxoTask/AxoTaskTests.st
Original file line number Diff line number Diff line change
Expand Up @@ -897,5 +897,95 @@ NAMESPACE AXOpen.Core.AxoTask_Tests
// Act/Assert
Assert.Equal(FALSE, myTask.GetSuspendMultipleExecuteCallCheckState());
END_METHOD
{Test}
METHOD PUBLIC task_should_stay_at_busy_state_and_remote_abort_signal_should_be_reseted_as_the_abbility_to_abort_task_is_disabled_by_default
THIS.Initialize();
_context.Open();
myTask.Invoke();
myTask.Execute();
myTask.RemoteAbort := TRUE;
_context.Close();

THIS.Initialize();
_context.Open();
myTask.Invoke();
myTask.Execute();
Assert.Equal(TRUE,myTask.IsBusy());
Assert.Equal(FALSE,myTask.RemoteAbort);
Assert.Equal(FALSE,myTask.GetRemoteAbortEnabled());
END_METHOD

{Test}
METHOD PUBLIC task_should_be_aborted
THIS.Initialize();
_context.Open();
myTask.Invoke();
myTask.Execute();
myTask.SetRemoteAbortEnabled(TRUE);
myTask.RemoteAbort := TRUE;
_context.Close();

THIS.Initialize();
_context.Open();
myTask.Invoke();
myTask.Execute();
Assert.Equal(TRUE,myTask.IsAborted());
Assert.Equal(FALSE,myTask.RemoteAbort);
Assert.Equal(TRUE,myTask.GetRemoteAbortEnabled());
END_METHOD

{Test}
METHOD PUBLIC task_should_be_restored
THIS.Initialize();
_context.Open();
myTask.Invoke();
myTask.Execute();
myTask.RemoteRestore := TRUE;
_context.Close();

THIS.Initialize();
_context.Open();
myTask.Invoke();
myTask.Execute();
Assert.Equal(FALSE,myTask.IsBusy());
Assert.Equal(TRUE,myTask.IsReady());
Assert.Equal(FALSE,myTask.RemoteAbort);
Assert.Equal(TRUE,myTask.GetRemoteRestoreEnabled());
END_METHOD

{Test}
METHOD PUBLIC task_should_not_be_restored_as_the_remote_restore_is_disabled
THIS.Initialize();
_context.Open();
myTask.Invoke();
myTask.Execute();
myTask.SetRemoteRestoreEnabled(FALSE);
myTask.RemoteRestore := TRUE;
_context.Close();

THIS.Initialize();
_context.Open();
myTask.Invoke();
myTask.Execute();
Assert.Equal(TRUE,myTask.IsBusy());
Assert.Equal(FALSE,myTask.IsReady());
Assert.Equal(FALSE,myTask.RemoteAbort);
Assert.Equal(FALSE,myTask.GetRemoteRestoreEnabled());
END_METHOD

{Test}
METHOD PUBLIC task_should_not_be_remotely_abortable_by_default
THIS.Initialize();
_context.Open();
Assert.Equal(FALSE,myTask.GetRemoteAbortEnabled());
END_METHOD

{Test}
METHOD PUBLIC task_should_be_remotely_restorable_by_default
THIS.Initialize();
_context.Open();
Assert.Equal(TRUE,myTask.GetRemoteRestoreEnabled());
// Assert.Equal(TRUE,FALSE);
END_METHOD
END_CLASS
END_NAMESPACE
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
using Serilog;
using AXSharp.Presentation.Blazor.Controls.RenderableContent;
using System.Collections.Generic;
using AXOpen.ToolBox.Extensions;

namespace AXOpen.Core
{
Expand Down
12 changes: 0 additions & 12 deletions src/core/src/AXOpen.Core/Flattener.cs

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
@using AXOpen.Core
@using AXOpen.Core.Blazor.Culture
@using AXOpen.Messaging.Static
@using AXOpen.ToolBox.Extensions
@inherits RenderableComplexComponentBase<AXSharp.Connector.ITwinObject>


Expand Down