Michael Walsh

MrPLC Admin
  • Content count

  • Joined

  • Last visited

Community Reputation

97 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

6392 profile views
  1. Send text messages via Omron PLC

    If I am understanding what this device is (3G Wireless router), it may not be able to even send text messages.  If it can, then you would need to be able to send a generic ASCII command out the Ethernet port.  To do this with Omron, you would need to use something called Socket Services.  Unfortunately, the built in EtherNet/IP port on the CJ2M does not support Socket Services.  You would need to add a CJ1W-ETN21 module to do socket services.  This would also be a completely custom message that you would build.  There is no setting that you can make to do this:  " Where should I configure the text messages, configure the phone number, etc? "
  2. GP2401H to Omron CJ2H

    The CJ1 protocol should mostly work.  Is it a Host Link driver?  It is necessary that you set the port up to match the settings coming from the HMI.  There are also a dip switch that needs to be set correctly that specifies whether the port is using the default config or one that is set by the user. 
  3. NB designer change the screen

    Under the Project Database section of the Library Window, you can add a PLC Control as shown below: Then you can point the "Switch Screens" control event to the addresses (2 consecutive) that you want to use.  See the description of Switch Screens below:    
  4. Programming a bit shift

    @mehdi4467 The link was broken due to a site upgrade a while back.  I have fixed it.  
  5. FINS over Network

    Typically, these are all on different networks (subnet of  In that case, you would need several routers.  If you have a subnet like, then yes, you would need to set the dials on them to different node numbers and then add them to your IP Address table.  Why not just make them IP addresses like, and and use as your subnet mask?  So much easier.  
  6. Track NS series IP addresses

    Why don't you have a password protected area that you used to enter a value in a retained NS variable ($HW)?  You can then use that number to make it respond differently.  
  7. I want to look at this, just have not had the time to really dig in, sorry.  Perhaps soon.  
  8. PID Parameters. Intergral Time?

    I see that I did not answer this question above for you.   If you set the second digit of D6 (bits 4-7) to 9 and then set D2 to 2, you will have an integral time of 0.2s.
  9. Sysmac Studio Unknown error

    The command that you are trying to use is for two axes used together on an XY table (as Crossbow mentioned above). I believe that to control a Delta robot, you need to use the Robot commands, not the regular axis commands.  See below:
  10. PID Parameters. Intergral Time?

    This is describing the time units for the Integral and derivative times.  It refers to  the second digit, when monitored in HEX (from right, bits 4-7) of C+6. 00x0 <- the x is the digit to which this is referring.  See below:   If you have a 9 in that digit when monitored in HEX, then your Integral and Derivative times (see below) will be straight values of time in 100ms units.  So, if the second digit of C+6 is a 9 and the value in C+2 is 255, then your integral time is 25.5 seconds (255 x 100ms = 25500ms = 25.5s). If on the other hand, the value of the second digit of C+6 is a 1, then the setting in C+2 and C+3 is multiplied by the sampling period to determine your Integral and Derivative times.  For example:  if the second digit of C+6 is set to 1, the sampling period (see below) is set to 0.05s and the integral value (C+2) is set to 50, then the integral time is 50 x 0.05s = 2.5 seconds. I assume that this option exists so that you can have your integral and derivative times automatically change if the sampling period is changed.   The last bit of the note informs you of the maximum value when the second digit of C+6 is set to 9: " When 9 is designated, set the integral and derivative times to within a range of 1 to 8,191 times the sampling period. " This means that the maximum time amount that you can set for the integral and derivative times when the second digit is set to 9 (entering derivative and integral values as 100ms units) is 8191 x the sampling period that is set.  So, the second digit of C+6 is set to 9, and the sampling period (C+4) is set to 0.25s, then the max value that can be set in C+2 and C+3 is 8191 * 0.25s = 2047s. I agree that this is a bit confusing, but hopefully this explanation helps.  
  11. SCL Block confusion

    I see that you are probably already aware of this fact from your other thread:   
  12. SCL Block confusion

    Wait, I just reread your post above.  9999 (as an integer UINT) = 270F (Hex).  No scaling is required, you just need to look at it as a HEX value.  Perhaps I am not understanding properly. See the image below: I monitor D2000 (I just chose this address) as a HEX value and as an UINT (Unsigned Integer) value.  Note that the binary pattern shown is the same.  It is all in how the data is interpreted (as a HEX value or as an Unsigned INT value).
  13. SCL Block confusion

    You can also try this function block if you would like: http://forums.mrplc.com/index.php?/files/file/996-analog-scaling-function-block/
  14. How to read analog expansion inputs

    n (in your table above) is the last output word of the CPU.  The L14 CPU has only one output word and it is addressed at CIO 100.  Therefore, n+1 = 101 and n+2 =102.  When you see m+1, m+2, m+3 and m+4 in the input table, that would be channels 1, 2, 3 and 4 as m is the last input channel on the CPU (only one input channel and it is 0).   Therefore, to configure your input as 0-5V, assuming that you are using input 1, you would need to put the binary code into the three bits for that input.  So, in channel 101 on the first scan, you would need to move a binary pattern of 1000000000001011 and a binary pattern of 1000000000000000 into channel 102. This would be a hex pattern of #800B and #8000 respectively and the ladder would look like this: Bit 15 (leftmost bit in the binary patterns above) simply must be turned on.  That is why you need to write the #8000 into 102.  This catches many people.  The 4 rightmost bits of 101 which setup Analog input 1, are 1011 which is detailed in your set data picture in the post above.  From left to right, the 1 means use the input, the 0 means don't average (you can turn this on if you would like), the 11 means 0-5V.   If you put this code in and turn power off and then on, it should work.  You will then find you converted analog value in channel m+1, or channel 1.
  15. cj2m expansion rack issues

    Good thought, but it looks ok (If I used all the correct modules anyway): The consumption data would turn red if the power supply could not meet the current requirements. power consumption.bmp