电子商务网站 开发,做外贸网站怎么样,免费企业网站建设要求,wordpress分类文章倒序函数PLC实验—西门子S7 1200读取旋转编码器数据并计算电机转速
注意PTO控制步进电机实验博途软件需要V14版本#xff0c;不然没有PTO功能块
软件的下载请点击下方百度网盘的链接 链接#xff1a;https://pan.baidu.com/s/11mQFVnaQxrUy4W9nGIk8Jw 提取码#xff1a;6lva 详细的…PLC实验—西门子S7 1200读取旋转编码器数据并计算电机转速
注意PTO控制步进电机实验博途软件需要V14版本不然没有PTO功能块
软件的下载请点击下方百度网盘的链接 链接https://pan.baidu.com/s/11mQFVnaQxrUy4W9nGIk8Jw 提取码6lva 详细的操作指导视频已经放到了B站上 Simens S7-1200读取增量式编码器数据 Simens S7-1200根据编码器数据计算电机转速 主块
首先要在设备组态启用高速计数器 硬件输入为I0.0和I0.1 这里将输入滤波器的时间改为0.8ms 先看变量表 main中添加了4个程序段这是基于PTO控制步进电机基础上实现的可以先看前面的博客 PLC编程与实践——基础实验 ID1000是HSC_1的地址将其move到MD1000中 从上面可以看出编码器A相接I0.0B相接I0.1接两根信号线即可
CTRL_HSC 控制高速计数器
使用“控制高速计数器”指令可以对参数进行设置并通过将新值加载到计数器来控制 CPU 支持的高速计数器。指令的执行需要启用待控制的高速计数器。对于指定的高速计数器无法在程序中同时执行多个“控制高速计数器”指令
可以在帮助中查看信息 辅助块
新建一个中断OB周期为200ms 新建一个FB用于计算电机的实际转速在中断OB中调用该FB FB_Counter_to_Speed
先看变量注意输入/输出/全局变量的设置 用下面的公式计算电机实际转速 功能块实现 Current_Counter - Recoder_Counter Delta_Counter
Delta_Counter / (Cycle_Time * 1000) ratio_result
DIV中的1000是编码器的线数CALCULATE是ms到s的换算这里的单位是转/秒
注意用move去更新Recoder_Counter
Cyclic interrupt 200ms 在组织块中直接调用函数块即可
实际接线
接线其实很简单 实验结果
通过CTRL_HSC可以给编码器初值添加一个偏置 在main中MD1000显示了编码器的脉冲数 FB_Counter_to_Speed函数块中可以显示步进电机的转速 Cyclic interrupt 200ms组织块中显示的步进电机转速与FB_Counter_to_Speed中相同