论坛中近期关于PLC扫描周期以及FB、FC的讨论很热烈,深受启发!
这使我想到可能根本上还是线性化编程和结构化编程的区别,FB和FC是结构化编程思想的产物,用西门子“全集成”的理念,将“分立元件”按功能打包成“集成块”来完成项目,在调用“集成块”的时候会遇到参数传递的问题,没有使用“分立元件”(线性编程)那样的快捷。
此外,线性化编程和结构化编程对于象PID这种需要固定采样周期的处理也是不一样的,线性化编程是将整个扫描周期恒定,而结构化编程是采用定时中断调用。比较这两种处理方式,显然,如果将所有程序都写在定时中断块里,实际上就具有了恒定扫描周期的功能了。这样看来,采用定时中断的方式是更灵活的方式,它可以兼顾不需要固定采样周期的IO。
但是,定时中断最小时间是1ms,对于高速数据处理还是不够,就只能利用恒定扫描周期的方式来采样了。