Search the Community

Showing results for tags 'Variables'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Found 10 results

  1. 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.
  2. 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,
  3. 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!
  4. 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!!!!!!!!!
  5. 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?
  6. 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.   
  7. 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!
  8. 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
  9. 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
  10. 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.