Application Architecture
Posted: Wed Feb 19, 2014 2:51 am
Hi!
We're trying to implement a complex application, where HMI has to show data read from 16 identical industrial units.
User should have the possibility to choose the "active" unit, and everything shown on screen must refer to the selected unit.
In order to do that, we added 16 stations to the same controller. User can choose the active station using the typical dropdown component. All tags take the value of the active station.
Actually, this approach has some important limitations we cannot fix:
1. Number of stations is dynamic, and user must be able to change IP address of each at runtime (or at least for the first setup). Is it possibile to use C# to set stations IP address? The current controller configuration component seems not to be so friendly.
2. Trend Viewer cannot work properly. Due to the fact that user can change the active station, tags sometimes refers to a unit and sometimes to a different one. This means we are saving on Trend Viewer data from different units. I didn't find any way to reset Trend Viewer through C#.
3. Same for Alarm Viewer. We are receiving alarms only from the active unit, but we'd like to have different histories one for each unit.
Is our multi-station architecture totally wrong for our purpose?
The alternative would be to copy/paste tags for each unit, but the user interface development will be a nightmare!
We're trying to implement a complex application, where HMI has to show data read from 16 identical industrial units.
User should have the possibility to choose the "active" unit, and everything shown on screen must refer to the selected unit.
In order to do that, we added 16 stations to the same controller. User can choose the active station using the typical dropdown component. All tags take the value of the active station.
Actually, this approach has some important limitations we cannot fix:
1. Number of stations is dynamic, and user must be able to change IP address of each at runtime (or at least for the first setup). Is it possibile to use C# to set stations IP address? The current controller configuration component seems not to be so friendly.
2. Trend Viewer cannot work properly. Due to the fact that user can change the active station, tags sometimes refers to a unit and sometimes to a different one. This means we are saving on Trend Viewer data from different units. I didn't find any way to reset Trend Viewer through C#.
3. Same for Alarm Viewer. We are receiving alarms only from the active unit, but we'd like to have different histories one for each unit.
Is our multi-station architecture totally wrong for our purpose?
The alternative would be to copy/paste tags for each unit, but the user interface development will be a nightmare!