分享

S7-200 SMART USS 通讯

 笑对波浪 2018-04-19

S7-200 SMART和驱动装置的USS通信接线

支持USS通信的驱动装置可能有不止一个USS通信端口,以MicroMaster系列的MM 440为例,它在操作面板BOP接口上支持USS的RS232连接,在端子上支持USS的RS485连接。

S7-200 SMART本体集成的通信端口就是RS485规格的,因此将S7-200 SMART的本体集成的通信端口与驱动装置的RS485端口连接,在RS485网络上实现USS通信无疑是最方便经济的。

S7-200 SMART与MM 440、SINAMICS V 20组成的网络无疑需要满足RS485网络的通用要求。但是仍然有一些需要特别注意的地方。

S7-200 CPU和MM 440、V 20通信端口都是非隔离型的,故西门子承诺的网络连接距离为50米。如果有必要,也可以外接通信端口的信号隔离、放大器件,注意西门子RS-485中继器不支持USS通信。


S7-200 SMART本体集成的RS485通信端口(Port0)

通信口引脚定义:

关于S7-200 SMART本体集成的通信端口和可选信号板通信端口引脚定义,详情请参考《S7-200 SMART系统手册》。


表1. S7-200 SMART本体集成的RS485通信端口引脚定义:


上表中,3和8为RS-485信号,它们的背景颜色与PROFIBUS电缆、PROFIBUS网络插头上的颜色标记一致。通信端口可以从2和7向外供24V直流电源。

注意:

  • CPU通信口上的25针在内部是连通的,并且它们和CPU上的传感器电源(+24V)的M也是连通的。

  • 通信口插座的金属外壳、1号针,与CPU接线端子上的电源部分的PE导通,而与上述的M不通。

在规划网络时,S7-200 SMART既可以放在整个总线型网络的一端,也可以放在网络的中间。

建议使用西门子的网络插头和PROFIBUS电缆。在S7-200SMART通信口上使用西门子网络插头,可以利用插头上的终端和偏置电阻。

PROFIBUS电缆的红色导线连接到S7-200SMART通信口的3针(B即RS485信号+),此信号应当连接到MM440、V 20变频器通信端口的P+。绿色导线连接到S7-200 SMART通信口的8针(A即RS485信号-),此信号应当连接到MM440、V 20变频器通信端口的N-。


MM 440通信端口



图1. MM 440的端子


表2. MM 440的USS通信相关端子


因MM 440通信口是端子连接,故PROFIBUS电缆不需要网络插头,而是剥出线头直接压在端子上。如果还要连接下一个驱动装置,则两条电缆的同色芯线可以压在同一个端子内。

PROFIBUS电缆的红色芯线应当压入端子29。绿色芯线应当连接到端子30。

一个示例接线图如下:


图2. S7-200 SMART与MM 440的USS通信接线


图中:

  1. 屏蔽/保护接地母排,或可靠的多点接地。此连接对抑制干扰有重要意义。

  2. PROFIBUS网络插头,内置偏置和终端电阻。

  3. MM 440端的偏置和终端电阻,随包装提供。

  4. 通信口的等电位连接。可以保护通信口不致因共模电压差损坏或通信中断。M未必需要和PE连接。

  5. 双绞屏蔽电缆(PROFIBUS)电缆,因是高速通信,电缆的屏蔽层须双端接地(接PE)。

注意:

以下几点对网络的性能有极为重要的影响。几乎所有网络通信质量方面的问题都与未考虑到下列事项有关:

·        偏置电阻用于在复杂的环境下确保通信线上的电平在总线未被驱动时保持稳定。终端电阻用于吸收网络上的反射信号。一个完善的总线型网络必须在两端接偏置和终端电阻。

·        通信口M的等电位连接建议单独采用较粗的导线,而不要使用PROFIBUS的屏蔽层,因为此连接上可能有较大的电流,以致通信中断。

·        PROFIBUS电缆的屏蔽层要尽量大面积接PE。一个实用的做法是在靠近插头、接线端子处环剥外皮,用压箍将裸露的屏蔽层压紧在PE接地体上(如PE母排或良好接地的裸露金属安装板)。

·        通信线与动力线分开布线。紧贴金属板安装也能改善抗干扰能力。驱动装置的输入/输出端要尽量采用滤波装置,并使用屏蔽电缆。

在MM 440的包装内提供了终端偏置电阻元件,接线时可按说明书直接压在端子上。如果可能,可采用热缩管将此元件包裹,并适当固定。


V 20通信端口


图3. V 20的端子布局说明


因V 20通信口是端子连接,故PROFIBUS电缆不需要网络插头,而是剥出线头直接压在端子上。如果还要连接下一个驱动装置,则两条电缆的同色芯线可以压在同一个端子内。

PROFIBUS电缆的红色芯线应当压入端子6。绿色芯线应当连接到端子7。

一个示例接线图如下:


图4. S7-200 SMART与V 20的USS通信接线


图中:

  1. 屏蔽/保护接地母排,或可靠的多点接地。此连接对抑制干扰有重要意义。

  2. PROFIBUS网络插头,内置偏置和终端电阻。

  3. V 20变频器的偏置和终端电阻。

  4. 通信口的等电位连接。可以保护通信口不致因共模电压差损坏或通信中断。M未必需要和PE连接。

  5. 双绞屏蔽电缆(PROFIBUS)电缆,因是高速通信,电缆的屏蔽层须双端接地(接PE)。

注意:

以下几点对网络的性能有极为重要的影响。几乎所有网络通信质量方面的问题都与未考虑到下列事项有关:

·        偏置电阻用于在复杂的环境下确保通信线上的电平在总线未被驱动时保持稳定。终端电阻用于吸收网络上的反射信号。一个完善的总线型网络必须在两端接偏置和终端电阻。

·        通信口M的等电位连接建议单独采用较粗的导线,而不要使用PROFIBUS的屏蔽层,因为此连接上可能有较大的电流,以致通信中断。

·        PROFIBUS电缆的屏蔽层要尽量大面积接PE。一个实用的做法是在靠近插头、接线端子处环剥外皮,用压箍将裸露的屏蔽层压紧在PE接地体上(如PE母排或良好接地的裸露金属安装板)。

·        通信线与动力线分开布线。紧贴金属板安装也能改善抗干扰能力。驱动装置的输入/输出端要尽量采用滤波装置,并使用屏蔽电缆。


S7-200 SMART USS编程步骤

S7-200 SMART本体集成的RS485通信口可以工作在自由口模式下,支持USS通信协议。

S7-200 SMART与驱动装置进行USS通信时可以:

  • 根据驱动装置的具体USS通信规范,用户自己编程实现USS通信。此方式可以保证该驱动装置的所有USS通信功能都能得到使用。

  • 使用西门子提供的USS通信指令库,实现与MicroMaster系列的MM3/MM4和SINAMICSG110/V 20的USS通信。此指令库只能有限地支持与其他驱动装置的USS连接。

使用西门子提供的USS指令库,用户就不必自己配置复杂的PKW/PZD数据,或者计算校验字节。但是能通信的驱动装置有局限性。


STEP7-Micro/WIN SMART USS指令库编程

S7-200 SMART的USS编程主要包括调用USS初始化指令、调用驱动装置控制指令、调用驱动装置参数读写指令几个步骤。


  • USS初始化指令

S7-200 SMART USS标准指令库包括USS_INIT、USS_CTRL、USS_RPM_X、USS_WPM_X等指令。调用这些指令时会自动增加一些子程序和中断服务程序。

USS库应用首先要进行USS通信的初始化。使用USS_INIT指令初始化USS通信功能。



图5. 选择USS_INIT指令


打开USS指令库分支,像调用子程序一样调用USS_INIT指令。



图6. 调用USS_INIT指令


图中:

  1. EN:初始化程序USS_INIT只需在程序中执行一个周期就能改变通信口的功能,以及进行其他一些必要的初始设置,因此可以使用SM0.1或者沿触发的接点调用USS_INIT指令。

  2. Mode:模式选择,执行USS_INIT时,Mode的状态决定在通讯端口上是否使用USS通信功能。

= 1设置为USS通信协议并进行相关初始化

= 0恢复为PPI协议并禁用USS通信

  1. Baud:USS通信波特率。此参数要和变频器的参数设置一致。

  2. Port:0=CPU集成的RS485通讯端口。1=可选CM01信号板。

  3. Active:此参数决定网络上的哪些USS从站在通信中有效。详见下面的说明。

  4. Done:初始化完成标志。

  5. Error:初始化错误代码。


Active参数

USS_INIT子程序的Active参数用来表示网络上哪些USS从站要被主站访问,即在主站的轮询表中激活。网络上作为USS从站的驱动装置每个都有不同的USS协议地址,主站要访问的驱动装置,其地址必须在主站的轮询表中激活。USS_INIT指令只用一个32位长的双字来映射USS从站有效地址表,Active的无符号整数值就是它在指令输入端的取值。


表3.从站地址映射


在这个32位的双字中,每一位的位号表示USS从站的地址号。要在网络中激活某地址号的驱动装置,则需要把相应位号的位置设为二进制“1”,不需要激活USS从站,相应的位设置为“0”。最后对此双字取无符号整数就可以得出Active参数的取值。

在表3的例子中,如果使用站地址为3的MM 440变频器,则须在位号为03的位单元格中填入二进制“1”。其他不需要激活的地址对应的位设置为“0”。取整数,计算出的Active值为00000008h,即16#00000008,也等于十进制数8(如图6.中的e.)

建议使用16进制数,这样可以每4位一组进行加权计算出16进制数,并组合成一个整数。当然也可以表示为十进制或二进制数值,但有时会很麻烦,而且不直观。

如果一时难以计算出有多个USS从站配置情况下的Active值,可以使用Windows自带的计算器。将其设置为科学计算器模式,可以方便地转换数制。


分配库存储区地址

USS指令库需要大概402个字节的V存储区用于支持其工作。调用USS_INIT指令后就可以为USS指令库分配库存储区。也可以在编程的稍后阶段分配存储区地址,但这一步是必不可少的,否则程序无法通过编译。

根据S7-200 SMART中的数据存储区分配原则,分配给库指令的数据区绝对不能与其他程序使用的数据区有任何重叠。否则会造成出错。


  • USS驱动装置控制功能块

USS_CTRL指令用于对单个驱动装置进行运行控制。这个功能块利用了USS协议中的PZD数据传输,控制和反馈信号更新较快。

网络上的每一个激活的USS驱动装置从站,都要在程序中调用一个独占的USS_CTRL指令,而且只能调用一次。需要控制的驱动装置必须在USS初始化指令运行时定义为“激活”。



图7. USS_CTRL指令


在USS通信指令库分支中选择USS_CTRL指令。



图8. 调用USS_CTRL指令


图中:

  1. EN:使用SM0.0使能USS_CTRL指令。

  2. RUN:驱动装置的启动/停止控制。

= 1 运行

= 0 停止

  1. 此停车是按照驱动装置中设置的斜坡减速指电机停止。

  2. OFF2:停车信号2。此信号为“1”时,驱动装置将封锁主回路输出,电机自由停车。

  3. OFF3:停车信号3。此信号为“1”时,驱动装置将快速停车。

  4. F_ACK:故障确认。当驱动装置发生故障后,将通过状态字向USS主站报告。如果造成故障的原因排除,可以使用此输入端清除驱动装置的报警状态,即复位。注意这是针对驱动装置的操作。

  5. DIR:电机运转方向控制。其“0/1”状态决定运行方向。

  6. Drive:驱动装置在USS网络上的站号。从站必须先在初始化时激活才能进行控制。

  7. Type:向USS_CTRL功能块指示驱动装置类型。

= 1 MM 4系列,SINAMIC SG 110,SINAMICS V 20

= 0 MM 3系列,或更早的产品

  1. Speed_SP:速度设定值。该速度是全速的一个百分数。“Speed_SP”为负值将导致变频器反向运行。

  2. Resp_R:从站应答确认信号。主站从USS从站收到有效的数据后,此位将为“1”一个程序扫描周期,表明以下的所有数据都是最新的。

  3. Error:错误代码。0 = 无出错。其他错误代码请参考表4.。

  4. Status:驱动装置的状态字。此状态字直接来自驱动装置的状态字,表示了当时的实际运行状态。详细的状态字信息意义请参考相应的驱动装置手册。

  5. Speed:驱动装置返回的实际运转速度值,实数。

  6. Run_EN:运行模式反馈,表示驱动装置是运行(为1)或停止(为0)。

  7. D_Dir:指示驱动装置的运转方向,反馈信号。

  8. Inhibit:驱动装置禁止状态指示(0 - 未禁止,1 - 禁止状态)。禁止状态下驱动装置无法运行。要清除禁止状态,故障位必须复位,并且RUN,OFF2和OFF3都为0。

  9. Fault:故障指示位(0 - 无故障,1 - 有故障)。表示驱动装置处于故障状态,驱动装置上会显示故障代码(如果有显示装置)。要复位故障报警状态,必须先消除引起故障的原因,然后用F_ACK或者驱动装置的端子、或操作面板复位故障状态。

此USS_CTRL功能块使用了PZD数据读写机制,传输速度比较快。但由于它还是串行通信,而且还可能有多个从站需要轮询,因此无法做到“实时”响应。要实现高要求的快速通信,应该使用PROFIBUS-DP等网络,同时更换主站为更高级的控制器。

USS_CTRL已经能完成基本的驱动装置控制,如果需要有更多的参数控制选项,可以选用USS指令库中的参数读写指令实现。


  • USS参数读写指令

USS指令库中共有6种参数读写功能块,分别用于读写驱动装置中不同规格的参数。



图9. USS参数读写指令



USS参数读写指令采用与USS_CTRL功能块不同的数据传输方式。由于许多驱动装置把参数读写指令用到的PKW数据处理作为后台任务,参数读写的速度要比控制功能块慢一些。因此使用这些指令时需要更多的等待时间,并且在编程时要考虑到,进行相应的处理。


读参数指令

以下的程序段读取SINAMICS V 20实际频率(参数r0021)。由于此参数是一个实数,因此选用实型参数读功能块。参数读写指令必须与参数的类型配合。



图10. 调用USS_RPM_R指令读取SINAMICS V 20的实际频率


图中:

  1. EN:要使能读写指令此输入端必须为1。

  2. XMT_REQ:发送请求。必须使用一个沿检测触点以触发读操作,它前面的触发条件必须与EN端输入一致。

  3. Drive:要读写参数的驱动装置在USS网络上的地址。

  4. Param:参数号(仅数字)。此处也可以是变量。

  5. Index:参数下标。有些参数由多个带下标的参数组成一个参数组,下标用来指出具体的某个参数。对于没有下标的参数,可设置为0。

  6. DB_Ptr:读写指令需要一个16字节的数据缓冲区,用间接寻址形式给出一个起始地址。此数据缓冲区与“库存储区”不同,是每个指令(功能块)各自独立需要的。此数据缓冲区也不能与其他数据区重叠,各指令之间的数据缓冲区也不能冲突。

  7. Done:读写功能完成标志位,读写完成后置1。

  8. Error:出错代码。0 = 无错误。

  9. Value:读出的数据值。该数据值在“Done”位为1时有效。

EN和XMT_REQ的触发条件必须同时有效,EN必须持续到读写功能完成(Done为1),否则会出错。


写参数指令

写参数指令的用法与读参数指令类似。与读参数指令的区别是参数是功能块的输入。


读写多个参数

在任一时刻USS主站内只能有一个参数读写功能块有效,否则会出错。因此如果需要读写多个参数(来自一个或多个驱动装置),必须在编程时进行读写指令之间的轮替处理。


USS错误代码


表4. USS库指令错误代码


MM 440的参数设置

参数集是对驱动装置进行调试和控制的基础,几乎所有的功能都需要对驱动装置的内部参数进行访问、设定和修改。西门子驱动装置的参数功能更为突出,庞大繁多的参数选项,保证了西门子产品的高性能应用和极高的定制能力。

驱动装置的调试和控制都依赖于对参数的设置,与S7-200 SMART配合使用时也不例外。一个实际的项目,往往把驱动装置和自动控制器(PLC)分为两个相对独立、又有联系的子系统,它们的调试也一般也可以分开进行。这样做不但可以提高效率,而且能够保证控制关系清晰明了。

对于S7-200 SMART与西门子驱动装置配合的项目,建议分为三个阶段调试:

1.  驱动装置和PLC相对独立,调试各自的基本功能。

2.  调试出驱动装置和PLC之间相互控制、反馈功能。

3.  进行整个系统的综合调试,达成一个完整的控制任务。

驱动装置的基本调试相对比较独立,最好能够在尝试与控制器连接之前完成。

具体驱动装置的调试请参考相关产品的操作手册等资料。

假定已经完成了驱动装置的基本参数设置和调试(如电机参数辨识等等),以下只涉及与S7-200 SMART控制器通讯相关的参数。

MM 440的参数分为几个访问级别,以便于过滤不需要查看的部分。与S7-200 SMART连接时,需要设置的主要有“控制源”和“设定源”两组参数。要设置此类参数,需要“专家”参数访问级别,即首先需要把P0003参数设置为3。


控制源参数设置

控制命令控制驱动装置的启动、停止、正/反转等功能。控制源参数设置决定了驱动装置从何种途径接受控制信号。

控制源由参数P0700设置:


表5. 控制源参数


此参数有分组,在此仅设第一组,即P0700[0]。


设定源控制参数

设定值控制驱动装置的转速/频率等功能。设定源参数决定了驱动装置从哪里接受设定值(即给定)。

设定源由参数P1000设置:


表6. 设定源参数(部分)


此参数有分组,在此仅设第一组,即P1000[0]。


USS通信控制的变频器基本参数设置

控制源和设定源之间可以自由组合,根据工艺要求可以灵活选用。以控制源和设定源都来自RS485上的USS通信为例,简介USS通信的参数设置。

主要参数有:

1.   P0010:用于对参数进行过滤,从而可以只选择与特定功能相关的部分参数。设置P0010 =30,恢复变频器出厂设置。

2.   P0970:设置P0970 = 21,所有参数以及用户默认设置复位至工厂复位状态。注意:参数P2010、P2011、P2023的值不受工厂复位影响。

3.   P0003:设置P0003 = 3,用户访问等级为专家等级。

4.   P0700:设置P0700 = 5,即控制源来自RS485上的USS通信。

5.   P1000:设置P1000 = 5,即设定源来自RS485上的USS通信。

6.   P2023:设置P2023 = 1,RS485协议选择为USS。
注意:在更改P2023后,须对变频器重新上电。在此过程中,请在变频器断电后等待数秒,确保LED灯熄灭或显示屏空白后方可再次接通电源。如果通过PLC更改P2023,须确保所做出的更改已通过P0971保存到EEPROM中。

7.   P2010[0]:设置RS485上的USS通信速率。根据S7-200 SMART通信口的限制。

8.   P2011:设置P2011[0] = 0至31,即驱动装置RS485上的USS通信口在网络上的从站地址。USS网络上不能有任何两个从站的地址相同。

9.   P2012:设置P2012[0] = 2,即USSPZD区长度为2个字长。

10.  P2013:设置P2013[0] = 127,即USSPKW区的长度可变。

11.  P2014:设置P2014[0] = 0至65535,即RS485上的USS通信控制信号中断超时时间,单位为ms。如设置为0,则不进行此端口上的超时检查。
此通信控制信号中断,指的是接收到的对本装置有效通信报文之间的最大间隔。如果设定了超时时间,报文间隔超过此设定时间还没有接收到下一条信息,则变频器将会停止运行。通信恢复后此故障才能被复位。
根据USS网络通信速率和站数的不同,此超时值会不同。

USS通信是由S7-200 SMART和驱动装置配合,因此相关参数一定要配合设置。如通信速率设置不一样,当然无法通信。


常见问题


S7-200 SMARTCPUUSS协议库能否与第三方变频器进行通信,其支持与哪些变频器通信?

USS协议(Universal Serial InterfaceProtocol,即通用串行接口协议)是西门子专为西门子驱动装置开发的通用通信协议,不能用于与第三方变频器通信。
S7-200 SMART USS协议库可用与MicroMaster3、MicroMaster4、Sinamics G 110、Sinamics G 120、Sinamics S 110以及SINAMICS V 20系列变频器通信。


S7-200 SMARTCPU与西门子变频器USS通信不上的可能原因?

USS通信需要从硬件接线和编程两个方面进行故障排查。硬件接线方面需要注意以下几点:
● S7-200 SMART CPU的通信端口是非隔离型,通信距离最长50m,超出50m距离需要增加RS485中继器。
● S7-200 SMART CPU的通信端口是非隔离型,与变频器通信时需要做好等电位连接。通过将CPU模块右下角的传感器电源的M端与其它变频器通信端口的0V参考点连接起来做到等电位连接。

编程方面需要注意以下几点:
● 需要使用沿信号调用USS_INIT指令用于启用、初始化USS通信,USS从站站地址需要在主站的轮询地址表中被激活。
● 需要使用SM0.0调用USS_CTRL指令,每一个USS从站只能使用一条USS_CTRL指令。

S7-200 SMARTCPU集成的RS485端口(端口0)以及SBCM01信号板(端口1)两个通信端口能否同时进行USS通信?

S7-200 SMART CPU两个通信端口不能同时进行USS通信,端口0与端口1在同一时刻只能有一个端口用于USS通信。


同一时刻触发多条USS_RPM_x?或USS_WPM_x指令,为什么只有一条参数读写指令被执行,其它参数读写指令报8#错误(通信端口忙于处理其它指令)?

USS_RPM_x指令和USS_WPM_x指令同一时刻只能激活一条指令,多条参数读写指令的执行可以采用轮询方式。


USS_RPM_R指令数据读取变频器参数时,为什么读出的数值会出现跳变?

USS_RPM_R指令输入参数XMT_REQ为True时将启动参数读取请求并清除输出参数Value数值,所以会造成读出的参数数值跳变的现象。可以使用USS_RPM_R指令的Done完成位的上升沿信号来保存读取的参数值。


摘自西门子



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多