Search the Community

Showing results for tags 'Real Variables'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Found 41 results

  1. I want to do a calculation in the FX3u-48MT ESS and combine it with the input from HMI GOT1020. By the time i put input in the HMI with real number, and i calculate that with some equation just like in the manual as seen in the picture. I was confused when the result in the DINT is too many and in the pulse, it got minus, when it should be plus. Is there any way to fix this ? and how to round up the result correctly ? I really appreciate your help. Thanks in advance.  
  2. Tia Portal V14 Real time graph

    I current have 2 variable: Displacement vs Pressure. I need to draw a real time graph on Comfort Panel. The problem with using just f(x) trend is that the minimum time between updating a point is 0.5 sec and that is for ever in my application as the whole cycle last only 5 sec and I have to plot 500 points in that time. Is there a way to do real time graph using Historical data without any time delay. If anybody can guide me through any sample program or material would e helpful. Thanks
  3. Second day using Proficy. Needing to cookie cut from a template program that references I/O devices in the HMI variables. Currently I have to edit each one individually, and there are thousands of tags to be changed, times the number of cloned systems I am creating. How can I automate this mind numbing, and error prone work?
  4. Hello.  This is my first post and I hope someone has a solution. I have a program calculating Gal/sec adding to a running total and have up to the end.  Using REAL I can accumulate up to 16,777,216 (2^24) and using DINT up to 2,147,483,648 (2^31), but I need to have my registers continue past these limits.  I've read through many topics here and have tried the Rockwell Knowledge Base but can't seem to find a solution that truly works.  I have gone so far as to transfer the DINT to a string, cut the string into pieces and reassemble them in an Odometer type concatenation. If anyone has a suggestion, I would appreciate it.  I know I'm not the only one with this problem. PS & BTW - I'm using Studio 5000 v24 with a 1769 L33ER
  5. Good afternoon,   I need to convert a UINT (16-bit unsigned integer) to a DINT ( 32-bit signed integer).   Apparently we can't directly assign a UINT variable's value to a DINT's or vice versa. I also couldn't find a way of casting UINT as DINT.   The reason why I need to do it is because I'm receiving data from a socket. The RXLength is a UINT but in order to scroll through  the data array (USINT[1..1])  I need to use a DINT as the array's index, but I can't compare the array index to the array's length because they are incompatible types.   Is there a cast statement similar to:       myDINTvar := (DINT) myUINTvar;   I also tried the following but it didn't work:       myDINTvar :=  (myUINTvar * 1);   Any help will be deeply appreciated.   
  6. Hi at all! A little brief to understand my situation... I'm creating a new project with an analog input (4-20mA) to determine the level of a tank. The instrument send me a value that correspond 4mA => 0% and 20mA => 100%. With the AI_Conditioner UDFB from RA i can correctly rescale the mA value to a %.  Then I need to "estimate" the volume of that tank, so with radius and lenght i can calculate it (no problem so far). But after that, the value is too much variable (the 4-20mA is not very stable)... So to resolve I can accept to rounding to the nearest 20... But, how can I do? There is already an UDFB made for it? Thank you at all!
  7. I am having problems expressing an ANALOG OUTPUT 16bit INT word (0-10V Proportional Valve Voltage) as a REAL decimal number. From my understanding the word is divided into 2 (8bit) bytes...one representing the whole number value and the second the decimal value. We're using BL20 I/O Module (german therefore LSB first I believe). I need to MOV/COP (read) the value, CONVERT it into a REAL number, Manipulate the REAL VALUE, then CONVERT the MANIPULATED REAL Value back into a 16bit INTEGER & WRITE the NEW Integer Value into Proportional Valve Voltage Location.   I also have a similar situation regarding our Incremental Encoder. In this scenario the  pulse count is obviously a whole number (no decimals) where 4 (16bit) bytes represent the REAL Count Value.. I have read other posts on similar conversion topics and understand the general premise, but I'm having problems specifying write parameters.. -  i.e. writing bits 0-7 from an INT into SINT[0] (HIGH BYTE representing the whole # value? ) and writing bits 8-15 into SINT[1] (LOW BYTE representing the decimal value) THEN CONVERTING into REAL # (Voltage fed to Proportional Valve)     ...manual section... page 282&283 http://pdb2.turck.de/repo/media/_us/Anlagen/d300717.pdf - i.e. writing bits 0-15 from INT[0] , INT[1] , INT[2] and INT[3] into a LINT (not sure if correct) THEN CONVERTING into REAL # (Encoder Count) ...manual section... page 17 (current count value) http://pdb2.turck.de/repo/media/_en/Anlagen/D301224.pdf ANY SUGGESTIONS WOULD BE GREATLY APPRECIATED... project file if interested.. https://sites.google.com/site/lyncedrgb/eva/untitledpost-2/StellaPLC.ACD
  8. Conversion

    Siemens S7-300........I can convert from INT to DI.....and from DI to REAL. I don't see any standard method of going backwards from REAL to DI and from DI to INT My actual application needs to go from REAL to INT (DI to INT is kinda dumb) Thanks, Bob
  9. Hi! I just started with PLC programming. I am trying to get the time between a output signal and a input signal. The problem is that the time is ~200 ms but when i measure it with this code:   TONR(Timer1); IF PosFeedback <= PosFeedback_Min & not Timer1.Reset THEN Timer1.TimerEnable := 0; FullCloseDeltaTime[1] := Timer1.ACC; Timer1.Reset := 1; END_IF; IF (move & not Move_LastScan) THEN //Start timer Timer1.TimerEnable := 1; Timer1.Reset := 0; END_IF; Move_LastScan := move; i only get even values in intervalls of 50 ms like 150, 200 and 250 ms. I have changed the real time sample rate to 11 ms so i don't understand why i don't get a more exact result. And i can see in my trend that the time isn't exactly 150, 200 or 250 each time. I i tried and time my own click on a button and i see the problem is the timer, i only get values in an interval of 50 ms. Is there a way to make the timer more exact?
  10. Alpha2 Help?

    Hi Although I have used programming languages like basic and C for many years, I have recently tried to get to grips with programming (with the software (not direct)) the Alpha2 I have to admit that I am struggling! I have made a little progress since I worked out that you have to build almost everything at a very low level. But I still can not work out how you make variables that can be used in the program? For example : If condition A is true X = 10; But if condition A is false then X = 2. I have tried using the bit inputs on the math FBs to enable/disable values of X, but although this will initially alter the value , sending a 0 bit merely freezes the calculation and the value does not change. It seems like it should be such a simple thing to do? Is there a fundamental concept I am missing? Any help would be greatly appreciated
  11. Hello all, I was asked to check if there is a PID real - time software which automatically calculates PID loops parameters and update the PLC registers or HMI ( by OPC server etc.) when the process is working and "breathing". REAL-TIME. Not PID simulator or PID tuner based on measured data, but a software that will calculate and update the PID parameters in real time while maintaning several PID loops simultaneously. Are there any suggestions? Thank you, Olesia
  12.   Dear, I need some help with an application in ml1500 with the RTC . I need an exit is enabled by days of the week . I´m programming in Rslogix500. Program follows the image. If possible help me. Thanks Daniel.
  13. Have looked on this forum and found NO hint of a solution. I hope someone can provide me with a starting point. I have a Allen Bradley Micro830 & Connected Component Workbench that I use to SMS text message out the value of an Analog sensor. The value is a real number data type so it holds a number like this 123.32659+e. All I want to do is to "Truncate" so that the value ends up being like this 123.32 this would then be what sms receiver would see as the value. Thanks
  14. In my present project, I have to interface an energy meter that has its kWh count in 64 bit Double format. Now that Vijeo citect hasn't a facility to create tags of the "double' type I am looking for a work-around to this problem. Thanks for any help/advise in this matter
  15. Hi friends, Can anybody tell me when to use a local-Static variable and when to use a Local Temp variable whilst creating a Function-Block in S7 -1500 using TIA portal. Thanks for looking in. Best wishes.
  16. I am currently trying to get my program to take distance traveled per pulse, which is based off of the diameter, and convert it into IPM. I am using RS Logic 5000 software. If anyone could help me get over this hump I would really appreciate it!