PLC如何保证在一个扫描周期中执行完所有的用户程序?

西门子plc 发布于 2星期前 分类:S7-1500

1、西门子PLC在实时性问题上有没有相关的策略,
2、如何保证在一个扫描周期中执行完所有的用户程序。

1个回复

  • plc电工爱好者
    plc电工爱好者

    1、西门子PLC在实时性问题上有没有相关的策略?我个人的看法是这个应该是取决于编程者对逻辑程序的安排吧? 比如OB100这样的只在启动时调用一次,那他就只会在启动时执行1次,以后就不会再调用,这样我们可以将初始化数据写在OB100中,再比如OB35,它可以设置为固定一个周期执行一次,比如100ms,那OB35中的程序就会每100Ms执行1次(这个就是我们常讲的中断程序),再比如OB1,是连续扫描执行的,我的理解是当OB1一个扫描周期完成后,立马就会再次进入下一个周期扫描。
    2、如何保证在一个扫描周期中执行完所有的用户程序。第一:一般来讲,程序的扫描周期是几毫秒到100多豪秒(我只见过这个范围的,有没有更长的不知道),如果是扫描时间过长,会触发监控报警(看门狗),这时我们要么精减程序,要么延长监控时间。第二:用户程序的执行,我想是根据PLC扫描到你的逻辑结果来执行的,比如:
    A   M0.0
    =    M0.1
    如果在一个扫描周期中,M0.0为1,则执行 = M0.1这句,如果在下一周期M0.0为0,则系统不会扫描= M0.1这句,M0.1状态在这个周期不会改变。
    以上仅是我个人的看法。