Determine PLC memory requirements


Thread Starter



Just embarking on my first PLC project - a simple alarm system consisting primarily of discrete inputs (~20), some analog in (~6), and a couple of discrete out (~3) for turning on/off lights & buzzers. The logic is not going to be complicated; basically high/low level for analog, and off -> on = alarm for discrete.

Looking at using Automation Direct PLCs, mainly for the cost, and the micro C-More panels look like a nice and easy HMI solution (don't need much).

I do, however, wish to communicate with remote I/O via Modbus/TCP. The Automation Direct remote I/O looks like it would get costly for my application, so I'm looking at Advantech 6000 series.

Not being too familiar with PLCs, how would I go about calculating how much memory the CPU will require? I assume I need a variable memory location for each I/O point I will read in via Modbus? So I would probably set aside a byte for each discrete, 3 words for each analog (1 for current value, and 1 for each of high/low level trigger)? How does one estimate how much program memory is required? What is a good rule of thumb for expansion (maybe 25%)?

Thanks for your help!