天水西门子代理商 天水西门子代理商
1、指令特点与编程
s7-300/400的转换指令功能相对单一,所有代码转换指令均为用于数据形式转换的指令,且不可以实现ascii码、字符串的转换,也无译码功能。
s7-300/400的数据形式转换指令的主要特点:
①转换指令主要有BCDj、I-BCD、BCD_DI、DI—BCD、DI_RI、I_DI、ROUND、TRUNC、CEIL、FLOOR等,可以进行十六进制数与BCD之间的转换、整数与浮点数之间的转换、浮点数的“取整”等操作。
②与移位指令一样,S7-300/400的数据形式转换一般只能通过累加器1进行,当存储器需要移位时,应首先将存储器的内容移动到累加器l中。
③S7-300/400的移位操作只能对字、双字长的数据进行,不能用于字节。
数据形式转换指令的梯形图编程与S7-200相似,如需要将输入字IW20的BCD数据(十进制数据)转换为整数(十六进制数据)的程序格式如图10-6.6。
从图10-6.6的指令表程序可以看出,数据形式转换的步是将“源数据”IW20装入累加器l中,然后再对累加器l的内容进行转换,结果传送到目标存储器MW100中。
2、BCD转换指令
①S7-300/400的BCD数据只能对字、双字长的数据进行,不能用于字节。
②指令BCD I、LBCD用于16位整数与BCD间的转换,由于数据带符号,因此只能转换3位BCD码,BCD数据的范围为-999~+999。指令BCD DI、DI__ BCD用于32位整数与BCD间的转换,同样带符号,因此只能转换7位BCD码,BCD数据的范围为-9999999~+9999999。
③16位整数的BCD存储格式为:
格式中的空余位(16位整数的bit14~bit12、32位整数的bit30~bit28),一般取与符号位相同的值,如:正数为“O”;负数为“l”。
④当16位、32位整数转换为BCD时,如果出现大于9的十进制数值(如1100等),或者转换后的数值超过了BCD格式允许存储的范围,将出现转换错误,并导致PLC的停止。
3、整数与浮点数转换指令
S7-300/400的数据形式转换指令I DI、DI R用于16位整数与32位整数、32位整数与浮点数之间的转换;ROUND、TRUNC的作用、意义与S7-200相同,用于对浮点数的小数部位处理;CEIL、FLOOR是当浮点与整数相差很大时的两种不同处理方式。
IDI指令可以将16位整数转换为32位整数,其实质只是将符号位从原16位整数的bit15移到32位整数的bit31上,其余数据不变或增补0而已
SIEMENSPLC伺服控制
摘要:伴随着工业自动化的发展,对其 中的位置控制 度也逐步的提高,如何能方便,准确的实现位置控制,是一个 重大的问题,本文讲述了如何采用 PLC 可编程控制器来实现 。
分别列 举了三项方法,以及他们之间的相互比较。
引言 随着自动化水平的不断提高,越来越多的工业控制场合需要 的位置控 制。
因此,如何更方便、更准确地实现位置控制是工业控制领域内的一个重要问 题。
位置控制的 性主要取决于伺服驱动器和运动控制器的精度。
的运动 控制模块可以对伺服系统进行非常复杂的运动控制。
但在有些需要位置控制的场 合,其对位置精度的要求比较高,但运动的复杂程度不是很高,这就没有必要选 择那些昂贵的运动控制系统。
S7-200 系列 PLC 是一种体积小、编程简单、控制方便的可编程控制器,它 了多种位置控制方式可供用户选择,因此,如何利用该系列 PLC 实现对伺 服电机运动位置较为的控制是本文的研究重点。
1、基本控制系统 伺服系统分为液压伺服系统、电气-液压伺服系统以及电气伺服系统。
本文 主要讨论了电气伺服系统中的交流伺服系统,其基本组成为交流伺服电机、编码 器和伺服驱动器。
交流伺服系统的工作原理是伺服驱动器发送运动命令,驱动伺 服电机运动, 并接收来自编码器的反馈信号,然后重新计算伺服电机运动目标位 置,从而达到 控制伺服电机运动。
本伺服系统中选用 Exlar 公司生产的 GSX50-0601 型伺服直线电动缸。
该电 动缸由普通伺服电机和一个行星滚珠丝杠组成, 用来实现将旋转运动转变为直线 运动。
此外, 选用 Xenus 公司生产的 XenusTM 型伺服驱动器。
它可以利用 RS. 232 串口通信方式和外部脉冲方式实现位置控制。
一般来说, 一个伺服系统运转需要配置一个上位机,所以本系统采用西门子 S7-200PLC 作为上位机控制器。
通过高速脉冲输出、EM253 位置控制模块、自 由口通信三种方式控制伺服电机运动。
2、高速脉冲输出模式 西门子 CPU224XP 配置两个内置脉冲发生器,它有脉冲串输出(PTO)和脉冲 宽度调制输出两种脉冲发生模式可供选择。
这两个脉冲发生器的脉冲输出频 率为 100kHz。
在脉冲串输出方式中,PLC 可生成一个 50%占空比脉冲串,用于 步进电机或伺服电机的速度和位置的控制。
2.1 硬件构成
图 1 为高速脉冲输出方式的位置控制原理图。
控制过程中,将伺服驱动器工 作定义在脉冲+方向模式下,Q0.0 发送脉冲信号,控制电机的转速和目标位置; Qo,发送方向信号,控制电机的运动方向。
伺服电动缸上带有左限位开关 LIM 一、右限位开关 LIM+ 以及参考点位置开关 REF 。
三个限位信号分别连接到 CPU224XP 的 I0.0~I0.2 三个端子上, 可通过软件编程, 实现限位和找寻参考点。
图 1 位置控制原理图 2.2 程序设计 高速脉冲串输出(PTO)可以通过 Step7Micro/WIN 的位置控制向导进行组态, 也可通过软件编程实现控制。
PTO 输出方式没有专门的位置控制指令,只有一 条脉冲串输出指令,而且在脉冲发送过程中不能停止,也不能修改参数。
为解决 以上问题,可以设置脉冲计数值等于 10(或更小),并能使脉冲发送指令 PLS 处 于激活状态。
这样,就可以在任一脉冲串发送完之后修改脉冲周期。
图 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 为允许接收信息位