Eradicated

MrPLC Member
  • Content count

    24
  • Joined

  • Last visited

Everything posted by Eradicated

  1. Have you got rotary encoders on these axes as well? If you do then you can use the "Z" signal of the encoder to detect your homing position. Basically drive the motor until you hit the limit switch, then drive the motor the other way until you detect the "Z" signal (i.e. full rotation signal), this will be your know homing position. Obviously if you do not have the encoders you will have to rely on homing sensor (as Mendon mentioned preferably not a typical mechanical one due to the lack of accuracy).
  2. Logic required for product weight selections

    It seems to be a know problem (subset-sum problem), if you search on the Internet you will most likely find a few applicable solutions. Depending on the computational resources you can either try to find the best solution using all the individual weights as inputs, or sort them first and then utilize just a subset of these. I wrote a control program for a multi-head weigher (16 heads) a few years ago, I will have a look and see if I can find it.
  3. Which PLC, HMI, should i choose?

    What type of a motor will you use? Standard 3-phase asynchronous motor, DC motor, servo motor? Will you control it using a relay/contactor or a driver/inverter? In case of positioning, relying on timers is not a good idea, to get any reasonable accuracy you would need an encoder of some kind. To be honest you have not provided any detailed information regarding your application. Tell me what are you trying to achieve, what kind of drives will you use, how complex is the machine, etc. Then we will be able to advise you on the possible solutions.
  4. Allen-Bradley as well as MicroLogix family is something completely new to me. Anyway, I have the following question. I have a MicroLogix 1500 PLC which has to be re-programmed. It has two serial ports, Channel 0 (round-shaped, 8-pin, DIN connector) and Channel 1 (standard DB9 socket). The current software in the PLC makes use of the Modbus Slave mode at the Channel 1. I do not have the dedicated programming cable with round, DIN connector so I would like to program it using a standard DB9-DB9 cable. Now, the problem is - am I able to connect to the PLC using Channel 1? I know that there is a 'default comm parameters' switch, but it only affects the Channel 0. Is there a way to temporarily default the Channel 1 parameters as well? Just for programming? Or maybe I am able to connect to the PLC despite the fact that it is in the Modbus Slave mode on that port? Or do I have to buy the dedicated cable and program the PLC using the Channel 0?
  5. 2 PLC's + 16 HMI's - Ethernet traffic...

    I will briefly describe my control system. I've got the following devices hooked up into a network: 1 x CP1L-EM30DR-D 1 x CJ2-CPU32 16 x HMI (Pro-Face HMI's with Ethernet port). Don't as me why somebody decided to install 16 HMI's into such system, that's not my idea... The devices will communicate in the following manner: CJ2M will query CP1L for data using SEND/RECV commands. Typically about 20-30 words, with temporary increases up to ~500 word queries. Whereas the 16 HMI's will communicate with CJ2M (continuous communication), with approximated traffic of ~30 words per panel (with temporary increases and decreases in queried words count). Now I am worried if the traffic won't be too much for CP1L / CJ2M to handle? Won't CP1L overflow with data when this happy party starts to talk with each other? Did anyone had to deal with such amount of HMI's in the system or similar devices? In general response times are not the most important (200 ms between PLC's is fine). I wonder whether such configuration will handle such traffic. Should I maybe buyj CJ1W-ETN21 card and separate CP1L-CJ2M communication (with separate tunnel via managed switch) and CJ2M-HMI's communication (they would be connected to CJ1W-ETN21 card in such configuration). I would like to cut down the costs, so I would rather not buy the CJ1W card. I would be very grateful for any advice! Here's the image which visualizes the physical connection map for the system: https://dl.dropboxusercontent.com/u/23860146/mrPLC/pConn.JPG
  6. New to NB-Designer

    Maybe I'll just describe the procedure that works for me. I start with adding a new graphics. Then I add required states to the newly created element. Then if I place any element (e.g. bit lamp) on the screen and use the new graphics, the transparency works without any glitches (as an example, yellow background with letter on transparent background). As for your reference, you'll find my .png file with letter A on transparent background here: https://dl.dropboxusercontent.com/u/23860146/mrPLC/letterA.png . Hope that helps.
  7. New to NB-Designer

    You have to use graphics format with native transparency support which is at the same time supported by NB designer. I suggest you use .png graphics. So instead of colored background you use transparent one in .png file.
  8. CJ2M file memory operations

    I've been playing with Omron built-in file functions in CJ2M-CPU32. According to the manuals, I am able to read and write data (with FWRITE and FREAD) and do some other stuff like delete files, create directories (by means of FINS messaging). Now the case is that I want to list all the files in given directory. For example, I have a CompactFlash card installed, with directory \Recipes. In this directory there is an undefined number of .csv files. Assume that I want to make a list of those and display them in HMI. Is it even possible to make such a list in any reasonable manner? Or do I have to know the list of files a priori to access them?
  9. NA series HMI

    There are a few manuals already available on the Web: Hardware User's Manual Software Manual Device Connection Manual Startup Guide
  10. NJ State Machine

    In general I really love the STEP/SNXT functionality in Omron controllers, I just don't understand why other manufacturers do not support something similar, i.e. ladder representation of SFC. That just significantly reduces code responsible for the state machine mechanics. Anyway, I believe that the most popular pattern for implementation of state machines it to program two dependent layers: one layer responsible for the state machine mechanics (i.e. you map the step number to corresponding coil that executes some actions, while also managing transitions from step to step) and the other responsible for the above mentioned actions - i.e. when step coil is active make some movement, turn on the pump etc. Once you get the picture it is quite efficient. On the other hand I've seen some state machines programmed in structured-text FB's (e.g. using case statement), but I'm not really a fan of such solution. Though, maybe somebody else knows something about more efficient ways of programming state machines in PLC-s, also taking into account the new capabilities of NJ-series.
  11. NB Designer Macro

    The problem is that the macro is executed when you press the Number Input component, not when a new value is entered. Thus, the macro ends long before the keypad is displayed. One solution would be to run a cyclic macro when given screen is displayed (let's say every 1 second or so), though that would slow down the HMI a little bit (depending on the macro complexity). The other solution would be to design a custom keypad so that every time you press Enter key the macro would be executed. That would require a custom keypad for every numeric input so I don't think that's a reasonable solution in case of multiple inputs.
  12. I am not really that much into Siemens (I work mainly with Omron PLC's), but from my experience S7-1200 fits for small scale, low cost machines (its' possibilities are quite limited compared to S7-300). If you are willing to use something new you could go for S7-1500 (current replacement for S7-300/S7-400).
  13. I was wondering recently how far can you go when it comes to integration of safety circuitry. Here's an example: I've got a small production line composed of 4 independent machines (system of conveyors, one check-weigher and two processing machines). Now, three of those were provided by an external company, these are stock models incorporating basic safety circuits (mainly E-Stop and several guard doors). Now, imagine I want to have a complete, integrated safety circuit so in case of emergency one does not have to wonder which e-stop button to press and that all the machines will stop immediately. Can I mingle with the safety circuits and develop a single-centralized circuit (obviously under assumption that the person responsible knows what he's doing in accordance with the standards). Or maybe one should avoid at all cost such integration and stick to stopping individual machines with individual e-stop buttons, where the remaining machines will be stopped with standard, non-safety information. I believe there is no single, universal answer to this question, but I would like to ask other experienced people what's their opinion on this subject. I would be grateful for any suggestions as this is not the first time when I'm wondering how far you can, and how far you must go when integrating safety circuitry.
  14. MX2 Speed Control

    Exactly, use the same settings as shown below:
  15. MX2 Speed Control

    Yes, it is possible to control the speed of MX2 inverter via Modbus interface. A001 register is responsible for the frequency source configuration and A002 for run command source configuration. You have to simply change the A001 register to 003 and leave A001 unchanged, this way you will control the speed via Modbus and apply RUN command via terminal block.
  16. Omron DRM21 and Beckhoff BK5220 DeviceNet

    If you want to configure DeviceNet in Omron, you need CX-Integrator which is included in CX-One package, or can be bought independently (i guess so). The CX-Programmer itself is not enough to setup a DeviceNet network.
  17. EN 60204 DC Com wire color

    The standard states (I have it right in front of me) that whenever a color-coding is used it is advised to use blue wires for DC control circuits, not mentioning any differences between +V and -V. At my workplace we simply use the same, dark blue color for the DC control circuits (that is when a customer does not require different color-coding).
  18. Oops, unfortunately I've deleted my previous post so it looks as if PMCR responded to his own post. To clarify, I pointed out that maybe PMCR function with ModbusRTU conversion mode (2804 command) could be used with CIF board, as it would be cheaper than buying SCU module. However it seems that ModbusRTU conversion does not work with CJ-series PLC. Still it is strange that cheaper CP-series support it and CJ does not.
  19. (SCU41-V1) Modbus Slave - area mappings

    So I've been trying to reduce the work that I'm bound to do by using built-in Modbus Slave mode in CJ1W-SCU41-V1 rather than writing my own protocol based on TXDU/RXDU functions. Now I would like to focus on coils in Modbus, as I've encountered a little problem here. According to the manual W336-E1-10 I can map either CIO, W, H or A area to coils in Modbus Slave mode (page 302 of the manual at the very bottom). That's great, as due to some limitations I have to use Work area in this case and that's how the comm port has been setup. So I've started my testing and where it comes to 0x05 Modbus function (write single coil) everything works just fine, setting/resetting desired bit in the Work area. And that would be enough if I wouldn't have to use 0x0F (write multiple coils) function. I've been pretty amazed that if I use 0x0F function it writes coils not in the Work area, but in the CIO area! At first I thought that I've found a bug, until I came across a description on the page 316 of above-mentioned manual, i.e.: "Writes multiple bits in I/O memory. Allocated memory is in the CIO Area (fixed)." So as I see I can map the area for Modbus coils to Work memory area, but it only works for 0x05 function and not for 0x0F? That's a little bit of nonsense to me, what is the point in it? So now I would like to ask someone who had to deal with this issue in the past: do I have to write my own procedures for Modbus (rather than using built-in mode) if I want functions 0x05 and 0x0F write in the same memory area, other than CIO area? I know I can make these both function write in the CIO area, but that's not possible in my case.
  20. (SCU41-V1) Modbus Slave - area mappings

    That's right, I can select the work area for the Modbus coils area: Though, according to the manual (W336-E1-10, page 316) when it comes to write multiple coils Modbus function the area is fixed (i.e. "Allocated memory is in the CIO Area (fixed)."). So even though I have selected the W area for the coils, this function will always write to CIO area. It seems to me that someone at Omron didn't have the time to do the work the way it should be done. And since I cannot use CIO area for the coils and have to use write multiple coils during communication, I have to implement my own protocol.
  21. (SCU41-V1) Modbus Slave - area mappings

    Since I haven't found workaround for the problem (it seems that it is impossible to define memory area for 0x0F function). That'is why I have decided to implement my own code for Modbus RTU Slave. Yet I have encountered another problem. Does anyone have an idea how to manage 3.5T character time as frame delimiter (according to Modbus standard)? In general I could continuously check the receive buffer every cycle and verify if it doesn't change in consecutive cycles and on that basis decide whether a transmission is over. Or define time value in [ms] for the same purpose to check if transmission is over. However this would require the master to query my slave with certain time delays (e.g. 0.5 ) to allow for processing in PLC. So this is doable. But is there any way to detect this 3.5T character time via some built-in function in SCU? Does anyone have an idea? I am asking, as even the Modbus Slave protocol macro waits for defined number of characters and not relies on this delay time. I would be grateful for any advice.
  22. I wonder whether it is possible to edit symbol directly in ladder (without opening symbol table) when using Smart Input mode? In Classic Edit Mode it is doable by highlighting instruction of interest and then clicking edit, see image below. However, "Edit" function works differently in Smart Input mode (see another image), thus I am unable to edit symbol (e.g. its' address, name etc.). Does anybody know if it is possible to edit symbols in Smart Input mode the same way it is done in Smart Input mode?
  23. CP1-L to CJ2M - how to exchange data over Ethernet?

    Yes, I was looking for a way to establish a communication via EtherNet/IP. I was hoping that there exists some sort of automated solution to do it (without additional PLC code, something like PLC-Link analogy available in serial connections). Since it doesn't I will have to implement a solution based on FINS messaging. Anyway, thank you for your help, I know what to focus on right now :)
  24. Hello everyone (I am new to this forum)! I am relatively new to the Omron PLC's brand, thus my question may seem trivial. Still, I have to connect two PLC's and establish bidirectional tags exchange between these two (several registers each). Those are CJ2M-CPU32 and CP1L-EM40DR-D, both with built-in Ethernet ports. As far as I'm concerned, in general it is possible to establish such communication either with the help of Datalink (easier way) or via FINS messaging (harder way). I could not find any information whether it is possible to establish Datalink between these two PLC's, maybe because CP1L-E is a relatively new model in this family. I have checked the Omron Network Configurator, however CP1L is not on the list of devices, so I assume it is not available. Could any experienced user help me in this matter? I mean is it possible to establish Datalink between these two PLC's or do I have to implement the date exchange manually in a ladder program with the use of FINS messaging? I would be grateful for any help (any relevant manuals would be of great use too).