首页 上一页 1 2 下一页 尾页

三菱FX2N与VFD-B通讯程序求解 点击:3312 | 回复:22



我隨風

    
  • 精华:2帖
  • 求助:11帖
  • 帖子:145帖 | 5530回
  • 年度积分:1307
  • 历史总积分:29997
  • 注册:2008年4月27日
发表于:2011-04-12 09:54:39
楼主

三菱FX2N与VFD-B通讯程序如下:

 



楼主最近还看过



我隨風

  • 精华:2帖
  • 求助:11帖
  • 帖子:145帖 | 5530回
  • 年度积分:1307
  • 历史总积分:29997
  • 注册:2008年4月27日
发表于:2011-04-12 10:03:57
1楼

 看了这个程序,觉得还是相当不错的,但有的地方感到不解,由于不很明白,烦请各位详解,非常感谢!

yjig

  • 精华:2帖
  • 求助:5帖
  • 帖子:97帖 | 5237回
  • 年度积分:0
  • 历史总积分:12514
  • 注册:2004年6月04日
发表于:2011-04-12 10:29:32
2楼

针对楼主的提问:

假定D700=K5000(H1388),ASCI指令就是将16进制的1388(H)转换成ASCII码,并分别存放到D60、D61、D62、D63共4个寄存器,其转换结果为D60存入31(H1),D61存入33(H3),D62存入38(H8),D63存入38(H8)。

HEX是ASCI的逆运算指令,HEX  D60  D205  K2  ,就是将D60、D61(K2)两个寄存器ASCII码转换成16进的数值,并将转换后的数值合并存入D205中,就本例来说,D60=31(ASCII),D61=33(ASCII),转换后的数值为H13,也就是D205的内部数值。

不过,以上的换来、换去,有点太繁琐,完全可以简化。

我隨風

  • 精华:2帖
  • 求助:11帖
  • 帖子:145帖 | 5530回
  • 年度积分:1307
  • 历史总积分:29997
  • 注册:2008年4月27日
发表于:2011-04-12 10:39:24
3楼
引用yjig 的回复内容:

针对楼主的提问:

假定D700=K5000(H1388),ASCI指令就是将16进制的1388(H)转换成ASCII码,并分别存放到D60、D61、D62、D63共4个寄存器,其转换结果为D60存入31(H1),D61存入33(H3),D62存入38(H8),D63存入38(H8)。

HEX是ASCI的逆运算指令,HEX  D60  D205  K2  ,就是将D60、D61(K2)两个寄存器ASCII码转换成16进的数值,并将转换后的数值合并存入D205中,就本例来说,D60=31(ASCII),D61=33(ASCII),转换后的数值为H13,也就是D205的内部数值。

不过,以上的换来、换去,有点太繁琐,完全可以简化。




那上面的ASCI    D700     D60     K4指令中的K4是不是应该是K8?

yjig

  • 精华:2帖
  • 求助:5帖
  • 帖子:97帖 | 5237回
  • 年度积分:0
  • 历史总积分:12514
  • 注册:2004年6月04日
发表于:2011-04-12 11:46:42
4楼
以上红圈内的程序(3步),可以用以下程序替代: 结果一样。

【DIV D700 H100 D205】,如以上假定,D700=K5000(H1388),计算的结果D205=H13(商),D206=H88(余数)。


上面的ASCI D700 D60 K4指令中的K4是正确的,ASCI及HEX指令是可以模拟的,你可以带入数据试一下。

我隨風

  • 精华:2帖
  • 求助:11帖
  • 帖子:145帖 | 5530回
  • 年度积分:1307
  • 历史总积分:29997
  • 注册:2008年4月27日
发表于:2011-04-12 13:59:04
5楼

上面ASCI和HEX两个指令应该是K4   8位模式,看起来我对这个指令还是理解不够。

那楼上能否将指令DIV D700 H100 D205      给指点一下,谢谢!

yjig

  • 精华:2帖
  • 求助:5帖
  • 帖子:97帖 | 5237回
  • 年度积分:0
  • 历史总积分:12514
  • 注册:2004年6月04日
发表于:2011-04-12 15:23:30
6楼

DIV D700 H100 D205

上式中:D700=K5000(H1338),H100就是K256,5000÷256=K19(H13)……K136(H88)

也就是说,在D205中存放的是K19(H13),在D206中存放的是K136(H88)

再不清楚的话,请自己看使用说明,说明中有详细的解释。

yjig

  • 精华:2帖
  • 求助:5帖
  • 帖子:97帖 | 5237回
  • 年度积分:0
  • 历史总积分:12514
  • 注册:2004年6月04日
发表于:2011-04-12 18:57:13
7楼

本人认为楼主提供的程序还可以进一步简化,在第28-132序号之间,共104步,可以用以下程序替代,其效果一样,以下程序仅需65步。

 

ZLX137730

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 46回
  • 年度积分:0
  • 历史总积分:53
  • 注册:2004年9月02日
发表于:2011-04-13 15:51:00
8楼
哈哈,我看了正是我需要的,本来来还不知道怎样写频率,现在就是用除法的没有成功,一步步的来谢谢yjig详细解说

ZLX137730

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 46回
  • 年度积分:0
  • 历史总积分:53
  • 注册:2004年9月02日
发表于:2011-04-13 15:52:35
9楼

现在要解决的是读频率了,我总是读不出来数据不对

 

我隨風

  • 精华:2帖
  • 求助:11帖
  • 帖子:145帖 | 5530回
  • 年度积分:1307
  • 历史总积分:29997
  • 注册:2008年4月27日
发表于:2011-04-13 17:40:57
10楼
特别感谢楼上yjig 的倾情指点!

yjig

  • 精华:2帖
  • 求助:5帖
  • 帖子:97帖 | 5237回
  • 年度积分:0
  • 历史总积分:12514
  • 注册:2004年6月04日
发表于:2011-04-13 17:52:04
11楼
以上是本人编制的程序,由于懒得修改,程序中的D101-D107相当于原有程序的D201-D207,其余一样,请各位编程时加以注意区分。

ZLX137730

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 46回
  • 年度积分:0
  • 历史总积分:53
  • 注册:2004年9月02日
发表于:2011-04-13 22:50:33
12楼

这个程序,没有看到读频率的啊,m0 正转启动,m1反转,m2停止,m4写频率,没有看到读频率的

 

pkhxiiu

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 40回
  • 年度积分:0
  • 历史总积分:537
  • 注册:2010年1月02日
发表于:2011-05-06 16:15:40
13楼

看了以上的解释,我觉得我的PLC连菜鸟都不如

圆圆的太阳

  • 精华:1帖
  • 求助:6帖
  • 帖子:90帖 | 265回
  • 年度积分:0
  • 历史总积分:1791
  • 注册:2007年5月31日
发表于:2011-05-08 19:26:39
14楼
这个程序我试了一下,为什么有时候点动的时候实现不了。就是快速的点正转,会一直正转下去,不会停呢?

ysyu

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 3回
  • 年度积分:0
  • 历史总积分:13
  • 注册:2010年3月22日
发表于:2011-07-24 19:55:43
15楼
ASC码转换后按什么顺序存放数据

ysyu

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 3回
  • 年度积分:0
  • 历史总积分:13
  • 注册:2010年3月22日
发表于:2011-07-24 20:02:03
16楼
ASCI d0 d1  K2在D0等于H1时,D1是3130,照上文所讲应是D1是30,D2是31,而我用模拟软件测试D1是3130,

ysyu

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 3回
  • 年度积分:0
  • 历史总积分:13
  • 注册:2010年3月22日
发表于:2011-07-24 20:04:10
17楼
在K等于1时 ,D1是31,为什么

战清石

  • 精华:0帖
  • 求助:1帖
  • 帖子:2帖 | 70回
  • 年度积分:0
  • 历史总积分:656
  • 注册:2009年10月07日
发表于:2011-08-04 22:07:14
18楼

好东西啊!正在学习,受益非浅!

战清石

  • 精华:0帖
  • 求助:1帖
  • 帖子:2帖 | 70回
  • 年度积分:0
  • 历史总积分:656
  • 注册:2009年10月07日
发表于:2011-08-06 14:13:30
19楼

要是能在加入一个通讯再试程序就好了,毕竟通讯不一定能一次成功!我在台达plc上做过实验,一次通讯成功率很低!

佳能

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:11
  • 注册:2009年2月13日
发表于:2011-09-03 13:03:34
20楼

师傅们好,我用FXGP-WIN-C编程软件,写入【MOV H20 D203】它会自动改成【MOV H0020 D203】这个正常吗?


热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 下一页 尾页