登录

行业资讯

宁波西门子PLC授权代理商

宁波西门子PLC授权代理商

宁波西门子PLC授权代理商

一、导读

当我们在设计程序时,碰到具有相同的控制要求,如需要实现对多台电机进行控制,而这些电机的控制方式是相同的,或实现对某种重复的算法,如模拟量换算。


基于这种情况,我们在设计程序时,往往会考虑编写带参数的子程序,然后通过重复调用这子程序,给该子程序的形参赋予不同的实参,这样可提高编程的效率和程序的课移植性。


然后受到S7-200系列PLC本身性能的问题,有一些功能并不能进行参数化,如沿脉冲指令,定时器指令和计数器指令,当使用到这些指令时你会发现无法进行参数化,这样在子程序中使用这些指令后,在一个扫描周期内多次执行时就会出现问题。那么如何处理呢?


二、子程序中沿脉冲指令的处理方法

当子程序中无法使用沿脉冲指令时,我们可以根据沿脉冲指令的原则自行通过了逻辑关系的搭建方式去编写沿脉冲指令。


上升沿的含义:

本次的状态与上一次的状态进度对比,若上一次的状态为0,而本次的状态为1,则说明产生上升沿,那么可以把上一次的状态取反,然后与本次的状态进行“与”运算,运算完后把本次的状态再赋值给上一次的状态,则“与”运算的结果就是一个上升沿的输出。


下降沿的含义:

本次的状态与上一次的状态进行对比,若上一次的状态为0,本次的状态为1,则说明产生下降沿,那么可以把本次的状态取反,然后与上一次的状态进行“与”运算,运算完后把本次的状态再赋值给上一次的状态,则“与”运算的结果就是一个下降沿的输出。


基于这些含义,可以不用调用上升沿和下降沿指令就可编写出上升沿和下降沿的功能,这样当在带参数子程序中应用到上升沿和下降沿时就不会受到限制。如下为相应的变量表和对应的程序:





三、定时器在带参数程序中的处理方法

对于定时器的处理可以使用沿脉冲配合指令BGN_ITIME和CAL_ITIME指令以一起可实现计算时间间隔差。通过这个时间间隔差可替代定时器的功能,这样在子程序中可以不用使用定时器指令来做定时功能,可避免定时器指令无法参数化的情况实现。


BGN_ITIME指令:捕获开始时间间隔指令,可以读取内置1毫秒计数器的当前值,并将该值存储在 OUT 中。


CAL_ITIME指令:捕获间隔时间指令,计算间隔时间指令计算当前时间与 IN 中提供的时间的时间差,然后将差值存储在 OUT 中。


定时器的功能如下程序所示

(1)变量表的建立



(2)使用形参编写的程序



(3)调用的块程序




浔之漫智控技术(上海)有限公司专注于西门子等

免责声明: 八方资源网为互联网信息服务提供者,所有的信息均有发布者提供,如您发现信息有违规/侵权,请立即投诉举报

相关资讯

查看更多
资讯分类
商务服务 污水处理 机械 传媒 机床 五金 农业 工程机械 焊接切割 泵阀 热泵 农机 汽车 汽车用品 汽配 汽修 通信 电子 暖通空调 电气 广电 印刷 纸业 丝印特印 灯饰 安防 消防 过滤 耐火材料 环保 LED 添加剂 食品机械 仪器仪表 太阳能 包装 水工业 加工 二手设备 工艺礼品 古玩 服装 美容美发 服饰 制鞋 家电 家具 运动休闲 影音 酒店 家居 办公 音响灯光 农化 水果 养殖 皮具 教育装备 玩具 零食 食品 二手 IT 建材 小家电 卫浴 陶瓷 超硬材料 化工 橡胶 塑料 钢铁 表面处理 冶金 石油 能源 纺织 房地产 皮革 涂料 石材 创业 项目 生活服务 教育 船舶 维修 广告 交通运输 医疗 代理 物流 图片 展会 咨询 库存积压
八方资源网 资讯