(分享)西门子PLC编程实例,编码器测量电机转速的程序

已锁定

轻描淡写

  • 帖子

    142
  • 精华

    1
  • 被关注

    32

论坛等级:侠士

注册时间:2016-09-13

白金 白金 如何晋级?

(分享)西门子PLC编程实例,编码器测量电机转速的程序

11061

9

2016-09-17 22:10:33


西门子PLC编程实例,编码器测量电机转速的标准程序

过与电动机同轴齿轮齿条变化来测量电动机转速,电动机输出轴与齿轮的传动比=1,齿条数=12,要 求测量单位:转/分钟。

主程序:

子程序0 主程序MAIN 程序初始化,PLC 上电运 行的第一个扫描周期执 行一次初始化子程序 SBR_0。用于程序运行的 初始设置 子程序SBR_0 在PLC 运行的第一个扫 描周期,将用于记录累加 数据次数和累加数据的 中间变量VB8 和VD0 置0 设置高速计数器HC0 的 控制字节SMB37,用十六 进制表示(16#F8),也 可以用二进制表示 (2#11111000)。

设置高速计数器HC0 工 作模式为0,单相计数输 入,没有外部控制功能。

设置高速计数器HC0 初 始值寄存器SMD38 为0。

执行HSC 指令,将控制字 节SMB37、初始值/预置 值寄存器(SMD38/SMD42)

以及工作模式写入高速 计数器HC0。

设定定时中断事件的时 间为50ms 中断程序0 定时中断事件号10 和中 断处理程序INT_0 建立 关联。

允许中断,将定时中断事 件和中断处理程序连接 中断处理程序INT_0 中断处理程序每隔50ms 扫描刷新一次。

采用整数加法指令,将高 速计数器HC0 的计数当 前值(32 位)和累加数 据相加一次。用于数据的 累加。

采用整数递增指令,记录 累加次数。

执行HSC 指令,在这里执 行的目的,是将初始值寄 存器SMD38(0)再次写 入高速计数器HC0,使计 数当前值为0,以便下个 定时采样。

当累加数据次数等于32 次,子程序中网络2 中程 序执行。

采用除法指令,计算32 次的累加数据平均值。

将平均值转换成测量单 位:转/分,转换后的数 据送入双字VD4。

将平均值转换成字数据, 送入字VW10 中。VW10 中 的数据就是电机速度值。

之所以转换,是因为在程 序中一般要求以字的概 念存在。

将记录累加数据次数的 字节VB6 中数据置0。用 于下一次开始时,从新开 始累加。

将用于累叫数据的中间 变量VD4 置0。


(分享)西门子PLC编程实例,编码器测量电机转速的程序 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54052条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。