Seeming simple SCP question

toddp65

Member
Join Date
Aug 2014
Location
Florence, Ky
Posts
282
Compactlogix controller with a temperature sensor connected via devicenet thru a Flex I/O (in the case a Beckhoff RIO).

The AOI SCO instruction is for scaling the temp sensor. The parameters are:
input: Flex_Analog 280
In Min: 0.0
In_Max: 32767
Scaled_Min 0
Scaled_Max:150
Output: 13

This is for celsius . It's converted the Fahrenheit in the Panelview program via a tag expression.

Bottom line, the minimum reading the HMI display reads is 32 degrees F (since the scaled minimum is 0 celsius)
We need it to probably 25 Degrees. On a whim I tried changing the scaled minimum to a negative number but the output was all wrong. Is there another way to go about this? It has to be simple and I'm not seeing it. I would thin if it was an AB module on the tree you could simply change the module config but this is a remote Beckhoff module.
 
Why do you need it to display 25? According to you scaling, the sensor is not capable of outputing a signal that corresponds to 25F.
 
Why do you need it to display 25? According to you scaling, the sensor is not capable of outputing a signal that corresponds to 25F.

well I guess the sensor is in celsius, most of them are on this machine. However, there are times when the product is below 32 degrees and I guess they'd like to know when it is because it's too cold to can. 25 was just a number. It can be 28 or 29...beer won't be getting to 25 at least not here. If the sensor itself won't go below 0 C then that's the end of the problem.
 
Firstly, are you seeing -ve numbers at the input to your SCO function block?
If so try:
InMIN := -32767
InMAX := 32767
ScaledMIN := -150
ScaledMAX := 150

If your input isn't giving you any -ve numbers you will have to adjust or replace the card or sensor with one that works.

In this case, please: Beckhoff coupler part number and temperature input card part number and sensor part number (or description if it's eg 3 wire pt100).
Does RSNetworx for Devicenet give you any additional parameters for the card?
 
I would get a new sensor that covers the needed range. You would of course then need to adjust your scaling to fit your needs.
 
Firstly, are you seeing -ve numbers at the input to your SCO function block?
If so try:
InMIN := -32767
InMAX := 32767
ScaledMIN := -150
ScaledMAX := 150

If your input isn't giving you any -ve numbers you will have to adjust or replace the card or sensor with one that works.



In this case, please: Beckhoff coupler part number and temperature input card part number and sensor part number (or description if it's eg 3 wire pt100).
Does RSNetworx for Devicenet give you any additional parameters for the card?
I haven't communicated with the module. I don't even know if i have RSnetworx installed. This devicenet RIO is the only DN and Beckhoff in the plant. I was thinking it was something I could just adjust in the scaling but apparently not and it's deeper than that,

Nope, no negative numbers on the SCP instruction input. It was 280 which scaled was 15 C.
 
Last edited:
Do you have the data sheet for the sensor? If you could share that it could clear up what you really need to do.

In your original message you posted:
input: Flex_Analog 280
In Min: 0.0
In_Max: 32767
Scaled_Min 0
Scaled_Max:150
Output: 13

I believe what you are saying is that you are reading the number 280 at the input and then scaling it based on the parameters given and seeing 13 as your output. When I run the math, that doesn't add up.

If my understanding of your input number is correct you should see
(280/32767)*150 = 1.282

This could be 13 if you move the decimal place and round ...

Something is fishy.
 
Do you have the data sheet for the sensor? If you could share that it could clear up what you really need to do.

In your original message you posted:


I believe what you are saying is that you are reading the number 280 at the input and then scaling it based on the parameters given and seeing 13 as your output. When I run the math, that doesn't add up.

If my understanding of your input number is correct you should see
(280/32767)*150 = 1.282

This could be 13 if you move the decimal place and round ...

Something is fishy.

attached is the SCP AOI
 
Assuming the sensor is a PT100 and the scaling is 0-150 Deg. C then each degree = 218.446 on raw data so a value of 280 = 0.78016 Degrees C or 33.404 F
 
Parky,

I'm trying to get the actual sensor info to see what the actual configuration data is.
The card isn't an Allen Bradley card, it is a Beckhoff RIO module.

Thanks
 
I think you are hijacking a post, create a new one. however, not sure about FX but the A & Q series supposedly hold the memory for about 10-20 minutes. I once removed a battery from an A series to remove password & program and 2 days later it still had it. Edit: If battery is dead and power still on you have enough time to replace battery, however, I have replaced batteries while power on and never had a problem, we did this all the time as plant ran 24/7 we replaced all plc batteries every 12 months. I believe the FX3 is battery less so will hold main program, however, the data memory will be reset to 0 and the Real time clock will reset.
 
Last edited:

Similar Topics

Hello again..trying something on an existing poorly written program and just wanted to double check something system is an A-B MicroLogix 1200 In...
Replies
5
Views
147
Hi all, Writng a FB in ST on Beckhoff TC for a pulser which turns on and off on a cycle, is paused by turning bControlInput to FALSE, but resumes...
Replies
6
Views
247
I'm trying to build my Classic Step 7 programming skills this weekend. I get stuck on little things that are not covered in YouTube tutorials. I'm...
Replies
7
Views
315
I have a program that does a 7 second "scan" sensor calibration routine whenever a setting (setting is called assistance level or "AL" and ranges...
Replies
3
Views
212
Hi all, I have a simple question that I have overcomplicated and gotten stuck on. I have a variable, we can call it "light" that I need to stay...
Replies
4
Views
305
Back
Top Bottom