发表于:2010/8/31 23:26:44
#0楼
西门子uss通信调试经历
单位几条采用日本安川系统生产线的电气设备逐渐停产,已经无法采购到备件,平时维护捉襟见肘。最近一个同事提出使用其他变频器取代安川的676vh3系列变频器,领导非常重视,我也觉得比较感兴趣,就主动请缨接下了这项目。
因为国企比较注重形式,就先写了个方案,现在正在实施中:
安川变频器替换方案实施步骤
1. 变频器选型
重点:1)与现有设备条件相容
2)有备件基础
3)备选变频器有足够的技术资料,能够进行较复杂的应用开发
2. 通信调试
重点:1)使用先进的uss通信方式,今后扩展和抗干扰能力强
2)理解通信的具体含义
3)变频器调试实现uss通信控制
3)通过pc程序试验uss方式控制变频器
3. 通信单片机设计与编程
重点:1)单片机硬件电路的可靠性设计
2)根据pc通信试验程序编制单片机指令
3)通过单片机对变频器和使用电机进行联调
4. 新变频器接入炉底辊控制电路
重点:1)分析现有炉底辊控制电路的逻辑关系
2)将西门子变频器从硬件上接入现有电路,并增加充电控制线路
3)变频器调试实现uss通信和硬件控制运行
5. 联机调试
重点:1)修改安川plc程序,实现速度指令的模拟量输出接入uss通讯板
2)西门子逆变器接入现场炉辊控制电路
2)新逆变器对日式电机的识别和参数设定
3)联机调试对逆变器控制参数进行优化
今天谈下uss通信的经历。
因为我的同事比较牛,单片机的硬件和通信软件都编好了,曾经控制过富士的变频器,所以开始的时候大家都信心十足,准备用alstom的变频器,后来发现这变频器资料太少,没有详细的通信说明。然后我想到现场西门子的变频器也多,资料也全,就把《矢量大全》的书翻出来看下果然有一种uss的西门子协议。加上其他的电压啊,控制啊都没什么大问题就定了用西门子的逆变器。
我们先在pc上用vb编的通信程序,通过232转485接到cuvc的x101/10,11上,闭合终端电阻s2。另一边通过x300运行在另一台pc上运行drivemonitor对变频器进行监控。开始对着书根据scom2的功能图把变频器参数设了,特别是p700~704几个通信参数,两个口地址分开监控的用默认0,uss的用5,避免出错。当时对功能图p368=4特别迷惑就是pkw为4,pzd为2。实际上原安川控制系统在通信指令中是没有控制概念的,即传输的都是速度指令一类的数量值。为了与原系统兼容我们的uss改造中也不准备对变频器进行控制,而是通过原外部逻辑切换进行启动停止正传反转类的控制。因此当时认为uss只需要进行一个pzd字就行了。而uss协议的说明里又说pkw至少要有一个,所以在vb编程定义指令的时候就只定义了pkw=1,pzd=1。然后,,,,然后就开始了痛苦的不响应过程。
当时从vb发出啥指令变频器始终没有应答(灯不亮),先怀疑同事的硬件,把p443设为k2001,p554设为b2100,通过这套硬件运行drivemonitor,居然马上就应答了,还能合闸运行,然后怀疑vb程序问题。把指令翻来覆去的分析,又看例子,然后又被误导了:协议说明的例子1是pkw=0,pzd=2。当时想协议这么清楚,可能是我们pkw的指令错了造成不响应,于是又改程序干掉了pkw,结果还是不行。然后就打电话问西门子不应答的可能原因,第一个说回答不了,第二个回电话说很多人都这样做了,变频器不会有问题。晕啊,等于白说。
接着又想,既然西门子的程序能控制变频器,我要是怀疑自己的指令不对,直接发它的指令变频器总应该认吧。于是两台pc重联,一个运行drivemonitor,一个开着串口监控软件连在串口发送端,监控drivemonitor软件发给变频器的指令,一看一串串的满屏都是,截下来看了一下格式还真没错,不过它的软件不断对参数进行轮询所以pkw=127,进行变频器运行控制时控制字和指令都和我们理解的一样。于是信心满满,解读了一句查询状态的指令用vb程序照原样发过去。。。。。。居然还是没反应。
然后是疯狂的上网查,发现有个朋友也与到过类似的问题
http://bbs.gkong.com/dispbbs.asp?id=29346
而且也是走投无路,后来靠自己解决了,是串口校验的原因,不过我后来试过奇校验也可以。话说回来当时我跟捡到稻草似的,上机一试验。。。。还是不行。然后把西门子的uss协议找到一点点怀疑,就怀疑到报文时间上了,一看这协议果然是详细,连这种东西都精准无比:报文间隔在20ms以内,报文字符间隔小于启动间隔。。。。于是又改程序。。。。。
就这样又在郁闷中过了一天。然后是两个人都有事项目暂停3天。
冷静下来,反思整个过程。
第四天,上机,两个人各干各的:我改变频器参数尽量按照手册要求进行设置,同事改程序设置pkw=3但传输内容为字节0h,pzd=2,控制字1为8c7f(运行状态),控制字2为0h,联机运行,ok。
最后总结:
1)变频器p368=4,p702=127,p703=2,这个p368=4当时我没太注意,后来对变频器初始化时就还原了。因为改368需要改366,我看了下366和368的表格,当时认为这种参数无非是根据定义将一组控制信号定义到目标参数上,我改了p443和p554就没问题了,实际上如果p368不对还有其他的影响,这是变频器不响应的主要原因。实际上这个问题在drivemonitor通过uss方式控制时也看不出来,如果当时变频器不动我就会想到这点。
2)p702建议等于127不能等于0,pkw可变更灵活方便,如果定死了,一旦指令变化变频器肯定不应答。
3)pzd=2,在参数设置时尽量使用变频器默认参数进行控制,把控制放在自己设计的一端,这样容易编程,出问题自己清楚也好查原因。
4)不要把东西想太复杂了,陷入僵局时退出来冷静一下,把自己调乱的位置还原从头再来。
-------------------------------------------------
项目还在进行,有时间就搞一点,基本不急。现在正在对原系统的逻辑信号关系进行分析,准备无缝接入到新变频器里。完了我会写个总结的。
----------------------------------------------
此篇文章从博客转发
原文地址: Http://blog.gkong.com/more.asp?id=122659&Name=carlyle
单位几条采用日本安川系统生产线的电气设备逐渐停产,已经无法采购到备件,平时维护捉襟见肘。最近一个同事提出使用其他变频器取代安川的676vh3系列变频器,领导非常重视,我也觉得比较感兴趣,就主动请缨接下了这项目。
因为国企比较注重形式,就先写了个方案,现在正在实施中:
安川变频器替换方案实施步骤
1. 变频器选型
重点:1)与现有设备条件相容
2)有备件基础
3)备选变频器有足够的技术资料,能够进行较复杂的应用开发
2. 通信调试
重点:1)使用先进的uss通信方式,今后扩展和抗干扰能力强
2)理解通信的具体含义
3)变频器调试实现uss通信控制
3)通过pc程序试验uss方式控制变频器
3. 通信单片机设计与编程
重点:1)单片机硬件电路的可靠性设计
2)根据pc通信试验程序编制单片机指令
3)通过单片机对变频器和使用电机进行联调
4. 新变频器接入炉底辊控制电路
重点:1)分析现有炉底辊控制电路的逻辑关系
2)将西门子变频器从硬件上接入现有电路,并增加充电控制线路
3)变频器调试实现uss通信和硬件控制运行
5. 联机调试
重点:1)修改安川plc程序,实现速度指令的模拟量输出接入uss通讯板
2)西门子逆变器接入现场炉辊控制电路
2)新逆变器对日式电机的识别和参数设定
3)联机调试对逆变器控制参数进行优化
今天谈下uss通信的经历。
因为我的同事比较牛,单片机的硬件和通信软件都编好了,曾经控制过富士的变频器,所以开始的时候大家都信心十足,准备用alstom的变频器,后来发现这变频器资料太少,没有详细的通信说明。然后我想到现场西门子的变频器也多,资料也全,就把《矢量大全》的书翻出来看下果然有一种uss的西门子协议。加上其他的电压啊,控制啊都没什么大问题就定了用西门子的逆变器。
我们先在pc上用vb编的通信程序,通过232转485接到cuvc的x101/10,11上,闭合终端电阻s2。另一边通过x300运行在另一台pc上运行drivemonitor对变频器进行监控。开始对着书根据scom2的功能图把变频器参数设了,特别是p700~704几个通信参数,两个口地址分开监控的用默认0,uss的用5,避免出错。当时对功能图p368=4特别迷惑就是pkw为4,pzd为2。实际上原安川控制系统在通信指令中是没有控制概念的,即传输的都是速度指令一类的数量值。为了与原系统兼容我们的uss改造中也不准备对变频器进行控制,而是通过原外部逻辑切换进行启动停止正传反转类的控制。因此当时认为uss只需要进行一个pzd字就行了。而uss协议的说明里又说pkw至少要有一个,所以在vb编程定义指令的时候就只定义了pkw=1,pzd=1。然后,,,,然后就开始了痛苦的不响应过程。
当时从vb发出啥指令变频器始终没有应答(灯不亮),先怀疑同事的硬件,把p443设为k2001,p554设为b2100,通过这套硬件运行drivemonitor,居然马上就应答了,还能合闸运行,然后怀疑vb程序问题。把指令翻来覆去的分析,又看例子,然后又被误导了:协议说明的例子1是pkw=0,pzd=2。当时想协议这么清楚,可能是我们pkw的指令错了造成不响应,于是又改程序干掉了pkw,结果还是不行。然后就打电话问西门子不应答的可能原因,第一个说回答不了,第二个回电话说很多人都这样做了,变频器不会有问题。晕啊,等于白说。
接着又想,既然西门子的程序能控制变频器,我要是怀疑自己的指令不对,直接发它的指令变频器总应该认吧。于是两台pc重联,一个运行drivemonitor,一个开着串口监控软件连在串口发送端,监控drivemonitor软件发给变频器的指令,一看一串串的满屏都是,截下来看了一下格式还真没错,不过它的软件不断对参数进行轮询所以pkw=127,进行变频器运行控制时控制字和指令都和我们理解的一样。于是信心满满,解读了一句查询状态的指令用vb程序照原样发过去。。。。。。居然还是没反应。
然后是疯狂的上网查,发现有个朋友也与到过类似的问题
http://bbs.gkong.com/dispbbs.asp?id=29346
而且也是走投无路,后来靠自己解决了,是串口校验的原因,不过我后来试过奇校验也可以。话说回来当时我跟捡到稻草似的,上机一试验。。。。还是不行。然后把西门子的uss协议找到一点点怀疑,就怀疑到报文时间上了,一看这协议果然是详细,连这种东西都精准无比:报文间隔在20ms以内,报文字符间隔小于启动间隔。。。。于是又改程序。。。。。
就这样又在郁闷中过了一天。然后是两个人都有事项目暂停3天。
冷静下来,反思整个过程。
第四天,上机,两个人各干各的:我改变频器参数尽量按照手册要求进行设置,同事改程序设置pkw=3但传输内容为字节0h,pzd=2,控制字1为8c7f(运行状态),控制字2为0h,联机运行,ok。
最后总结:
1)变频器p368=4,p702=127,p703=2,这个p368=4当时我没太注意,后来对变频器初始化时就还原了。因为改368需要改366,我看了下366和368的表格,当时认为这种参数无非是根据定义将一组控制信号定义到目标参数上,我改了p443和p554就没问题了,实际上如果p368不对还有其他的影响,这是变频器不响应的主要原因。实际上这个问题在drivemonitor通过uss方式控制时也看不出来,如果当时变频器不动我就会想到这点。
2)p702建议等于127不能等于0,pkw可变更灵活方便,如果定死了,一旦指令变化变频器肯定不应答。
3)pzd=2,在参数设置时尽量使用变频器默认参数进行控制,把控制放在自己设计的一端,这样容易编程,出问题自己清楚也好查原因。
4)不要把东西想太复杂了,陷入僵局时退出来冷静一下,把自己调乱的位置还原从头再来。
-------------------------------------------------
项目还在进行,有时间就搞一点,基本不急。现在正在对原系统的逻辑信号关系进行分析,准备无缝接入到新变频器里。完了我会写个总结的。
----------------------------------------------
此篇文章从博客转发
原文地址: Http://blog.gkong.com/more.asp?id=122659&Name=carlyle