Studio 5000- Describe SSV?

AutomationTechBrian

Lifetime Supporting Member
Join Date
Jul 2013
Location
St. Cloud, MN
Posts
669
I'm picking apart an existing machine file tonight, and I'm curious about a command I haven't used yet... SSV. I did a screen print of a portion I'm working through to give a bigger picture of the program structure. This seems to be some kind of pre-established structure, since there's a label at the top of the page that says:

*********************
Company: Rockwell Automation
Function: PACK ML State Machine
Autor: Rockwell Automation
Date Updated: February 2012

Version Comments:
*********************

I'm hoping someone recognizes this structure and can talk-through why this looks like a pre-built machine state program... like a 'fill in the blank' type of file.

Also, have you used SSV before? I read the description, but it seems lacking in explaining how or when it would be used.

SetSystemValue.png
 
Set System Value is a command that, as its name implies, is used to set system parameters. For example, in a program that uses QuickConnect devices, you use SSV to close an IO connection of (or to inihibit) the device prior to powering off the QuickConnect devices. The opposite of SSV is GSV or get system value. SST is a complex command that allows the application to control the PLC at system level.
 
Yes, but I'm struggling with the 'why' I would want to set a system value, like the 'DisableFlag'. What's the difference between that and putting a XIC before the JSR? It doesn't make logical sense to me... I don't understand why this command would be used. It just hasn't connected in my head yet.

This part of the program is just setting either manual or automatic mode. Manual mode just enables the 'jog' function in the VFD, used for setting up the machine.
 
OK, I am not an expert on all the things that can be done with SSV. I explained the one example that I do know, which is a scanner application for QuickConnect supporting devices, which requires inhibiting and de-inhibiting devices so the QC application can work. This only can be done through SSV. Since SSV can do so many other things, let's hope someone else can provide additional examples which may be closer to your requirements.
 
I'm OK for the moment. What I meant by that is that I don't see the full affect of what that command actually does in this instance. I need a example... something to relate to. I see that this is some kind of canned application, which has been used to create different machine states, and that SSV is there in case it's needed. I find that interesting, and will probably re-visit this some time in the future. Right now, there is a time constraint, and I have to stay on-task. I suspect his canned application might be common for some of you guys, but this is the first time I've come across it in the field.

What I realize is that there are several functions in this canned application, like this SSV, that are present, but are not being utilized. It shouldn't affect anything to just leave it alone. From the way it's written, it has something to do with changing values whether the machine is in manual or automatic mode.

I'm still interested in knowing if anyone else has seen this type of canned application, or has personally used something like this. I need to explore this some more sometime.
 
Also, have you used SSV before? I read the description, but it seems lacking in explaining how or when it would be used.

Are you asking about SSV in general or this use in particular?

In general, SSV (and GSV) are used to programmatically access internal controller and module information and properties.

I don't personally have much call for SSV, the one use I can think of offhand that I do have is automatically adjusting the clock for DST on isolated systems (I use Rockwell's AOP, but it uses an SSV). I see GSV quite a bit more, for example monitoring the state of remote I/O modules.



The usage here is to disable/enable an entire program. As cardosocea refers to, that's program not merely routine. While this may be similar in effect to having an XIC before every JSR in the main routine (with no actual logic beyond JSRs present), I can see a couple obvious differences (beyond trivial ones eg impact on scan time).

First, it will continue to function and enable/disable the program even if someone comes along later and adds subroutines without the XIC.

Second, the now-inhibited program will not be affected by the pre-scan. It will remain in its last state, not resetting OTEs when entering run mode.
 
Searching and reading about PackML or ISA88 or ISA95 will make things clearer as that is what that is doing now. Programs started as EM are equipment modules and OP seems to be Operating Phases, although they are usually called Equipment Phases. A lot of people here should have seen this style of programming.

A good manual to understand this under Rockwell is actually PhaseManager's or SequenceManager's or PlantPAX5's.

PlantPAX already brings these canned modules where you can configure them (with ACM, or be in for a treat of navigating extended properties).

The SSV is there for you to swap between two operation modes (Manual and Automatic). Go to your navigation bar on the side, right click and choose Program Properties, go to Configuration and click Inhibit and that is what that instruction is doing.
 

Similar Topics

Hi Everyone. Not posted on here for a long time, but I am hoping someone can help me. I am doing a differential pressure calculation in a L27ERM...
Replies
15
Views
230
Hi, how do I convert 2x Integer registers to a Real? The two integers are from Modbus registers that contain a floating point value, I need to...
Replies
2
Views
118
What is the best way to extract the hour and minute from the register that comes from Yaskawa VFD. In studio 5000 I have a register saved as INT...
Replies
3
Views
121
I have an Allen Bradley temperature switch that I am trying to use in studio 5000. I am getting the message "Unable to interpret the IODD file"...
Replies
0
Views
74
Hi all. I want to ask what may seem a stupid question, as I have a project to send live data to a Yeacode line printer which will print meterage...
Replies
10
Views
197
Back
Top Bottom