Michael Walsh

MrPLC Admin
  • Content count

  • Joined

  • Last visited

Community Reputation

251 Excellent

About Michael Walsh

  • Rank
    Omron Expert
  • Birthday 07/22/73

Contact Methods

  • Website URL http://

Profile Information

  • Gender Male
  • Location Charlotte, NC
  • Country United States

Recent Profile Visitors

16191 profile views
  1. Cant´t download program to NS8

    This has been resolved.  See third post in this thread.
  2. Kepware to Omron via Remote Server - No Comms

    Can you provide a picture of what you are trying to do?  Complete with IP addresses.  Please show the PLC, the router and the remote PC.  Perhaps help can be provided with that information.  Also include the node # on the switches on the front of the CJ2M.
  3. File Copy for NX/NJ

    The MOVE instruction now does indeed convert data types (only certain combinations where you don't lose resolution however).  
  4. Sysmac Studio Improvement Request

    The variable discussion made me think of this tip.  It does not address your online edit issue, but is useful for programming offline.  There is a setting that allows you to select whether a variable will be created as a global or a local variable when you add it in the ladder editor.  To do so, go to the Tools Pulldown menu and choose options.  Then check the box as shown below: Then the following dialog will shown when creating a variable as you add elements:  
  5. sample logic

    There really is not much logic to it.  The temperature shows up in a register for each of the 4 inputs: Input 1 is in word n+1 Input 2 is in word n+2 Input 3 is in word n+3 Input 4 is in word n+4 n = 2000 + 10 x unit number. So if the unit number dialed in on the front of the card is 3 and you are looking for the current value of input 2, then you would look in address 2032. Explaining - n = 2000 + 10 * 3  = 2030.  Input 2 is word n+2, 2030 + 2 = 2032. then you use that number for whatever purpose that you need.   Here is the manual:  https://www.fa.omron.com.cn/data_pdf/mnu/w368-e1-10_cs1w-p____cj1w-p___.pdf?id=1644 Look in section 3-3.
  6. Timer Countdown in Minutes and Seconds

    The TIM instruction is not in milliseconds, it is in 0.1s increments.  So, 6000 (BCD) = 600.0 s = 10 minutes. I cannot save the picture on here, so I will have to type it.  You can use any addresses that you want, but I chose these.  My timer is T0. P_On contact to do all of this: BIN T0 D0               Convert the present value of the timer to an integer / D0 &600 D2          Divide the integer by 600.  This gives you minutes remaining as a whole number. FLT D02 D4             Convert the integer to real. D4 has the value of minutes remaining as a real number.  Display it on the screen with no decimal places. FLT D0 D10             Convert the current value of the timer (0.1s value) into a real number. /F D10 +600.0 D12   Divide the value by 600 to convert to number of minutes as a real number, so 900 (integer) would convert to 1.5 minutes. -F D12 D4 D14        Subtract the whole number of minutes remaining from the real number of time remaining.  Given the 900 example, this would be 1.5 minus 1 = 0.5.  D14 has the fractional minute value remaining. *F D14 +60.0 D16    This converts the fractional minute value in D14 to seconds.  So, 0.5 * 60.0 = 30 s.  In this example, T0 would have a BCD 900 in it, D4 would be 1.0 (whole minutes) and D16 would be 30.0 (30 seconds).  Be sure to display the D4 value on the screen with 0 decimal places.  You could display D16 with one decimal place or 0, that is up to what you want to see on the screen.   There are other ways to do this, but this is one suggestion.
  7. From a DM: Hello Michael , I'm new here , i have doubt with the display of a timer , my boss request a count down display in the HMI but how we can display the real value? I mean i need to put  Countdown display of 5min but the TIM is in miliseconds 6000 = 5min and in the display only put 6000. i hope you can help me.  Regards. Ivan  @Ivan Fajardo
  8. Comm1 orange LED steady and communication problems

    If the orange COM1 light is on all the time with nothing connected, this sounds like you have a hardware issue with that port.  This is not too surprising considering that Omron has not sold C200HS PLCs in 20+ years (my guess).  
  9. Omron Ascii Compare

    Use =$.  Note that the leftmost byte of the word after your data needs to be a NULL character (00 Hex) to signify the end of the string.   I created some pictures, but cannot attach them....You will need to populate three different memory areas with the hex values of your three different ASCII strings.  Then use the =$ function to compare the actual string in question against the three predefined memory areas.
  10. Can a CJ2M communicate to a C200H??

    The EtherNet options with the C200HG were somewhat limited, but Controller Link would work (CLK module), or serial.  Controller Link has a data link option, much like EIP Implicit messaging. For serial comms, you could issue Host Link Commands from the CJ2 PLC to write or read data to / from the C200H if you have a spare serial port available.  
  11. NA Alarm Popup Location & Size

    Answered on your other post.  Please only ask one time.  Thanks!
  12. Omron NA Alarms

    It logs each of the following: 1)  When the alarm occurs 2)  When the alarm is acknowledged 3)  When the alarm turns off This is important to some operations as they want to know how long it took the operator to see what the fault was and how long it took the operator to resolve the issue.
  13. Host Link Communication vis CJ1W-SCU41-V1

    Nothing, except put the PLC in Monitor Mode (for writing).  The cable is not a standard pinout. If the communication settings match and the 3rd party device has properly implemented Host Link communications, it will work.
  14. Multiple Modbus RTU Reads

    Sorry, I have not been on here very much as of late.  Trying to catch up.  Conceptually, it looks like it will work.  I would use one Function block and move the info to the inputs and then move away the output data for each execution.  If you compile this code, it fails because the FBs take up too much non-retained memory and the defaults need to be changed.  That being said, if you change the default memory allocations to accommodate the FBs, it should work as is.  
  15. Split a byte to two nybbles

    Use the MoveDigit function.  You can pull a digit (Nibble) out of a word and store it in another word or byte.