UNPKG

s7-scl-gen

Version:

S7 PLC SCL 代码自动生成

118 lines (106 loc) 4.1 kB
--- #CPU: AS1 # 指示 CPU 名称是 AS1 #feature: RP # 指示本配置为生成 RP 代码 name: AS1-RP # 相当于上面2条被注释的指令 # 要求 step7 预先引入 SFB3`TP` SFB4`TON` SFB5`TOF` symbols: # RP 文档已有 2 个内置符号,其内容由本程序自动生成: # - [DP, FB3] 防颤(debounce)边沿脉冲 # - [CP, FB4] 边沿脉冲 # - [RP_Loop, FC521] 主循环调用FC,将这个加入OB1中 # 可以在对上述内置符号的地址进行更改,只要重新定义就可以了,注意保持名称一致 list: # 以下举例6种类型的延时或脉冲 - comment: 溢出延时报警 DB: [overflow, DB50] type: onDelay input: [overflowsignal, I22.0] # 溢出信号 $time: TIME#3M # 延时时长 output: [OFAlarm, Q22.0] # 溢出报警 - comment: 风扇延时关闭 DB: [resetFan, DB+] type: offDelay input: OFAlarm.Q # 溢出信号 $time: TIME#1h # 延时1小时关闭风扇 output: [FanRun, Q22.1] # 风扇控制 - comment: 烘干延时 DB: [drywork, DB+] type: onPulse input: [onfetch, I22.2] # 有进件 $time: TIME#10M # 烘干10分钟 output: [dryon, Q22.2] # 启动烘干 - comment: 涨潮退潮通知 DB: [tidenotice, DB+] type: changePulse input: [tidesignal, I22.3] # 潮水状态 $time: TIME#1h # 通知1小时 output: [turnonsound, Q22.3] # 启动音响 - comment: 声控灯光 DB: [on_sound_light, DB+] type: onDPulse input: [onsound, I22.4] # 有人声 $time: 120000 # 光亮时长,可以直接用毫秒数 output: [lighton, Q22.4] # 亮灯 - comment: 泵状态屏蔽联锁 DB: [pumpCD, DB+] type: changeDPulse input: [pump_run, I22.5] # 泵运行 $time: 300000 # 屏蔽联锁时间 # 用户自写SCL代码,放在循环的开始和结束处。 loop_begin: |- // 这里的代码将在 RP_Loop 循环开始时执行 loop_end: |- // 这里的代码将在 RP_Loop 循环结束时执行 --- # 内容与 AS1-RP 相同,仅仅是CPU中的平台不一样。 name: AS2-RP # 要求 step7 预先引入 SFB3`TP` SFB4`TON` SFB5`TOF` symbols: # RP 文档已有 2 个内置符号,其内容由本程序自动生成: # - [DP, FB3] 防颤(debounce)边沿脉冲 # - [CP, FB4] 边沿脉冲 # - [RP_Loop, FC521] 主循环调用FC,将这个加入OB1中 # 可以在对上述内置符号的地址进行更改,只要重新定义就可以了,注意保持名称一致 list: # 以下举例6种类型的延时或脉冲 - comment: 溢出延时报警 DB: [overflow, DB50] type: onDelay input: [overflowsignal, I22.0] # 溢出信号 $time: TIME#3M # 延时时长 output: [OFAlarm, Q22.0] # 溢出报警 - comment: 风扇延时关闭 DB: [resetFan, DB+] type: offDelay input: OFAlarm.Q # 溢出信号 $time: TIME#1h # 延时1小时关闭风扇 output: [FanRun, Q22.1] # 风扇控制 - comment: 烘干延时 DB: [drywork, DB+] type: onPulse input: [onfetch, I22.2] # 有进件 $time: TIME#10M # 烘干10分钟 output: [dryon, Q22.2] # 启动烘干 - comment: 涨潮退潮通知 DB: [tidenotice, DB+] type: changePulse input: [tidesignal, I22.3] # 潮水状态 $time: TIME#1h # 通知1小时 output: [turnonsound, Q22.3] # 启动音响 - comment: 声控灯光 DB: [on_sound_light, DB+] type: onDPulse input: [onsound, I22.4] # 有人声 $time: 120000 # 光亮时长,可以直接用毫秒数 output: [lighton, Q22.4] # 亮灯 - comment: 泵状态屏蔽联锁 DB: [pumpCD, DB+] type: changeDPulse input: [pump_run, I22.5] # 泵运行 $time: 300000 # 屏蔽联锁时间 # 用户自写SCL代码,放在循环的开始和结束处。 loop_begin: |- // 这里的代码将在 RP_Loop 循环开始时执行 loop_end: |- // 这里的代码将在 RP_Loop 循环结束时执行 ...