What is constrained in my PLC that max # is 32767

Alanvan

Member
Join Date
Aug 2004
Posts
1
My question is I am trying to increase Pressure on my Ge Fanic versa Pro software to a value above 80psi. I can set this pressure with the input IN1 anywhere from 1-73 and IN2=455 this value translates to pressure changes from basically 4 psi to max of 80 psi. I need my line pressure of 120psi but after I enter a # above 73 in IN1 the ouput # displayed in red goes to 32767 and no matter what higher # I enter I can't change this # to increase my pressure. How is this # constrained and can I change it to get a higher pressure. What is IN2 all my programs use 455 only IN1 is changed in the values to change the Pressures, times or temps. Help Thanks Alan
 
32767 is the maximum value that will fit into a 16-bit signed integer (range -32768 to +32767). It sounds like you're using a MUL_INT (integer multiply) instruction. Change to a MUL_DINT (double integer) or MUL_REAL (floating point) function.

Remember that if the value at either the IN1 or IN2 or Q nodes is contained in a %R register or %AI analog input or %AQ analog output, then the MUL instruction will use the two consecutive addresses and you'll get unexpected results.
 
2 to the 15th (2^15) is 32768. The 16th bit is used for the sign bit (plus or minus). Therefore, your analog data is stored in one word of data, or 16 bits.
 
Let's keep this public

Alanvan sent me this PM:

Your right that is what Im using is a mul_INt. BUt you also replied about if I changed this to a Mul_Dint then if these #'s are contained in a %R register or %AI analog input or %AQ analog output, then the MUL instruction will use the two consecutive addresses and l'll get unexpected results. How do I then change these or verify that these are as you say as I think they are contained here under the variable decleration. Bottom line is I need 32767 to equal my line pressure of 110psi not 80 psi so if there is any other way then that would be ok to. Such as why can't I make 32767 equal line pressure of 110psi. Thank you Alan

I think it would be helpful if you post your code. It sounds like you're trying to scale an analog input signal, but I'm not sure what the values of 73 and 455 represent.

If you enter a MUL_DINT instruction:

__________
| MUL_DINT |
| |
| |
%R001 | | %R003
-|IN1 Q |-
| |
| |
CONST | |
73 -|IN2 |
|__________|



The function will take whatever is in registers %R001 and %R002, interpreted as a 32-bit integer with %R001 as the LSW, multiply it by 73 and store the 32-bit result in %R003, %R004.
 
Bottom line is I need 32767 to equal my line pressure of 110psi not 80 psi so if there is any other way then that would be ok to. Such as why can't I make 32767 equal line pressure of 110psi.

Sounds like some changes in the scaling is in order, you can make that input of 32767 represent any other number, that's easy, it's called math. Now to make the input value actually represent a "real world" value will require proper scaling.
I suggest you do a search of this forum, archives too, there has been ALLOT of threads dealing with the proper scaling practices.
 

Similar Topics

Hi all, looking to model old RR relays in PLC. Does anyone have any SPECIFIC examples on how to model a relay such as a polar relay, slow pickup...
Replies
0
Views
79
HelloI need software to download the program from PLC EH-A28DRP from an old machine whose manufacturer does not exist. It may be Ladder Editor for...
Replies
2
Views
69
HI everyone, i am new to Siemens plc programming and i am in need of some help. yesterday we had an S7-1200 CPU 1214C fail to turn on an output to...
Replies
9
Views
284
Hello, I have a Mitsubishi FX3G 14M PLC and a E615 HMI from Mitsubishi/Beijer. I'm using GXWorks 2 to do the programming and I have no problem...
Replies
4
Views
147
Hi, I'm trying to import a Rockwell/AB EDS to Beckhoff but I'm not sure how to import/install the EDS. It is a PowerFlex 525 EDS. Is there a way...
Replies
1
Views
107
Back
Top Bottom