Search the Community

Showing results for tags 'Real Variables'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Found 32 results

  1. Structure Text REAL constant

    Hello. I'm having difficulties of how to write REAL constant in ST. For example (Gap1 is defined as REAL): Gap1:= UDINT_TO_REAL(P_Cycle_Time_Value) / +1000.0;     RETURNS ERROR ERROR:   Conversion cannot convert from Integer Literal to REAL I have also tried 1000.0 If I use:  Gap1:= UDINT_TO_REAL(P_Cycle_Time_Value) / INT_TO_REAL(1000);  COMPILES OK My question.. How do I write REAL constant in Structure text? I don't want to use  INT_TO_REAL anytime I want to do calculations with constants.. Thanks. BR.
  2. Real to 3 decimal points

    I'm fairly new to Mitsubishi and I am trying to limit the amount of decimal places of a real value down to 3. I am using a FX3U CPU and the only thing I see in the manual is that real values are stored with approximately 7 significant figures. Is there a way to limit the amount of figures after the decimal point to 3 without converting to an int value? Also does restricting the decimal to 3 points on GT works change to PLC value at all?
  3. Totalizer for 15 mins

    Please help me how develop totalizer for every 15 mins , for real value. Real value should   be taken sample  for 1Sec.
  4. Hi, I am trying to convert a variable of REAL data type to DWORD. I 've tried using Real_To_Dword function which works fine if the real number is integer but when the real is decimal the function rounds the decimal number to INT first (I ve also read it in the instruction manual so no surprise here). I 've also tried experimenting with the function CopyRealToDWORD but again the outcome was not what I expected. Is there another way to convert decimal real numbers to DWORD without losing the decimal portion?
  5. Hello, In my ladder program I have 7 different arrays (containing REAL values) all members of a structure and I wish to extract certain values from the arrays and put them on another structure consisting of REAL values (not arrays). Which is the best way to do that ? I tried AryMove command but I get an error "Conversion from REAL to ANY_ELEMENTARY[], ENUM[], STRUCT[] is impossible. To get a better understanding of my structures and arrays here is an example: Struct wheel_data Global variable SWheel of wheel_data rad[1...10] of real, vary[1...10] of real, varx[1...10] of real struct. 2 wheel Global variable Wheel1, .... , wheel10 of wheel rad REAL, vary REAL, varx REAL what I wish to do is to copy Swheel.rad[1]  to wheel1.rad,  Swheel.vary[1] to wheel1.vary, Swheel.varx[1] to wheel1.varx 2nd structure Swheel.rad[2]  to wheel2.rad,  Swheel.vary[2] to wheel2.vary, Swheel.varx[2] to wheel2.varx until I fill all 10 wheel structure instances with values Thanks in advance.
  6. Still learning Sysmac Studio......how do I gain access to System Variables like 'PageIndex" so my PLC can be notified what Page the HMI is on?  Also, how can I execute an 'Acknowledge All' from the PLC so I can reset the 'Alarm Viewer Popup' from my PLC? Thanks,
  7. I'm having trouble specifying a memory location using the AT specification for an array in the Global Variable tab. I've tried a number of different ways to do so, and searched around online but haven't been able to find anything about how to do this. All I have to go from is the rather cryptic "AT specifications are specified separately for each variable. Set them for all elements and members of array, structure, and union variables." from page 6-62 of the Software User's Manual (W501). That seems to imply that it can be done somehow, but I am not sure how. Right now I have created array elements as independent variables, and then use a FOR loop with a CASE statement to put the proper variable into the array for use later in the program. This doesn't seem particularly efficient, and I have to imagine there is a better way. Any advice on this is greatly appreciated. Thanks!
  8. I am new at PLC programming, I have tried some ways to convert a text into DINT and I haven't found the right way yet, maybe somebody can help me. I want to convert "Hello" to DINT, for example. I tried converting it on here  https://www.branah.com/ascii-converter  to decimal and then using it as an input for a ROUND, FLOOR, TRUNC blocks to get a DINT, but when I get the result and use as an input in a DI_R i block the output doesn't match with the first conversion of "Hello". Any tips on how do I get it to work, please? Thanks in advance. 
  9. real to integer number

    Hello, Could somebody give for me advice how need seperate real number to integer? for example I have in D10 real number 10,9 for me need to do integer number 10 and 9. The real number seperate to integer I am using this LADDER line, attached picture. In D90 I got 10, But how to isolate the number of decimal places,I can not think of. Please help for me
  10. Convert time

    Hello. this is my firs post is possible to convert the elapsed time of timer to real or int i need to make some math operation with the elapsed time thanks  
  11. There have been many good discussions on the applicability of cloud-based solutions for manufacturing and process control systems. On one side, some people have concerns regarding security and control of the information, on the other side, there are identified benefits enabled by cloud systems. From VMS minicomputers to DOS and Windows, from ArcNet to Ethernet, it is inevitable the industrial automation systems shall adopt the technologies that are getting predominant in IT general use; the current environment that I am calling the “Cloud-iPad era” is no different; therefore the practical discussion is not if those new technologies will be applied in the industrial environment, but how. This paper is not intended to join the conceptual discussion about the cloud, but just to present a few simple practical examples, where cloud technologies are already enhancing industrial automation solutions and enabling new business opportunities. CloudPracticalApplications.pdf
  12. Hello - I am currently setting up a program to control a downlane conveyor motor and ran into the issue of operators leaving the conveyor on through their breaks/at the end of the shift.... I know, shocking . Anyways, the essentials of the program are the following - ladder logic, start/stop PB station, a sensor that says when I've seen a box for x-amount of time I will turn off, when the eye is clear for x-amount of time I will turn back on. When trying to 'solve the problem' of the operators leaving them on, I figured this would give me a chance to use a RTC (real time counter) and program it so that at various times of the day I will send a single shot to verify the relay is CT is open. I've enabled the RTC on the Micro810, dropped a TOW but do not really understand how to set the TOW block up. Hopefully that all makes sense. Thanks,  grubb
  13. Omron Function Block variables

    Hello all.  I posted earlier in the week regarding downloading new code to an Omron PLC, but I think the question was a bit vague. As a follow up, and hopefully to clarify, I have the following query. I have created an upgraded program which will be downloaded by field techs using memory cassettes. The revised area of code is essentially a Function Block which amends service lamp behaviour, and in creating it, I have amended the existing function block and added new Internal variables. Is there any way I can ensure that the new variables don''t over write or move the existing  variables in the PLC, because this is what is happening when I download it.    HELP!!!!!!!!!
  14. Hello, I am having an issue with FIX Dynamics Real Time Database and the database columns available within when trying to query the database. On a system running iFIX 5.0, there are 19 data columns available, LHS of attached screenshot (in the screenshot example, crystal reports is used to view the columns). However in iFIX 5.9, only 15 columns are available (RHS of attached screenshot ), how can these missing columns be made available to be accessed? Regards, John
  15. Hello         I'm new for PLC, I need to set pump turn ON/OFF  in 4 time/day every day => [8:00-8:10]a.m, [11:00-11:20]a.m, [2:00-2:10-14:10[p.m, [5:00-5:20]p.m ** I have Omron PLC CP1E-N30 , Could you advise me, please ?  
  16. Real world simulator

    When we simulate a plc program we have to manually input the changes in input(like magnetic reed switch) For example when a cylinder goes from up to down reed turn OFF and reed down turns ON Is there any program available where we can define such things that will turn on and off during the process automatically.
  17. 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.  
  18. 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
  19. 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?
  20. To Infinity

    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
  21. Converting UINT to DINT

    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.   
  22. 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!
  23. 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
  24. 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
  25. 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?