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直流电源。 注意:
在规划网络时,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通信端口
表2. MM 440的USS通信相关端子 因MM 440通信口是端子连接,故PROFIBUS电缆不需要网络插头,而是剥出线头直接压在端子上。如果还要连接下一个驱动装置,则两条电缆的同色芯线可以压在同一个端子内。 PROFIBUS电缆的红色芯线应当压入端子29。绿色芯线应当连接到端子30。 一个示例接线图如下: 图2. S7-200 SMART与MM 440的USS通信接线 图中:
注意: 以下几点对网络的性能有极为重要的影响。几乎所有网络通信质量方面的问题都与未考虑到下列事项有关: · 偏置电阻用于在复杂的环境下确保通信线上的电平在总线未被驱动时保持稳定。终端电阻用于吸收网络上的反射信号。一个完善的总线型网络必须在两端接偏置和终端电阻。 · 通信口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通信接线 图中:
注意: 以下几点对网络的性能有极为重要的影响。几乎所有网络通信质量方面的问题都与未考虑到下列事项有关: · 偏置电阻用于在复杂的环境下确保通信线上的电平在总线未被驱动时保持稳定。终端电阻用于吸收网络上的反射信号。一个完善的总线型网络必须在两端接偏置和终端电阻。 · 通信口M的等电位连接建议单独采用较粗的导线,而不要使用PROFIBUS的屏蔽层,因为此连接上可能有较大的电流,以致通信中断。 · PROFIBUS电缆的屏蔽层要尽量大面积接PE。一个实用的做法是在靠近插头、接线端子处环剥外皮,用压箍将裸露的屏蔽层压紧在PE接地体上(如PE母排或良好接地的裸露金属安装板)。 · 通信线与动力线分开布线。紧贴金属板安装也能改善抗干扰能力。驱动装置的输入/输出端要尽量采用滤波装置,并使用屏蔽电缆。 S7-200 SMART USS编程步骤 S7-200 SMART本体集成的RS485通信口可以工作在自由口模式下,支持USS通信协议。 S7-200 SMART与驱动装置进行USS通信时可以:
使用西门子提供的USS指令库,用户就不必自己配置复杂的PKW/PZD数据,或者计算校验字节。但是能通信的驱动装置有局限性。 STEP7-Micro/WIN SMART USS指令库编程 S7-200 SMART的USS编程主要包括调用USS初始化指令、调用驱动装置控制指令、调用驱动装置参数读写指令几个步骤。
S7-200 SMART USS标准指令库包括USS_INIT、USS_CTRL、USS_RPM_X、USS_WPM_X等指令。调用这些指令时会自动增加一些子程序和中断服务程序。 USS库应用首先要进行USS通信的初始化。使用USS_INIT指令初始化USS通信功能。
打开USS指令库分支,像调用子程序一样调用USS_INIT指令。
图中:
= 1设置为USS通信协议并进行相关初始化 = 0恢复为PPI协议并禁用USS通信
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_CTRL指令用于对单个驱动装置进行运行控制。这个功能块利用了USS协议中的PZD数据传输,控制和反馈信号更新较快。 网络上的每一个激活的USS驱动装置从站,都要在程序中调用一个独占的USS_CTRL指令,而且只能调用一次。需要控制的驱动装置必须在USS初始化指令运行时定义为“激活”。
在USS通信指令库分支中选择USS_CTRL指令。
图中:
= 1 运行 = 0 停止
= 1 MM 4系列,SINAMIC SG 110,SINAMICS V 20 = 0 MM 3系列,或更早的产品
此USS_CTRL功能块使用了PZD数据读写机制,传输速度比较快。但由于它还是串行通信,而且还可能有多个从站需要轮询,因此无法做到“实时”响应。要实现高要求的快速通信,应该使用PROFIBUS-DP等网络,同时更换主站为更高级的控制器。 USS_CTRL已经能完成基本的驱动装置控制,如果需要有更多的参数控制选项,可以选用USS指令库中的参数读写指令实现。
USS指令库中共有6种参数读写功能块,分别用于读写驱动装置中不同规格的参数。
USS参数读写指令采用与USS_CTRL功能块不同的数据传输方式。由于许多驱动装置把参数读写指令用到的PKW数据处理作为后台任务,参数读写的速度要比控制功能块慢一些。因此使用这些指令时需要更多的等待时间,并且在编程时要考虑到,进行相应的处理。 读参数指令 以下的程序段读取SINAMICS V 20实际频率(参数r0021)。由于此参数是一个实数,因此选用实型参数读功能块。参数读写指令必须与参数的类型配合。
图中:
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。 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通信是由S7-200 SMART和驱动装置配合,因此相关参数一定要配合设置。如通信速率设置不一样,当然无法通信。 常见问题S7-200 SMARTCPUUSS协议库能否与第三方变频器进行通信,其支持与哪些变频器通信? USS协议(Universal Serial InterfaceProtocol,即通用串行接口协议)是西门子专为西门子驱动装置开发的通用通信协议,不能用于与第三方变频器通信。 S7-200 SMARTCPU与西门子变频器USS通信不上的可能原因? USS通信需要从硬件接线和编程两个方面进行故障排查。硬件接线方面需要注意以下几点: 编程方面需要注意以下几点: 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完成位的上升沿信号来保存读取的参数值。 摘自西门子 |
|