EasyBuilder Pro Version: V6.08.01.350 Build 2023.01.11
I have a Multi-State Switch that has 108 states. Under the Label section, the “Text area position” does not save when I exit the properties menu. The first 8 states always save to “Horizontal: Left” and “Vertical: Center”. But states 9-108 always revert to “Horizontal: Center” and "Vertical: Custom Position.
I tried manually changing different states and using the “Duplicate these attributes to Every State”.
I closed the program, restarted my PC, and updated to a newer version of the program. No change.
I do not have this problem with the 3 other Multi State Switches that I use that have around 20-25 states.
I tried reducing the total number of states from 108 down to 50 states. This allowed my first 12 states to now save rather than just 8. I kept reducing my total states until I got to 28, now every state will save its “Text area position”.
Please let me know if there is a work around. Thanks.
Related to this topic, is there a way to embed PLC tags into my text? I want to display timers at different intervals during my state machines progression. I did this by writing out the text in my state machine, then writing an object “If Condition” that is active when in that particular state, then placed a “Numeric Object” roughly where the text ends and giving it a hide when disabled security that corresponded to the state I wanted it to appear in.
This is the main reason I need the text to align to the left. So I can place the timers correctly.
But if there is a way where I can embed these timers into the text (similar to Factory Talk View Studio) it would be much easier to set up as well as edit and troubleshoot in the future.
Currently, a numeric value cannot be embedded into a label unless you use “Customized” display format but this does not allow for a label to be dynamic. One potential solution would be to manage state changes using a Macro instead of “Multi-State Switch”. Here is an example:
Define a macro similar to the following to handle state changes and text output: Note: An “ASCII” object will be used to output the current text.
Create a second macro to convert the numeric value of the timer into text. Set this value in one of the next word registers after the text: Note: For example, state 0 within the macro defined in step 1 is 10 characters long. This will consume 5 word register meaning the next consecutive register is LW-6.