当前位置: 首页 > web >正文

西门子S7-200SMART 控制Profinet闭环步进MD-4250-PN (4)仿SinaPos控制块

一、前言

       本文是我的第二篇专栏《西门子S7-200SMART 控制Profinet闭环步进MD-4250-PN》的第四篇文章,该文章讲讲如何使用S7-200smart控制三台Profinet闭环一体式步进伺服MD-4250-PN。

我的往期文章讲解了这一款Profinet闭环一体式步进伺服,并且讲解了硬件连接、软件组态,还没有看过的可以看我往期文章
西门子S7-200SMART 控制Profinet闭环步进MD-4250-PN (1)电机及专栏介绍

西门子S7-200SMART 控制Profinet闭环步进MD-4250-PN (2) 硬件介绍-CSDN博客

西门子S7-200SMART 控制Profinet闭环步进MD-4250-PN (3) PLC组态与连接-CSDN博客

本文从控制块讲解开始。

二、控制块MD_PN_CTRL

1、控制块接口

可通过添加库文件 “BCMD_LIB.smartlib”来生成这个控制块。
横向MD_PN_CTRL对比SinaPos控制块的接口

这是它的输入接口含义

这是它的输出接口含义

2、控制块关联电机

第一步:确认I/O映射区

首先我们先回顾如何查看I/O映射区。
在向导 - > Profinet 

选择已经组态的对应设备,即可查看PNI起始 和 PNO起始

根据上一篇文章,我们三台设备的I/O映射区汇总信息如下:

I/O映射区表
设备名称输入映射区输出映射区
md42-dev121128128
md42-dev122256256
md42-dev123384384

第二步:将I/O映射区填入控制块接口

        我们总共有三台设备,所以需要添加三个控制块,并且分别将三台设备的输入输出映射区的指针填入控制块的St_I_add、St_Q_add引脚,如下图所示。(这里需要注意是填入指针,符号"&"别漏了)

将I/O映射区填入控制块接口后,就将控制块与电机所关联起来了。
 

3、控制块 “Control_table”定义

注意:由于Control_table是通过指针寻址的,例如在控制块的Control_table输入中填入 &VB12,
那么想要控制正向点动则需要将V12.2设置为1。

“Control_table”定义
字节偏移位7位6位5位4位3位2位1位0
0预留预留AckError
确认错误
预留

JOG2

负向点动

JOG1

正向点动

Negative

负向旋转

Positive正向旋转
1预留
2OverV        设定速度百分比,输入范围:0~199(%)
                  相对位置模式、绝对位置模式、速度模式、程序块模式有效
3
4OverAcc        加速度百分比0~100(%)
5
6预留
7
8

ConfigEpos

ConfigEposX0:OFF2

ConfigEposX1:OFF3

ConfigEposX8:TransferType 

9
10
11



4、控制块 “Status_table”定义

注意:由于Status_table是通过指针寻址的,例如在控制块的Status_table输入中填入 &VB24,
那么想要查看参考点是否设置完成则需要判断V24.2是否是1。

“Status_table”定义
字节偏移位7位6位5位4位3位2位1位0
0预留

Overrange_Error

输入数据超范围

AxisError

轴错误

AxisWarn

轴警告

预留

AxisRef

参考点设置完成

AxisPosOk

位置到达

Axisenabled 
轴使能
1Error ID(0 = 无错误,3 = 不支持所选模式,4 = OverV、OverAcc、OverDec 超出范围)
2Actmode 当前所选模式
3
4预留
5
6预留
7


 

三、控制块控制电机

1、创建符号表

创建符号表不仅仅是为了使用方便,也更是为了避免地址重叠带来控制异常。
首先我们要先 “Control_table”所要用到的字节数量是12字节、“Status_table”所要用到的是8个字节,所以在创建的时候要注意避免地址冲突。

由于我有三台电机,所以我创建了轴1、轴2、轴3的符号。

表1:控制块输入部分符号表

表2:控制块输出部分符号表


 

2、创建控制块

创建三个不同的控制块,三个控制块通过St_I_add,St_Q_add分别关联上三台电机。将分配好的地址填入控制块的输入输出引脚以便控制。

3、库存储器分配

在项目树中找到 库 -> 库存储器

对库进行存储器分配

4、相对定位模式

将控制块配置并且编译完成后,我们可以使用控制块来控制电机,这里给出相对定位模式下以30rpm的速度往正方向旋转半圈的步骤(出厂默认每圈为10000LU,关于每圈LU配置以及换算可以详见“ 西门子S7-1200PLC 控制步进电机 MD-4240-PN (1) 电机开箱" 中有写)。

相对位置模式
步骤图示
1、ModePos = 1
运动模式切换到相对位置模式

2、CancelTraversing = TRUE

让设备不暂停任务

3、IntermediateStop = TRUE

让设备不取消任务

4、Position = 5000

确定相对位置移动的距离,单位为 lu。

5、Velocity = 5000

确定相对位置移动的速度,单位为 lu/s。

6、 OverV = 100
速度倍率设定,值范围: 0-199(%)
相对位置模式、绝对位置模式、速度模式、程序块模式有效
7、 OverAcc = 100
加速度倍率设定,值范围: 0-100(%)
8、 OFF2、 OFF3都设置为 1
Control_table 中的 ConfigEpos 的 X0(OFF2),X1(OFF3)设定为 1。
9、 EnableAxis=1
让电机使能。
10、等待时间 X 确保参数传输完毕, X 应大于 2 倍 IO 周期时间。 
11、 ExecuteMode = TRUE
该信号上升沿时启动任务,设备按照设定的位置和速度执行相对位置运动。

 往期的文章可以搜索《西门子S7-200SMART 控制Profinet闭环步进》找到我的CSDN博客

CSDN博主:小小小小小6-CSDN博客

七、结尾

        本篇重点讲解了如何使用跟SINAPOS具有相同引脚的控制块MD-PN-CTRL 来控制这款profinet一体式步进伺服电机。详细介绍了这个控制块的控制引脚,并且从块关联电机到使用这个控制块让电机运行在相对定位模式的样例。

        下一篇我会讲讲触摸屏的项目搭建,以及使用触摸屏控制M寄存器来操作这个MD-PN-CTRL控制块实现电机的各种模式运动。

http://www.xdnf.cn/news/13201.html

相关文章:

  • Vuex:Vue.js 应用程序的状态管理模式
  • ArcGIS Pro 3.4 二次开发 - 场景图层
  • Linux 内存管理实战精讲:核心原理与面试常考点全解析
  • 【嵌入式】——Linux驱动程序(PWM接口)与超声波测距
  • Python竞赛环境搭建全攻略
  • springboot根据部署服务器生成机器码+加密生成到期时间授权码设置项目在服务器的到期时间
  • 求问,PMP属于职称认证吗?
  • 智能AI电话机器人系统的识别能力现状与发展水平
  • 纺织机械中丝杆支撑座的精密定位
  • 云原生周刊:k0s 成为 CNCF 沙箱项目
  • stm32wle5 lpuart DMA数据不接收
  • iview组件库:使用Menu组件时手风琴属性accordion失效的解决方案
  • 提升移动端网页调试效率:WebDebugX 与常见工具组合实践
  • 基于当前项目通过npm包形式暴露公共组件
  • Linux系统编程-DAY11(多路复用IO)
  • 基于江科大stm32屏幕驱动,实现OLED多级菜单(动画效果),结构体链表实现(独创源码)
  • 深入理解 C++ 中的 map:从基础到进阶的全面解析
  • 一元线性回归分析——基于Rstudio
  • 6.计算机网络核心知识点精要手册
  • vmware ubuntu扩展硬盘(可用)
  • 网页后端开发(基础1--maven)
  • 河北对口计算机高考C#笔记(2026高考适用)---持续更新~~~~
  • 【PostgreSQL安装】保姆级安装教程+特性详解
  • [25-cv-06246]Keith律所代理黑蝴蝶版权画
  • 在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
  • Spring事务传播机制有哪些?
  • 足球判罚的AI解法:多阶段标定流程+57几何关键点,助力公平判罚
  • 【Java】Ajax 技术详解
  • 【Linux手册】探秘系统世界:从用户交互到硬件底层的全链路工作之旅
  • SublimeText 4.4200