有一MM4变频器与S7-400进行DP通讯控制,PPO类型为PPO4,0KW,6PZD,利用SFC14和SFC15对变频器进行读和写,变频器的启动为利用远程ET200M的IO进行,一个常开按钮进行启动和停止,频率的设定由HIM进行设定,并显示其运行电流。
程序是这样分布的:OB1调用启动和停止的功能和对变频器进行读和写的功能; 对变频器进行初始化的是利用OB100 OB101 0B102进行,初始化就是发送047E到变频器,地址是SFC15的RECORD地址的首个字。
问题是:为什么一键起停的FC10程序中,只要把M3.0置位,DB2.DBX1.0同时也接通,变频器就能启动,再按一下,变频器变停止,按MM4变频器的使用大全中说明,PZD的第一个字是控制字,为什么是把DB2.DBX1.0置位,变频器就能启动运行呢,而不是把DB2.DBX0.0置位,变频器变就能起动运行呢?
还有就是只要DB2.DBX1.0置位,DB2数据块里第一个字怎么会是W#16#047F呢,把M3.0复位,DB2的第一个字又显示为W#16#047E呢。
图片在附件里。
请高手位详解,谢谢!
详解请就在此问答,那些什么请参看例程,本人以看了N次 了,就请不要各位再引用了,只要说明为什么是DB2.DBX1.0置位,变频器就能启动运行,复位就停止。
图片说明:
最佳答案
其实这很简单,就是明白西门子的存储格式就容易了,字包含两个字节,:高位字节和低位字节,西门子的高低字节是按照地址顺序排序的,例如你贴图中DB2.DBW0的高位字节就是DB2.DBB0,低位字节就是DB2.DBB1,因此当DB2.DBX1.0由1变成0,第一个字DB2.DBW0就从W#16#047F(这个时候DB2.DBB0中为B#16#04;DB2.DBB1中为B#16#7F)变成了W#16#047E了(这个时候DB2.DBB0中为B#16#04;DB2.DBB1中为B#16#7E),把这两个数变成2进制比较一下就知道,仅仅是最低1位由1变成了0。而在变频器的控制字定义中,这个位正是变频器的启动位,为1启动,为0则停止。
提问者对于答案的评价:
还可以
专家置评
请参考文档:http://www.ad.siemens.com.cn/download/HTML/Download.aspx?DocId=1307&loginID=&srno=&sendtime=&ftype=cn
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc153462.html