西门子6ES73136BG040AB0

  • 1657
  • 产品价格:面议
  • 发货地址:上海金山 包装说明:全新原装
  • 产品数量:10000.00 台产品规格:西门子6ES73136BG040AB0
  • 信息编号:96830375公司编号:13708464
  • 郑鑫 销售工程师 微信 13585754803
  • 进入店铺 在线留言 QQ咨询  在线询价
    相关产品:

上海朕锌电气设备有限公司

西门子6ES73136BG040AB0

6ES7313-6BG04-0AB0
SIMATIC S7-300,CPU 313C-2 PTP 带 MPI 的紧凑型 CPU, 16 DE/16 DA, 3 个快速计数器(30 kHz), 集成接口 RS485, 集成电源 24V DC, 工作存储器 128 KB, 前连接器(1x 40 较)和 需要微型存储卡

blob

1.应用概述
SIMOTION通信函数_xsend与_xreceive适合SIMOTION之间通过MPI-MPI接口、PROFIBUS-PROFIBUS间的数据交换,通信数据较大为200个字节,SIMOTION也可以通过调用通信函数_xsend与_xreceive实现与S7-300/400 PLC(在PLC中调用SFC65 X_SEND与SFC66 X-REV)MPI接口间的数据交换,由于受到PLC通信区的限制,较大通信数据为64个字节。


2.MPI与PROFIBUS网络介绍
MPI是S7-300/400,SIMOTION的编程接口,对通信数据及实时性要求不高的应用可以利用编程接口进行通信, MPI的通信速率为19.2K~12Mbit/s, 只有可以设置为PROFIBUS接口的MPI口才支持12M的通信速率,例如S7-300中CPU318-2DP及所有的S7-400CPU 、SIMOTION MPI口都可以设定为PROFIBUS接口,所以它们的MPI接口通信速率都可以设置为12M。MPI接口通信速率缺省设置为187.5Kbit/s,无中继情况下较大通信通讯距离为50米,通过中继器可以扩展网络长度,扩展的方式有两种,**种,两个站点中间没有其它站,如图1


图1:MPI网络扩展

控制器站点到中继器较长为50米,两个中继器之间的距离为1000米,较多可以增加10个,所以两个站点之间的较长距离为9100米。
*二种,如果在两个中继器中间有MPI站点,那么每个中继器只能扩展50米,在组态时要考虑这两种连接方式。
MPI接口为RS485接口,连接电缆为PROFIBUS电缆(屏蔽双绞线),接头为PROFIBUS接头并带有终端电阻,如果用其它电缆和接头不能保证通信距离。在MPI网络上较多可以有32个站,中继器,WINCC站,操作面板OP/TP也要算一个站点。MPI的站号及通讯速率可以在STEP7或SCOUT硬件组态时修改,下载组态信息到CPU后,站号及通讯速率将改变。
PROFIBUS总线符合EIA RS485[8]标准,PROFIBUS RS485 的传输程序是以半双工、异步、无间隙同步为基础的。传输介质可以是光缆或屏蔽双绞线,电气传输时,每一个RS485传输段为32个站点包括有源网络元件(RS485中间器,OLM等),在总线的两端为终端电阻,结构如图2:


图2:PROFIBUS网络结构

西门子总线终端一般都配有终端电阻,PROFIBUS使用9针D型连接器,D型连接器插座连接总线站,D型连接器插头与总线电缆相连。总线终端和针脚定义如表1:

表1 总线终端管脚定义

针脚号 信号名称 设计含义
1 SHIELD 屏蔽或功能地
2 M24 24V输出电压地(辅助电源)
3 RXD/TXD-P 接收和发送数据-正  B线
4 CNTR-P 方向控制信号P
5 DGND 数据基准电位(地)
6 VP 供电电压-正
7 P24 24V输出电压(辅助电源)
8 RXD/TXD-N 接收和发送数据-负  A线
9 CNTR-N 方向控制信号N

PROFIBUS总线的传输速率为9.6Kbit/s ~12Mbit/s,总线长度与传输速率相关,总的规律是传输速率越高总线长度越短,越容易受到电磁干扰,基于传输速率的较大网段长度参考表2:

表2 传输速率与通信长度

波特率(K Bit/s 9.6187.5 500 1500 300012000
总线长度(米) 1000 400 200 100

总线终端的电阻与PROFIBUS总线相匹配,并配有轴向电感以消除电容性负载而引起的导线反射,选择普通的屏蔽双绞线不能保证总线的段长度。
如果需要扩展总线的长度或者PROFIBUS从站数大于32个时,就要加入RS485中继器,例如,PROFIBUS的长度为500米,而波特率要求达到1.5MBIT/S,对照表2波特率为1.5MBIT/S使较大的长度为200米,要扩展到500米,就需要加入两个RS485中继器,拓扑图如图3所示:


图3:PROFIBUS网络扩展

西门子RS485中继器具有信号放大和再生功能,在一条PROFIBUS总线上较多可以安装9个RS485中继器,其它厂商的产品要查看其产品规范以确定安装个数。
一个PROFIBUS网段较多可有32个站点,如果一条PROFIBUS网上**过32个站点,也需要用RS485中继器隔开,例如一条PROFIBUS总线上有80个站点,那么就需要两个RS485中继器分成3个网段。RS485中继器是一个有源的网络元件,本身也要算一个站点。除了以上两个功能,RS485中继器的还可以使网段之间相互隔离。


3.网络设置
下面以SIMOTION D435与S7-300 PLC 通过MPI网络通信为例介绍通信函数_xsend与_xreceive的使用。首先打开SCOUT软件插入D435,点击D435使用右键进入硬件配置界面如图4所示:


图4:SIMOTION MPI接口设置

双击X136接口(只有X136接口可以设置为MPI接口),将该接口设置为MPI接口,选择MPI站地址,如图5所示:


图5: MPI接口参数配置

注意MPI站地址与通信方的站地址不能冲突,同样在STEP7中设置S7-300 PLC的站地址,本例中SIMOTION的MPI地址为2,PLC的站地址为4。


4.编程

4.1 SIMOTION侧编程
在D435中的“PROGRAM”中插入编程单元“LAD/FBD UNIT”,如MPI,在“UNIT”中插入程序如“SEND”和“RECEIVE”编写发送和接收程序如图6所示,也可以将通信程序编写在同一个程序中。


图6: SIMOTION 程序的创建

本例中在“SEND”程序中编写发送程序,在“RECEIVE”程序中编写接收程序,发送和接收函数可以在函数库中的位置如图7所示:



图7: 函数块的位置

? 调用_xsend函数
在程序SEND中调用_xsend函数发送数据,与PLC编写方式相似,将发送函数_xsend拖曳到LAD网络中,如图8所示:



图8: _xsend函数块

给所有的参数赋值,变量可以任意定义,如“COMMODE”变量,键入后选择变量类型如图9所示:


图9: 配置参数类型

数据类型自动定义,在变量类型中选择变量存储的类型,如全局变量或区域变量,如图9中变量类型只能在一个“UNIT”中使用,如果需要在其它“UNIT”或HMI中使用,将在“INTERFACE”中创建变量。
_xsend函数参数含义如下:

COMMUNICATIONMODE:
枚举数据类型,元素中包括“ABORT_CONNECTION ”和“HOLD_CONNECTION”,
“ABORT_CONNECTION ”:通信完成之后释放连接资源。
“HOLD_CONNECTION”:通信完成之后占用连接资源。
枚举类型变量的赋值可以使用MOVE指令,如图10所示:



图10: 参数赋值

ADDRESS:
结构体数据类型,结构体元素参考表3:

表3 _xsend函数ADRESS参数结构体数据

 

结构体元素 名称 数据类型 单元
deviceId 元素 ID USINT -
remoteSubnetIdLength 通信方subnet ID占用字节的长度 USINT -
remoteStaddrLength 通信方站地址占用字节的长度 USINT -
nextStaddrLength 路由器占用字节的长度 USINT -
remoteSubnetId  通信方subnet ID ARRAY [0..5] OF USINT -
remoteStaddr 通信方站地址 ARRAY [0..5] OF USINT -
nextStaddr 路由器地址 ARRAY [0..5] OF USINT -

deviceId:*使用的接口,1表示D435 X126接口,2表示D435 X136接口,本例中选择2。
remoteSubnetIdLength:预留参数,MPI通信中无意义,缺省为0,设置为0。

remoteStaddrLength:MPI、PROFIBUS通信设置为1。西门子6ES73136BG040AB0

nextStaddrLength:预留参数,MPI通信中无意义,,缺省为0,设置为0。

remoteSubnetId:预留参数,MPI通信中无意义,缺省为0。

remoteStaddr:数组类型,在remoteStaddr[0]中赋值通信方的MPI地址,其它元素无意义,本例中S7-300 MPI地址为4,可以使用MOVE(LAD)指令赋值。

nextStaddr:预留参数,MPI通信中无意义,缺省为0。

MESSAGEID:
UDINT数据类型,定义发送报文的标识符,本例中定义为6,在PLC接收块参数REQ_ID可以读出。
NEXTCOMMAND:
枚举数据类型,元素中包括“IMMEDIATELY ”和“WHEN_COMMAND_DONE”,
“IMMEDIATELY”:下一个命令同步执行。
“WHEN_COMMAND_DONE”:命令执行或失败后执行下一个命令,异步执行。
例子程序中使用“WHEN_COMMAND_DONE”。

COMMANDID:
COMMANDID数据类型,可以跟踪命令的状态。

DATA:
数组数据类型,发送数据缓存区,必须为200个字节。

DATALENGTH:
UDINT数据类型,发送数据的长度,本例中发送为10个字节。

OUT:
DINT数据类型,函数调用返回值,包含通信状态。

在程序receive中调用_xreceive函数接收数据,与PLC编写方式相似,将接收函数_xreceive拖曳到LAD网络中,如图11所示:



图11: _xreceive函数块

调用_xreceive函数
函数_xreceive的输入参数MESSAGEID、COMMANDID和NEXTCOMMAND与_xsend函数输入参数意义相同,发送与接收函数的参数MESSAGEID必须相同,本例中_xreceive输入参数定义的数据包标识符为8,与PLC发送块参数REQ_ID定义的标识符必须相同。
_xreceive函数的输出变量 “OUT”为结构体数据类型,元素参考表4:

表4 _xreceive函数OUT参数结构体数据

 

结构体元素 名称 数据类型 单元
functionResult 函数调用的返回值 DINT -
dataLength 接收数据的长度(字节数) UDINT -
data 接收数据区 ARRAY [0..199] OF BYTE -

functionResult:
函数调用的返回值,可以判断接收状态,数据类型为 DINT。
dataLength:
接收数据的长度(字节数),较大长度为200个字节,数据类型为 UDINT。
Data:
数据接收区,较大长度为200个字节,在编程中定义的接收区必须大于数据发送区,数据类型为数组。

通信参数赋值完成之后,将整个程序进行编译,如果需要在线监控通信程序,必须在编译程序之前进行配置,如图12所示,点击程序单元,本例中为“MPI”,右键进入属性界面,点击菜单“Compiler”选择“Permit program status”选项,这样经过编译之后,程序可以在线监控。


图12: 配置程序在线监控

通信程序编写和编译完成后,将程序放置到D435的执行系统中调用(程序只有被调用才能执行),如图13所示:


图13: 调用通信程序

本例中将通信程序放置于“BackgroundTask”运行(循环运行)。将整个项目编译后,联机下传通信程序。

4.2 PLC侧编程
调用发送程序块
PLC侧调用SFC65用于数据发送,发送程序参考图14程序:



图14: PLC中调用发送程序

SFC65的参考解释如下,
REQ:
发送请求,为1时发送。
CONT:
相当于SIMOTION发送函数_xsend 参数“COMMUNICATIONMODE”,为0时通信完成之后释放连接资源,为1时通信完成之后占用连接资源。
DEST_ID:
通信方的MPI地址,本例中SIMOTION的MPI地址为2。
REQ_ID:
相当于SIMOTION发送函数_xsend 参数“MESSAGEID”,定义发送报文的标识符,在接收块中除接收到数据外,本例中与函数_xreceive中参数MESSAGEID定义必须相同。
SD :
发送区,以指针的格式,本例中将DB1中DBB0 以后10个字节作为发送区,较大为76个字节。
RET_VAL:
发送块返回值。
BUSY :
为1时,端口占用,发送中止。
PLC侧调用发送块,在SIMOTION中需要调用函数_xreceive接收。

调用接收程序块
PLC侧调用SFC66用于接收数据,接收程序参考图15程序:


图15: PLC中调用接收程序

SFC65的参考解释如下,
EN_DT:
为1使能接收功能。
RET_VAL :
接收块返回值。
REQ_ID:
接收数据包的标识符,本例中接收SIMOTION _xsend函数MESSAGEID参数定义的报文的标识符6。在SIMOTION中,接收、发送函数MESSAGEID参数为输
入参数,发送和接收的报文标识符必须提前定义,在PLC中发送块REQ_ID参数为输入参数,接收块REQ_ID参数为输出参数,识别接收数据包的标识符。
NDA :
接收到新的数据包时产生脉冲信号。
RD:
接收区,本例中接收SIMOTION发送的10个字节,并将接收的数据存储于DB2中DBB0以后的10个字节中。
将PLC中的通信程序编译下传到PLC中,通信建立。


5.状态监控
在SCOUT联机状态中,点击程序单元如“MPI”,然后点击“Symbol browser”标签,可以监控“MPI”程序单元中定义的全局变量,如发送数据区、接收区等。如图16所示:


图16: 监控SIMOTION侧通信变量

在STEP7中打开变量监控表同样可以对数据发送区、接收区进行监控,如图17所示:


图17: 监控PLC侧通信变量

6.示例程序
示例程序参考文档附件程序,名称为Mpitest.rar。(示例程序使用STEP7 V5.4和SCOUT V4.0编写)

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”)。

西门子6ES73136BG040AB0





关于八方 | 招贤纳士八方币招商合作网站地图免费注册商业广告友情链接八方业务联系我们汇款方式投诉举报
八方资源网联盟网站: 八方资源网国际站 粤ICP备10089450号-8 - 经营许可证编号:粤B2-20130562 软件企业认定:深R-2013-2017 软件产品登记:深DGY-2013-3594 著作权登记:2013SR134025
互联网药品信息服务资格证书:(粤)--非经营性--2013--0176
粤公网安备 44030602000281号
Copyright © 2004 - 2024 b2b168.com All Rights Reserved