S7-200USS通信报文传输格式和管理
- 格式:pptx
- 大小:684.50 KB
- 文档页数:78
西门子S7-200和Micro Master变频器之间的通讯协议USS 传统的PLC与变频器之间的接口大多采用的是依靠PLC的数字量输出来控制变频器的启停,依靠PLC的模拟输出来控制变频器的速度给定,这样做存在以下问题:1、需要控制系统在设计时采用很多硬件,价格昂贵2、现场的布线多容易引起躁声和干扰3、PLC 和变频器之间传输的信息受硬件的限制,交换的信息量很少。
4、在变频器的启停控制中由于继电器接触器等硬件的动作时间有延时,影响控制精度。
5、通常变频器的故障状态由一个接点输出,PLC能得到变频器的故障状态,但不能准确的判断当故障发生时,变频器是何种故障。
如果PLC通过与变频器进行通讯来进行信息交换,可以有效地解决上述问题,通讯方式使用的硬件少,传送的信息量大,速度快,等特点可以有效地解决上述问题,另外,通过网络,可以连续地对多台变频器进行监视和控制,实现多台变频器之间的联动控制和同步控制,通过网络还可以实时的调整变频器的参数。
目前各个厂家的变频器都相继的开发出了支持连网的功能,比如,很多变频器都有了支持现场总线(如:DEVICENET、PROFIBUS、AS_I)等的接口协议,可以很方便的与PLC 进行数据通信。
现在主要介绍西门子S7-200和Micro Master变频器之间的通讯协议USS,使用USS通讯协议,用户可以通过程序调用的方式实现S7-200和Micro Master变频器之间的通信,编程的工作量小,通讯网络由PLC和变频器内置的RS485通讯口和双绞线组成,一台S7-200最多可以和31台变频器进行通讯,这是一种费用低、使用方便的通讯方式。
一、USS通讯协议介绍USS通讯协议的功能,所有的西门子变频器都带有一个RS485通讯口,PLC作为主站,最多允许31个变频器作为通讯连路中的从站,根据各变频器的地址或者采用广播方式,可以访问需要通讯的变频器,只有主站才能发出通讯请求报文,报文中的地址字符指定要传输数据的从站,从站只有在接到主站的请求报文后才可以向从站发送数据,从站之间不能直接进行数据交换。
西门子PLC的USS通信程序原来是这样编写,赶紧转发收藏!展开全文S7-200 SMART本体集成的RS 485 通信口可以工作在自由口模式下,支持 USS 通信协议。
S7-200 SMART 与驱动装置(变频器)进行 USS 通信时可以:1)根据驱动装置的具体USS 通信规范,我们自己编程实现USS 通信。
此方式可以保证该驱动装置的所有USS 通信功能都能得到使用;2)使用西门子提供的 USS 通信指令库,实现与 Micro Master 系列的 MM3/MM4 和 SINAMICS G110/V20 的USS 通信。
此指令库只能有限地支持与其他驱动装置的 USS 连接。
使用西门子提供的USS 指令库,这样我们就不必自己配置复杂的PKW/PZD 数据,或者计算校验字节。
S7-200 SMART的 USS 编程主要包括如下几个步骤:参数设置和硬件接线部分可参考我们技成培训网上/1990/《西门子变频器参数设置和实操训练》课程的相关章节,在这不再阐述;1调用USS初始化指令S7-200 SMART USS 标准指令库包括USS_INIT、USS_CTRL、USS_RPM_X、USS_WPM_X等指令。
调用这些指令时会自动增加一些子程序和中断服务程序。
USS 库应用首先要进行 USS 通信的初始化。
使用 USS_INIT 指令初始化 USS 通信功能。
图 1. 选择 USS_INIT 指令打开 USS 指令库分支,像调用子程序一样调用 USS_INIT 指令。
图 2. 调用 USS_INIT 指令图中:EN:初始化程序USS_INIT 只需在程序中执行一个周期就能改变通信口的功能,以及进行其他一些必要的初始设置,因此可以使用SM0.1 或者沿触发的接点调用 USS_INIT 指令;Mode:模式选择,执行USS_INIT 时,Mode 的状态决定在通讯端口上是否使用 USS 通信功能;=1 设置为 USS 通信协议并进行相关初始化=0 恢复为 PPI 协议并禁用USS通信Baud:USS 通信波特率。
西门子S7-200和Micro Master变频器之间的通讯协议USS 传统的PLC与变频器之间的接口大多采用的是依靠PLC的数字量输出来控制变频器的启停,依靠PLC的模拟输出来控制变频器的速度给定,这样做存在以下问题:1、需要控制系统在设计时采用很多硬件,价格昂贵2、现场的布线多容易引起躁声和干扰3、PLC 和变频器之间传输的信息受硬件的限制,交换的信息量很少。
4、在变频器的启停控制中由于继电器接触器等硬件的动作时间有延时,影响控制精度。
5、通常变频器的故障状态由一个接点输出,PLC能得到变频器的故障状态,但不能准确的判断当故障发生时,变频器是何种故障。
如果PLC通过与变频器进行通讯来进行信息交换,可以有效地解决上述问题,通讯方式使用的硬件少,传送的信息量大,速度快,等特点可以有效地解决上述问题,另外,通过网络,可以连续地对多台变频器进行监视和控制,实现多台变频器之间的联动控制和同步控制,通过网络还可以实时的调整变频器的参数。
目前各个厂家的变频器都相继的开发出了支持连网的功能,比如,很多变频器都有了支持现场总线(如:DEVICENET、PROFIBUS、AS_I)等的接口协议,可以很方便的与PLC 进行数据通信。
现在主要介绍西门子S7-200和Micro Master变频器之间的通讯协议USS,使用USS通讯协议,用户可以通过程序调用的方式实现S7-200和Micro Master变频器之间的通信,编程的工作量小,通讯网络由PLC和变频器内置的RS485通讯口和双绞线组成,一台S7-200最多可以和31台变频器进行通讯,这是一种费用低、使用方便的通讯方式。
一、USS通讯协议介绍USS通讯协议的功能,所有的西门子变频器都带有一个RS485通讯口,PLC作为主站,最多允许31个变频器作为通讯连路中的从站,根据各变频器的地址或者采用广播方式,可以访问需要通讯的变频器,只有主站才能发出通讯请求报文,报文中的地址字符指定要传输数据的从站,从站只有在接到主站的请求报文后才可以向从站发送数据,从站之间不。
S7-200与V20的USS通讯1、本例程的系统配置:(1)安装Step7 Micro/Win V4.0 SP6软件和USS协议V2.3,软件下载地址:西门子标准库指令:/download/searchResult.aspx?searchText=S0010 Micro/WIN V4.0 SP6软件下载地址:/download/searchResult.aspx?searchText=S0002(2)PC/PPI电缆、S7-200、电源模块、通信电缆。
(3)V20驱动装置和一台PC机。
2、在使用MicroWin software 创建项目之前,确认USS库文件已经安装:3、创建一个例程:3.1 设置通讯接口本例程使用PC/PPI电缆。
3.2 建立PC和PLC之间的连接“双击刷新”搜索到PLC后,点击”确认”。
3.3 用电缆将S7-200 Port 0端口与V20的RS485接口相连(注意端口连接规则:V20的P+对3、N-对8),如下图所示:3.4 变频器参数设置:V20 可以通过选择连接宏Cn010实现USS控制,也可以通过直接更改变频器参数的方法来实现。
参数设置如下表所示:表一:参数描述Cn010默认值实际设置备注P0700[0] 选择命令源 5 5 RS485为命令源P1000[0] 选择频率 5 5 RS485为速度设定值P2023 RS485协议选择 1 1 USS协议P2010[0] USS/MODBUS波特率8 6 波特率为9600bpsP2011[0] USS地址 1 3 变频器的USS地址P2012[0] USS PZD长度 2 2 PZD部分的字数P2013[0] USS PKW长度127 127 PKW部分字数可变P2014[0] USS/MODBUS报文间断时间500 0 接收数据时间3.5 使用USS协议的初始化模块初始化S7-200的PORT0端口:EN使能:每次改变通讯状态都应该执行一次初始化指令。
USS通讯使用说明1 适用范围:S7-200系列PLC 与6RA70 / 6RA24 串联通讯。
2 通讯协议:1:USS协议;2:发送/接收各4个字;3:通讯速度:19200波特;4:站点数量:4个3 接口接线:1#站2#站3#站4#站S7-200 6RA70 6RA70 6RA70 6RA70 S7-214RS485 RS485 RS485 RS485 PPI4 6RA70设置:P790 = 2 //USS通讯P791 = 4 //发送/接收字数P793 = 7 //通讯速度:19200波特;P794。
1 发送的第一个字2 发送的第二个字3 发送的第三个字4 发送的第四个字P796 = 站址(1—4 )r812。
1 接收的第一个字K60012 接收的第二个字K60023 接收的第三个字K60034 接收的第四个字K60045 S7-200设置:5.1 程序文件名:S7-200-USS5.2 程序结构:MAIN:主程序:Network1---4通讯调用Network5-----系统逻辑SBR0:USS通讯初始化SBR1:USS通讯主程序INT0:USS通讯发送中断程序INT1:USS通讯接收中断程序DB1:VB80---VB599 USS通讯数据缓冲区5.3 其中被用户使用的地址://1#从站发送缓冲区VB202 1 //发1#从站地址VW209 16#9C7E //发1#从站PZD1(16#9C7E= 6RA70控制字)VW211 16#2000 //发1#从站PZD2(16#2000=6RA70转速设定为50%)VW213 0 //发1#从站PZD3VW215 0 //发1#从站PZD4//1#从站接受缓冲区VW233 //接1#从站PZD1VW235 //接1#从站PZD2VW237 //接1#从站PZD3VW239 //接1#从站PZD4VB240 //接1#从站校验位VB240《》0则效验错误//2#从站发送缓冲区VB302 2 //发2#从站地址VW309 16#9C7E //发2#从站PZD1VW311 16#2000 //发2#从站PZD2VW313 0 //发2#从站PZD3VW315 0 //发2#从站PZD4//2#从站接受缓冲区VW333 //接2#从站PZD1VW335 //接2#从站PZD2VW337 //接2#从站PZD3VW339 //接2#从站PZD4VB340 //接2#从站校验位VB340《》0则效验错误//3#从站发送缓冲区VB402 3 //发3#从站地址VW409 16#9C7E //发3#从站PZD1VW411 16#2000 //发3#从站PZD2VW413 0 //发3#从站PZD3VW415 0 //发3#从站PZD4//3#从站接受缓冲区VW433 //接3#从站PZD1VW435 //接3#从站PZD2VW437 //接3#从站PZD3VW439 //接3#从站PZD4VB440 //接3#从站校验位VB440《》0则效验错误//4#从站发送缓冲区VB502 4 //发4#从站地址VW509 16#9C7E //发4#从站PZD1VW511 16#2000 //发4#从站PZD2VW513 0 //发4#从站PZD3VW515 0 //发4#从站PZD4//4#从站接受缓冲区VW533 //接4#从站PZD1VW535 //接4#从站PZD2VW537 //接4#从站PZD3VW539 //接4#从站PZD4VB540 //接4#从站校验位VB340《》0则效验错误注意:1 如果站址较少,多余站可被改变站址,重复使用。
精通S7-200与MM420之间USS通讯1、MM 440 通信端口2、安装指令库3、编写通讯程序,编译下载程序EN:使用SM0.0 使能USS_CTRL 指令RUN:驱动装置的启动/停止控制0 停止1 运行此停车是按照驱动装置中设置的斜坡减速指电机停止OFF2:停车信号2。
此信号为“1"时,驱动装置将封锁主回路输出,电机自由停车OFF3:停车信号3。
此信号为”1"时,驱动装置将快速停车F_ACK:故障确认。
当驱动装置发生故障后,将通过状态字向USS 主站报告;如果造成故障的原因排除,可以使用此输入端清除驱动装置的报警状态,即复位。
注意这是针对驱动装置的操作。
DIR:电机运转方向控制。
其“0/1”状态决定运行方向Drive:驱动装置在USS 网络上的站号。
从站必须先在初始化时激活才能进行控制Type:向USS_CTRL 功能块指示驱动装置类型Speed_SP:速度设定值。
速度设定值必须是一个实数,给出的数值是变频器的频率范围百分比还是绝对的频率值取决于变频器中的参数设置(如MM 440 的P2009)Resp_R:从站应答确认信号。
主站从USS 从站收到有效的数据后,此位将为“1"一个程序扫描周期,表明以下的所有数据都是最新的Error:错误代码。
0 = 无出错。
其他错误代码请参考Status:驱动装置的状态字。
此状态字直接来自驱动装置的状态字,表示了当时的实际运行状态SHAPE \* MERGEFORMAT 详细的状态字信息意义请参考相应的驱动装置手册。
Speed:驱动装置返回的实际运转速度值,实数。
是否频率值跟随设定值的规格化设定Run_EN:运行模式反馈,表示驱动装置是运行(为1)还是停止(为0)D_Dir:指示驱动装置的运转方向,反馈信号Inhibit:驱动装置禁止状态指示(0 - 未禁止,1 - 禁止状态)。
禁止状态下驱动装置无法运行。
要清除禁止状态,故障位必须复位,并且RUN, OFF2 和OFF3 都为0Fault:故障指示位(0 - 无故障,1 - 有故障)。