品牌:西门子3WN断路器
起订:1个
供应:1个
发货:3天内
信息标签:西门子3WN断路器,供应,电子、电工,工控系统及装备
联系人 : 莫海群 联系手机:17321435985
QQ:1919057176
公司传真:021-67263002请备注莫海群 收 谢
邮 箱:1919057176@qq.com
联系电话:021-60494465 在线商谢
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 功能块介绍
下面逐一介绍该库中所应用到的程序块。这些程序块全部基于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。
图8
参数 | 类型 | 格式 | 单位 | 意义 |
EXECUTE | IN | BOOL | 寻找参考点的执行位 | |
Position | IN | DINT | Pulse | 参考点的**位移 |
Start_Dir | IN | BOOL | 寻找参考点的起始方向 | |
(0=反向,1=正向) | ||||
Done | OUT | BOOL | 完成位(1=完成) | |
Error | OUT | BOOL | 故障位(1=故障) |
表8
该功能块用于寻找参考点,在寻找过程的起始,电机首先以 Start_Dir 的方向,Homing_Fast_Spd 的速度开始寻找;在碰到limit switch (“Fwd_Limit” or “Rev_Limit”)后,减速至停止,然后开始相反方向的寻找;当碰到参考点开关(input I0.0; with
Q0_1_Home: I0.1)的上升沿时,开始减速到 “Homing_Slow_Spd”。如果此时的方向与 “Final_Dir” 相同,则在碰到参考点开关下降沿时停止运动,并且将计数器HC0的计数值设为 “Position” 中所定义的值。
如果当前方向与 “Final_Dir” 不同,则必然要改变运动方向,这样就可以保证参考点始终在参考点开关的同一侧(具体是那一侧取决于 “Final_Dir”)。
寻找参考点的状态可以通过全局变量 “Homing_State” 来监测,如表9:
Homing_State的值 | 意义 |
0 | 参考点已找到 |
2 | 开始寻找 |
4 | 在相反方向,以速度 Homing_Fast_Spd 继续寻找过程(在碰到限位开关或参考点开关之后) |
6 | 发现参考点,开始减速过程 |
7 | 在方向 Final_Dir ,以速度 Homing_Slow_Spd 继续寻找过程(在参考点已经在 Homing_Fast_Spd 的速度下被发现之后) |
10 | 故障(在两个限位开关之间并未发现参考点) |
表9
2.4.5 Q0_x_MoveRelative
该功能块用于让轴按照指定的方向,以指定的速度,运动指定的相对位移。功能块如图9,功能描述见表10。
图9
参数 | 类型 | 格式 | 单位 | 意义 |
EXECUTE | IN | BOOL | 相对位移运动的执行位 | |
Num_Pulses | IN | DINT | Pulse | 相对位移(必须>1) |
Velocity | IN | DINT | Pulse/sec. | 预置频率 |
(Velocity_SS <= Velocity <= | ||||
Velocity_Max) | ||||
Direction | IN | BOOL | 预置方向 | |
(0=反向,1=正向) | ||||
Done | OUT | BOOL | 完成位(1=完成) |
表10
2.4.6 Q0_x_MoveAbsolute
该功能块用于让轴以指定的速度,运动到指定的**位置。功能块如图10,功能描述见表11。
图10
参数 | 类型 | 格式 | 单位 | 意义 |
EXECUTE | IN | BOOL | **位移运动的执行位 | |
Position | IN | DINT | Pulse | **位移 |
Velocity | IN | DINT | Pulse/sec. | 预置频率 |
(Velocity_SS <= Velocity <=Velocity_Max) | ||||
Done | OUT | BOOL |
完成位(1=完成)
|
表11
2.4.7 Q0_x_MoveVelocity
该功能块用于让轴按照指定的方向和频率运动,在运动过程中可对频率进行更改。功能块如图11,功能描述见表12。
图11
参数 | 类型 | 格式 | 单位 | 意义 |
EXECUTE | IN | BOOL | 执行位 | |
Velocity | IN | DINT | Pulse/sec. | 预置频率 |
(Velocity_SS <= Velocity <= | ||||
Velocity_Max) | ||||
Direction | IN | BOOL | 预置方向 | |
(0=反向,1=正向) | ||||
Error | OUT | BYTE | 故障标识 | |
(0=无故障,1=立即停止,3=执行错误) | ||||
C_Pos | OUT | DINT | Pulse | 当前**位置 |
表12
注意:Q0_x_MoveVelocity 功能块只能通过 Q0_x_Stop block 功能块来停止轴的运动。如图12:
图12
2.4.8 Q0_x_Stop
该功能块用于使轴减速直至停止。功能块如图13,功能描述见表13。
图13
参数 | 类型 | 格式 | 单位 | 意义 |
EXECUTE | IN | BOOL | 执行位 | |
Done | OUT | BOOL | 完成位(1=完成) |
表13
2.4.9 Q0_x_LoadPos
该功能块用于将当前位置的**位置设置为预置值。功能块如图14,功能描述见表14。
图14
参数 | 类型 | 格式 | 单位 | 意义 |
EXECUTE | IN | BOOL | 设置**位置的执行位 | |
New_Pos | IN | DINT | Pulse | 预置**位置 |
Done | OUT | BOOL | 完成位(1=完成) | |
Error | OUT | BYTE | 故障位(0=无故障) | |
C_Pos | OUT | DINT | Pulse | 当前**位置 |
表14
注意:使用该块将使得原参考点失效,为了清晰地定义**位置,必须重新寻找参考点。
2.5 校准
该块所使用的算法将计算出减速过程(从减速起始点到速度**终达到Velocity_SS)所需要的脉冲数。但时在减速过程中所形成的斜坡有可能会导致计算出的减速斜坡与实际的包络不完全一致。此时就需要对 “Tune_Factor” 进行校正。
校正因子 “Tune_Factor”
“Tune_Factor” 的**值取决于**、**小和目标脉冲频率以及**减速时间。如图15:
图15
如图所示,运动的目标位置是B,算法会自动计算出减速起始点,当计算与实际不符时,当轴已经运动到B点时,尚未到达**速度,此时若位 ”Disable_Auto_Stop” = 0,则轴运动到B点即停止运动,若位 ”Disable_Auto_Stop” = 1,则轴会继续运动直至到达**速度。图中所示的情况为计算的减速起始点出现的太晚了。
确定调整因子
注意:一次新的校准过程并不需要将伺服驱动器连接到CPU。
步骤如下:
1. 置位 ”Disable_Auto_Stop”,即令 ”Disable_Auto_Stop” = 1。
2. 设置 “Tune_Factor” = 1。
3. 使用 Q0_x_LoadPos 功能将当前位置的**位置设为0。
4. 使用 Q0_x_MoveRelative,以指定的速度完成一次相对位置运动(留出足够的空间以使得该运动得以顺利完成)。
5. 运动完成后,查看实际位置 HC0。Tune_Factor 的调整值应由 HC0,目标相对位移 Num_Pulses,预估减速距离 Est_Stopping_Dist 所决定。Est_Stopping_Dist 由下面的公式计算得出:
Tune_Factor由下面的公式计算得出:
6. 在调用 Q0_x_CTRL 的网络之后插入一条网络,将调整后的 Tune_Factor 传递给全局变量 +VD1,如图16。
图16
7. 复位 ”Disable_Auto_Stop”,即令 ”Disable_Auto_Stop” = 0。
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 决定寻找参考点过程结束后,轴停在参考点开关的哪一侧)
下面的图形会反应不同情形下寻找参考点的过程。
Start_Dir=0, Final_Dir=0,如图17:
图17
Start_Dir=0, Final_Dir=1,如图18:
图18
Start_Dir=1, Final_Dir=0,如图19:
图19
Start_Dir=1, Final_Dir=1,如图20:
图20
MAP Serve 库的下载方法:
根据下面的链接进入产品支持网站:
/cs/document/26513850?caller=view&lc=en-CN
网页如下所示:
在搜索关键字中输入文档编号“26513850”,进入下面的网页:
选择下载 MAP 参考文档(English)SERV_MAP_e.pdf 和 库文件 SERV MAP.zip。
关键词
S7-200 PLC;脉冲输出;MAP
.S7-200和S7-300进行MPI通信
S7-200 PLC与S7-300 PLC之间采用MPI通讯方式时,S7-200 PLC中不需要编写任何与通讯有关的程序,只需要将要交换的数据整理到一个连续的V 存储区当中即可,而S7-300 PLC中需要在组织块OB1(或是定时中断组织块OB35)当中调用系统功能X_GET(SFC67)和X_PUT(SFC68),以实现S7-200 PLC与S7-300 PLC之间的通讯。调用SFC67和SFC68时VAR_ADDR参数填写S7-200的数据地址区,由于S7-200的数据区为v区,这里需填写 P#DB1.DBX×× BYTE n 对应的就是S7200 V存储区当中VB××到VB(××+n)的数据区。例如交换的数据存在S7-200中VB50到VB59这10个字节当中,VAR_ADDR参数应为 P#DB1.DBX50.0 BYTE 10.
首先根据S7-300的硬件配置,在STEP7当中组态S7-300站并且下载,注意S7-200和S7-300出厂默认的MPI地址都是2,所以必须修 改其中一个PLC的站地址,例子程序当中将S7-300 MPI地址设定为2,S7-200地址设定3,另外要分别将S7-300和S7-200的通讯速率设定一致,可设为9.6K,19.2K,187.5K三 种波特率,例子程序当中选用了19.2K的速率。
S7-200 PLC修改MPI地址可以参考下图:
图1 S7-200 设置MPI地址
S7-300 PLC修改MPI地址可以参考下图:
图2 S7-300 设置MPI地址
例子程序在OB1当中调用数据读写功能块:SFC67和SFC68,如下图:
图3 程序编写
分别在STEP7 MicroWin32 和STEP7当中监视S7-200和S7-300 PLC当中的数据,数据监视界面如下:
图4 S7-200监控结果
图5 S7-300监控结果
通过CP5611,STEP7 MicroWin32, Set PG/PC Interface可以读取S7200和S7300的站地址,如下图:
图6 CP5611诊断结果(站地址0为进行编程的计算机)
图7 使用STEP7 MicroWin32诊断结果
2.S7-200和S7-300进行PROFIBUS通信
S7-300与S7-200通过EM277进行 PROFIBUS DP通讯,需要在STEP7中进行S7-300站组态,在S7-200系统中不需要对通讯进行组态和编程,只需要将要进行通讯的数据整理存放在V 存储区,并且S7-300组态EM277从站时设置正确的地址即可。
插入一个S7-300的站:
图8 S7-300组态
选中STEP7的硬件组态窗口中的菜单 Option® Install new GSD(GSD 文件下载:113652)
导入SIEM089D.GSD文件,安装EM277从站配置文件,如下图:
图9 安装GSD
在SIMATIC文件夹中有EM277的GSD文件:
图10 安装GSD
导入GSD文件后,在右侧的设备选择列表中找到EM277从站,PROFIBUS DP®Additional Field Devices®PLC®SIMATIC®EM277,并且根据通讯字节数,选择一种配置,本例选择8字节入/8字节出的方式,如下图:
图11 通信区域组态
根据EM277上的拨位开关设定以上EM277从站的站地址。
图12组态DP通信地址
组态完系统的硬件配置后,将编译下载到S7-300的PLC当中。S7-300的硬件下载完成后,将EM277的拨位开关拨到与以上硬件组 态的设定值一致,在S7-200中编写程序将进行交换的数据存放在VB0-VB15,对应S7-300的PQB0-PQB7和PIB0-PIB7,打开 STEP7中的变量表和STEP7 MicroWin32的状态表进行监控,它们的数据交换结果如下图:
图13 通信数据监控
图14 通信数据监控
注意:VB0-VB7是S7-300写到S7-200的数据,VB8-VB15是S7-300从S7-200读取的值。EM277上拨位开 关的位置一定要和S7-300中组态的地址值一致。如果使用的S7-200通信区域不从VB0开始,则需要设置地址偏移,在S7-300硬件组态中双击 EM277,修改数值0为实际使用的数值即可,如下图所示:
图15 地址区域偏移设置
3.S7-200和S7-300进行以太网通信
可以把S7-200的以太网模块CP243-1配置为CLIENT,使用STEP 7 Micro/WIN32中的向导进行通信的配置即可。在命令菜单中选择工具--> 以太网向导。
图16 打开以太网向导
**步是对以太网通信的描述.点击下一步开始以太网配置。
图17 向导介绍
在此处选择模块的位置,在线的情况下,您也可以用读取模块按钮搜寻在线的CP243-1模块。点击下一步;
图18 读取模块
在此处填写IP地址和子网掩码。点击下一步;
图19 地址设置
需要填写模块的连接数目,如只和CP343-1通信则在此处填写1,点击下一步。
图20 模块占用地址设置
选择此为客户机连接,远程属性TSAP (Transport Service Access Point)填写为03.02,输入343-1的IP地址.,点击数据传输按钮进入数据交换的定义。
图21 连接设置
点击新传输按钮进入设置:选择是读取数据还是写入数据。填写通讯数据的字节个数,填写发送数据区和接收数据区的起始地址,本例中为从S7-300的MB200开始读取8个字节到vb1000开始的8个字节的区域中。
点击确认按钮:
图22 数据区域设置
选择CRC校验,使用缺省的时间间隔30秒,点击下一步按钮。
图23 使用CRC
填写模块所占用的V存储区的起始地址。你也可以通过Suggest Address按钮来获得系统建议的V存储区的起始地址, 点击下一步按钮。
图24 配置存储区
完成以太网向导配置后需要在程序中调用以太网向导所生成的ETHx_CTRL和ETH0_XFR, 然后,将整个项目下载到作CLIENT的S7-200 CPU上。
图25 程序编写