Для начала необходимо определиться с общей архитектурой ПЛК:
1. Максимальное кол-во вх/выходов (до 256) и способ их считывания/вывода (SPI, I2C - лучше SPI м/сх
74HC165/
74HC595) со схематехникой гальванической развязки и силовыми ключами (транзисторы, реле ...).
2. Максимальное кол-во каналов АЦП, ЦАП (не менее 8 с гальванической развязкой?, 10 разрядов)
3. Способ хранения тех. программы пользователя (FLASH карта или м/сх памяти)
4. Интерфейсы: Ethernet, USB, RS232, RS485 и протокол обмена данными.
5. Дополнительные переферийные уст-ва: дисплей (от 2х16 до графического 320х240), клавиатура (от 8 кнопок) и т. п.
6. Тип микроконтроллера: AVR (mega32, 128, 256 ...), LPC17xx, STM32 (Я хочу поработать с
STM32F107 - сейчас жду когда привезут заказ)
7. Внешнее напряжение питания (110-220В, 24В)
8. Среда создания тех. программы пользователя: своя, CodeSys
На фото, мой прототип ПЛК на mega32, но я так его и не завершил.