Fisher ROC FST Programming Help

I created FST (Function Sequence Table) for the ROC product. My role was to assume firmware development and support for an existing ROC200 product; the ROC364 followed. I created the initial HMI which resembled closely what one observes today. FST was modeled after a single loop controller’s (SLC) set of functions.

The FST is encoded before downloaded to the ROC, which is the hexadecimal bytes I believe still displayed when one selects Compile FST. The disk file is an ASCII representation of what is displayed by ROCLINK.

In your initial post, I believe the purpose of the ‘WT 1’ (i.e., wait one second) served the purpose to define a scan rate or execution frequency for the FST. If the wait function was not present, then the FST would execute at the frequency dictated by the END function (or every 100 milliseconds in the case of the ROC364.) For your FST in a ROC364, I suspect the execution frequency is every 1.1 seconds (WT of 1 second plus END which adds 0.1 seconds.)

I use Excel as my FST development environment. Each sheet represents an individual FST. The fifth column I titled ‘COMMENT’, similarly to what one observes today. Excel VBA routine used to import or export *.fst disk files.
 
Yes, DS800 is clunky. It is a repackaged version of isagraf made specifically for ROC 800 and 107 series. I've worked quite a bit with both FSTs as well as DS800, but DS800 is nicer to work with, although it lacks some functionality. Hopefully the engine will be updated one day.

i dont like the fact that you have to change the comm port from roc to ds800 whenever i want to download and then change it back. this causes the rod to warm start and the site then esd's i dont have to do this with isagraf on a scadapack.
i like FST's as i am familiar with them, but on some of the older rocs there are not enough lines to do what i want it to. ds800 its nice to have isagraf for it but the port stuff plus the licensing for each unit runtime is a pain as well...
 
I just read this post and had to join.

We have a lot of the fisher doc products and although they are good, the one thing I wanted to get out of it is custom programs. I know the DS800 is software used to develop those programs but was about the user programs you download or purchase? Anyone know what they use to develop those? I hate to add the ds800 as it can load up the mpu and some of the user programs have too much other points that are not needed. Anyone ever make their own user program?
 
Well it's a c++ program as far as I know. I'd bet you would need a development package from emerson to write one. There is a fair bit of user programs out there. I've used the modbus and mvs user programs on the 300 series. And rocnoc (net oil computer) on the 107s. Would be pretty cool to write your own. Ds800 only works on the 107and800 series anyways
 
Last edited:
That's what I was trying to get is the development program but I can't seem to figure what it is or how to get it. Contacting emerson didn't help. We use standard user programs but I think we could do some of it better with less overhead. Didn't know if anyone has heard of it or where to get it.
 
Is this an existing install where ifix is already talking to the roc? Or do you need to add the connection. If you need modbus on the 364 (rather than native roc protocol) you need to have a user program installed on it. The. Yoy.set.up.the modbus table that takes thw TLPs (roc addresses) and links them to modbus. Then add to ifix.
 
yes, IFix is already talking to the roc.
I used the OPCODE in roclink for windows to reference slot A9 to opcode value #24.

then I directed Ifix to look at opcode value #24 in the database manager.

is that all I need?
 
on the roc I can see the value change.

in Ifix "database manager" the value went from "??????" to "running or true".

I do not see the value in database manager switch states in correlation with the roc input.
 
Just wanted to add some information to this post.



Timers in FST.

ST will start the timer, the second argument is the setpoint. it then counts down to zero. on the FB107it is in 100msec time-base.

the CT command will check if the timer is running and if it is it will go to the second argument Label. if not it will continue scanning down.
If you wish to manipulate the timer while it is timing, you will need to save a value into the timer TLP (16,x,12/13/14/15) and not try to start the timer again with another ST command as it wont work.
 

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
219
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,363
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,545
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,177
hello, would anyone have any experience with king fisher rtus and training material?
Replies
0
Views
1,469
Back
Top Bottom