天水西门子plc代理商
浔之漫智控技术(上海)有限公司 西门子授权代理商 西门子plc模块代理商 西门子一级代理商
正规代理销售西门子s7-200.s7-300.s7-400.s7-1200.s7-1500.smart200等系列plc模块;hmi触摸屏;s120v20 v90 g120 g120x mm系列变频器;6fc6sn等伺服数控备件,各类电机,电线电缆,电源,工控机,交换机,低压电器,wincc软件
等。
西门子s7-300/400 plc转换指令
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数据只能对字、双字长的数据进行,不能用于字节。
②指令bcdi、lbcd用于16位整数与bcd间的转换,由于数据带符号,只能转换3位bcd码,bcd数据的范围为-999~ 999。指令bcddi、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、dir用于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 的新初始值为 0movd20000,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 为允许接收信息位