Fisher ROC FST Programming Help

DwSoFt

Lifetime Supporting Member
Join Date
Mar 2012
Location
Alberta
Posts
960
PLCS does not have much information on ROC FST programming, as it is an RTU for the Oil and Gas sector, Now that I have taught myself a bunch, I thought I'd start a thread to help others.

This is for the ROC300, ROC800, FB407, FB408, FB503, FB504, FB103, FB104, FB107 and is for FST Programming and general Configurations in Rocklink800. FST stands for Function Sequence Table. It is kind of similar to Basic programming but in a spreadsheet kind of layout.

A couple common practices are as follows:

1. Always start each FST with a WT (wait) command and ARG1 of generally 1. This is common practice, i am assuming it is to make sure the FST executes properly each scan.

2. Comments are not loaded into the ROC, and although you can have an offline version, it is more common practice (when you are not limited by the lines of code, for example a FB503 only allowed 2 FST's 300lines each) to use LBL's that describe each step as well as MSG Commands to tell you what is happening at each point as both are loaded into the ROC.

3. Make sure after writing the new code, to goto system>Flags in roclink800 and click save configuration, so that it doesnt lose your changes.

4. Typically FST1 is the shutdown logic, and the rest are for other functions, math and such, but it does not matter which is where as long as you have the FST's enabled to scan. to doublecheck that, in roclink800 goto Control>FST registers and check that they are enabled.

I Will Post some example logic to pick apart as this will be an evolving thread, but also if anyone needs help, they can comment on here and we can solve the issues together.
 
So in the first example we have a high pressure that will close the valve off of an analog input (AIN A2) if it exceeds 2000kpa. if 2000 or below it carries onto check the next shutdown. It also has a High level shutdown off of a discrete input (DIN, C1) to close the valve (DOU B9). They are self reseting in the first example. The 2nd example adds a manual reset button to the mix (DIN B15)

FST1.jpg FST2.jpg
 
Last edited:
Now in this modification of the previous example, I have Added some Soft points to the mix. Soft Ponts can either be internal bits or actual values (Floating Point). So in my example when in high pressure s/d, Softpoint1 Data1 will be a 1. when it clears it will be a 0. Same goes for the high level, but with Softpoint1 Data2. Also i have 2 analog input values subracting and saving into Softpoint1 Data3.

FST3.jpg
 
I'm glad I'm not the only one working with horrible RTU logic like this. We have different beasts here but the general approach seems the same. Everyone else is using FBD and I'm cranking out stuff that looks like assembly language!
 
Oh I also have a few Bristol RTUs Here. which uses their AACOL language which is very much like assembly. Luckily I haven't had to change the logic on them yet as they all have a standard load. The 1 nice thing about it is that all the data tags are named as to what they do much like Logix5000 except much older than that. lol.
 
Is it possible to upload "compiled" programs from the RTU and do they still contain the point names as you have defined in that logic?

Just interested, our RTUs do allow upload from the RTU but you get a version of code that only has the actual point numbers. Kinda like how you lose comments etc when you pull a program out of older PLCs.

It's generally possible to reverse engineer these based on the configuration in the base station PC but that's quite time consuming!
 
the labels are all the same, as are the instructions and messages when I upload them from the ROCs, but the inputs and data points are all shortened to 3 numbers seperated by commas that represent them. example soft point 1 data 1 is 17,0,2. you can click on it in the editor and it will bring up what the point is and allows you to select other ones as well. also you have to assemble it without errors before downloading it to the ROC. and there is a monitor part that allows you to go step by step to see what it is doing online for troubleshooting purposes.
 
Thanks! This is a good intro to the ROC800 programming!
I use the DS800 IsaGraph to get me the functionality of "standard" programming.
 
I have not had the chance nor need to get the DS800 software that provides IEC compliant logic programming as it costs a bunch and the only Roc800s I've had to deal with were just for metering and then comms to the plant PLC.
 
I have not had the chance nor need to get the DS800 software that provides IEC compliant logic programming as it costs a bunch and the only Roc800s I've had to deal with were just for metering and then comms to the plant PLC.

I hear you! The DS800 USB Dongle is quite pricey, but most of the software these days are.
I have a large install of the ROC827 in the field for all sorts of things. I like the ROC especially for the metering too.

Again, nice write-up for the learners among us!(y)
 
Right on. Yeah I have dealt with ROCs, Bristols, And Zedi in the oil and Gas Industry in Alberta Canada for metering compliance And I wouldn't go with anything but a ROC if I had the Choice lol. Do you.like the DS800 Programming Environment?
 
I do once the quirkiness is figured out. The moving of the TLP to usable format, IE DINT, or BOOL, seems a bit goofy to me, but once I got it lined out it was good. It is every bit as powerful as anything out in the market now. I have several of the 800L's setup to message statuses(think produced/consumed tags)between units with good success.
The enviable thing is when programming and you install a XIC in a rung, you can simply press the space bar to change it's state to XIO. (It's the small thing that excite me, I know)
But yes, a good tool to help make programming "fixable" by most anyone with a structured system of programming, versus the FST programming learning curve.
 
Dan,
Funny that you should be posting a thread like this. I have just got a RFQ for some Oil LACT units that are using the ROC 809E as the flow computer/PLC.

I have never used ROC's before but have used OMNI and other Flow Computers and Electronic Preset Devices. Can you tell me more about the programming environment of the RocLink Software?
Here are a few questions I have:
1) Is there a standard Parameter driven section of the program for setting up the flow parameters? Things like Flow Rates, K-Factors and Meter Factors?
2) Is the FST programming a separate function used for custom configurations? Or do you have to program the whole system using FST?
3) How useful is the ROC as a PLC? Most Flow Computers I deal with are very limited as a PLC. They have a limited number of timers, counters and other elements that a PLC has. They can also be so complicated to program that often it is simpler to use the Flow Computer side only and add a separate PLC to make the valve and pump control work. Plus it make things easier for the technicians who have to work on the system later if they don't have to decipher the Flow Computer code. What are your thoughts?

Thanks for your time Dan, the post has been very interesting so far!!
 
Glad I am being Useful :) haha

Roclink800 is free software from Emerson. It is meant for the Instrument Tech. to use (I am a Dual Electrical/Instrumentation Tech). In it you can configure gas meter runs and Pulse input K factors, PID loops. Analog input/output ranges. you can do meter and transmitter calibrations. It has a Configurable history as well as alarms and events. But I do believe the NetOil program that ì see for ROCs is a User Program (think C+ program for added functionality)

And I do believe that is where the Ladder logic DS800 software comes into play. I m assuming that would be much better for you if you have alot of Control to do, But like I said and you as well, Everything I've dealt with uses it at plants just for Metering, And then they have a PLC (usually AB) doing all the control/Shutdown. Wells have the ROCs only tho so those have the Shutdowns either Pneumatic or with FST logic set up.

2)FST is strictly the logic. Roclink800 will configure everything as per above As well as PID loops and Alarms. FST COMES into play to.creay a shutdown or some math Functions.

3) I know in the FST'S there are a limited amount of timers but every discrete input.also has on & off timers. Analogs have filtering ability setup in Roclink. But I am unsure as to how much better DS800 environment is for you. There is 2 ways you can look at it. If you don't have tons of control just a couple things, it would be better in FST nd Roclink800 as it is free software so technicians can actually see it. However it can become pretty combersome on big sites. I made some water pump control changes at a remote compressor site last winter and it had all 4 FST,s used. #1 was shutdowns and it was quite big.

Anyways.i hope this helps you and it will.probably.also bring you.more questions as well. haha

EDIT. since it is existing, you will probably have to go with whatever was previously used on site. If needed you.could save the Configuration with Roclink800 and I could help you go through it as well.
 
Last edited:

Similar Topics

I am new to Citect SCADA and I am building the graphics for a page that will contain the control of a plant by a Kingfisher RTU. The project I...
Replies
0
Views
244
Does anyone know where I would be able to find the modbus driver for Kingfisher Series 2? (CP-11 CPU). Toolbox32 is asking for a *.d32 file...
Replies
2
Views
1,375
I currently have the DPR 960 V 0. Can I replace it with a controller With V 1? Same part number just different versions. Is there difference...
Replies
1
Views
1,553
Hello all, I am doing a rebuild and I need to transfer two Thermo Fisher weighbelts (Model MT2201 PM) from an old system to a new one. For that...
Replies
0
Views
1,185
hello, would anyone have any experience with king fisher rtus and training material?
Replies
0
Views
1,469
Back
Top Bottom