Search the Community

Showing results for tags 'copy variables'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Found 16 results

  1. Folks, we have a set of Mitsubishi Q12PRHCPU (redundant) running effortless since many years. CPU-A as standby and CPU-B as Control. Recently we noticed BATT low alarm on CPU-B. So we arranged for a spare battery Q6BAT and started the procedure as per manual(attached procedure and flow chart). We did memory copy from Control to standby (as prescribed precaution) and did the Reset of Standby PLC CPU-A. Memory copy from B to A completed successfully 100%. But the BACKUP LED did not turn Green from Red & Error LED kept flickering on standby CPU-A. CPU-B remain in Control but backup LED turned RED. From system monitoring we found that there is a Error 6000 (FILE DIFF.) observed in One of the .QPG (program 00-MDBUS.QPG). We tried to reset it but were not successful. We are surprised that why does the program differs when it was copied from CPU-B to CPU-A using the memory copy. Still we did the VERIFY and found no difference between the programs in CPU-A & CPU-B.  Can anyone explain the cause of this issue and the solution. Please note that the CPU-B is still in control and plant is running. Backup LED on both CPU are red which means (redundancy loss) and error LED on standby CPU-A is flickering RED. There is no error in the CPU-A (Control) -we checked this using the GX Developer. Also attached here are the image of the error and error help. Thanks in advance. Battery Replacement procedure.pdf Battery Replacement procedure-Flow Chart.pdf Error.pdf MELSEC QCPU ERROR CODE 6000 FILE DIFF.pdf
  2. 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.
  3. In CX-Programmer software, we have the ability to make a bunch of copies of the same rung with the "Address Incrememntial Copy" Function. Does Sysmac Studio have a similar function?
  4. Still learning Sysmac 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,
  5. 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!
  6. 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!!!!!!!!!
  7. 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?
  8. 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.   
  9. 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!
  10. Hello. How can I copy / paste more than one section from one CX-Programer Project to another project opened in another CX-Programer? Thanks. 
  11. Greetings, I'm here in my home lab trying to acquire a working knowledge of UDT's.  I've had to work with them in the past in large existing programs and they were a pain to track down and find out what IO they were really controlling.  I have a decent understanding of what they are and I've created several to play with here using my softlogix processor and a digital flex IO rack. My issue starts when i'm trying connect my UDT's to the physical IO.  it looks like I cant use a simple move instruction (which would be way too easy and exactly what I need)  I have a flex IO 8 point output.  Local:1:O.Data[0] I have a UDT consisting of (see attachment) Valve001  Valve001.Out     Valve001.Out.OPEN     Valve001.Out.CLOSE   Valve001.In     Valve001.In.OPEN     Valve001.In.CLOSED I have a copy instruction set to copy Valve001    to Local:1:O.Data[0]     Length 2 that allows the Out.Open and Out.Close UDT's to control bits 0 and 1 of the 8 bit output . .... great. Now I have another UDT setup to control lighting... Door   Door.Out.OPEN   Door.Out.CLOSE I want to control bits 2 and 3 I make another copy instruction in a line before the original copy instruction that states Copy Door to Local:1:O.Data[0] Length 4 but i'm really just fighting for the same 2 bits that the valve controls.... how can I control bits 2 and 3 for the door/lighting logic using these UDT's?   and that's not yet getting into having physical inputs moved/copied to the UDT input bits. thanks!!    
  12.  Hi, im from brazil and need some help, some days ago i buy a programmer CQM1-PRO01-E beacause one plc CPM2B are deceased, we have another equipaments with this one, but CX programmer not response and de are trying day after day, but with this programmer i want copy and paste the logic from other PLC. Can you help with copy and paste on programmer CQM1?
  13. Hello Everyone, haven't roamed here for a while.   So I'm having a little trouble using the Structure Data Type in Sysmac Studio/NJ. As an independent tool, it is powerful to create user data types, such as Ethernet/IP Tag Link to V680S RFID or any other EIP equipments. And it is way more powerful than the CJ2, since it has the ability for user defined offset, which CJ2 can't do.   But the problem is we cannot move/copy the content of the members to any other standard types. For example, I have a structure with 8 BYTE type members. Then I need to send those out via UDP or TCP/IP comms, which Function Block requires BYTE[] data type. Unfortunately data movement instructions such as MemCopy and AryMove didn't work at all to do the job. This was easily done in CJ2 since we can access each memory content directly. Currently I already resort to use customized Functions which will translates the Structure into BYTE[], but that would mean for every different protocols, I need to create a different Function.   I have seen this problem posted somewhere in the SS/NJ Improvement Request section, so I wonder has anyone know any update about this matter? Haven't checked the latest update yet (SS v1.14), but I'm certain that in SS v1.13 this feature is still unavailable.   Thanks!!!
  14. 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
  15. 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
  16. 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.