Due to hardware and software limitations, batch control systems have evolved as two distinct parts: equipment control in the distributed control system (DCS) or programmable logic controller (PLC), and recipe operations in a separate PC server. Historically, controllers have simply not had the storage and computational power required to handle the entire job. Nor were traditional industrial control system (ICS) programming languages up to the task. Fortunately, 21st century industrial controllers now have sufficient capacity, and 21st century industrial programming languages, such as IEC 61131-3, have sufficient capabilities to consolidate the entire operation in one place. As a bonus, this consolidation is occurring just in time to address the 21st century cybersecurity vulnerabilities inherent in the traditional split system.