Welcome to the new Schneider Electric Community

It's your place to connect with experts and peers, get continuous support, and share knowledge.

  • Explore the new navigation for even easier access to your community.
  • Bookmark and use our new, easy-to-remember address (community.se.com).
  • Get ready for more content and an improved experience.

Contact SchneiderCommunity.Support@se.com if you have any questions.

Close
Invite a Co-worker
Send a co-worker an invite to the Exchange portal.Just enter their email address and we’ll connect them to register. After joining, they will belong to the same company.
Send Invite Cancel
84331members
353499posts

Convert Continuum Plain English into SBO Script

Archives: Building Automation and Control

PatM
Lieutenant Lieutenant
Lieutenant

Convert Continuum Plain English into SBO Script

In this video you will learn to convert an existing Continuum Plain English program into a SmartStruxure Script program. You will also learn to find a library of Plain English programs and functions on our Community site to help you get started.

Video Link : 2549

Attachments
8 Replies 8
Benji
Administrator Administrator
Administrator
0 Likes
0
406

Re: Convert Continuum Plain English into SBO Script

Any reason this is not in the main SmartStruxure sub Community rather than Area360 which is US oriented? Seems it could have value for many people.

brosa_aascontro
Lieutenant | EcoXpert Master Lieutenant | EcoXpert Master
Lieutenant | EcoXpert Master

Re: Convert Continuum Plain English into SBO Script

The lead / lag program, used in this video as an example,  does not work in StruxureWare !!!!... It only works in b3 controllers

On the 06:42 mark you say that you can read and write to a Numeric Output .. .I found this only to be true in a b3 controller

An AS cannot read from a Numeric Output ... It can only write to it !!!

Here are a couple issues I found when trying to run this program in an AS

1.  In Line 17 Point "ChWSPmpRotateA" needs to be turned on to initiate manual rotation, However this point can only be "Forced" on and therefore Line 28 could never turn this point off.

2. Line 17 reads: If (ChWSPmpRotATEA = On) then goto ROTATE_MANUAL .  After forcing ChWSPmpRotATEA on, I found that the program does not execute this line. ChWSPmpRotATEA is declared as a Numeric Output, so the AS cannot read from it.

I have been struggling with these limitations in StruxureWare. In Continuum I have always used this simple line to change lead: "If Lead <> 1 then Lead = 1 else Lead = 2"     

I cannot get this to work in a non b3 controller... If Lead is declared as a Numeric Input then it is not writable and if it is declared a Numeric Output, then it is not readable.

Vassil
Picard | EcoXpert Master Picard | EcoXpert Master
Picard | EcoXpert Master

Re: Convert Continuum Plain English into SBO Script

Bart, agreed.

It can be really confusing when it comes to AS Script vs b3 Script in SBO. Some adjustments maybe required and unfortunately considered as extra work.

Depending on what you are trying to achieve, in AS Script you can utilize Numeric Public instead of Numeric Output.

Also, you can bind the Output to an Input of the same Script for monitoring purposes.

The following example illustrates the use of the above suggestions (Note: You need to bind the DO to DO_Fdbk within the same Script)

Providing that all 3 variables type is set to Bool, toggling PUB should toggle the output and the feedback as well.

---

Numeric Input DO_Fdbk
Numeric Output DO
Numeric Public PUB

If PUB <> DO_Fdbk Then
  DO = PUB
  PUB = DO_Fdbk
Endif

Hope it helps.

brosa_aascontro
Lieutenant | EcoXpert Master Lieutenant | EcoXpert Master
Lieutenant | EcoXpert Master

Re: Convert Continuum Plain English into SBO Script

Thanks Vassil ... that was helpful

My workaround was similar to yours but more complex... your's is better

I would also declare a Numeric Input DO_Fdbk, but then I would also create a Value DO_Fdbk... Then I would bind DO to DO_Fdbk

I like your solution better.

I am still at a loss when it comes to a Numeric Public. I have run numerous test but I have never been able to read and write a Numeric Public in the same program.

In regards to your example program, the line PUB = DO_Fdbk does not work.... You state that PUB needs to be toggled.. but the only way you can do that is by "Forcing" it... but when it is forced the program cannot turn it on or off ...

I miss the good old Continuum Plain English ........

Vassil
Picard | EcoXpert Master Picard | EcoXpert Master
Picard | EcoXpert Master

Re: Convert Continuum Plain English into SBO Script

Bart, thanks for the feedback.

Not sure why the example didn't work in your case I have tested it on both ES and AS and it works fine on my end.

There is no need to "Force" the PUB variable. Just toggle the value from the dropdown as shown below

I can not attach file in this thread, but will send you a link with the xml that you can import and test.

NumericPublic.jpg

!

Vassil
Picard | EcoXpert Master Picard | EcoXpert Master
Picard | EcoXpert Master

Re: Convert Continuum Plain English into SBO Script

brosa_aascontro
Lieutenant | EcoXpert Master Lieutenant | EcoXpert Master
Lieutenant | EcoXpert Master

Re: Convert Continuum Plain English into SBO Script

When I access PUB the way you access it then I don't have to force it

But look what happens if you try to access PUB from the watch window .... Now the value is greyed out and PUB can only be forced on !!!

PUB2.png

same happens when selecting PUB from the tree ..... PUB can only be forced on

PUB1.png

Now when I select PUB through the program window it can be commanded normally

PUB3.png

Vassil
Picard | EcoXpert Master Picard | EcoXpert Master
Picard | EcoXpert Master

Re: Convert Continuum Plain English into SBO Script

Bart, from what I see on the screenshots, it seems you are duplicating the Script outputs and public numerics and binding to them.

And thus your issue.

You don't have to mirror the Public and usually they are bound to graphics as set point or other operator adjustable parameter.

I think the confusion comes from the fact that in Continuum you create all your points and they automatically become available in Plain English program within the device (i.e no need to declare and bind them)

In ES/AS Script as soon as you declare Numeric Input, Output, String, Public, etc the declared points automatically become SBO points (so to speak) and they are available for binding to graphics, I/O's, trends, and programs. Do you see the difference?