故事作者:我不听不听

最近创作

看看TA的故事

【征文】PLC数据类型UDT的用法

已锁定

我不听不听

西门子1847工业学习平台

  • 帖子

    37
  • 精华

    1
  • 被关注

    8

论坛等级:侠客

注册时间:2016-09-27

黄金 黄金 如何晋级?

【征文】PLC数据类型UDT的用法

8631

5

2019-07-21 14:03:09

    首先我从S7-1200 Easy Plus 手册上搬来PLC数据类型UDT的介绍:

  • UDT类型是一种由多个不同数据类型元素组成的数据结构,元素可以是基本数据类型,也可以是STRUCT、数组等复杂数据类型以及其它UDT等。UDT类型嵌套UDT类型的深度限制为 8 级。

  • UDT类型可以在DB、OB/FC/FB接口区处使用。 从TIA 博途 V13SP1 开始,S7-1200 V4.0开始,PLC变量表中的I和Q也可以使用UDT类型

  • UDT类型可在程序中统一更改和重复使用,一旦某UDT类型发生修改,执行软件全部编译可以自动更新所有使用该数据类型的变量。

  • 理论上来说,UDT是Struct类型的升级替代,功能基本完全兼容Struct类型。

    具体的PLC数据类型实例如下图所示:


    下面我以S7-1200搭配CM CANopen模块控制埃斯顿伺服电机为例,详细说明PLC数据类型的用法,以下是整个系统的电气网络拓扑图:


    通过查看埃斯顿伺服电机的CANopen手册得知,CANopen协议有许多参数,如最重要的Controlword(控制字)以及Statusword(状态字)等,位置模式包含target_position(目标位置)、profile_velocity(运行速度)、profile_acceleration(运行加速度)和profile_deceleration(运行减速度)等,其他如回零模式、速度模式和转矩模式的参数在此不再赘述。整个伺服控制的过程本质上就是读写这些参数,因此建立分别建立2种数据类型AxisRPDO和AxisTPDO。具体如下图所示:



    埃斯顿伺服电机作为一个设备,其所需要的控制命令以及反馈参数即为它的接口,为此分别新建两个数据类型AxisWrite和AxisRead,如下图所示:


    然后在DB块中新建这几种PLC数据类型的变量,电机的控制的实质就是这几个变量间的数据转移,如下图所示:


    最终编写轴常用的功能块,如使能、复位、停止、位置模式运动、速度模式运动、回零模式运动和轴状态读写功能块等,以一个简单的“复位”功能块为实例,如下图所示:


    最终将这些简单的功能块加以汇总,形成轴控制功能块AxisControl,如下图所示:



【征文】PLC数据类型UDT的用法 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

网友专栏

共有3233条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

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