6ES7288-3AE04-0AA0
SIMATIC S7-200 SMART, 模拟输入 SM AI04,4 模拟输入, 0...10V,0...5V,+/-5V,+/-2.5V, 或者 0/4-20mA 11 Bit+符号位(12 Bit ADC)
参考价 | ¥11 |
订货量 | 1 |
更新时间:2021-11-23 10:05:54浏览次数:272
联系我们时请说明是化工仪器网上看到的信息,谢谢!
湖南嘉普云自动化设备有限公司
图15 在程序中调用FB3 S_SEND
4.调用接收功能块
ET200S 1SI的接收功能块FB2 S_RCV的参数设置见下表3。
LADDR | 硬件组态中串口模块的起始逻辑地址,本例中为256 |
DB_NO | 接收数据块号,本例中为2(DB2) |
DBB_NO | 接收数据的起始地址,本例中为0(DB2.DBB0) |
LEN | 接收数据的长度,本例中为MW4,只有在接收到数据的当前周期,此值不为0 ,需要编程读出 |
EN_R | 使能接收位,本例中为M0.2 |
R | 取消通讯,本例中不用 |
COM_RST | 如果为1 ,重新启动FB,本例中为M0.2 |
NDR | 接收完成位,接收完成并没有错误时为TRUE |
ERROR | 错误位,为TRUE时说明有错误 |
STATUS | 状态字,标识错误代码,查看ET200S串行接口模块手册获得相应的说明 |
表3 FB2 S_RCV的参数定义
图16 在程序中调用FB2 S_RCV
4.2.2 PC机参数设置
参数分配:串口选择COM1(默认),传输波特率为9.6Kb/s, 8位数据位,无校验,1位停止位,这些参数要和ET200s中1SI ASCII模块设置*,同时将串口调试软件打开。
西门子6ES7288-3AE04-0AA0
图17 串口调试软件参数设置
4.3 通讯测试
1.ET200S 1SI发送数据,调试软件接收数据
首先将硬件配置和程序下载到PLC,将DB1中前10个字节设为十六进制的01 02 03 04 05 06 07 08 09 10 ,然后将FB3的M0.0从FALSE置成TRUE,ET200S将发送数据10个字节数据,可以从串口调试软件的接收字符窗口中看到收到的数据(十六进制),结果如下图18所示。
图18 ET200S 1SI发送数据调试软件接收数据测试结果
2.调试软件发送数据,ET200S 1 SI接收数据
首先将硬件配置和程序下载到CPU中,将FB2的M0.1设为TRUE,使能ET200S 接收。在PC机的串口软件打开,在发送字符输入窗口输入16进制数据1122334455667788 9900,然后点击“手动发送”按钮发送数据,则在PLC侧DB2的前10个字节能接收到数据,接收的长度为10,测试结果如下。
图19调试软件发送数据ET200S 1SI接收数据测试结果
1 概述
S7--200提供了三种方式的开环运动控制:
? 脉宽调制(PWM)--内置于S7--200,用于速度、位置或占空比控制。
? 脉冲串输出(PTO)--内置于S7--200,用于速度和位置控制。
? EM253位控模块--用于速度和位置控制的附加模块。
S7—200的内置脉冲串输出提供了两个数字输出通道(Q0.0和Q0.1),该数字输出可以通过位控向导组态为PWM或PTO的输出。
当组态一个输出为PTO操作时,生成一个50%占空比脉冲串用于步进电机或伺服电机的速度和位置的开环控制。内置PTO功能仅提供了脉冲串输出。您的应用程序必须通过PLC内置I/O或扩展模块提供方向和限位控制。
PTO按照给定的脉冲个数和周期输出一串方波(占空比50%),如图1。PTO可以产生单段脉冲串或者多段脉冲串(使用脉冲包络)。可以脉冲数和周期(以微秒或毫秒为增加量):
? 脉冲个数: 1到4,294,967,295
? 周期: 10μs(100K)到65535μs或者2ms到65535ms。
图1
200系列的PLC的大脉冲输出频率除 CPU224XP 以外均为20kHz。CPU224XP可达100kHz。如表1所示:
表1
2 MAP库的应用
2.1 MAP库的基本描述
现在,200系列 PLC 本体 PTO 提供了应用库MAP SERV Q0.0 和 MAP SERV Q0.1,分别用于 Q0.0 和 Q0.1 的脉冲串输出。如图2所示:
图2
注: 这两个库可同时应用于同一项目。
各个块的功能如表2所示:
块 | 功能 |
Q0_x_CTRL | 参数定义和控制 |
Q0_x_MoveRelative | 执行一次相对位移运动 |
Q0_x_MoveAbsolute | 执行一次位移运动 |
Q0_x_MoveVelocity | 按预设的速度运动 |
Q0_x_Home | 寻找参考点位置 |
Q0_x_Stop | 停止运动 |
Q0_x_LoadPos | 重新装载当前位置 |
Scale_EU_Pulse | 将距离值转化为脉冲数 |
Scale_Pulse_EU | 将脉冲数转化为距离值 |
表2
总体描述
该功能块可驱动线性轴。
为了很好的应用该库,需要在运动轨迹上添加三个限位开关,如图3:
? 一个参考点接近开关(home),用于定义位置 C_Pos 的零点。
? 两个边界限位开关,一个是正向限位开关(Fwd_Limit),一个是反向限位开关(Rev_Limit)。
? 位置? C_Pos 的计数值格式为 DINT ,所以其计数范围为(-2.147.483.648 to +2.147.483.647). ?
? 如果一个限位开关被运动物件触碰,则该运动物件会减速停止,因此,限位开关的安置位置应当留出足够的裕量?ΔSmin 以避免物件滑出轨道尽头。
图3
2.2 输入输出点定义
应用MAP库时,一些输入输出点的功能被预先定义,如表3所示:
名称 | MAP SERV Q0.0 | MAP SERV Q0.1 |
脉冲输出 | Q0.0 | Q0.1 |
方向输出 | Q0.2 | Q0.3 |
参考点输入 | I0.0 | I0.1 |
所用的高速计数器 | HC0 | HC3 |
高速计数器预置值 | SMD 42 | SMD 142 |
手动速度 | SMD 172 | SMD 182 |
表3
2.3 MAP库的背景数据块
为了可以使用该库,必须为该库分配 68 BYTE(每个库)的全局变量,如图4所示:
图4
下表是使用该库时所用到的重要的一些变量(以相对地址表示),如表4:
符号名 | 相对地址 | 注释 |
Disable_Auto_Stop | +V0.0 | 默认值=0意味着当运动物件已经到达预设地点时,即使尚未减速到Velocity_SS,依然停止运动; =1时则减速至Velocity_SS时才停止 |
Dir_Active_Low | +V0.1 | 方向定义,默认值 0 = 方向输出为1时表示正向。 |
Final_Dir | +V0.2 | 寻找参考点过程中的后方向 |
Tune_Factor | +VD1 | 调整因子(默认值=0) |
Ramp_Time | +VD5 | Ramp time = accel_dec_time(加减速时间) |
Max_Speed_DI | +VD9 | 大输出频率 = Velocity_Max |
SS_Speed_DI | +VD13 | 小输出频率 = Velocity_SS |
Homing_State | +VB18 | 寻找参考点过程的状态 |
Homing_Slow_Spd | +VD19 | 寻找参考点时的低速(默认值 = Velocity_SS) |
Homing_Fast_Spd | +VD23 | 寻找参考点时的高速(默认值 = Velocity_Max/2) |
Fwd_Limit | +V27.1 | 正向限位开关 |
Rev_Limit | +V27.2 | 反向限位开关 |
Homing_Active | +V27.3 | 寻找参考点激活 |
C_Dir | +V27.4 | 当前方向 |
Homing_Limit_Chk | +V27.5 | 限位开关标志 |
Dec_Stop_Flag | +V27.6 | 开始减速 |
PTO0_LDPOS_Error | +VB28 | 使用Q0_x_LoadPos时的故障信息(16#00 = *, 16#FF = 故障) |
Target_Location | +VD29 | 目标位置 |
Deceleration_factor | +VD33 | 减速因子 =(Velocity_SS – Velocity_Max) / |
accel_dec_time (格式: REAL) | ||
SS_Speed_real | +VD37 | 小速度 = Velocity_SS (格式: REAL) |
Est_Stopping_Dist | +VD41 | 计算出的减速距离 (格式: DINT) |
表4
2.4 功能块介绍 西门子6ES7288-3AE04-0AA0
下面逐一介绍该库中所应用到的程序块。这些程序块全部基于PLC-200 的内置PTO输出,完成运动控制的功能。此外,脉冲数将通过的高速计数器 HSC 计量。通过 HSC 中断计算并触发减速的起始点。
2.4.1 Q0_x_CTRL
该块用于传递全局参数,每个扫描周期都需要被调用。功能块如图5,功能描述见表5。
图5
参数 | 类型 | 格式 | 单位 | 意义 |
Velocity_SS | IN | DINT | Pulse/sec. | 启动/停止频率,必须是大于零的数 |
Velocity_Max | IN | DINT | Pulse/sec. | 大频率 |
accel_dec_time | IN | REAL | sec. | 大加减速时间 |
Fwd_Limit | IN | BOOL | 正向限位开关 | |
Rev_Limit | IN | BOOL | 反向限位开关 | |
C_Pos | OUT | DINT | Pulse | 当前位置 |
表5
Velocity_SS 是小脉冲频率,是加速过程的起点和减速过程的终点。
Velocity_Max 是大小脉冲频率,受限于电机大频率和PLC的大输出频率。
在程序中若输入超出(Velocity_SS,Velocity_Max)范围的脉冲频率,将会被Velocity_SS 或 Velocity_Max 所取代。
accel_dec_time 是由 Velocity_SS 加速到 Velocity_Max 所用的时间(或由Velocity_Max 减速到 Velocity_SS 所用的时间,两者相等),范围被规定为 0.02 ~ 32.0 秒,但好不要小于0.5秒。
警告:超出 accel_dec_time 范围的值还是可以被写入块中,但是会导致定位过程出错!
2.4.2 Scale_EU_Pulse
该块用于将一个位置量转化为一个脉冲量,因此它可用于将一段位移转化为脉冲数,或将一个速度转化为脉冲频率。功能块如图6,功能描述见表6。
图6
参数 | 类型 | 格式 | 单位 | 意义 |
Input | IN | REAL | mm or mm/s | 欲转换的位移或速度 |
Pulses | IN | DINT | Pulse /revol. | 电机转一圈所需要的脉冲数 |
E_Units | IN | REAL | mm /revol. | 电机转一圈所产生的位移 |
Output | OUT | DINT | Pulse or pulse/s | 转换后的脉冲数或脉冲频率 |
表6
下面是该功能块的计算公式:
2.4.3 Scale_ Pulse_EU
该块用于将一个脉冲量转化为一个位置量,因此它可用于将一段脉冲数转化为位移,或将一个脉冲频率转化为速度。功能块如图7,功能描述见表7。
图7
参数 | 类型 | 格式 | 单位 | 意义 |
Input | IN | REAL | Pulse or pulse/s | 欲转换的脉冲数或脉冲频率 |
Pulses | IN | DINT | Pulse /revol. | 电机转一圈所需要的脉冲数 |
E_Units | IN | REAL | mm /revol. | 电机转一圈所产生的位移 |
Output | OUT | DINT | mm or mm/s | 转换后的位移或速度 |
表7
下面是该功能块的计算公式:
2.4.4 Q0_x_Home
功能块如图8,功能描述见表8。
2.6 寻找参考点的若干种情况
在寻找参考点的过程中由于起始位置、起始方向和终止方向的不同会出现很多种情况。
一个总的原则就是:从起始位置以起始方向 Start_Dir 开始寻找,碰到参考点之前若碰到限位开关,则立即调头开始反向寻找,找到参考点开关的上升沿(即刚遇到参考点开关)即减速到寻找低速 Homing_Slow_Spd,若在检测到参考点开关的下降沿(即刚离开遇到参考点开关)之前已经减速到 Homing_Slow_Spd,则比较当前方向与终止方向 Final_Dir 是否*,若*,则完成参考点寻找过程;若否,则调头找寻另一端的下降沿。若在检测到参考点开关的下降沿(即刚离开遇到参考点开关)之前尚未减速到 Homing_Slow_Spd,则在减速到 Homing_Slow_Spd 后调头加速,直至遇到参考点开关上升沿,重新减速到 Homing_Slow_Spd,后判断当前方向与终止方向 Final_Dir 是否*,若*,则完成参考点寻找过程;若否,则调头找寻另一端的下降沿。(Final_Dir 决定寻找参考点过程结束后,轴停在参考点开关的哪一侧)