Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
154 commits
Select commit Hold shift + click to select a range
fb389b7
Create draft PR for #666
TomKovac Apr 11, 2025
869f648
BA=>KR
TomKovac Apr 11, 2025
9150ab5
wip
TomKovac Apr 14, 2025
e1db21c
wip
Apr 16, 2025
aa85f45
tmpu
TomKovac Apr 16, 2025
9670dfb
Merge branch 'dev' into 666-cognex-vision-pro
PTKu Apr 16, 2025
a066079
wip
TomKovac Apr 16, 2025
cc6a700
wip
TomKovac Apr 22, 2025
dbf2ce2
AxoVisionPro reset all cameras
TomKovac Apr 22, 2025
2d65ff5
AxoVisionPro reset added
TomKovac Apr 22, 2025
ca43d53
trigger
TomKovac Apr 22, 2025
223c59c
AxoVosionPro ReadResultData added
TomKovac Apr 22, 2025
2eabdb7
SendData
TomKovac Apr 22, 2025
6eab671
wip
TomKovac Apr 23, 2025
9a154c0
wip
TomKovac Apr 23, 2025
8c522db
wip
TomKovac Apr 26, 2025
224d238
wip
Apr 26, 2025
5fb3abc
16
TomKovac Apr 29, 2025
ca12139
ba2kr
TomKovac Apr 30, 2025
a335c1f
wip
Apr 30, 2025
54797bc
wip
Apr 30, 2025
b39457a
wip
Apr 30, 2025
d938eb7
wip
Apr 30, 2025
a9f37a2
wip
Apr 30, 2025
002fc56
kr2ba
Apr 30, 2025
33447ea
Merge branch 'dev' into dev666
May 5, 2025
a82dd03
wip
TomKovac May 5, 2025
50878c6
wip
TomKovac May 5, 2025
c585379
wip
TomKovac May 5, 2025
7ccaf17
wip
TomKovac May 6, 2025
e3f86f7
wip
TomKovac May 6, 2025
06f269c
wip
TomKovac May 6, 2025
ceec652
wip
TomKovac May 6, 2025
2f3fbdf
wip
TomKovac May 6, 2025
479b7b0
wip
May 6, 2025
41d86fa
wip
TomKovac May 7, 2025
6078ec2
wip
TomKovac May 13, 2025
25fcb6d
wip
TomKovac May 13, 2025
d6eda09
wip
TomKovac May 13, 2025
f0737a4
wip
TomKovac May 13, 2025
a331c45
wip
TomKovac May 13, 2025
447b347
wip
TomKovac May 13, 2025
c7c3e2e
wip
TomKovac May 13, 2025
6ca0f53
wip
TomKovac May 14, 2025
df40fb5
wip
May 14, 2025
6ba7f6e
wip
TomKovac May 14, 2025
ca30281
wip
TomKovac May 14, 2025
d1528db
wip
May 15, 2025
40dca45
wip
TomKovac May 15, 2025
fab8e01
wip
May 16, 2025
4994a0c
uk
TomKovac May 16, 2025
84b5632
wip
TomKovac May 19, 2025
fe49577
wip
TomKovac May 19, 2025
09b8090
updateCatalog
TomKovac May 20, 2025
040ed64
wip
May 20, 2025
f7accb5
wip
May 21, 2025
acd276e
wip
TomKovac May 21, 2025
d85552f
wip
TomKovac May 21, 2025
a6b1c05
cognex
May 23, 2025
6c5e8e3
cognex
May 23, 2025
b586132
Merge pull request #667 from Inxton/666-cognex-vision-pro
PTKu May 23, 2025
6daeef3
Components should use single hwid (#680)
TomKovac May 24, 2025
a2911c4
Create draft PR for #681
TomKovac May 26, 2025
5590f82
wip
May 26, 2025
7ff0596
Components abb robotics fixed conversion of real values sent and rece…
May 27, 2025
528b48e
blacklist_whitelist
May 27, 2025
281b94e
abb omnicore discover bytes order for real values (#682)
TomKovac May 27, 2025
67b0d17
bcp
May 28, 2025
ddd0dc5
Create draft PR for #683
May 28, 2025
23b6d9c
Merge branch 'tmp' into 683-components-debugging
May 28, 2025
6002081
wip
May 28, 2025
60e5673
rexroth_XCS_hw
TomKovac Jun 2, 2025
0c16837
bcp
Jun 2, 2025
2844c29
bcp
Jun 2, 2025
3add886
bcp
Jun 3, 2025
ab9eca6
bcp
TomKovac Jun 3, 2025
d3d22e2
bcp
Jun 3, 2025
b89aa10
bcp
Jun 3, 2025
7821aa5
bcp
Jun 3, 2025
856405c
bcp
Jun 4, 2025
ac9e957
bcp
Jun 5, 2025
083c5eb
wip
TomKovac Jun 5, 2025
8c393e8
Unable to use Siemens.Simatic.S71500.DistributedIO.ReadRecord
Jun 5, 2025
ca7fcb4
bcp
Jun 6, 2025
da9964f
bcp
Jun 6, 2025
e8e7f01
bcp
Jun 6, 2025
562da67
bcp
Jun 6, 2025
27b64b1
bcp
Jun 6, 2025
63f9c29
bcp
Jun 10, 2025
26e1ea9
bcp
Jun 10, 2025
2b920e4
bcp
Jun 10, 2025
7f470f7
bcp
Jun 10, 2025
a1b0b52
bcp
Jun 10, 2025
c263a9a
bcp
Jun 10, 2025
7756c1a
bcp
Jun 10, 2025
8e88835
bcp
Jun 10, 2025
8d02351
bcp
Jun 10, 2025
9a29e3e
bcp
Jun 10, 2025
f06a641
bcp
Jun 10, 2025
69b89ed
bcp
Jun 10, 2025
8c90187
bcp
Jun 10, 2025
942268d
bcp
Jun 10, 2025
e8d12b5
bcp
Jun 10, 2025
1edaab5
bcp
Jun 10, 2025
a76601e
bcp
Jun 10, 2025
c71db96
bcp
Jun 10, 2025
bb9b8cf
bcp
Jun 10, 2025
a2b066e
bcp
Jun 10, 2025
fcb34e6
bcp
Jun 10, 2025
cb9a295
bcp
Jun 10, 2025
efc7f99
bcp
Jun 10, 2025
5bbfe4e
bcp
Jun 10, 2025
bc607c2
bcp
Jun 11, 2025
b57dca6
bcp
Jun 11, 2025
2000e8b
bcp
Jun 11, 2025
db8d6d9
bcp
Jun 11, 2025
1e782c7
bcp
Jun 11, 2025
5604832
bcp
Jun 11, 2025
c5f4392
bcp
Jun 11, 2025
9dc5d97
bcp
Jun 11, 2025
39924c5
bcp
Jun 11, 2025
bcfff60
bcp
Jun 11, 2025
63863f7
bcp
Jun 12, 2025
bead107
bcp
Jun 12, 2025
349b95a
bcp
Jun 12, 2025
2753921
bcp
Jun 12, 2025
a4eb17a
bcp
Jun 16, 2025
6a04ffa
CtrlXdriveTestSequenceFunctional
Jun 16, 2025
d648eb3
CtrlXdrive_cleanup
Jun 17, 2025
3ffea19
bcp
Jun 17, 2025
cf68a7c
bcp
Jun 17, 2025
edc3615
bcp
Jun 17, 2025
605d78c
bcp
Jun 17, 2025
75fc72c
bcp
Jun 18, 2025
9e0c91b
bcp
Jun 18, 2025
c187f3d
bcp
Jun 18, 2025
c53451f
bcp
Jun 19, 2025
df38036
bcp
Jun 19, 2025
a4d9be2
x
TomKovac Jun 19, 2025
1b17c0c
bcp
Jun 19, 2025
544078a
bcp
Jun 19, 2025
96901d3
bcp
Jun 19, 2025
e4dd883
Rdy2merge
TomKovac Jun 19, 2025
9fbfbdf
bcp
TomKovac Jun 20, 2025
3e17261
Same addresing as in TiaPortal
Jun 27, 2025
1dddcb9
bcp
Jul 2, 2025
d457cde
bcp
TomKovac Jul 4, 2025
013b455
bcp
TomKovac Jul 4, 2025
4b933ad
bcp
Jul 4, 2025
428d8bc
bcp
Jul 4, 2025
a9ffffe
bcp
TomKovac Jul 7, 2025
3c28fad
Merge pull request #684 from Inxton/683-components-debugging
PTKu Jul 9, 2025
5ab7a7b
cognex
TomKovac Jul 10, 2025
9058e7e
Revert "cognex"
PTKu Jul 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
21 changes: 21 additions & 0 deletions COMPONENTS_BLACKLIST.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# COMPONENTS BLACKLIST

**LIST OF COMPONENTS THAT MUST NOT BE USED**

| **SUPPLIER** | **TYPE** | **DESCRIPTION** | **REASON** | **ALTERNATIVE** |
|--------------|----------|-----------------|------------|------------------|
| Siemens | PLC series 12xx, 1510 to 1515 | PLC | Cannot use our sequencer, our components, or technology objects for Siemens frequency converters. Small memory, only one network card. | Siemens 1516, 1517, 1518 V4.0+ |
| Siemens | PLC with firmware lower then 4.0 | PLC | Not suitable for high communication load | Siemens 1516, 1517, 1518 V4.0+ |
| ANY | IOlink device | IOlink master or slave | No support for IOlink in Simatic AX | Siemens ET200AL boxes DI/AI boxes |
| Siemens | any old HMI Panels except Unified with firmware 20.2+ | HMI Panel | Has to be capable to open browser that supports .NET8, I guess | Unified with firmware 20.2+ at least 20inch at least 1920*1080 resolution |
| Festo with Siemens PLC | Pneumatic manifolds with EtherCAT | Pneumatic manifolds with EtherCAT | Siemens does not support EtherCAT bus | Festo manifolds with PROFINET |
| Aventics with Siemens PLC | Pneumatic manifolds with EtherCAT | Pneumatic manifolds with EtherCAT | Siemens does not support EtherCAT bus | Aventics manifolds with PROFINET |
| Cognex | Insight with firmware lower then 24.0.0 | Insight family | Communication structure does not fit the somponent structure | Insight with firmware higher then 24.0.0 or Keyence :-) |
| ANY | GW INSTEK - PSP-2010 | LABORATORY POWER SUPPLY | UNRELIABLE COMMUNICATION. REQUIRES ADDITIONAL 12V SUPPLY TO USE RS232 INTERFACE | TTi QL355 |
| ANY | WD My Cloud EX2 | Network Drive, NAS | Cannot schedule shutdown via UPS | Synology DiskStation DS216j 2x 1 TB RED |
| IAI | ALL | (!) Intelligent Actuators | Each type is different, very poor support, each has different parameterization, inconsistent software for control, inconsistent connection cables, inconsistent parameters... | Rexroth, Festo, Schneider |
| ANY | Fujitsu | Network Drive, NAS | Slow service startup, ping issues after standby and startup. Could not be pinged after link activation | Synology DiskStation DS218+, 2x HDD |
| Ateq | Ateq with RS232 | Leak Tester | Our component is not adapted for it(1), requires additional serial card | Ateq with PROFINET, or Ateq without results (OK/NOK only) |
||

(1) Development would take up our precious time, hence it is inefficient for us.
24 changes: 24 additions & 0 deletions COMPONENTS_WHITELIST.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# COMPONENTS WHITELIST

**List of components that could be used.**

| **SUPPLIER** | **TYPE** | **DESCRIPTION** | **REASON** | **NOTE** |
|--------------|----------|------------------|------------|----------|
| Siemens | PLC series 1516 to 1518 with FW4.0 and higher, excluding failsafe | PLC | | |
| Siemens | ET200SP excluding IOLINK | IO | | |
| Siemens | ET200AL excluding IOLINK | IO | | |
| ABB | IRB series robots with Omnicore controller | 6 axis robots | | |
| ABB | IRB series robots with IRC5 controller | 6 axis robots | | Already written, not yet tested with real hardware |
| Cognex | Dataman series with FW6.0 | Barcode scanner | | |
| Cognex | Insight series with FW24.0 | Camera | | |
| Cognex | Insight series with FW6.0 | Camera | | Already written, not yet tested with real hardware |
| Desoutter | CVIC_II | Tightening system | | Already written, not yet tested with real hardware |
| Festo | CmmtAs | Servodrive | | Torque mode not yet tested with real hardware |
| Keyence | SR750, SR1000 | Barcode scanner | | Already written, not yet tested with real hardware |
| KUKA | Robots with Krc4 controller with FW5.0 | 6 axis robots | | Already written, not yet tested with real hardware |
| Mitsubishi | Robots with Cr800 controller with FW1.0 | 6 axis robots | | Already written, not yet tested with real hardware |
| Rexroth | Indradrive | Servodrive | | Already written, not yet tested with real hardware |
| Rexroth | SmartFunctionKit | Servopress | | Already written, not yet tested with real hardware |
| Rexroth | CS351 | Tightening system | | |
| UR | Robots with Cb3 controller with FW3.0 | 6 axis robots | | Already written, not yet tested with real hardware |
| Synology | Synology DiskStation DS216j 2x 1 TB RED | Network drive, NAS | Wide range of settings (UPS, protocols, etc.) | |
95 changes: 73 additions & 22 deletions cake/ApaxTraversal.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;
using YamlDotNet.Core;
using YamlDotNet.RepresentationModel;
using YamlDotNet.Serialization;
using YamlDotNet.Serialization.NamingConventions;
using Path = Cake.Core.IO.Path;
Expand Down Expand Up @@ -85,35 +87,84 @@ private static void CollectApaxFileInfoRecursively(string directoryPath, List<st

private static void CreateDependenciesFile(List<ApaxFileInfo> dependencies, string filePath)
{
var serializer = new SerializerBuilder()
.WithNamingConvention(CamelCaseNamingConvention.Instance) // Adjust this as per your desired YAML file's naming convention
.Build();
//var serializer = new SerializerBuilder()
// .WithNamingConvention(CamelCaseNamingConvention.Instance) // Adjust this as per your desired YAML file's naming convention
// .Build();

var dependenciesDictionary = new Dictionary<string, string>();
//var dependenciesDictionary = new Dictionary<string, string>();

//foreach (var dependency in dependencies.Where(p => p.Name != "apax.traversal"
// && p.Name != "@inxton/ax-sdk"
// && !p.Name.EndsWith("-test")
// && p.Name != "inxton"))
//{
// if (!dependenciesDictionary.ContainsKey(dependency.Name))
// {
// dependenciesDictionary.Add(dependency.Name , dependency.Version);
// }
//}

//var yamlContent = serializer.Serialize(new { name = "apax.traversal",
// version = "0.0.0-dev.0",
// type = "app",
// targets = new string[] {"\"1500\""},
// registries = new Dictionary<string, string>()
// { {"@inxton", "https://npm.pkg.github.com/"} },
// devDependencies = new Dictionary<string, string>()
// { {"@inxton/ax-sdk", dependencies.First(p => p.Name == "@inxton/ax-sdk").Version} },
// dependencies = dependenciesDictionary,
// installStrategy = "overridable"});

foreach (var dependency in dependencies.Where(p => p.Name != "apax.traversal"
&& p.Name != "@inxton/ax-sdk"
&& !p.Name.EndsWith("-test")
&& p.Name != "inxton"))
//File.WriteAllText(filePath, yamlContent);

var dependenciesDictionary = new Dictionary<string, string>();
foreach (var dependency in dependencies.Where(p =>
p.Name != "apax.traversal" &&
p.Name != "@inxton/ax-sdk" &&
!p.Name.EndsWith("-test") &&
p.Name != "inxton"))
{
if (!dependenciesDictionary.ContainsKey(dependency.Name))
{
dependenciesDictionary.Add(dependency.Name , dependency.Version);
dependenciesDictionary.Add(dependency.Name, dependency.Version);
}
}

var yamlContent = serializer.Serialize(new { name = "apax.traversal",
version = "0.0.0-dev.0",
type = "app",
targets = new string[] {"llvm"},
registries = new Dictionary<string, string>()
{ {"@inxton", "https://npm.pkg.github.com/"} },
devDependencies = new Dictionary<string, string>()
{ {"@inxton/ax-sdk", dependencies.First(p => p.Name == "@inxton/ax-sdk").Version} },
dependencies = dependenciesDictionary,
installStrategy = "overridable"});

File.WriteAllText(filePath, yamlContent);

// Build YAML manually with correct quoting
var yaml = new YamlStream();
var root = new YamlMappingNode
{
{ "name", new YamlScalarNode("apax.traversal") { Style = ScalarStyle.DoubleQuoted } },
{ "version", new YamlScalarNode("0.0.0-dev.0") { Style = ScalarStyle.DoubleQuoted } },
{ "type", new YamlScalarNode("app") { Style = ScalarStyle.DoubleQuoted } },
{ "targets", new YamlSequenceNode(new YamlScalarNode("1500") { Style = ScalarStyle.DoubleQuoted }) },
{ "registries", new YamlMappingNode
{
{ "@inxton", new YamlScalarNode("https://npm.pkg.github.com/") { Style = ScalarStyle.DoubleQuoted } }
}
},
{ "devDependencies", new YamlMappingNode
{
{ "@inxton/ax-sdk", new YamlScalarNode(dependencies.First(p => p.Name == "@inxton/ax-sdk").Version) { Style = ScalarStyle.DoubleQuoted } }
}
},
{ "dependencies", new YamlMappingNode(
dependenciesDictionary.Select(kv =>
new KeyValuePair<YamlNode, YamlNode>(
new YamlScalarNode(kv.Key) { Style = ScalarStyle.DoubleQuoted },
new YamlScalarNode(kv.Value) { Style = ScalarStyle.DoubleQuoted }
)
)
)},
{ "installStrategy", new YamlScalarNode("overridable") { Style = ScalarStyle.DoubleQuoted } }
};

yaml.Documents.Add(new YamlDocument(root));

using (var writer = new StreamWriter(filePath))
{
yaml.Save(writer, assignAnchors: false);
}
}

public static void CreateApaxTraversal(this BuildContext context, string dir, string outputFile)
Expand Down
14 changes: 9 additions & 5 deletions scripts/_pack_and_publish_catalog.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -55,11 +55,7 @@ if (Test-Path -Path $catalogAbsPath)

# Get all .tgz files in the folder, there should be just one, currently generated
$Files = Get-ChildItem -Path $catalogAbsPath -Filter "*.tgz"
if($Files.Count -ne 1)
{
Write-Host "Error: Several *.tgz files found in the directory $catalogAbsPath." -ForegroundColor Red
}
else
if($Files.Count -eq 1)
{
$catalogFileName = $Files[0].Name

Expand All @@ -80,6 +76,14 @@ if (Test-Path -Path $catalogAbsPath)
Write-Host "Error: $publishResult[0]: $publishResult[1]" -ForegroundColor Red
}
}
elseif ($Files.Count -ge 1)
{
Write-Host "Error: Several *.tgz files found in the directory $catalogAbsPath." -ForegroundColor Red
}
else
{
Write-Host "Error: No *.tgz files found in the directory $catalogAbsPath." -ForegroundColor Red
}
Remove-Item -Path $Files[0].FullName -Force

}
Expand Down
2 changes: 1 addition & 1 deletion scripts/check_requisites.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ $dotNetWingetInstall = "Microsoft.DotNet.SDK.9 --version 9.0.100"

$visualStudioRequiredVersionRange = "[17.8.0,18.0)";

$apaxRequiredVersion = "3.4.2"
$apaxRequiredVersion = "3.5.0"
$apaxUrl = "https://console.simatic-ax.siemens.io/"
$axCodeRequiredVersion = "1.94.2"

Expand Down
Loading
Loading