我处现场使用的DP控制MM440变频器,实际的过程字与手册上规定的不一样,这是为什么?如图(配置的为PPO3型)
我要实现off2停车方式应该怎么做?
图片说明:
最佳答案
1.在变频器和PLC中,两者所定义的高8位和低8位是正好相反的,所以在通信字的低字节、高字节与字的地址正好相反,你直接把它们反过来对应就可以了,编程时这一点是非常重要的!
请参考我以前的类似问题的回答:
《通讯报文控制字和状态字的问题》
http://www.ad.siemens.com.cn/service/answer/solution.aspx?Q_ID=118795&cid=1039
《PLC与变频器通讯的DB数据块》里面我就是用PPO3来举例说明的
http://www.ad.siemens.com.cn/service/answer/solution.aspx?Q_ID=112349&cid=1029
2.在西门子视频学习中心,里面就有关于“MM440与S7-300进行PROFIBUS DP进行通讯”的视频讲解,图文并茂非常好。
链接:http://www.ad.siemens.com.cn/service/elearning/cn/Course.aspx?CourseID=903
我以前回答过关于MM440与S7-300PLC的通信,我用最简单的PPO3(0PKW+2PZD)长度为2个字来举例。
假设2PZD在DB1的数据块对的是DB1.DBW20和DB1.DBW22.
DB1.DBW20为控制字(控制指令),DB1.DBW22为频率设定值。
DB1.DBW20可以表示为DB1.DBX21.7---DB1.DBX20.0
下面结合以《MM440使用大全》13-12页的13.3.7节的任务报文第一个字STW说一下,请参考13-5表内容。是不是发现13-5表内容正好可以用DB1.DBX21.7---DB1.DBX20.0来表示,当DB1.DBX20.0为1时,就是启动,为0时就是停止,当DB1.DBX20.7为1时,就是故障复位,当DB1.DBX21.3为1时,就是反转,但DB1.DBX21.2必须总为1,才能由PLC进行控制,(用十六进制表示:047E是停止,047F是正传启动,反转是0C7F),这样是不是很好理解啦。编程也就变的简单了,前进让DB1.DBX20.0置1,停止让DB1.DBX20.0置0,想反转那就让DB1.DBX21.3置1。
DB1.DBW22,它是任务报文第二个字(SHW)是主设定值,DB1.DBW22就为频率设定值。0-4000H=0-16384D=0-50Hz=DB1.DBW22为整形,数值与频率之间为线性关系,负数用补码表示,对应反转。
你所问的要实现OFF2停车方式,现在能想明白吗?047C是惯性停车。
你的现场使用的过程字的图片的内容,也可参考《MM440使用大全》
13-12页的13.3.7节的任务报文第一个字STW,表13-5的变频器的控制字说明。
13-14页的13.3.8节的应答报文第一个字ZSW,表13-6的变频器的状态字说明。
其中:
228.0--228.7是状态字8-15位,229.0--229.7是状态字0-7位。
232.0--232.7是控制字8-15位,233.0--233.7是控制字0-7位。
字234是频率设定值,字230是频率实际值。
提问者对于答案的评价:
感谢大师的细心解答,终于大彻大悟!平时应该多观察一下也就对,另外,为啥需要高低字节反过来呀……
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc143329.html