Mendon Systems

MrPLC Member
  • Content count

    490
  • Joined

  • Last visited

Posts posted by Mendon Systems


  1. Read Mike Walsh's description again!! It is the best writeup around for sorting out the F3 error!! With the mask set to 255.255.0.0 your network is going to be 65535 nodes. It seems to me like you mask should be 255.255.255.0. If you really need that IP mask you will have to set up an address table for everything that the CJ2M accesses.

  2. There probably is. Will the data always be 3 digits long?? It gets a LOT more complex if it is a variable length string. IF it is always 3 digits then this should work. edit: I did a bit more tweaking. If you change the first digit designator to #11 you can get rid of the NASL instruction. String-Hex.pdf

  3. I have a CJ2M-CPU31 application that is using them that way. I have not had any problems with it. If you want to test it just to be safe, load your CJ1M program and force the I/O points On and Off to see if it bothers your application.

  4. The ERH light usually means that there is an I/O conflict between two modules. Check the Error Handling section 2-8 of the W345 manual (page 73).

  5. I didn't check all of the values you initialized, but the unit restart bit in the last rung should be A502.05 for unit #5. You can also set all of these parameters in the I/O Table Unit setup, but I always create an initialize routine so that the program will run in a PLC that has not been set up correctly.

  6. The last instruction in Task 00 is a TKOF 0 so task 00 turns itself off after executing once at startup. The scheduled tasks (10-13) are triggered by a clock pulse causing an @TKON instruction to periodically become true. Each of those tasks also end with a TKOF instruction to turn itself off after 1 scan.

  7. Here is a sample of initializing an AD041-V1 module. This module is set for unit #1 so if yours is unit #5 you will need to change the addresses accordingly. AD041-V1.zip

  8. If you set them all up as Cyclic Tasks (Startup) they will all execute sequentially as if it was all one program. It makes programming easier to follow by dividing the functions up in blocks. You can control which tasks execute by using the TKON and TKOF instructions. In this program task 00 is set to execute once at startup, tasks 01 & 02 run constantly, tasks 10-13 are triggered by the system clock, and task 20 is triggered by the attached HMI. Notice also that there are two PLCs in this system, but they are both included in a single CXP file.

  9. Usually the best approach is to store the data in the PLC where both the PLC and HMI can see it. What type of word do you need to read from the HMI??? Is there any way you can map the word to a PLC address?? If not, your only choice is to copy the data to the PLC every time it changes.

  10. OK????? Maybe I missed something, but I thought that the stack pointers will be preserved as long as the stack is in DM or EM and you don't execute an SSET instruction. Of course the trick is to decide when the SSET instruction is necessary because without one happening at some point there is no stack.

  11. Have you been able to use this with Windows 7?? I got an error message that FinsMsgCtl.dll (or something like that) did not install. I have found a few other programs with VB6 code that won't run on Windows 7.

  12. In all fairness, this is strictly from my personal experience. Others have probably had different results. I started using the Maple Systems (Weintek) HMI about 5 years ago for two reasons: 1) I experienced several failures of the Omron NS series when data logging to their CF memory card. 2) I needed an HMI that would work with mixed PLC networks. Since I started using Maple Systems about 5 years ago, I have never had one of their HMI's fail. In that time period I have had to replace three NS series HMI's with Maple Systems 5070's, two because of problems with data logging and a 3rd because of communication problems. I have two regular customers who do heavy data logging. The CF memory cards that the Omron NS uses seem to be prone to failures and are much more limited in size than the SD memory cards that Maple Systems uses. I normally use Omron PLC's with Maple Systems touchscreens, but a lot of my work is retrofitting existing systems so some of them end up with really strange mixtures of new and old hardware. The factory HMI's tend to work well with their own PLC's but not so well with other brands of hardware. I do agree that Weintek's website leaves a bit to be desired. The only reason I suggested looking at them is the logistics. If you have a (somewhat) local distributor in Portugal it may be easier for you than dealing with someone on the West Coast of the US.

  13. You are correct about the 10" model. The P series currently exists in 7", 12" and 15" sizes. The software is $75 for a CD that includes both the Ezware 5000 (old) and Ezware Plus (new) versions. Note that Maple Systems is the US distributor for Weintek who private labels the product line. You might be able to get a better deal by going to Weintek directly. They list a distributor in Portugal.

  14. I have used them with both RS-232 and Ethernet connections to Omron PLCs with no problems. You just have to select the correct protocol (use Omron CS1/CJ1 Ethernet for the CJ2M-CPU3x). EZware is similar to CX Designer in many respects. I like EZware better, but that's just my personal preference. Others Like CX Designer better. Tip: If you decide to go that route, use the newer "P" versions and EZware Plus software. There isn't a lot of difference, but it appears that the older ones may eventually become obsolete. My current project uses both.

  15. I normally use the data sampling function in a Maple Systems (Weintek) HMI and save the data on an SD memory card. I have the HMI prompt the operator run a backup of the data periodically (30-90 days) to a USB flash drive and save the backup in .csv file format. Those HMI's can also be set up to transfer data to a host PC on demand, but I usually don't implement that. Pros .... relatively cheap, easy to implement, and can replace a LOT of pushbuttons. Cons .... the HMI can be damaged by an operator and the touchscreen will eventually wear out. ???? .... those HMI's create a new data log file for each day whether you want it or not.

  16. The correct way to address EM_0 is E0_0, E0_1, etc. Each EM bank contains 32768 registers from 0 to 32767. You will need to read up on index registers in the CJ2 programming manual. Start with section 5-7 of the W473 manual. To use my addressing scheme you would need to assign 2880 sequential registers to each of your data points then work out a way to get your index pointer to work over two days. That would allow you to store 11*4=44 data points once per minute for two days in the CJ2M-CPU34. The SSET/PUSH/FIFO approach that Bob suggested would certainly work also. You would have to come up with a scheme to configure the memory stacks for your application.

  17. I did mine all in ladder logic. I do not use ST for anything except an occasional function block because the maintenance people don't understand it. The problem you will have is that you need 115,200 registers to save that much data for 24 hours. To do that in a CJ2M-CPU33 you will need to add more extended memory. EM_0 could store about 6.8 hours of data if you were very careful about structuring your data. Here are the basics of what I am doing: 1) The index pointer is calculated every second from the PLC clock (A351 & A352). The value will range from 0 (mdinight) to 1439 (11:59pm). 2) The data is stored in EM_0 in blocks that are 1500 registers long (for convenience in numbering). Each data point has a unique block. 3) A scheduled task is triggered for 1 scan once per minute to calculate the data and write it to EM_0. 4) The data is written to DRn,IRn. DRn is set to the index pointer and IRn is set to the data block. 5) I do not clear the data blocks because I am only interested in the last 24 hours of history.

  18. I think the big question is: How much data do you need to store and do you have enough PLC memory to do it? you need to tell us which PLC you are using, how many registers you need to save, and how often you want to save them. That will determine how much memory area is needed to do this. I am doing something similar by saving 10 floating point registers to EM_0 using an index pointer once per minute. I use the system clock to calculate the index pointer. It will automatically overwrite the old data every 24 hours so that I can keep a running 24 hour total and average for each data point.