viman

MrPLC Member
  • Content count

    45
  • Joined

  • Last visited

Everything posted by viman

  1. No, there's no errors. Neither from EC nor MC (from plc/drive side, all OK). The move instructions do not throw errors either and they do set the done signal. I can't home the servo at all since it doesn't move with MC_Home. There's something weird going on though.. MC_Power powers the servo but I can still move it with my hand. There's the internal relay activating inside the drive, but the servo doesn't have power whatsoever. Which is different from when I jog it from the yaskawa software - it sounds much louder, like they always sound like, and I can't move it manually (like it should be). I have connected a spare Omron ethercat servo I have and it works with the same code, so either there's something wrong in the PDO mappings/ESI file or the drive is faulty/not compatible.
  2. AFAIK it's not necessary as long as the motor can reach the target speed. But I did try all kinds of values for acc, dec and velocity. From single digits to millions. The motors don't move since the encoder is always showing the same value. It does change if I move the motor by hand.
  3. I will have a look at the functions, but for now I suggest you send and receive using only the plc and your computer. That way you can clear out it's not the plc. Normally I use the Hercules tool (HW group) or Wireshark. Hercules lets you set up tcp/udp servers and clients though. You can receive/write from Hercules back to your plc. There's many things that may not work here so the first thing to check out is that the UDP loop in the plc works.
  4. CX-programmer IO list

    The IO addresses are printed on the covers of the CP1. You will see '0CH' '1CH' on the top cover and '100CH' '101CH' on the bottom one. And next to them 0, 1, 2, etc.. that's telling you where the IOs are mapped. 0CH + 0 = 0.00. 1CH + 10 = 1.10. Inputs start at 0.00 and outputs start at 100.00. You can see the straight list in Programmer by clicking this button: If you want to see the actual value:
  5. Old topic but I'll leave the answer. Some plcs - I recall CP1s are in this category, correct me if wrong - aren't capable of active FINS communication. They can't send out FINS commands but they do reply to FINS requests. The way to do this with a computer is to flat-out send everything from the computer. You don't actually have to do anything in the PLC for this to work - you just have to send both the read and write commands from the computer. The plc will reply to both, one with the value and the other with a response. Obviously the data needs to be in a fixed memory address. And the only way to know from the computer when an event happens in this case is to put the reading cycle in its own thread, and send the read commands every 50ms or so (it's called polling). It essentially acts like an HMI. But you have to set some thread locking mechanism in place in case you try to write to the plc at the same time you are reading, since you will be using the same UDP writing function to do both. If you are not willing to code all of that you better mount a plc that is capable of sending dedicated FINS messages, like a CJ. Then you can split UDP reading and writing. But in my opinion it's worth investing in the polling solution since it works for every controller. I have wrote both kinds of software and I ended up using the polling one for everything. The price difference of mounting a superior model just for that is too high.
  6. Sysmac Studio Improvement Request

    I tried both from the sync screen and the dedicated button in the ethernet/ip settings window. It did not work. It's not that it doesn't send the data to the plc - it does, the progress bar moves and Sysmac confirms, but the connection with the target device just doesn't work. But it does if I replicate the connection in Network Configurator and download it from there. Maybe it's because this target device needs a configuration size and instance, which at first you can't set from the eip settings window. But you can change those if you right click the eds file you add to the toolbar on the right and click on the edit button - the parameters that appear are the same you set in Network Configurator. Same results though - the same identical configuration in Sysmac does not work. I have confirmed this by downloading the settings via Network Configurator (connection works), and comparing the plc settings with the project settings of Sysmac. It says there are no differences, but if I download via Sysmac the eip connection stops working and throws the Tag Data Link Connection Failed error. If I download again from Network Configurator the connection starts working immediately. Last time I checked (~20 days ago) I had the latest version of Sysmac but I'll see if there are updates when I have some time.
  7. Sysmac Studio Improvement Request

    Can the Omron gods take a look at the download Ethernet/IP options to controller function? I'm currently doing tests and I'm about to have conclusive results. The plc is not taking the proper EIP configuration through Sysmac, but it does work if it is sent by CX's Network Configurator. There's definitely a bug cause I installed a NX with EIP comms two years ago and I had no problems whatsoever.
  8. Which of these encoder cards you plan to get? http://www.ia.omron.com/products/family/3190/ As an ethercat slave, they have a parameter called 'Max count setting' which lets you rise it up to 4294967295 (32bits).
  9. Missing devices

    Well, after rebooting the system and removing the OMRON folder from C:\ they are all there. Solved
  10. Can anyone tell me if they can see ID5442 or OD5256 in the device list to add to a PLC? My list doesn't go any higher than 3k for I/O cards. Thing is, I have ran the Omron updater for Sysmac Studio and there's no updates for it. Mine is showing 1.30.0.17 
  11. I'm thinking of creating a variable to hold the encoder pulses and feed it directly the encoder value. That way it can go as far as big your variable is. However, in the days of CP1 you had to use instant update functions (I can't recall the exact name), cause otherwise the PLC cycle isn't fast enough for an encoder. I have no idea about this in the new Omron PLCs though.
  12. Go back to Ethernet/IP device list, right click the PLC and monitor the status. Navigate through the tabs, everything should be blue. Check the output tags, if something's wrong with the outputs it should be shown there.
  13. TCPSocket Connection with NJ501-1300

    I guess you mean you are using SktTCPRcv. In that case, the error you are receiving means that nothing is received on the PLC side in the timeout value you specify. Try with a longer value.
  14. Read position from rotary encoder

    By any chance, have you downloaded the CONFIGURATION to the PLC and powered it off?
  15. That's an old controller and I haven't used it, but you are probably missing some parameters regarding the RS232 port. Baud rate, parity - those are not inside the program and, if your backup didn't contain the whole project, you need to set them again.
  16. I figured it out. Following the previous example... I added an input that acts like a proxy to this property that I could not change. This input turns the output to FALSE when I'm done with it.
  17. I get the input of an encoder and do operations based on that, for at least twenty object 'slots' at once. Program is on ladder since client needs to be able to modify it at will, but I'm using structured text functions to handle all the messy operations, since every object has properties and data, and up to twenty can be running in real time. This is a CP1L. Instead of instancing those function blocks twenty times each, I keep a single instance of them one running all the time, and output TRUE when one of those objects raises a valid comparison. In essence those FBs compare each objects' relative position to the encoder against defined points. The picture is an example of the functionality I'm needing. When one object completes the FB task, one of its flags turns ON so that it can't be used anymore. The issue is that without an input/output ST variable, this flag stays ON no matter what, and I need to reset it from outside so the cycle can begin again. The inner FB bit linked to this output stays ON since nothing inside of it makes it change. That's why I need an input/output variable. In the picture the timer would reset the bit - until the FB turns it on again - but I can't do this in this controller. Is there an elegant way to make this work? I know I could use the rising edge of the output to turn some other bit ON but that's the kind of thing I want to avoid.  
  18. If the software says there's nothing to update - guessing you are using the compare tool - then maybe there's nothing to update. Anyway, I have experienced weird behavior too - specially working online with the first Sysmac release - and I ultimately had to DOWNLOAD everything but the unit configuration to the PLC and cycle power. You can connect directly to the PLC in the splash screen and make a new project grabbing all the data from it. After connecting it will ask you to read the data and it will tell you the current project will be closed and a new one will be created. This gets everything from the PLC. Sysmac also keeps a register of your project whenever you save. You can see the project history in the open project window, sorted by date.
  19. I need some help in data storing

    You can store those bits in retain area H (Hbit) so that the data stays there and doesn't get erased after powering off the machine. You can have H10.00, H10.01 and H10.02 for the first object, then start at H11.00 for the second and H12.00 for the third and so on. Just SET or RSET those H bits based on your parameters and you can later use them as conditions in your program.