USS 错误代码及常问问题

表 1. USS 库指令错误代码
错误代码 错误描述
0
无错误
1
驱动装置无响应
2
来自驱动的响应中检测到校验和错误
3
来自驱动的响应中检测到奇偶校验错误
4
用户程序干扰引起错误
5
尝试执行非法命令
6
提供了无效的驱动装置地址
7
通信口未定义为 USS 协议
8
通信口忙于处理其他指令
9
驱动装置速度设定输入值超限
10
驱动装置返回的信息长度不正确
11
驱动装置返回报文的第一个字符不正确(不是 02 h)
12
驱动装置返回的长度信息不被 USS 指令支持
13
响应的驱动装置不正确
14
提供的 DB_Ptr 地址不正确
15
提供的参数号不正确
16
选择了错误的协议
17
USS 已激活,不能改变
18
指定了非法的波特率
19
无通信活动:驱动装置未激活
20
驱动装置返回的参数值不正确或包括错误的代码
21
请求一个字长的数据时返回了一个双字数据
22
请求一个双字长的数据时返回了一个字数据

 

调试中的常见错误及原因

表 2. 常见错误
错误代码 可导致此错误的原因(未全列出)
1
通信线断线或者类似问题,驱动装置未供电
11
未正确接收到起始字符 02 h,硬件错误,RS 485 线对接反,或者通信口损坏
12
试图读取驱动装置中不存在的参数,或者参数类型不对
19
主站中的数据存储区重叠也能导致此错误

 

常问问题

看 USS 通信主站轮询的时间表,访问一个从站只需要几十毫秒,为何发出运行指令后感觉经过了数百毫秒电机才转动?这是否正常?

USS 通信控制是一种串行通信控制,通信轮询时间不能完全体现全系统中的时间延迟。

从用户发出运行控制信号,到电动机发生人眼可见的转动,中间经过了很多环节。控制信号进入 PLC 数字量输入端,经过主站中的程序运行,通信循环周期,以及从站中的程序处理,特别是驱动装置启动运行还需要很多准备环节,如电容预充电、建立磁场,建立转矩等。等到电机的转动可见,要经过一段时间。这是正常的现象。

采用高性能的控制器和网络系统(如 PROFIBUS-DP 等)可以大大减少串行通信的延时。

成熟的项目程序中包含 USS 通信库指令,为何修改后下载到新 CPU 中工作不正常?

在项目文件和编程软件的版本转换中可能会发生一些难以预见的问题。最简单的解决方法是升级到最新的 STEP 7-Micro/WIN 版本(以获得最新的 USS 指令库),在 Micro/WIN 中打开老项目重新调用 USS 指令,然后下载。

USS 编程,为何编译下载时通过,但 CPU 运行时会出错, PLC 菜单中的“信息”显示数据类型错误?

可能是速度设定值等数据类型不合规格。检查相关参数的类型和格式,必要时可把变量更换为立即数测试,这样容易看出问题。

为何运行一段时间 USS 通信会中断,或者表现为“死机”?

需要检查软件和硬件。正确的硬件连接可以参考 USS 通信接线