a115285978
级别: 略有小成
精华主题: 0
发帖数量: 122 个
工控威望: 217 点
下载积分: 774 分
在线时间: 15(小时)
注册时间: 2009-11-12
最后登录: 2016-11-06
查看a115285978的 主题 / 回贴
楼主  发表于: 2013-05-04 20:01
哪位大侠可告知,已知784个脉冲的长度是36mm,求三菱plc中的程序怎么写,我这菜鸟感激不尽,先谢谢了。
喜欢工控
gali1120107
漫漫长路,吾将上下而求索。
级别: 家园常客
精华主题: 0
发帖数量: 501 个
工控威望: 974 点
下载积分: 1182 分
在线时间: 164(小时)
注册时间: 2010-06-19
最后登录: 2023-03-17
查看gali1120107的 主题 / 回贴
1楼  发表于: 2013-05-04 20:26
784/36=21.777777四舍五入后为22,比如100mm*22=2200个脉冲,实际为2177.7777个脉冲,多了22个脉冲,也就是多走了1mm,这样就比较粗略。
一种:784000/36=21777.7777777,(784000/36)*100=2177.77777
如果走100mm,脉冲数为217777.7777约为217778,除以100后四舍五入大约为2178,这样差一个脉冲,实际跟2177.7777一样结果。
二种:你可以把784转换为10进制的浮点数(三十二位),把36进行同样的处理(根据你使用控制器指令来写),除完之后得出21.777777,之后你可以把要走的长度也进行这样的处理,得出的结果小数为可以保留,把最终结果再转换为10进制32位整型(32位BIN),后给发脉冲地址具体数量就可以啦。 希望能够对你有帮助
a115285978
级别: 略有小成
精华主题: 0
发帖数量: 122 个
工控威望: 217 点
下载积分: 774 分
在线时间: 15(小时)
注册时间: 2009-11-12
最后登录: 2016-11-06
查看a115285978的 主题 / 回贴
2楼  发表于: 2013-05-04 20:52
此道理我是明白的,可是我在plc中写不来,能写个范例吗?谢谢
喜欢工控
狼堡
级别: 工控侠客
精华主题: 0
发帖数量: 305 个
工控威望: 2596 点
下载积分: 1329 分
在线时间: 423(小时)
注册时间: 2012-08-31
最后登录: 2023-03-04
查看狼堡的 主题 / 回贴
3楼  发表于: 2013-05-04 23:11
lijinniu
级别: 工控侠客
精华主题: 0
发帖数量: 623 个
工控威望: 3668 点
下载积分: 29979 分
在线时间: 1407(小时)
注册时间: 2007-08-17
最后登录: 2024-05-08
查看lijinniu的 主题 / 回贴
4楼  发表于: 2013-05-05 08:42
其实你知道这个784/36=21.777777存入D250。如果你是用屏输入的话就把这个数当成一个浮点系数就可以了。然后就用你要设定的数乘以这个系数就可以了。比如你要走200MM写入D252也是浮点数。   你写程序就是DEMUL  D252 D250 D0        D0是浮点数相乘结果。然后用DINT  D0    D2    D2就是把D0的浮点转换了10进制的脉冲了。如果屏中没有浮点输入的话你就要用DFLT指令来把D250   和D252转成浮点了。如DFLT   D250  D10     D10就成了浮点了。
a115285978
级别: 略有小成
精华主题: 0
发帖数量: 122 个
工控威望: 217 点
下载积分: 774 分
在线时间: 15(小时)
注册时间: 2009-11-12
最后登录: 2016-11-06
查看a115285978的 主题 / 回贴
5楼  发表于: 2013-05-05 15:34
感谢大侠,小弟有点明白了,谢谢
喜欢工控