بعد از تجزیه و تحلیل مدار و انتخاب PLC حال نوبت به برنامه نویسی آن میرسد . برنامه با توجه به ترتیب عملیات که در قدم اول مشخص شده ، نوشته می شود. زبان برنامه نویسی آن که بصورت اعداد و حروف است از یک استاندارد مشخصی تبعیت می کند. روشهای نمایش برنامه در تمام PLC ها مشترک می باشد و معمولاً به سه صورت زیر است :
دیاگرام نردبانی LADDER DIAGRAM
سیستم کنترل فلوچارت CONTROL SYSTEM FLOWCHART
لیست بیانی ( STATEMENT LIST MNEMONIC CODE )
برای نوشتن برنامه در PLC زیمنس میتوان از برنامه ریز دستی Programmer Console و یا PC استفاده کرد ( البته برنامه نویسی دستی تنها در مینی PLC ها مانند LOGO امکان پذیر است ) . هر کدام از سازنده های PLC نرم افزاری برای محصول خود ارائه کرده اند که اغلب هر سه روش برنامه نویسی ، LAD ، CSF ، STL را پشتیبانی میکند و میتوان به راحتی PLC را به کامپیوتر وصل کرد.
از طریق پورت RS232-C ، میتوان برنامه نوشته شده را به حافظه PLC فرستاده و در آنجا ذخیره نمود.
در نوشتن برنامه کنترلی میتوان از دستورات منطقی ، محاسباتی و انتقال داده استفاده نمود. دستورات منطقی مثل OR , XOR , NOT ، AND و … دستورات محاسباتی مانند انواع جمع، تفریق، ضرب، تقسیم، دستورات مثلثاتی ، توان ، لگاریتم ، تبدیل کدها ، محاسبات مربوط به اعداد اعشاری ، دستورات مقایسه و … معمولاً در مواقعی که بخواهیم در کار ماشین وقفه ای ایجاد کنیم یا در بین فرآیند ها فاصله قائل شویم و یا زمان لازم برای انجام یک یا چند فرآیند در نظر گرفته شود از تایمر های داخلی PLC در مد های مختلف تاخیر در وصل ، تاخیر در قطع ، تایمر حافظه دار ، مولد پالس و … استفاده میکنیم . برای شمارش پالس های ورودی، شمارش سیکل های کاری و یا کاربردهایی از قبیل شمارش تعداد قطعاتی که از جلوی سنسوری رد شده اند و … از کانتر های داخلی خود PLC استفاده میکنیم. این کانتر ها را در هر دو حالت بالا شمار و پایین شمار میتوان بکار برد. تعداد تایمر / کانتر از تعداد 256 برای مدل های پایین PLC تا چند هزار عدد برای مدل های بالاتر میباشد که دسترسی به آنها تنها با نوشتن چند خط برنامه و بصورت نرم افزاری امکان پذیر بوده و هیچ نیازی به قطعات خارجی و سیم بندی اضافی و حجیم کردن تابلو کنترل نمی باشد.