使用串口助手调试USS协议与G120变频器通信我现在想用PC机(usbz转485的接口)或ARM板(自带485通信接口)通过USS总线协议控制G120变频器,使用STARTER选择宏21 配置好参数,波特率9600,地址10,PKW=0 PZD=2。点击“Copy RAM to ROM”存入变频器的ROM中,重新上电,按道理说这些参数都会应该生效了。重新上电之后,BF红色快闪,使用PC机上的串口调试助手发数据,8位数据,1为偶校验,1位停止。按照USS报文格式,02报文头,06长度,0A(ADR),047F(PZD1),00FF(PZD2),9A(BCC)。从站有返回数据,但并不符合USS报文格式(3F 7E 7D 9F FE 01 CB 00),期间BF也一直处于红色快闪状态,更奇怪的是我使用不同的波特率发送数据,都能得到完全相同的返回数据。请问这种情况是总线一直没有打开吗?还是我发送的USS报文有问题?BF红色快闪有什么处理办法吗?请有经验的前辈指教......
-------- 如果在PC机用STARTER对G120调试,一般都是PC机USB大口对装置USB小口的电缆线,直接就可以联机了。没有那么麻烦,不有设置任何参数的。
-----需要循环周期报文。不能只发送一次!
-----额,感谢1楼,终于有人回帖了。
是这样的,我的意思是我现在需要使用现场总线来控制变频器。 具体来说就是通过RS485总线使用USS协议来进行控制和通信。我看大家一般都是使用西门子的PLC来做控制的,PLC中一般都有USS的协议库。但是我现在没有PLC,就想使用其他的具有485的设备(比如ARM板,或PC机上的串口调试助手加485转接口)。我所描述的是我在用串口调试助手尝试与变频器通信的情况。遇到上述的问题,还请有经验的前辈指教...
-------我循环发了,1s,100ms,50ms,20ms都试过了,还是一样的。每次变频器都回复(3F 7E 7D 9F FE 01 CB 00),BF红色快闪。
--------1、连接端子,要设置P2030 COM口USS。 2、不是定时发送。而是 发送、等待应答,再发送、再等待应答。 3、注意发送的高低字节顺序。 4、查看2029下的各个子项,找出是哪个出错。
使用串口助手调试USS协议与G120变频器通信
--------感谢5楼前辈指点。 我按照你说的,又做了尝试。情况还是相同的。 我每次等变频器应答后再次发送指令,并且按照设定和协议活命说明仔细检查了我发送的报文。 02(消息头),06(长度, 4(PZD1+PZD2)+ 1(ADR) + 1(BCC) = 6),0A(正常报文交换,地址为10),047F(PZD1,STW),00FF(PZD2,主设定值),8A(BCC之前所有字节的按位异或)。之前BCC可能计算有误
但是变频器依然回复比较奇怪,并且只有7个字节。并且STARTER上显示的r2029各个位都是0。附件中是串口助手和STARTER的截图
r2029每一位都是0说明都没有错误吗?但是回复报文并不正确,并且电机并没有动起来,STARTER中显示的控制字也并不是我报文中设定的。 (按照我的理解,USS回复报文应该是02开头,06长度,ADR(000xxxxx,这一字节我就不是很清楚了,如果是发送报文就应该是变频器的地址,回复报文 操作说明手册 上并没有提到),PZD1(ZSW1),PZD2(HIW),BCC。一共8个字节的报文)
或者说是变频器485总线端口并没有打开?但是我发的每一个报文都有回复的。
所以我感觉好奇怪啊
还有操作手册上说 BF红色快闪表明没有总线活动。我想问一下,这是不是说明我的总线参数配置有问题吗?还是正确配置了,没有报文交换时BF也是会红色快闪?按照我之前所说的参数配置有问题吗? 还有什么方法可以进行错误排查吗?
--------应该是没有收到报文。否则,2029(0)应该是不断变化的。 你不应该发送047F,应该是发送OFF1的状态047E和给定。 首先2PZD测试:就应该是发送 02 06 0A 04 7E 00 00 (BCC)
-------我尝试发了02 06 0A 04 7E 00 00 74 回复总是 3F 7E 7D 9F FF FF 17 00 r2029还是都为0 嗯,也就是说如果r2029中的参数都一直为0的话,就算在串口助手中有回复,也说明变频器没有收到过报文
这就是说问题出在总线接线或总线设置上吗?我按照操作手册的说明又仔细的检查了一遍,并没有什么问题。
在G120变频器总线连接和配置上有什么需要特别注意的吗?
------我换了一个转接口,再发送报文r2029有了变化,并且每次变频器都是只回复00
r2029[2]帧错误 是指什么?
设定偶校验 每次发02 06 0A 04 7E 00 00 74 被拒绝报文+2 帧错误+1 奇偶错误+1 设定没有校验 每次发02 06 0A 04 7E 00 00 74 被拒绝报文+1 帧错误+1
USS协议总线说明上是偶校验的
-------我没有用PC编程对G120通讯的经验。 都是用PLC。但原理是一样的。 在有BOP的情况下 PZD1/2发送:047E3333 应该回复: FA310000 这时BOP应该闪动显示 40.00Hz就对了。总之,应该查看设置频率。控制命令,总是047E. 测试时,可以把2040监控关了=0;或者设置一个很大的数值。
------调试应该是要使用编程电缆的,如果返回值都是一样的 解读 3F 7E 7D 9F --> 1065254303
-------我是尝试使用PC机加串口助手 通过485总线和USS协议 来实现与变频器的通信
您说的编程电缆是特殊的电缆吗?我目前只用数据线接了GND 485+ 485- 还有一个屏蔽线没有接。这个会有很大的影响吗?
您说的“3F 7E 7D 9F --> 1065254303”里的1065254303是指什么?
我目前的通过串口助手发送的USS报文变频器已经收到了,只是通过r2029参数发现变频器是拒绝的,大多数提示是帧错误(r2029[2])。并且现在每次只回复00。
----帧错误,那就是你的串口格式设置有错误。 8,N,1
----我设置的就是8,N,1。。。。。。
8位数据位 无奇偶校验 1位停止位
-------我看了一下PLC使用485总线USS协议与G120变频器通信的过程
在收发报文之前需要有“USS_INIT指令初始化变频器”和“DRV_CTRL激活变频器”这两步。 在我这里是不是应该也是需要的啊?应该发送什么指令?
目前的状态时变频器可以收到报文,但是拒绝的,r2029提示是“帧错误”,我设置的是8位数据,无奇偶校验,1为停止。 在485接线上我只接了GND 485+ 485- 没有接屏蔽线,不知道会不会产生影响?屏蔽线应该接在哪里呢?
-------USS_INIT是初始化设置端口(200的通讯端口是自由口,可设置),其设置、处理报文格式;每台的发送接收缓冲区。 DRV_CTRL就是2/2PZD轮询周期指令处理的接口(和缓冲区交换数据)。 485接线主要是在两端要接上拉下拉和终端电阻。 屏蔽层要达到两端等电位。 其他就没有了。
-------嗯,那在收发报文前的“USS_INIT”和“DRV_CTRL”中,有通过485给变频器发送什么指令吗?类似初始化或激活指令的东西?
因为我现在把线接好之后,就直接发送USS的标准报文了,不知道在通信之前是不是要发送一些别的指令才能开始正常的通信?
现在感觉什么设置都是正常的,但就是变频器拒绝报文,帧错误。束手无策的感觉...
-------没有别的指令。 最多是复位一下故障报警(PZD1.7)。
------我已经搞定了!
下面要开始在ARM板里写USS协议了,肯定还会遇到很多问题再来请教大家
再次感谢! ------哦,其实是一个很简单的问题,我之前一直没有查出来
我使用的USB转485转接头里的芯片不太能正常工作,我更换了一个 还有一个就是,转接头这边485的两个数据线我接反了...... 但是它还一直有数据回复回来(就是那个奇怪的3F 7E 7D 9F FF FF 17 00。可能也和之间那个转接头有关),我就没有考虑到接反这一点,认为接线是正常的,所以浪费了大量的时间。。。。。。
对于正常的转换芯片,数据线接反每次变频器会回复00,并且在r2029中会显示“帧错误”。
总之,查到最后就是转接芯片和接线的问题,非常低级的错误......
还有一点,帧格式上我使用的是8位数据位,偶校验,1位停止位
|