ni / niveristand-scan-engine-ethercat-custom-device

Provides NI Scan Engine, EtherCAT and Remote IO support for NI VeriStand
MIT License
16 stars 22 forks source link

Enable third-party EtherCAT Slaves with Modules #249

Closed Karl-G1 closed 1 year ago

Karl-G1 commented 1 year ago

What does this Pull Request accomplish?

Scrape IOVs contained under EtherCAT Slave Modules when finding valid PDOs to read/write Add a new sub VI for code re-use in the auto-detect code Fix build errors from missing dependencies by adding flag added in https://github.com/ni/niveristand-custom-device-build-tools/pull/174

Why should this Pull Request be merged?

Potentially fix #248 Ideally the modules would be sections containing their respective channels, but the engine implementation changes would require a lot more work. Namespacing the channels with the module name was the simplest path I found.

What testing has been done?

Modified the config and engine code to allow Remote IO targets to be targeted as generic ECAT devices, then deployed to the ATS system to verify with debugging enabled in the engine build: image image

niveristand-diff-bot commented 1 year ago

Bleep bloop!

LabVIEW Diff Robot here with some diffs served up hot for your pull request.

Notice something funny? Help fix me on my GitHub repo.

SEECD Engine.lvlib--Get ECAT IOVar Data.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/ni/niveristand-scan-engine-ethercat-custom-device/PR-249/2023-04-21/19%3A36%3A50/SEECD%20Engine.lvlib--Get%20ECAT%20IOVar%20Data.vi.png)
SEECD Engine.lvlib--Get Generic Slave Data.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/ni/niveristand-scan-engine-ethercat-custom-device/PR-249/2023-04-21/19%3A36%3A50/SEECD%20Engine.lvlib--Get%20Generic%20Slave%20Data.vi.png)
SEECD Engine.lvlib--Get Generic Slave IOVars.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/ni/niveristand-scan-engine-ethercat-custom-device/PR-249/2023-04-21/19%3A36%3A50/SEECD%20Engine.lvlib--Get%20Generic%20Slave%20IOVars.vi.png)
SEECD Engine.lvlib--Get Generic Slave Module IOVars.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/ni/niveristand-scan-engine-ethercat-custom-device/PR-249/2023-04-21/19%3A36%3A50/SEECD%20Engine.lvlib--Get%20Generic%20Slave%20Module%20IOVars.vi.png)
SEECD Engine.lvlib--Get Slaves.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/ni/niveristand-scan-engine-ethercat-custom-device/PR-249/2023-04-21/19%3A36%3A50/SEECD%20Engine.lvlib--Get%20Slaves.vi.png)
SEECD System Explorer.lvlib--Add ECAT Slave from Config.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/ni/niveristand-scan-engine-ethercat-custom-device/PR-249/2023-04-21/19%3A36%3A50/SEECD%20System%20Explorer.lvlib--Add%20ECAT%20Slave%20from%20Config.vi.png)
SEECD System Explorer.lvlib--Add ECAT Variable Contents.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/ni/niveristand-scan-engine-ethercat-custom-device/PR-249/2023-04-21/19%3A36%3A50/SEECD%20System%20Explorer.lvlib--Add%20ECAT%20Variable%20Contents.vi.png)
SEECD System Explorer.lvlib--Get HW Config.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/ni/niveristand-scan-engine-ethercat-custom-device/PR-249/2023-04-21/19%3A36%3A50/SEECD%20System%20Explorer.lvlib--Get%20HW%20Config.vi.png)
SEECD System Explorer.lvlib--Host - Get ECAT Module Data.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/ni/niveristand-scan-engine-ethercat-custom-device/PR-249/2023-04-21/19%3A36%3A50/SEECD%20System%20Explorer.lvlib--Host%20-%20Get%20ECAT%20Module%20Data.vi.png)
SEECD System Explorer.lvlib--Host - Get Slaves.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/ni/niveristand-scan-engine-ethercat-custom-device/PR-249/2023-04-21/19%3A36%3A50/SEECD%20System%20Explorer.lvlib--Host%20-%20Get%20Slaves.vi.png)
SEECD System Explorer.lvlib--Host - Get Third Party ECAT IOVs.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/ni/niveristand-scan-engine-ethercat-custom-device/PR-249/2023-04-21/19%3A36%3A50/SEECD%20System%20Explorer.lvlib--Host%20-%20Get%20Third%20Party%20ECAT%20IOVs.vi.png)
niveristand-diff-bot commented 1 year ago

Bleep bloop!

LabVIEW Diff Robot here with some diffs served up hot for your pull request.

Notice something funny? Help fix me on my GitHub repo.

SEECD Engine.lvlib--Get Generic Slave IOVars.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/ni/niveristand-scan-engine-ethercat-custom-device/PR-249/2023-04-21/19%3A54%3A35/SEECD%20Engine.lvlib--Get%20Generic%20Slave%20IOVars.vi.png)
SEECD Engine.lvlib--Get Generic Slave Module IOVars.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/ni/niveristand-scan-engine-ethercat-custom-device/PR-249/2023-04-21/19%3A54%3A35/SEECD%20Engine.lvlib--Get%20Generic%20Slave%20Module%20IOVars.vi.png)
SEECD System Explorer.lvlib--Add ECAT Slave from Config.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/ni/niveristand-scan-engine-ethercat-custom-device/PR-249/2023-04-21/19%3A54%3A35/SEECD%20System%20Explorer.lvlib--Add%20ECAT%20Slave%20from%20Config.vi.png)
SEECD System Explorer.lvlib--Add ECAT Variable Contents.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/ni/niveristand-scan-engine-ethercat-custom-device/PR-249/2023-04-21/19%3A54%3A35/SEECD%20System%20Explorer.lvlib--Add%20ECAT%20Variable%20Contents.vi.png)
SEECD System Explorer.lvlib--Host - Get ECAT Module Data.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/ni/niveristand-scan-engine-ethercat-custom-device/PR-249/2023-04-21/19%3A54%3A35/SEECD%20System%20Explorer.lvlib--Host%20-%20Get%20ECAT%20Module%20Data.vi.png)
SEECD System Explorer.lvlib--Host - Get Slaves.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/ni/niveristand-scan-engine-ethercat-custom-device/PR-249/2023-04-21/19%3A54%3A35/SEECD%20System%20Explorer.lvlib--Host%20-%20Get%20Slaves.vi.png)
SEECD System Explorer.lvlib--Host - Get Third Party ECAT IOVs.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/ni/niveristand-scan-engine-ethercat-custom-device/PR-249/2023-04-21/19%3A54%3A35/SEECD%20System%20Explorer.lvlib--Host%20-%20Get%20Third%20Party%20ECAT%20IOVs.vi.png)
niveristand-diff-bot commented 1 year ago

Bleep bloop!

LabVIEW Diff Robot here with some diffs served up hot for your pull request.

Notice something funny? Help fix me on my GitHub repo.

SEECD Engine.lvlib--Get Generic Slave IOVars.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/ni/niveristand-scan-engine-ethercat-custom-device/PR-249/2023-04-25/13%3A01%3A46/SEECD%20Engine.lvlib--Get%20Generic%20Slave%20IOVars.vi.png)
SEECD Engine.lvlib--Get Generic Slave Module IOVars.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/ni/niveristand-scan-engine-ethercat-custom-device/PR-249/2023-04-25/13%3A01%3A46/SEECD%20Engine.lvlib--Get%20Generic%20Slave%20Module%20IOVars.vi.png)
SEECD System Explorer.lvlib--Add ECAT Slave from Config.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/ni/niveristand-scan-engine-ethercat-custom-device/PR-249/2023-04-25/13%3A01%3A46/SEECD%20System%20Explorer.lvlib--Add%20ECAT%20Slave%20from%20Config.vi.png)
SEECD System Explorer.lvlib--Add ECAT Variable Contents.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/ni/niveristand-scan-engine-ethercat-custom-device/PR-249/2023-04-25/13%3A01%3A46/SEECD%20System%20Explorer.lvlib--Add%20ECAT%20Variable%20Contents.vi.png)
SEECD System Explorer.lvlib--Host - Get ECAT Module Data.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/ni/niveristand-scan-engine-ethercat-custom-device/PR-249/2023-04-25/13%3A01%3A46/SEECD%20System%20Explorer.lvlib--Host%20-%20Get%20ECAT%20Module%20Data.vi.png)
SEECD System Explorer.lvlib--Host - Get Slaves.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/ni/niveristand-scan-engine-ethercat-custom-device/PR-249/2023-04-25/13%3A01%3A46/SEECD%20System%20Explorer.lvlib--Host%20-%20Get%20Slaves.vi.png)
SEECD System Explorer.lvlib--Host - Get Third Party ECAT IOVs.vi.png ![capture](https://raw.githubusercontent.com/niveristand-diff-bot/diff-images/master/ni/niveristand-scan-engine-ethercat-custom-device/PR-249/2023-04-25/13%3A01%3A46/SEECD%20System%20Explorer.lvlib--Host%20-%20Get%20Third%20Party%20ECAT%20IOVs.vi.png)