西门子模块6ES7313-5BF03-0AB0
图 2 为高速脉冲输出方式位置控制流程图。
控制思路为:通过 PTO 模式输 出,可以控制脉冲的周期和个数;通过启用高速计数器 HSC,对输出脉冲进行 实时计数和定位控制,以控制伺服电机的运动过程。
图 2 位置控制流程图 3、EM253 位置控制模块 EM253 位置控制模块是西门子 S7-200 的特殊功能位置控制模块,它能够产 生脉冲串用于步进电机与伺服电机的速度和位置的开环控制。
3.1 硬件构成 如图 3 所示为 EM253 位置控制原理图, 定义伺服驱动器工作在脉冲+方向模 式下。
P0 口发送脉冲,P1 口发送方向,DIS 端硬件使能放大器,并同时清除放 大器错误。
LIM-、LIM+、REF 分别为电机左限位、右限位以及参考点。
图 3EM253 位置控制原理图 3.2 程序设计 EM253 位置控制模块可以通过 Step7-Micro/WIN 进行向导配置, 配置完成后 系统将自动生成子程序,编程简单、可轻松实现手动、自动、轨迹运行模式。
由 于 EM253 属于开环控制,不能很好地反馈电机实际运动情况。
因此,利用伺服 驱动器本身的差分输出信号,通过伺服驱动器软件设置,反馈给 PLC,实现闭环 位置控制。
但由于直线伺服电动缸与 PLE 可允许发送接收信号存在一定差别, 因此,需要对输入到 PLC 的信号进行电平的转化以及降低伺服驱动器发送的反 馈脉冲频率。
PLC 对输入脉冲进行累加, 从而得到电机的实际运转位置与运转速 度,其脉冲计数程序如下。
①计数器初始化程序 LDSMO.1//*扫描时 MOVB16#FC,SMB47//SMB47=16#F4,SMB47 为高速计数器 1 的控制字节 HDEF1,9//将 HSC1 配置为正交模式 MOVD0,SMD48//设置 HSCI 的新初始值为 0 MOVD20000,SMD52//设置 HSCI 的新预设值为 20000 HSCI//激活高速计数器 I ②脉冲计数程序 LDSMO.0 MOVDHC1,VD600//将高速计数器 1 所记数值存储在 VD600 中
DTRVD600,VD610//VD601〕中的整数转化为实数,存人 VD610 /RSOOO,VD610//VD610 除以 5000 存入 VD610,5001〕为电机旋转一周编码 器发送脉冲数 *R2.54,VD610//VD610 乘以 2.54 存人 VD610,2.54 为电机旋转一周移动的距 离 4、RS-232 串口通信方式 4.1 硬件构成 西门子 CPU22
伺服系统和 PLC 分别作为系统的主从站。
PLC 控制器通过该 通信功能可实现对伺服驱动器进行运行控制、参数读取、伺服驱动器当前运动状 态的读取等操作。
当 S7-200 系列 PLC 工作在自由口通信模式下时,一般通过 CPU 模块的集 成接口进行通信。
CPU 集成接口采用了 PPI 硬件规范,其接口为 RS-485 串口, 因此,当 S7-200 系列 PLC 的 CPU 与带有 RS-232 标准接口的计算机或伺服驱动 器连接时,需要配套选用 S7-200PLC 的 PC/PPI 转换电缆或一个 RS-232/RS-485 转换器。
4.2PLC 与伺服系统通信 4.2.1 报文构成 S-200PLC 在无协议通信方式工作时,不需要任何通信协议,通信参数需要 根据与其进行通信的伺服驱动器的通信格式进行设定。
本伺服系统选用的 Xe-nus 伺服驱动器可通过 RS-232 与 PLC 利用 ASCII 码进行通信,其 ASCII 码消息命 令格式如下: <命令代码><命令具体参数> 其中:<命令代码>为一个单字母代码;<命令具体参数>表示电机所要执行 的任务;为一个回车返回字符,表示命令结束。
如:sr0x2A21表示设 置伺服控制器工作在可编程控制模式。
4.2.2 程序设计 程序设计时, 将伺服驱动器工作定义在可编程位置模式。
该模式支持实时更 改伺服电机的运动速度、位置,通过 RS-232 接收来自 PLC 的 ASCII 码命令,执 行运动。
部分程序如下:
①初始化程序 LDSMO.1//*扫描 MOVB9,SMB30//设置自由端口 0 通信方式 SMB30=9、8 位数据位、9600、 PPI MOVB188,SMB87//设置自由端口。
接收信息控制 5MB87=188 MOVB13, SMB89//设置自由端口 0 结束字符 SMB89=13, 即结束字符= MOVW0,SMW90//设置自由端口 0 空闲超时 SMB90=0,信息接收始终处于 有效 MOVW200,SMW92//设置自由端口 0 信息超时 SMB92=200ms MOVB255,SMB94//设置自由端口 0 接收字符数 SMB94=255 ATCHINT_0,9//发送完成触发中断 0 ENI//允许中断 ②发送信息程序 LDNVD3501.1//VD3501.1 为接收延迟,自由端口 0 没有处于接收延迟时 ASM4.5//自由端口 0 处于空闲状态,SM4.5=1 AB=VB18,7//命令字节 VB18=7,即要求设置运动目标位置 SCPY"sr0xca',VB3100//"sr0xca',复制到 VB3100,"sr0xca'为设置运动目标位 置命令 SCATB3600,VB3100//VB360()内的目标位置值连接到设置目标位置命令 后 SCATVB3190,VB3100//VB3190 内的结束字节连接到 VB3100 后; XMTVB3100,0//通过自由端口 0 发送命令至伺服驱动器 ③发送完成中断程序(接收信息) LDSM0.0//SM0.0 总是为 1 SSM87.7,1//置 SM87.7=1,SM87.7 为允许接收信息位