USS通讯问题,急!

VC编程控制,用pc至变频器组件一对一通讯。PC设置了波特率9600,端口(com1);变频器设置了参数P0700=4,
 p1000=4,
 p2010=6(9600),
 p2011=0(从站地址),
 p2012=2,
 p2013=4.
 VC中用MScomm控件编程,''开始"按钮初始化串口,并设定初始频率启动电机,代码如下:
 if(m_Comm.GetPortOpen())   
      m_Comm.SetPortOpen(FALSE);
      m_Comm.SetCommPort(1); //选择com1
   if( !m_Comm.GetPortOpen())
      m_Comm.SetPortOpen(TRUE);//打开串口
   else
      AfxMessageBox("cannot open serial port");
      m_Comm.SetSettings
 ("9600,n,8,1");       m_Comm.SetInputMode (1); //1:表示以二进制方式检取数据
      m_Comm.SetRThreshold(1);
      m_Comm.SetInputLen(0); 
           m_Comm.GetInput();

    CByteArray data;   
       data.RemoveAll();         
    data.SetSize(16);
   
      data.SetAt(0,0x02);        //起始符
    data.SetAt(1,0x0e);        //LGE字符长度 14
       data.SetAt(2,0x00);        // 从站地址 0 或 1

       data.SetAt(3,0x00);        //PKE 参数识别ID 高字节
    data.SetAt(4,0x00);            //参数识别ID 低字节             
    data.SetAt(5,0x00);        // IND 索引值        
    data.SetAt(6,0x00);           //      
       data.SetAt(7,0x00);        // PKW1 高        
    data.SetAt(8,0x00);            //  低            
    data.SetAt(9,0x00);        //PKW2  高位     
    data.SetAt(10,0x00);           //  低位 
    
    data.SetAt(11,0x04);       //PZD1  高位  正向运行设定047F
       data.SetAt(12,0x7f);           //  低位 
       data.SetAt(13,0x19);       //PZD2   高位 
       data.SetAt(14,0x99);           //  低位  
    
    data.SetAt(15,data.GetAt(0));     // BCC 校验位  
    int i;
    for(i=1;i<15;i++)           {
         data.SetAt(15,data.GetAt(15)^data.GetAt(i));    
    }         
   
    m_Comm.SetOutput(COleVariant(data));   

 不知哪里的问题,链接变频器后没反应,请高手指点一下。急!

问题补充:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
     您提供的网址我会仔细看一下的。

     已经发现是控件属性设置的问题,可以实现自发自收。但还没与变频器连接上,不知哪里问题(报文数据格式?报文内容?)?

     轮询机制我不懂,也没找到相关的资料。能否提供一段例程?同时我发现你是这方面专家,经常参与我的问题。再次谢谢您的热心帮助。我是学生,最近急于完成这部分的通讯工作,网上提问回复太慢,您能否提供一个便捷的联系方式比如QQ等,万分感谢!
   @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 

最佳答案

不能这么编写。
 1、USS是轮询机制,要按轮询机制来写。
 2、首次发送的控制字内容应该是047E。要等待应答FA31。

 参考一下:http://www.ad.siemens.com.cn/club/bbs/post.asp?b_id=10&a_id=76842&s_id=&num=51#anch
 

提问者对于答案的评价:
1,USS轮询机制不是很懂
 2,与变频器通讯还要软件控件属性设置,变频器参数设置。还没最终解决问题。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc207324.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年11月6日
下一篇 2017年11月6日

相关推荐