时基脉冲的产生方法

西门子plc 发布于 2年前 分类:S7-300/400

日本的PLC大多是系统自带的时基脉冲(叫做特殊标志位),而西门子300/400的时基脉冲可以自已做,下面的程序是我们厂的一个产生时间标志位的程序,(用这个标志位在功能块中来产生各种时基脉冲)我对它只是一知半解,请教各位高手大侠,它是怎样的工作原理。有知道的请赐教,有兴趣的朋友如需更多相关程序请找我索取QQ:122710933
这个程序在OB35中,每100MS执行一次中断,具体程序如下:
L     #OB35_EXC_FREQ
L     "SYS".itime
+I
T     "SYS".itime
L     100                         // 100 ms
JO    OV
-I
JM    tex
OV:   T     "SYS".itime
A     "SYS".async100ms
S     "SYS".lost100ms
SET
S     "SYS".async100ms
tex:  NOP   0

2个回复

  • plc学习
    plc学习

    虽然plc本身可以组态clock memory,但在程序中可以自由地编写你需要的功能,这是siemens的强大和灵活的地方。

    L #OB35_EXC_FREQ  //取ob35的循环时间
    L "SYS".itime
    +I     //说明两个相加
    T "SYS".itime //送回去,意思上就是累加
    L 100 // 100 ms
    JO OV  //如果加超出范围则跳到ov,相当给sys.itime重新给定100
    -I  //没有超,则-100
    JM tex //如果减100小于0,则跳到tex去执行
    OV: T "SYS".itime  //送回给sys.itime(减后的数或100)
    A "SYS".async100ms
    S "SYS".lost100ms
    SET
    S "SYS".async100ms
    tex: NOP 0
    //其他的比较简单就不解释了,程序只有部分,所以看的不是很清楚,"SYS".async100ms、"SYS".lost100ms这两个置位有,应该还有复位的。

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

    进入硬件组态(HARDWARE),点击CPU -选择CYCLE -CLOCK MEMORY 选项最下面有CLOCK MEMORY项,各频率为:
    M0.0 _0.1S
    M0.1_0.2S
    M0.2 _0.4S
    M0.3_0.5S
    M0.4 _0.8S
    M0.5_1S
    M0.6 _ 1.6S
    M0.7_ 2S
    .
    也可根据实际设为MB2,MB28 等等