最新新闻
我要投稿
联系电话:027-87592219/20/21转188
投稿邮箱:tb@e-works.net.cn
您所在的位置:首页 > 智库 > 智能生产

基于西门子PLC 的步进电动机控制技术

发布时间:2013-08-19 作者:夏季枫 
关键字:西门子 PLC 步进电动机 
步进电动机是工业自动化过程中经常用到的一种控制传动机构。步进电动机分为反应式、永磁式和混合式等。西门子PLC具有脉冲输出和控制功能,可以实现对步进电动机的转速、位移和转向的控制,本文以 S7-200 为例说明 PLC 对步进电动机的控制技术。

  2.1 脉冲输出指令 PLS

  脉冲输出指令 PLS 指令功能为:使能有效时,检查用于脉冲输出(Q0.0 或 Q0.1)的特殊存储器位(SM),然后执行特殊存储器位定义的脉冲操作。指令格式为:PLS Q。

  2.2 用于脉冲输出的特殊存储器(Q0.0 或 Q0.1)

  2.2.1 控制字节和参数的特殊存储器

  每个 PTO/PWM 发生器都有一个控制字节(8 位)、一个脉冲计数值(无符号的 32 位数值)、一个周期时间和脉冲值(无符号的 16 位数值)。这些值都放在特定的特殊存储区(SM),然后执行特殊存储器位定义的脉冲操作,即对相应的 PTO/PWM 发生器进行编程。

  2.2.2 状态字节的特殊存储器

  除了控制信息外,还有用于 PTO 功能的状态位。程序运行时,根据运行状态使某些位自动置位。可以通过程序来读取相关位的状态,用此状态作为判断条件,实现相应的操作。

  2.3 Q0.0 和 Q0.1 的共用

  PTO/PWM 和输出映像寄存器共用 Q0.0 和 Q0.1。在 Q0.0 或 Q0.1 使用 PTO 或 PWM 功能时 PTO/PWM 发生器控制输出,并禁止输出点的正常使用,输出波形不受输出映像寄存器状态、输出强制、执行立即输出指令的影响;在 Q0.0 或 Q0.1 位置没有使用 PTO 或 PWM功能时,输出映像寄存器控制输出,所以输出映像寄存器决定输出波形的初始和结束状态,即决定脉冲输出波形从高电平或低电平开始和结束,使输出波形有短暂的不连续。

  2.4 脉冲串 PTO 输出

  PTO 是可以指定脉冲数和周期的占空比为 50%的高速脉冲串的输出。状态字节中的最高位(空闲位)用来指定脉冲串输出是否完成。可在脉冲串完成时起动中断程序,若使用多段操作,则在包络表完成时起动中断程序。

  2.4.1 周期和脉冲数

  周期范围从 50~65535 S 或从 2~65535mS,为 16 位无符号数,时基有 S 和 mS 两种,通过控制字节的第三位选择。注意:如果周期小于 2 个时间单位,则周期的默认值为 2 个时间单位。周期设定奇数微秒或毫秒,会引起波形失真。脉冲计数范围从 1 至 4294967295,为 32 位无符号数,如设定脉冲计数为 0,则系统默认脉冲计数值为 1。

  2.4.2 PTO 的种类及特点

  PTO 可输出多个脉冲串,现用脉冲串输出完成时,新的脉冲串输出立即开始。这样就保证了输出脉冲串的连续性。PTO 功能允许多个脉冲串排队,从而形成流水线。流水线分为两种:单段流水线和多段流水线。单段流水线是指:流水线中只能存储一个脉冲串的控制参数,初 PTO 段一旦起动,必须按照对第二个波形的要求立即刷新 SM,并再次执行 PLS 指令,第一个脉冲串完成,第二个波形输出立即开始,重复这一步骤可以实现多个脉冲串的输出。单段流水线中的各段脉冲串可以采用不同的时间基准,但有可能造成脉冲串之间的不平稳过渡,输出多段高速脉冲时,编程复杂。多段流水线是指在变量存储区 V 建立一个包络表。包络表存放每个脉冲串的参数,执行 PLS 指令时,S7-200PLC 自动按包络表中的顺序及参数进行脉冲串输出。包络表中每段脉冲串参数占用 8B,由一个 16 位周期增量值 (2B)和一个 32 位脉冲计数值(4B)组成。多段流水线的特点是编程简单,能够通过指定脉冲的数量自动增加或减少周期,周期增量值为正值会增加周期,为负会减少周期。在包络表中的所有脉冲串必须采用同一时基,在多段流水线执行时,包络表的各段参数不能改变。多段流水线常用于步进电动机的控制。

  2.5 脉宽可调脉冲输出 PWM

  PWM 是脉宽可调的高速脉冲输出,通过控制脉宽和脉冲的周期,实现控制任务。

  2.5.1 周期和脉宽

  周期和脉宽时基为微秒和毫秒,均为 16 位无符号数。周期范围为 50~65535 S 或 2~65535mS。如果周期小于 2 个时间单位,则周期的默认值为2 个时间单位。脉冲范围为 0~65535 S 或 2~65535mS。若脉宽不小于周期,占空比为 100%,输出连续接通。若脉宽为 0,占空比为 0%,则输出断开。

  2.5.2 PWM 初始化和操作步骤

  用首次扫描位(SM0.1)使输出位复位为 0,并调用初始化子程序。这样可减少扫描时间,程序结构更合理。在 SMW68 或 SMW78 中写入一个字长的周期值;在 SMW70 或 SMW80 中写入一个字长的脉宽值。然后执行 PLS 指令,使 S7-300 为 PWM 编程,并由 Q0.0 或 Q0.1 输出。可为下一输出脉冲预设控制字。在 SMB67 或 SMB77 中写入 16#D2 或 16#DA,控制字节中将禁止改变周期值,允许改变脉宽。以后只要装入一个新的脉宽值,不用改变控制字节,直接执行PLS 指令就可以改变脉宽值。

3 步进电动机的 PLC 控制程序

  如上图1,从 A 点到 B 点为加速过程,从 B 到 C 为恒速过程,从 C 到 D 为减速过程。按要求流水线可以分为三段,需建立三段脉冲的包络表。设起始和终止脉冲频率为 2Hz,最大脉冲频率为 10 Hz,所以起始和终止周期为 500 S,最大频率的周期为 100 S。1 段:加速运行,应在约 200 个脉冲时到达最大脉冲频率;2 段:恒速运行,约 4400 个脉冲;3段减速运行,应在约 400 个脉冲时完成。用一个子程序实现 PTO 初始化,I0.0 上升沿时从主程序调用初始化子程序,执行初始化操作。以后的扫描不再调用该子程序,这样减少扫描时间,程序结构更好。

4 结束语

  本文结合一个步进电动机的具体控制要求,选择 S7-200 或以上系列PLC的 PTO 脉冲串输出功能,对步进电动机的运行过程进行控制。需要说明的是,PLC 在这里起到的是控制器的作用,而要组成一个完整的控制系统,需要增加一个步进电机驱动器,以进行脉冲分配和放大,以驱动步进电动机运行。 

2
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。