如何修改西门子300的扫描周期时间?

在主站用315DP、从站是314DP网络中,采集同一个接近开关(采集频率30000/H)从站采集可以达到29997以上,主站只能采集到29950左右,主站程序量比较大(输入卡是一样的)。
请问这问题可以用修改PLC的扫描周期时间去解决吗?

PLC的扫描周期与CPU的主频和程序的大小有关。是不可以修改的。

根据程序的大小 ,扫描周期在几个毫秒到100个毫秒之间。

你的采样频率为30000/H也就是1秒有8.3个脉冲。我们按9个脉冲算。这样的话,你的CPU必须在1秒内运行18个周期才可以完全统计这些脉冲。也就是扫描周期要在55毫秒内。


因为CPU运行要处理各种事件,每一次的扫描时间也不尽相同。因此才会有脉冲不相同或漏计现象。

要解决这个问题有以下办法:

    采用高速计数模块。

    采用带输入中断的DI模块。用上升沿中断计数。

    在程序中采用定时中断。OB30-OB38为循环中断。将其中一个OB的时间改成你的需要的时间。比如将OB37改成40ms.然后将计数程序移入OB37.但需要注意,不可再直接使用缓冲区的地址。因为这个地址的状态更新时间受扫描周期的影响。你需要直接读通道地址的状态。比如你的通道地址为I1.0。则正确的方法为: 

    L PIB1

    T MB1

    然后你在OB37中对M1.0计数即可。

    以上为个人建议,不足之处请指教。

温馨提示:答案为网友推荐,仅供参考
相似回答