Michael Walsh

MrPLC Admin
  • Content count

    1801
  • Joined

  • Last visited

Everything posted by Michael Walsh

  1. Help! Using CMP(20) with TS101

    That looks correct to me.  Are you sure that you are not using B4 as a coil later in the program?  You may not see the contact P_GT be true in this rung as it shows the value of P_GT at the end of the scan (so P_GT would show the state of the last instruction that uses P_GT), but you should see the coil B4 as true.  Make sure the PLC is in Monitor or Run and check for additional uses of B4 later in the program.  It may not be another coil, it could be a move into that word, or other instruction like BSET or XFER.  Any number of instructions could be overwriting bit B4 later in the code.  
  2. Sample Pid Program

    There was an issue with the website a while back where the attachments were no longer available.  Unfortunately, we have to fix the issue with each post as we find them.  I have fixed the file link above.  You should be able to download it now.
  3. Setting FINS network for inter-PLC communication

    Note that you will use different FINS commands for PLC to PLC communications.  See this manual for information:   http://www.edata.omron.com.au/eData/Software/FGW/W342-E1-15.pdf Look at FINS commands 0101 and 0102 for memory area read and memory area write in Section 5.  So, going back and reading your other posts, I see that I skimmed over some points.  Yes, the G9SP does NOT support all of the FINS commands and you will not effectively be able to test PLC to PLC communications. 
  4. Setting FINS network for inter-PLC communication

    Well, I went ahead and tested this for you.  I took the code directly from the G9SP manual, found here: http://www.edata.omron.com.au/eData/Safety/Z922-E1-05.pdf Section 7-3-2 Here is my code (this was a CJ2H, using the built in EtherNet/IP port): As you can see from my notation in rung 1, you will need to change the node number from #43 (67 decimal) to match the node number of your G9SP.  Otherwise, nothing else needs to change unless you cannot use the same addresses for some reason. The image below illustrates that the value of channel 100 in the PLC will be sent to the G9SP as Optional Communication Reception bits and the Optional communication Transmission bits will be sent from the G9SP to the PLC and stored in channel 200. In summary, the sample code from the manual works well.   Here is my Ethernet module configuration in the G9SP: I would just make sure that the EtherNet/IP module built into the CJ2M PLC has a FINS node number that matches the last octet of the IP Address.  In my example, my PLC was set to 192.168.0.60 and the node number dials on the front of the PLC were set to 3C (hex) which is 60 decimal.
  5. Setting FINS network for inter-PLC communication

    I would recommend looking at SEND or RECV.  These commands are simpler and accomplish the same end result.  Here is some sample code that is way more complicated than you need, but contains the SEND and RECV commands: You can also use this nice utility to check if your FINS command is set up properly: http://forums.mrplc.com/index.php?/files/file/948-fins-color-coded-messaging-tool/
  6. asking for an input

    If there are no coils, then they could come from somewhere else, such as EtherNet/IP connections, ControllerLink communications or many other communication options including from an HMI (touchscreen).
  7. incremental encoder

    You need to post much more information to expect  any help.  Which PLC?  Which encoder?  What do you mean by control direction?  You need much, much more information.
  8. According to Nachi's sales literature, the MZ07 supports EtherNet/IP.  So, I would get an EDS file for the Nachi robot and install it in Sysmac Studio.  Then, you need information on the assemblies that the robot uses.  You can choose which assemblies to use and then make a connection with EtherNet/IP to variables in the NJ.  Start looking in that direction.
  9. CQ1M to CJ2M conversion interrupts problem

    Well, after looking at the instruction, it might be possible that you can still use interrupts in the same manner.  It is difficult to tell what the instruction is doing without knowing what is in each of the operands.  If you can tell us what value is in each of the variables in the INT instruction, we can provide more details.  
  10. CQ1M to CJ2M conversion interrupts problem

    I do not think that you can use interrupts in this fashion in a CJ2M. I would recommend that you look at using Subroutines and put the code that is in the interrupt routines in your subs, or just pull all of the code into your main program and trigger it all with the First Scan bit (this is probably the easiest option).  The programs are just initialization programs, so either of the above suggestions would work. 
  11. HOW TO COMPARE TIMER CP1E

    This would work:
  12. CP1E-N30DT with Hyperterminal PC

    Yes, I agree. PC  PLC 2 - 2 3 - 3 5 - 9 Jump 4 to 5 on PLC side and Jump 4 to 6 and 7 to 8 on PC side.
  13. CP1E-N30DT with Hyperterminal PC

    Your port must be set to RS232, not Host Link to use TXD and RXD.  Make change and cycle power.
  14. UDT - Individual Comments on BOOL / Members

    You can make a structure that looks like this in both Sysmac Studio and CX-Programmer that will accomplish what you want: You can also change the comment on the variable and it will override the data type comment, see below: If your concept was to nest data types, then the method in the image above would accomplish what you want.  By nest, I mean that if you created a data type called cylinder and then created a data type called Station that was an array of data type cylinder, then you could use the above method to comment each cylinder. With CX-Programmer, you can do what I did in the top image, but I do not know of a way to do what I did in the lower image.
  15. Did you try to go online with the controller as well?  I have seen where the test can fail, but it is still able to connect.
  16. UDT - Individual Comments on BOOL / Members

    Please only enter one question in one forum.  Follow here:   http://forums.mrplc.com/index.php?/topic/30266-udt-individual-comments-on-bool-members/
  17. UDT - Individual Comments on BOOL / Members

    Are you saying that there is more than one cylinder per station?
  18. Omron NX701 CPU Ethernet gateway setting?

    Yes, it is difficult to see over there....
  19. Omron NX701 CPU Ethernet gateway setting?

    Scroll down further....  
  20. Time Comparison Instruction

    Here is a sample for you:
  21. Problem using comparator

    There is a mistake in this ladder code below, make sure to use the = instruction, not the =F instruction.  =F is floating point and the CNTR instruction uses BCD as the format.   An additional note:  you do not need to make a comparison to a counter value.  When the counter reaches 0, the bit C7 will turn on.  Just Use a N.O. C7 wherever you wanted to use the Bm_Free bit.  With a standard counter (CNT) instruction, using the counter done bit makes sense and will function as expected.  It would count down to from 4 to 0 and then you would have to reset it to start again.  When the counter is at 0, the done bit would turn on.  With the CNTR instruction, it is a bit different.  The top input will make C7 count up, the middle will make it count down and the bottom is a reset.  Both the count up and count down will make the counter value wrap around like this:  when counting up: 1, 2, 3, 4, 0, 1, 2, 3, ....  When counting down:  0, 4, 3, 2, 1, 0, 4, 3, 2, 1...  The done bit will be on when C7 is 0.  
  22. Problem using comparator

    Also, note that if you are trying to compare the counter value with 0, you need to put #0, which means a constant BCD (in this case, can mean Hex also) value of 0.  By just putting 0, you are comparing the value of the counter with the value in channel 0 (which may or may not be a value of 0).  Channel 0 is the first input or output channel of the PLC.
  23. Sending SMS with PLC CP1L

    A little googling revealed to me that ctrl + z  = SUB = substitute and the hex value of the non printable SUB character is Hex 1A or decimal 26.   So, to send ABCDEF (CTRL+z), you would have something like this in consecutive memory addresses that you would use to store your outgoing message: These values are in HEX 4142 4344 4546 1A00  
  24. Sending SMS with PLC CP1L

    Use the TXD command.  You can find it in the help menu -> Instruction reference -> CP1H/CP1L - Series help file.