S7-200 USS通信
- 格式:ppt
- 大小:4.29 MB
- 文档页数: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个变频器作为通讯连路中的从站,根据各变频器的地址或者采用广播方式,可以访问需要通讯的变频器,只有主站才能发出通讯请求报文,报文中的地址字符指定要传输数据的从站,从站只有在接到主站的请求报文后才可以向从站发送数据,从站之间不。
USS通信方法S7-200控制Micromaster 变频器的标准的USS指令,采用RS485接口方式,通过PLC 可以方便地控制和监测Microaster变频器的运行和状态。
在使用USS协议和西门子变频器通讯时,需注意以下几项:(1)USS协议是使用PLC的0端口和变频器通讯的,对于有两个端口的S7系列PLC 要注意不要使用错误的端口号,而且当端口0用于USS协议通讯时,就不能再用于其它的目的了,包括与STEP7 Micro/win的通讯;(2)在编程时,要注意使用的V存储器不要和给USS分配的冲突。
在USS协议中使用的是VW4725~VW5117之间的V存储器,建议在编写程序时,尽量不要使用这个区域附近的V存储器,以防出现不可预料的情况。
USS协议编程顺序如下:(1)使用USS_INIT指令初始化变频器。
包括指定端口0用于USS协议,通讯的波特率和激活的变频器号等。
程序只能通过一次启动或改变USS参数。
此程序段可以在程序初始化子程序中完成;(2)使用DRV_CTRL激活变频器。
每条DRV_CTRL只能激活一台变频器。
而其它USS指令,如:READ_RPM(读变频器参数)、WRITE_RPM(写变频器参数)可以任意添加;(3)配置变频器参数,以便和USS指令中指定的波特率和地址相对应。
(4)连接PLC和变频器间的通讯电缆。
需要注意的是,因为是通讯,所以连线时一定要注意动力线和通讯线分开布线,并且通讯线要使用短而粗的屏蔽电缆,且屏蔽层要接到和变频器相同的接地点,否则会给通讯造成干扰,导致变频器不能正常运行。
通讯电缆的连线:PLC端“D”型头,1接屏蔽电缆的屏蔽层,3和8接变频器的两个通讯端子。
在干扰比较大的场合,接偏置电阻。
如图所示:S7系列的USS协议指令是成型的,我们在编程时不必理会USS方面的子程序和中断,只要在主程序调用USS指令就可以了。
第五节使用USS协议库的S7-200与变频器的通信USS 协议指令是 STEP7-Micro/WIN 32 软件工具包一个组成部分,STEP 7-Micro/WIN 32 软件工具包通过专为 USS 协议通信而设计的预配置子程序和中断程序,使MicroMaster 变频器的控制更为方便,这些程序在STEP 7-Micro/WIN 指令树的库文件夹中作为指令出现。
使用这些新指令可控制变频器和读/写变频器参数,当你选择 USS 协议指令时,会自动添加一个或几个有关的子程序 (USS 1 至 USS 7) 而不需编程者的参与。
1 USS_INITUSS_INIT 指令用于允许和初始化或禁止 MicroMaster变频器通信,在可以使用任何其它 USS 协议指令之前,必须先执行 USS_INIT 指令且没有错误返回。
指令执行完后,完成位Done bit 立即置位,然后才能继续执行下一条指令,当 EN 输入为接通时,每一次扫描执行指令。
每一次要改变通信状态,必须精确地执行一次 USS_INIT 指令。
因此应通过一个边沿跳变检测指令来检测 EN 的脉冲接通,一旦 USS 协议已启动,在改变初始化参数之前,必须通过执行一个新的 USS_INIT 指令,以禁止 USS 协议。
USS 输入的值选择通信协议,1 将端口 0 分配给USS 协议和允许该协议,0 将端口0 分配给PPI 并禁止USS 协议。
BAUD 设定波特率在 1200 2400 4800 9600 或 19200。
ACTIVE 指示哪一个变频器是激活的,共32位(第0-31位),每一位对应一台变频器。
例如第0位为1时,则表示激活0号变频器;第0位为0则不激活它。
被激活的变频器都是自动地在后台进行轮询控制,以控制其运行和采集其状态。
当 USS_INIT 指令完成时DONE输出接通ERR 输出字节包含指令执行的结果。
2 DRV_CTRLDRV_CRTL指令用于控制 ACTIVE MicroMaster 变频器。
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 如果站址较少,多余站可被改变站址,重复使用。
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 如果站址较少,多余站可被改变站址,重复使用。