Search the Community
Showing results for tags 'mitsubishi subroutines'.
Found 359 results
-
Hello All, I am using GxWroks 2 software is there a way to create a Routines and the under itself create several Subroutines Like studio5000 and Omron. Please See the Image Attached can we do Similar thing in GX works Searched for 2 hours on the inetrnet and found nothing. HELP
-
Hello, I have a subroutine error that I cannot figure out. I had about a 45k step ladder project with about 50 subroutines running great. I decided to add another subroutine and I get this error (attached.) Error H33E7 which means there is some structural ordering issue. I have had this before and it was always that I forgot my RET or I deleted a RET on accident after a subroutine definition. No prob, easy fix. However, that is not the case with this issue I am having. After cutting code out of my project until the error went away, it came down to specifically this: (see simple code attached) This is a test project separate from my main project to replicate the issue. Notice in the Navigation panel that I have two POU's under main program. POU2 shown in the picture is M0 controlling a call for P1. FEND, then P1 is defined as a simple INC Z0 and then RET. This is the exact 'structure' in my working subroutine ladders but with much more complex operations; where, I define 50 or so subs P1-100 thereabouts, and call them throughout my other POU's, and each sub is 25-100 rungs. This code you see does not error until I added POU1. Meaning, building and simulating POU2 by itself will work. Adding POU1 is a simple SM401 (always off) controlling INC Z1. Its just a dead line to make POU1 a thing when compiled. Then I get the error. No matter what is in POU1, the error will exist. This basically means I cant have any other POU's without a structural error when using subroutines. In diagnostics while simulating (and on the FX5UC PLC unit I have, I tested if it wasnt just simulation), I can jump to the error line. It will always point to the first line of POU1. This is important to note: in my full program with the 50 subs, when the error occurs, it will pick one of my 7 POUs and say error at the first line of it. If I unregistered that POU that is marked, the error will simply jump to another POU, and so on until it was reduced to basically the sample code I showed in the attached. The error went away when it was 1 POU. But in my working project (before implementing this sub that caused all this issue) all these subs work and there are several POUs. I spent a 2days on this so I am just g oing to copy paste this code I intended to sub many times just to move forward, but I want o understand what is the hangup. The test project was me just trying to write a sub again and apparently I cannot anymore. Thoughts? I appreciate it, thanks.
-
Creating a Servo Motor Home Operation Function Block with Axis Indexing ?
seroke posted a topic in Mitsubishi
Hello everyone, I'm writing a block in GX Works3 to perform the "Home" operation of a servo motor. (The algorithm inside the block has been tested and is working.) However, in projects with many servo motors, I want to use the block. The axis number will be requested from input the block, and the value received needs to be indexed into the places labeled as "Axis" within the block. And I need values like (4*(AxisNo))+2 inside some structure labels. The function block I want to create will look like the attached file. Which methods should I use to achieve this, and how can I do it? I tried using arrays but couldn't succeed. Example; If I enter a value of 2 for the Axis, the labels below will look like this: FX5SSC_1.stnAxCtrl2_D[Axis].uPositioningStart_D.0 ====> FX5SSC_1.stnAxCtrl2_D[2].uPositioningStart_D.0 FX5SSC_1.stSysCtrl_D.uExternalInputOperationDevice1_D.(4*Axis+2) ====> FX5SSC_1.stSysCtrl_D.uExternalInputOperationDevice1_D.10 -
We have 4500 Ton Press which is running on Q PLC system. My company wants me to make one dry run program for upcoming company event in which Only Press is running (Coil loader, Uncoiler and staker will stay off). Only Die will move up and down so guest can see how it works. What kindly of things I should keep in mind before I download dry run program in Press PLC?
-
I am using Q PLC for my progressive Press application. I am sending PLC data to Kepware server using QJ71MT91 and fetching those on Ignition Scada. on some of my PLC we are using below logic for Modbus address on Kepware PLC Register D3740 = Kepware server address 43741 2) but in some plc our PLC data register is D15440 and still Kepware server address is 43741. I don't understand this logic. can anyone please explain logic behind it?
-
Hi everyone. I'm am using small pneumatic cylinders as pushers too push down lightweight plastic products from a conveyor into different downshoots. I have a sensor that is activated and a small simple ST program with 2 timers. One timer is the delaytime from when the sensor is activated before the pusher is activated and the other is how long the pusher should be "out". Everything works okay and i am using the PLC TON 10ms timer for this. But I want to be able to use a 1ms timer instead so the mounting of the mechanical parts does not need to be on the 10th of a milimeter to function properly. Since there is no internal 1ms timer i want to be able to trigger my own timer in an interrupt when the sensor goes high and when that timer reaches the set value in the HMI i want to push the product down the shoot. Hopefully there a simple way to design a timer like that Any suggestions? I uploaded a small video showing my simple testsetup....perfectly mounted sensor i know test_pusher.mp4
-
Good morning all. I am working with a Mitsubishi Q series PLC (Q03UDECPU) with a QJ71MT91 communicating with a Keyence I/O Link Block NQMP8L and a FD-R50 flow meter. I am currently doing a bench test with all of these components and have great success getting all the hardware to communicate. No major issues establishing coms. There was a learning curve migrating from Rockwell to Mitsubishi, but I have enjoyed the challenge. To the question, The way Keyence brings the process data in from the sensor itself is a 32 bit dword shown here. I am strictly dealing with the temperature aspect of the data at this point. The flow rate works fine. I can parse the data just fine and get a whole number temperature reading. However, if I want to parse the decimal points is where I am struggling. The customer hasn't stated they require the decimal point, but I would still like to know how jut to grow in my understanding. Currently I am bringing the raw data into D4003. Moving that data into D400 and using the SFR instruction shown here. I have tried converting the raw data into a float but could never get the logic to work right to get a temperature reading of lets say 24.3. Any help would be sincerely appreciated.
-
Hello, I was wondering if someone here who is experienced with RS485 can give me an opinion for why my RS485 line does this bug; shown in the figure. The first batches of thin lines are good communication. The slightly higher voltages are the machine I am talking to, and the slightly lower voltages are my PLC. You'll see this quiet time, then wide repeating square waves. Not visible: the end of each square wave is the machine sending several messages butt to butt (garbage message), and my PLC responds to it with an appropriate error message. This argument repeats. If I disconnect the PLC, the machine repeats its squarewave + garbage message until system restart. The PLC is, Mitsubishi FX5UC using its RS485 built in port, GXworks3 environment. 4800baud start bit, no parity. header and terminator being used on receive, disabled on send so I can send CRC (which mitsubishi only did Sumcheck so I do my own CRC calc and appending). Average message response time is about 15ms. Pretty nice with a non-lookup CRC generator. The below is just discussion. Mainly does this seem familiar to anyone? easy fix? ================================================================= I have the PLC connected to some equipment and they will sometimes talk for a good 5 minutes without issue and then the machine's chip enters a state where it pulls the line high and spits out multiple messages butt to butt as though it was one message and sometimes missing CRC or bytes just out of order. I know the machine is inherently fine because there are other off the shelf items that communicate with it just fine. When the machine enters this state, it stays like that until I restart it. Sounds like I am talking a lot about the machine which is not mitsubishi but the cause is my PLC and the machine is the key of observation. My PLC appears fine but is the cause. I am using a scope to check my bit-bashed messages and they are all great and within timeout etc.CRC is all good. The messages just prior to the bug are all clean. And this bug has happened after many different messages have been sent (so its not like a specific message is causing it. It can be any message.) ALso it can bug after the very first message. Its quite random. I thought I was getting it when adjusting termination: such as 110 ohms, open, or 330 ohms. I used a power suppy and 1k resistor to pull up and down the SDA and SDB respectively, it seemed to influence it but then the machine still enters its bug after I felt like I solved the issue. ANd thereafter it enters the bug repeatedly. One thing that is consistent is that the bug comes in waves. It will be happy for a while, then bug. Then after several restarts the bug is quick to return (within seconds), then after enough repetitions it starts to go away and its fine for a few minutes. It can deceptively seem like powering everything off for a while and coming back (like 10 minutes to an hour) can make it happy for 5 minutes before the bug. But thats not always true. I have come back in the morning and more often than not it works for a few minutes, but I have also had it bug first thing in the morning too just not as likely it seems?
-
- rs485
- mitsubishi
-
(and 2 more)
Tagged with:
-
Hello Everybody I have started an EIP communication between a Mitsubishi IQR plc and a Zebra ZT610. For this I use a RJ71EIP91 card for MITSUBISHI. And on the Zebra side I had the "Network Connect" driver installed. In the RJ71EIP91 card I put the ESD file. (attention I was obliged to modify this one and to put the communication in "point to point" (before it was multicast) I have a closed network (Zebra, PLC, PC) It works. I can print labels with tags that evolve in the PLC. The problem is that when I turn off the printer I have a lot of trouble reconnecting it to the PLC. When I run a slave scan with the "RJ71EIP91 TOOL" software, it no longer sees the printer, although I can ping it from this software and I can see it clearly. To regain communication I have to reset the zebra, or initialise the network parameters, or initialise with the factory parameters. It's really strange. I can't figure out what is making me regain communication. If I switch off the PLC or unplug the RJ45s and leave the Zebra switched on, I don't lose communication. Do you have any ideas to help me understand my problem? Thank you all for your help. Renaud
-
Hello, I was setting up a PID and couldn't find the I-Gain term. I attached the page from the documentation about setting up the PID. Reading the rest of the section (Chapter 10 of MELSEC IQ-F FX5 User's Manual (Application)), doesn't reveal how to use an integral gain either. It skips over it; showing K and D gains and times but only showing I time. Is integral gain something derived or implied by other configurations?
- 1 reply
-
- mitsubishi
- fx5uc
-
(and 2 more)
Tagged with:
-
Hi, I am trying to work with a VFD in torque control, but I cannot make sense of the torque command in the VFD manual (FR-A800 series: https://vfds.com/content/manuals/mitsubishi/mitsubishi-a800-manual.pdf). Why is it a percentage? A percentage of what? I cannot seem to find this anywhere in the manual. Thanks!
-
Hello, I really appreciate the help I have gotten from you all. Thank you so much. I have an anomaly I need your experienced opinions on: When my state machine gets to state 3, it will hang and not update the state machine variable to go to the next state. I use [MOV K24 D3999] where it hangs; and is an example of how I do all my state changes which do work. (my states are 21 through 28; 8 states total). Each state is super simple like this one attached where it hangs, I could easily simplify to a few states, but I did 8 for debugging and organization purposes. Maybe I can get around it if I shrink my state machine but but it shouldn't be hanging like this and I should learn what the issue is to help me out later with bigger state machines. ================================================== About the attached image: D3999 is the state machine variable and it shows state 23 (the 3rd state) so this rung is active. It does a bit shift on something to the left as expected, increments a Z10 variable for some outside operation as expected, but fails to move 24-decimel into D3999 so it hangs here. The image is snapshotted during live operation: the [= D3999 K23] is live, shown by its blue highlighted boarder. The bit shift and increment do happen, and if I did not make them P functions (P means pulse so they happen only once on a rising edge) then they operate repeatedly when it hangs making it stuck shifting millions of times and counting Z10 like crazy. But MOV and MOVP does not matter, it will NOT mov K24 into D3999. The fact that the SFL(P) and INC(P) functions right next to the MOV(P) function do work, but MOV(P) will not, is really odd. I can manually enter 24 into D3999 in the watch menu, which works, and the state machine continues on. Every other state uses the same logic (using MOV K# D3999) successfully and so the machine cycles back to this 3rd state (like normal) but then get stuck on this 3rd state. Any ideas why it is doing this? I do not use SET or RST on D3999 to avoid that kind of latching... Note: I tried INC(P) on D3999 here since it always goes from state 23 to state 24 (states 3 to 4), but the INC(P) also fails to increment D3999. INC(P) Z10 works though...??
- 4 replies
-
- fx5uc
- mitsubishi
-
(and 2 more)
Tagged with:
-
Hello, After a lot of reading I was concluding I would have to do structured text. But then learning structured text I don't see how it solves my issue too. So I am lost: I have incoming messages of variable length. I know what the lengths are because there is a receive counter called SM8561 for the FX5CU CPU over its built-in RS485 port. I have to do a CRC check on it and then interpret the message afterwards to do things. For my CRC, I Omit the ending DLE-ETX. But the device location of DLE-ETX changes with message length. So I can't just say, (the below is not valid syntax, just an expression of what I want to do) if D4500 is start of message and the end of message is always DLE-ETX-CRC-CRC, where the last CRC byte is always device location D(4500+SM8561) //SM8561 is message length [MOV D(4500+ SM8561 - 0) D5000] and [MOV D(4500+ SM8561 - 1) D5000] to move the CRC bytes to another location like D5000 for me to process. I also have to move select bytes from my message to another location and in a continuous run of devices to help with CRC check. These device locations change with message length. I was looking at structured text but its the same issue, I can't assign a variable device number. So how do I process dynamic message lengths? This would be a cake-walk in C, I am just unfamiliar with PLC syntax to do this whether by iteration or logic array.
-
Good Day All, I have a problem when downloading data to the PLC IQ R. How do I solve it?
-
Issue with mitsubushi melsec PLC modbus QJ71MT91 as server
raheelredben posted a topic in Mitsubishi
Hi there guys I am using modbus as server and having the issue that i cant use multiple outputs simultaneously if I want to use coils as outputs I have to put the value of outputs in auto refresh of modbus and if i have to use data registers then i have to use data registers in auto refresh, but simultaneously i cant use both in auto refresh because the auto refresh won,t allow as I am using modbus QJ71MT91. I can see the outputs changing in device buffer that obviously because of the default values of the ladder code but I want to see all of this in modsim32 and want simultaneous outputs coils and holding registers to be seen. These are the IP addresses: plc CPU: 192.168.1.30modbus:192.168.1.235pc:192.168.1.240 (I have set the ipv4 settings with ip address that i wrote subnet mask:255.255.255.0 and default gateway: 192.168.1.1)local network: 192.168.1.1 I have created a ladder logic for tank filling station that is as follows What my ladder code does is that if i turn on input y80 then y100 output that is filling tank turns on and the timer for 100 sec is stored in data register D100 and if input y81 is turned on the output y101 is turned on that is discharging of tank and the timer for 100 sec is stored in D101. These are the Auto communication parameters I have set for the ladder logic code And in order to see the outputs of either coils or data registers working these are the following parameters for auto refresh For coils for registers Can you guys tell me how i can use both simultaneously?? and see the timer value and coil output both at the same time in modsim32? Or in general how can i use multiple outputs at the same time using modbus as server???- 1 reply
-
- mitsubishi
- plc
-
(and 5 more)
Tagged with:
-
Hello, I tried following this post first but they go a different direction. https://forums.mrplc.com/index.php?/topic/36694-how-to-calculate-crc-gx-works-3-fx5/ I want to do a CRC calculation and there is syntax for it already in ladder. But as the linked post says, it is defaulted to a CRC-16 polynomial. I need CRC-CCITT. The manual describes as a precaution that there can be other polynomials and will produce different results... and CRC-CCITT is one of them listed.... Ok... can gxworks3 CRC generator do CRC-CCITT? I do not see how I can instruct it to do that for me. The SM8562 needing to be off for 16bit, and on for 8bit makes me think theres some other SM object to adjust to get my CRC-CCITT? Does anyone know? Thanks!
-
I want my ladder logic to be sent via CPU ethernet modbus in Qseries melsec CPU 03UDE
raheelredben posted a topic in Mitsubishi
hi i want to setup my plc through CPU ethernet only and i want the communication to be done without the modbus tcp module can it be done without using the opc server, i dont want to use the opc server. My CPU PLC ip is 192.168.1.30 and my PC ip is 192.168.1.240. i am using GX works 2 can you guys let me know the procedure on how can i implement the ladder code and see the outputs on modsim 32 or modscan 32. it would be a huge help . as I have created a ladder logic simple code for understanding the concept of how it works i have a simple start stop normally open and normally closed contact and a coil . I want this to be implemented via the cpu ethernet modbus only. Can you let me know all the steps please? -
Issue with mitsubushi melsec PLC modbus QJ71MT91 connection with FActory IO
raheelredben posted a topic in Mitsubishi
I want to communicate my Q series PLC with Factory IO using GX works 2 software, I want to use modbus tcp/ip as server in factory IO and the ips are as follows plc CPU: 192.168.1.30 modbus:192.168.1.245 pc:192.168.1.240 (I have set the ipv4 settings with ip address that i wrote subnet mask:255.255.255.0 and default gateway: 192.168.1.1) local network: 192.168.1.1 I want a start stop switch as an example and a warning light so that i get to know how the communication works as it is not working currently I have done the communication through modbus tcp/ip as client but unable to do for modbus tcp/ip as server. the ladder logic code is as follows. the addresses for y80, y81 and y82 are , QY128, QY129 and QY130 I have done some settings for automatic communication parameters that are as follows The auto refresh settings are as follows or the factory IO i have created the following environment the settings for driver configuration is as follows Can you let me know whats the issue here as i am unable to communicate via the factory IO with the PLC . Can you guide me in any way?- 9 replies
-
- mitsubishi
- plc
- (and 7 more)
-
Hello, simple question, How do I clear a range of devices in ladder in GXworks 3 mitsubishi PLC? I'd like to do something like MOV K0 D4500 D5000 where I put 0 in all devices from D4500 through D5000. I have scanned the documentation for an hour now and not finding how to do this. I also don't see a way to iterate a loop like I might do in C. For now I just made an array of RST D4500, RST D4501, ... and so on for about 20 devices just to keep moving forward with some development. But I need to wipe that whole space easily. Is there a way to input an array for the RST function? Thanks!
-
Is it possible to connect an old Beijer E300 terminal to a Mitsubishi FX5U base unit via a serial interface (RS422 or RS485)? And which protocols do I need to select?
- 1 reply
-
- beijer e300
- mitsubishi fx5u
- (and 5 more)
-
Hello everyone, I am studying Mitsubishi R-Series PLC with GXwork3. I don't really understand communication using CC-Link. Below I have the module configuration that I use. My hope is that the Digital operation value of the AI module is stored at addresses D0-D32. and I sent AO to address D100-D132. can someone guide me to give me an example of how to set parameters and create a program. thanks you
- 2 replies
-
- mitsubishi
- cclink
-
(and 3 more)
Tagged with:
-
Hi all , I've a simple question. But it's a problem that makes my job difficult. How can i see full name of this labels. Without double-clicking or hovering the mouse cursor over it. I have to keep clicking while checking the program.This steals my time. And sometimes I can accidentally change it when I click...
- 3 replies
-
- mitsubishi
- gxworks3
-
(and 1 more)
Tagged with:
-
HELP! Does anyone know how to change this setting from password numbers to letters and numbers? Much appreciated Matt R
- 2 replies
-
- got 1000
- mitsubishi
-
(and 2 more)
Tagged with:
-
Hi all, I have an issue with Mitsubishi GOT Simple Series. After write to GOT, everything okay. All the hmi button functioning well. But after turn off and on the hmi, It will appear "SCREEN ERROR". Any idea what can I check?
- 6 replies
-
- mitsubishi got simple
- mitsubishi hmi
-
(and 1 more)
Tagged with:
-
Hello all, We’ve been having some issues with Analogue Output cards (R60DA8-G and R60DAI8) on some projects we’ve been doing and wondered if you could help. On one site where we are using the R60DAI8 we have the following issues: when a valve is failing on site (wired to the first analogue output channel) the ERR LED comes on for the disconnection detection error, should this error come on with a valve failure/instrument failure or should this be for physical disconnection only? Also, site are reporting that the other valves analogue outputs on the card stop working when this happens. We have had a response previously from Mitsubishi support suggesting that this shouldn’t happen (basically they pointed to noise), could be wiring or it could be caused by external noise. Would replacing the R60DAI8 with an R60DA8-G resolve this issue? General issue for both R60DAI8 and R60A8-G: When the Disconnection Detection Error is no longer present the ERR LED is still on so we have had to issue a reset to the “Error clear request” bit of the card (YF) to clear the error (currently a manual action from the HMI). Is there a way that this can auto clear when the detection error is no longer active? The only other way we can see to make this clear automatically is if the card has an error we could periodically issue the “Error clear request”, is there any issue with doing this if there’s no way to set the card to auto reset? The R60DA8-G has a detection auto-clear enable/disable setting but only has 100 times and from the manual this suggests a 100ms period between resets, so does that mean it only checks to auto-clear for 10 seconds the ERR LED is on and requires the “Error clear request”? Any help with this matter would be much appreciated.
-
- mitsubishi
- r series
-
(and 1 more)
Tagged with: