1.USS初始化指令
西门子的S7-200 USS标准指令库包括14个子程序和3个中断服务程序。但是只有8个指令可供用户使用。一些子程序和所有中断服务程序都在调用相关的指令后自动起作用。
每个USS库在使用前,都要先进行USS通信的初始化。使用USS_INIT指令,可以对USS通信进行初始化。打开USS指令库分支,像调用子程序一样调用USS_INIT指令。其输入/输出参数见表9-29。
表9-29 USS_INIT指令的参数
USS_INIT子程序的Active参数用来表示网络上哪些USS从站要被主站访问,即在主站的轮询表中激活。网络上作为USS从站的驱动装置每个都有不同的USS协议地址,主站要访问的驱动装置,其地址必须在主站的轮询表中激活。USS_INIT指令只用一个32位长的双字来映射USS从站有效地址表,Active的无符号整数值就是它在指令输入端的取值。从站地址映射见表9-30。
表9-30 从站地址映射
在这个32位的双字中,每一位的位号表示USS从站的地址号;要在网络中激活某地址号的驱动装置,则需要把相应位号的位置设为二进制“1”,不需要激活USS从站,相应的位设置为“0”。最后对此双字取无符号整数,就可以得出Active参数的取值。
在表9-30的例子中,我们将使用站地址为3的MM 440变频器,则须在位号为03的位单元格中填入二进制“1”。其他不需要激活的地址 对应的位设置为“0”。取整数,计算出的Active值为00000008H,即16#00000008,也等于十进制数8。
建议使用16进制数,这样可以每4位一组进行加权计算出16进制数,并组合成一个整数。当然也可以表示为十进制或二进制数值,但有时会很麻烦,而且不直观。
如果一时难以计算出有多个USS从站配置情况下的Active值,可以使用Windows自带的计算器。将其设置为科学计算器模式,可以方便地转换数制。
2.USS驱动装置控制功能块(USS_CTRL)
USS_CTRL指令用于对单个驱动装置进行运行控制。这个功能块利用了USS协议中的PZD数据传输,控制和反馈信号更新较快。
网络上的每一个激活的USS驱动装置从站,都要在程序中调用一个独占的USS_CTRL指令,而且只能调用一次。需要控制的驱动装置必须在USS初始化指令运行时定义为“激活”。
打开USS指令库分支,像调用子程序一样调用USS_CTRL指令。其输入/输出参数见表9-31。
表9-31 USS_CTRL指令的参数
USS_CTRL已经能完成基本的驱动装置控制,如果需要有更多的参数控制选项,可以选用USS指令库中的参数读写指令实现。
3.USS参数读/写指令(www.xing528.com)
(1)读/写指令
USS指令库中共有6种参数读/写功能块,见表9-32,分别用于读/写驱动装置中不同规格的参数,参数读/写指令必须与参数的类型配合,且同时只能有一个读(USS_RPM_x)或写(USS_WPM_x)指令激活。
表9-32 USS指令库参数读/写功能块
(2)读指令
以USS_RPM_W指令为例说明读参数的使用。USS_RPM_W指令输入/输出参数见表9-33。
表9-33 USS_RPM_W指令的参数
下面是一个读取实际电动机电流值(参数r0068)的程序段,如图9-19所示。由于此参数是一个实数,因此选用实型参数读功能块。
图9-19 调用USS_RPM_R指令读取MM440的输出电流
(3)写指令
以USS_WPM_W指令为例说明写参数的使用。USS_WPM_W指令输入/输出参数见表9-34。
表9-34USS_WPM_W指令的参数
下面是一个向变频器写入参数P1300的程序段,如图9-20所示。由于此参数是一个整数,因此选用整型参数写功能块。
图9-20 调用USS_WPM_W指令向MM440写入参数P1300
在任一时刻USS主站内只能有一个参数读/写功能块有效,否则会出错。因此如果需要读/写多个参数(来自一个或多个驱动装置),必须在编程时进行读/写指令之间的轮替处理。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。