各位老师好。我对USS_CTRL这个指令有如下理解,如果在USS自由口通讯中用到了USS_CTRL这个指令,则V20中的参数P2012=0,即PZD的字的个数为0,若使用了USS_CTRL,且命令源和设定源均走USS通讯的话,则P2012≥2。不知道我这样理解对不对?
因为我看帮助上的文档有如下描述:此USS_CTRL 功能块使用了 PZD 数据读写机制,传输速度比较快。USS 参数读写指令采用与 USS_CTRL 功能块不同的数据传输方式。由于许多驱动装置把参数读写指令用到的 PKW 数据处理作为后台任务,参数读写的速度要比控制功能块慢一些。
问题补充:
如果我要通过USS写指令对变频器进行频率给定的话,我应该写MM430的哪个参数?应该不是P1000吧?
最佳答案
USS的报文里包括PZD区和PKW区,PZD区为过程数据区,用于控制变频器的启停和给定转速,PKW区用于读写变频器的参数。如果设置P2012=0,则报文中没有PZD数据,如果设置P2013=0,则报文中没有PKW数据。
S7-200的USS_CTRL指令只支持2个PZD,所以如果要用S7-200来控制变频器运行,就把P2012设置成2(默认值)就行。
如果只是读写变频器的参数,可以把P2012设置为0以提高通信效率,仍然设置P2012为2也没有关系,在从站数量少的情况下,2个字的传输时间也不会对通信造成太大影响。
一般情况下,只要设置P2012=2,P2013=127(PKW区长度可变,返回报文会根据请求参数的类型自动决定PKW区的长度)就可以正常使用S7-200的USS通信程序块了。
详细情况请参考下面的文档:
http://support.automation.siemens.com/CN/view/zh/92073690
补充:一般方法是通过PZD来控制频率:USS_CTRL程序块有一个SPEED端子,在这个端子写入频率设定值的百分数即可(基准频率为P2000)。不推荐用PKW来控制频率,但也并非不能做,当然不能写P1000,需要预先设置参数P1000=2889,然后通过写参数的程序块修改P2889的值。
提问者对于答案的评价:
非常感谢!
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc212160.html