PMCR

MrPLC Admin
  • Content count

    701
  • Joined

  • Last visited

Posts posted by PMCR


  1. See the sample code here. http://forums.mrplc.com/index.php?app=downloads&showfile=934 This is written from the Omron PLC side, using Rockwell PCCC protocol. I have never tried Rockwell CIP messaging to Omron PLCs. The Omron PLC reads and writes the data.
    1 person likes this

  2. You can use the Modbus RTU code here when using CP1H and MODTCP61 as a master (client). http://forums.mrplc.com/index.php?app=downloads&showfile=867 The MODTCP61 is sent Modbus RTU commands from the PLC. It turns the Modbus RTU Node Number into the last octet of the target devices IP Address. As far as your specific energy meter, I have no experience.

  3. A 16#0114 is a Vendor Code or Product Code Mismatch, per the ODVA specification. Since you don't use an eds file with a Vendor Code or Product Code with the Generic Ethernet module, I suspect there must be a way to disable electronic keying. I know that in some versions of Logix5000 there is a check box to do so. I would check with Rockwell to see how they suggest solving the problem.

  4. That is a tough one to answer. The AC input card should be isolated from the AC power supply. Is the power feeding the stacker 120 or 240 VAC? You refer to polarity, but only 120 would have polarity with reference to ground. If the machine was powered up when the wires were pulled out, it is possible that one touched the Ground screw on the power supply. If this happened, there may be more damage than you can see, including the backplane. The ground is routed through the backplane to all the IO slots.
    1 person likes this

  5. The CPM2 series PLCs have a slave protocol built in called Host Link. A PC can send commands using this serial protocol to the PLC to read and write data. There is a lot of information on this forum regarding Host Link, and many Omron manuals have all the details for this protocol.
    1 person likes this

  6. Strantor Thank you for letting me know about this. It is not something that I have seen before. Because that tool is written in VB6, it does not do the best job figuring out which Ethernet adapter to use if there are multiple open. What operating system is this on? Which adapter is set as the Primary adapter in Windows? You can tell which one is the primary by which one is at the top of the list in Control Panel / Network and Sharing Center / Change Adapter Settings / Advanced / Advanced Settings. If you don't see the menu bar to select Advanced, and you are running Win 7, click the Alt key once to bring up the menu.
    1 person likes this

  7. Yes. CIF11 or CIF12 are typical, because most Modbus/RTU devices are RS485. Modbus/RTU is really media independent, and can run on RS232, RS422 or RS485. Modbus is just a protocol, where RS(Recommended Standard) 232, 422, or 485 is just an electrical wiring standard.

  8. Agreed. Using individual bits has documentation advantages. You can use an enumerated data type to help shed light. I typically just use rung comments. Enumerations seem like extra work to me. I may try enumerated sequencers on my next NJ project, which will be mid August.

  9. I have a method that I have settled into after 20+ years of programming. I use the same method regardless of what type of Omron PLC (CP1L, CJ2M, CS1, NJ, etc) I am using. I define a register (or Tag in the case of the NJ) as a 'sequencer'. On startup, I move a value of &100 into the sequencer. That indicates that I am in a power up state, but nothing has happened yet. From there, I use comparison (=) instructions to check the current state, and MOV instructions to command the next state. I always start out incrementing my sequencer values by 20, so I can easily add steps in between. This makes debug very simple. If your machine gets 'stuck', you can look at the sequencer and see where it is stuck. It also makes jumping back to previous steps for 'retry' operations very simple. If I have subprocesses (robotic interface, etc), I spawn a subsequencer (different register) and use comparisons to determine when the subsequencer is finished.

  10. The PIDAT function in the CP1L is a very good algorithm.It is heat or cool only, so if you need heat / cool, you need to use 2 loops.Just like many Omron functions, there are a series of memory locations that you allocate for PIDAT.Some are for the parameters, some are for background memory for the internal calculations.The setup is fairly simple, and the auto tuning typically works very well.Biggest thing to know is that you need to clear the background memory (c+10 to c+40, or something close to that) every time you start the loop, or it is starting with stale history data.You should not be afraid of using the PIDAT in CP1L, and we will help you with the details when you are ready.

  11. CX One 4.30 is the latest, but as Michael Walsh indicated, any CX One 4.xx version can be upgraded to the latest CX One 4 version (with proper software registration). It is not until there is a new major version (such as CX One 5.xx) that an 'upgrade' charge would apply.

  12. And to help round out the answer to your question, the way that the IO maps into the DeviceNet Assemblies, which is what the DRM21 sees, is entirely defined by the IO manufacturer. The Beckhoff manual should show you how the data is mapped into the Assembly, and from there it is a direct byte by byte mapping into the PLC.

  13. It sounds like you are doing it correctly. I don't know specifically what Kernel and Rootfs version brought in the Web interface. You may try to upgrade Kernel and Rootfs from NBManager. I am using Kernel version 1764 and Rootfs version 2022 and the Web interface works.

  14. The CJ1, CJ2, and CS1 support only 1 of the 4 protocols defined by Serial Gateway, specifically Compoway/F. The CP1L, CP1H, and CS or CJ SCU modules support all 4: Modbus/RTU, Modbus ASCII, Compoway/F, and Hostlink. In the CJ2, you could use RS232 mode to send Modbus commands, but you need to calculate the CRC16 checksum on your own, as well as handle the timeout. There are no instructions in the CJ PLCs that will calculate the CRC16 for you. The much simpler approach is the use of an SCU module, and the code provided in this forum.