В программировании PLC встречаются задачки, где нужно использовать периодические импульсы. Так сказать, написать импульсный генератор. Особенно полезно иметь не простой генератор, а с возможностью настройки формы импульсов. Высота таких импульсов всегда равна true, так как мы имеем дело с логикой PLC. Но всегда можно подавать эту высоту на вход некоторой процедуры и на выходе получать ту амплитуду (типа и значения), которую мы планируем получать. Интерес представляет ширина, как самого импульса, так и между ними. Ниже (рис.1) представлена несложная реализация импульсного генератора, дающая возможность такой настройки. Настройка формы импульса задается значениями TON-таймеров: BlinksTimerBottom - ширина между импульсами и BlinksTimerBottom - ширина самого импульса (рис.2).
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMTj7M0O4vSEZO64gFHPr4XQa1tdzG3b59vNOeI792Fa0cNXgt-M7tAgCt1gZtiFgcnFFSDt7zH6s2ziYb4VFncV-S6ov06OiigYivD8QRJ4jetdnKU9j6jxYUMuNWrxxOjYt1ycT39wI/s640/Impulse.png) |
Рис.1 Генератор прямоугольных импульсов |
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2MCL-mI_dUw1uuJgr88seHoAs_CtgQs3A7_E1XxQ9i80X2FBeCGa9JEBQi6_dJSS23kOcYpazmaD0wPeCXWSrVoiHd1knwQ1kI0MBD6aA4Qz6Hk__ujSWIjNAv_Wk5MsAnUc0enfku_8/s320/ImpulseForm.png) |
Рис.2 Форма прямоугольных импульсов |
Всем, адиос! :)