Michael Walsh

MrPLC Admin
  • Content count

    1042
  • Joined

  • Last visited

Everything posted by Michael Walsh

  1. It likely just limits the memory areas to those of a CP Series - No EM.
  2. Set multiple non-sequential bits in an array?

    I would use a variable as the index and run a for next loop using the set instruction.  
  3. I would multiply it by 100 as a floating point number and then use the ROUND instruction.  This will convert it to a LINT or DINT and then just compare it to a LINT / DINT.     3.14159 x 100 = 314.159 Using ROUND becomes 314.  Then use an = instruction to compare it to LINT#314.
  4. Alarm history in NB Designer

    Read this post, particularly my response to his initial question: http://forums.mrplc.com/index.php?/topic/26396-nb-alarm-and-event-settings-display-etc/#comment-126518
  5. NB Alarm and Event Settings - Display, etc...

    First, you have to enter the addresses in the event setting as shown in the pic below. Choose the Project Database tab on the left, then click on event setting and add your events. The events are triggered by the addresses highlighted in the Address field. Then, if you want to have history rather than current events, you need to uncheck the "Show Only Ongoing Events" in the Event Display properties as shown below: I did not pretty it up, but here is the project from which I did the captures. You can test the events by pressing the toggle buttons at the bottom of the page in the Offline Test mode. Alarm History.zip Good luck!
  6. Sending alarms with NA panel

    @Mr.Moe I just sent an email to your gmail account from my NJ.  Using the settings above.  
  7. Sending alarms with NA panel

    I was thinking about this some more today and I realized why I could not send email outside of my house yesterday.  Just because my NJ cannot use SSL, does not mean that my new email server cannot do SSL.  So, I configured my hmailserver email server to relay the email through gmail.  Using SSL allows the server to use port 465 (not blocked by my ISP).  You just need to configure the delivery of e-mail tab as shown below and then you can send email from the NJ, through hmailserver to gmail's server and then on to the final destination.    
  8. Sending alarms with NA panel

    I was able to get this to work with a local email server, but my ISP blocks port 25, so I cannot send it outside of my house.  I can show you what I did and see if that helps. I downloaded hmailserver, which is a simple and free email server.   I setup a domain that is set to default settings except for the name of the domain itself. I created two accounts, one called mike@mikewalsh.net and one called test@mikewalsh.net and made up some simple passwords for them   I left all other account settings at default.   Under Settings, Protocols, SMTP, then on the delivery of mail tab, I was sure to set the local host name to localhost (that just points the server to my PC). I made sure to hit save and then closed out of the administration tool. Then, In my email client, I set up both accounts like this: Lastly, my ladder looked like this (note, changed the timeout to 20 (2.0 s): And the email that was received looked like this:
  9. @strantor_ Wow!  That is quite the process.  Thank you for coming back and sharing your efforts with us so that no one else has to go figure this out!  
  10. Thanks @Jay Anthony!  I hope that all is well!
  11. Unfortunately, you are right in your assessment of the issue.  I have documented a slightly painful process to be able to change the communication method for an NB project.  It should work the same for changing the model number.  Here is the document: Changing NB Communication Method POC.pdf So, you should be able to continue with development and testing with the CP1H and then use the document to change it to match your CJ2M. Good luck!
  12. NJ State Machine

    @Gotyaa444: The website was updated a while back and some of the attachments were removed.  They need to be repaired one by one as they are found.  I have repaired the post.  
  13. NJ State Machine

    This came up in another discussion as well, so I thought that I would post this here. Let's say that we are trying to sequence a very simple tray sealing application for the food industry and this is the simple process: Process: 1) Close tool with tray inside. 2) Vacuum out air inside tray to a setpoint. 3) Inject Gas. 4) Vent 5) Open tool You might build an enumeration that looks something like this: You might then have ladder that looks like this: The trickiest part of the whole thing is to remember that the variable Current_Step needs to be created with type "Sequence" (same name as the enumeration) to work.
  14. Compare not working

    IO_Rack is correct, you do not need to use a compare for this, however, if you want us to look and see why it is not working (for educational purposes), post the program and we will look.  It is difficult to tell from this picture.    As IO_Rack also mentioned, the counter counts down from the setpoint to 0 and when it is done, it turns on the done bit.  If you are trying to count up, you will need to use the increment instruction - ++.    
  15. Why TXD(236) doesn't work, but RXD(235) works

    Tell Renan that I said hi.  I believe that we have met before.  If it is the same person, his nickname is Mountain.  
  16. TXD & RXD with CQM1H SCB41 W/232 ASCII

    It is very much the same process, but there will be a node number in the serial string somewhere.  It depends upon the protocol.      
  17. TXD & RXD with CQM1H SCB41 W/232 ASCII

    You have the END Code set to 256 bytes.  Therefore, it will not receive a message and put it into the PLC until you send 256 characters.  Set the END Code to CR LF and make sure that Hyperterminal is set to include LF with CR and you will see whatever you have typed into the PLC if you change the receive size in your RXD command to match.  There is also an A register that will tell you how may bytes are in the buffer to be received).  I don't see a receive command, you will need one to pull the data into the PLC from the serial buffer.   This is code from a CP1L, but is a good solution, just change your end code, download the settings, cycle power and go:    
  18. How to break into PLC that is password protected.

    As @BobB mentioned, the customer needs to be able to prove that they own the code in the controller.  If they can prove that and sign documents stating that, then Omron may choose to break the password for the PLC.   However, this topic will NOT be discussed further on this site.
  19. Programming Analog Outputs - Problems

    What unit number (dials on the front) set to? By the way, you had created duplicate posts, I deleted the other one.  
  20. PDF Conversion

    April10_FIN.pdf
  21. Connecting to a OMRON PLC

    Try here:   C:\Program Files (x86)\OMRON\Drivers\USB\CS1W-CIF31
  22. FINS Ower Ethernet (IP Address Table)

    With the above settings, you would need to have the node number dials on the front of the CJ2M PLCs set to the following: 192.168.27.51  --  33 (hex for 51) 192.168.27.50 --  01 192.168.27.10 -- 02 However, I would recommend that you use the last octet for the node number and you do not need to use the table.  Therefore, 50 would be 32 hex and 10 would be 0A hex.  However, you are correct in your statement that nodes that are not on the same subnet will need to be in the table.  So, lets assume that you have one more PLC that you are not showing.  Its IP address is 192.168.28.40. For simplicity sake, I would set the node number switches on the front to 28 (hex for 40) and then add node 40 in the IP Address table of the other PLCs.     What you are missing in your test setup above is that the node number set on each PLC switch settings needs to match what you put in the table for that node.  
  23. Not sure if this is what you are asking, but each function block help file shows the structured text implementation of that Function block.  See below: as @innoaloe mentioned, you have to create the instance first.  Once the local instance is created, you can then start to type the instance name into your Structured Text and the type ahead help will recognize it as well.  See below: Functions however are a bit different. You can just type in the name of the function and it will be recognized:
  24. How can I simulate CP1L-E & NB HMI?

    No, it is not.  The NB software cannot simulate with CX-Programmer.
  25. NJ function blocks like PIDAT reentrant?

    PIDAT is a function block.  Each time that you create a new instance of a FB, a chunk of memory is carved out that is specific to that instance of the FB.  It is necessary to create a separate instance of the PIDAT FB for each of your loops.  Function blocks (as a general statement) require a unique instance each time that you add a function block in order for the function block to work properly.  Functions on the other hand reuse the same memory over and over and do not have instance names.   In the toolbox in Sysmac Studio, Functions are indicated by a small icon with an 'F' in it and Function blocks say 'FB'.