找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
问题
取消精华
首页精华问答
取消推荐
高端用户推荐
申请置评
已申请置评
修改
修改标签
添加标签
官方认证
取消官方认证
修改标签
添加标签
转移分类
删除
{{itemCategory}}
收藏({{answerDetail.Q_FavoriteCounts}})
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
专家建议
取消最佳答案
修改
1、USS协议库指令,归根结底是一个子程序集,它包含了若干个子程序。这些子程序的运行会占用变量区。由于子程序运行时,会占用这些变量区,所以用户不能用。否则运行出错。我的学生就犯过这种错误,导致uss指令运行时始终有错误代码1。(这种错误,编译不会提示有错误的。除非你没有指定库指令的存储器区,程序编译会出错,当然也就别提程序运行了)
2、理解上面这一点,回想C语言的运行,显然,无论你驱动多少个变频器。所占用的都是那397个字节。因为他们调用的都是同一个子程序。
3、进一步讲,所谓的USS指令库,其本质就是PLC的自由口通信,只不过西门子写了一个通用程序集,简化了用户的工作。
4、针对你PLC与单台变频器通信已经成功。相关设置及编程对你而言应该不成问题。一次初始化(定义PLC的某一端口使用USS协议通信),多次调用USS_CTRL(或USS_CTRL_P1)指令就可以完成对多台变频器的驱动。关键是要理解初始化中active的含义:这是一个32位的整数,第0位为1,表示地址为“0”的变频器加入uss通信,第1位为1,表示地址为“1”的变频器加入uss通信,以此类推,1个S7-200可以对32个变频器控制。需要引起注意的是,很多人,先调试了一台,指定了库指令变量区,后来加入多台,不经意中很容易使用已经分配给通信的变量区。造成运行错误。
5、单台运行通过了,进而调试多台,可能出现检查程序正确,但就是没法运行成功的情况。这时候,请检查“总线终端电阻”开关的设置,只有首尾置“ON”,第二个,在USS 总线上的各个器件之间要求有一个公共的 0 V 基准 (端子号 10) ,既要把这个端子串联起来并与PLC的COM端相连。单台调试时,可以不连,多台总线式通信务必连接。第三,同时应该记住USS协议是串行通信协议,其物理联接方式应该是串行联接,而不能是树形。
等您来回答
换一换
{{item.CoinValue}}西币
{{item.VisitNum}}人想问
本版相关问题
换一换
专家置评
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!

官方商城-正品备件
DIOMIS