相关问题提问过一次,还是有问题,通过PROFIBUS以变量表控制三台电机(参考的这里的控制1台电机http://www.ad.siemens.com.cn/service/elearning/cn/Course.aspx?CourseID=903)
第一个和第二个电机可以启停和修改频率值,但第三个不行,R2050[0]能收到启动命令,但R2050[1]收不到频率命令,由047E修改为047F后电机嘟一声(估计就是没有频率命令),具体见图。
图片说明:
最佳答案
看来我前几天回答你的问题时的判断的还是正确的,掌握了通讯报文的内容,你的问题就好解决啦。任务报文(PLC至变频器)PLC发送的PZD1是控制字1,PZD2是主设定值,所以我们就可以查看控制字的状态,r2050.0就是CB通信板接收到的字0(控制字1),r2050.1就是CB通信板接收到的字1(主设定值),控制字1还可通过位参数r2090查看到。
1.楼主犯了低级错误 ,还是出在数据设置不正确,PQW288是控制字1,PQW290是频率设定值,不是PQW300,见上传图片。
2.另外还有个“高字节低地址”的概念,在变频器和PLC中通信中,两者所定义的高8位和低8位是正好相反的,所以在通信字的低字节、高字节与字的地址正好相反,编程时这一点是非常重要的!
可参考一下,我以前回答过相关的问题
《 通讯报文控制字和状态字的问题》,里面有位-字节-字-双字关系图
http://www.ad.siemens.com.cn/service/answer/solution.aspx?Q_ID=118795&cid=1039
3.还有一些资料,可供你参考:
《S7-300与MM440间DP通讯》
http://wenku.baidu.com/view/906806e6aeaad1f346933fc6.html
《MM440与S7-300通过DP通讯实现读取和修改参数例程》
http://www.ad.siemens.com.cn/download/docMessage.aspx?ID=3172&loginID=&srno=&sendtime=
《驱动通信基础》
http://www.ad.siemens.com.cn/download/docMessage.aspx?ID=1261&loginID=&srno=
图片说明:
提问者对于答案的评价:
感谢各位的回答,确实是低级错误,老想着没有对应好
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc142918.html