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

如何實現64位加法運算? 点击:2846 | 回复:21



yuanle

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10208回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2007-07-18 21:52:00
楼主
请问:
       富士的PLC软件中有实现带进位的加法指令,西门子S7-300中如何实现带进位的加法操作,从而实现64位加法运算?
       谢谢回答!


楼主最近还看过



ikkoku

  • 精华:0帖
  • 求助:1帖
  • 帖子:40帖 | 187回
  • 年度积分:0
  • 历史总积分:371
  • 注册:2006年4月07日
发表于:2007-07-18 22:31:00
1楼
自行编制子程序~

大鸟一人

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 152回
  • 年度积分:0
  • 历史总积分:186
  • 注册:2004年4月16日
发表于:2007-07-20 08:40:00
2楼
写个程序作一下就是了,没什么的

yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10208回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2007-07-20 20:47:00
3楼
難度在于如何使其標準話,從而象指令一樣調用,富士的ADC與ADCO指令配合使用,可以成為64位加法,128位……

楚留香

  • 精华:0帖
  • 求助:0帖
  • 帖子:43帖 | 980回
  • 年度积分:0
  • 历史总积分:1556
  • 注册:2003年3月21日
发表于:2007-07-21 14:56:00
4楼
学习

工控鸟

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 128回
  • 年度积分:0
  • 历史总积分:121
  • 注册:2007年7月17日
发表于:2007-07-21 14:59:00
5楼
看看!!

老工控

  • 精华:1帖
  • 求助:0帖
  • 帖子:61帖 | 4475回
  • 年度积分:0
  • 历史总积分:22733
  • 注册:2003年6月25日
发表于:2007-07-21 18:00:00
6楼
设被加数:64位数字串:DB1.DBB0~DB1.DBB7,可以表示为:
DB1.DBD0(32位)和DB1.DBD4(32位)
设加数:64位数字串:DB2.DBB0~DB2.DBB7,可以表示为:
DB2.DBD0(32位)和DB2.DBD4(32位)
先进行DB1.DBD0+DB2.DBD0计算,如溢出,给DB1.DBD4加1
再进行DB1.DBD4+DB2.DBD4计算,结果就是64位加法的数据

老工控

  • 精华:1帖
  • 求助:0帖
  • 帖子:61帖 | 4475回
  • 年度积分:0
  • 历史总积分:22733
  • 注册:2003年6月25日
发表于:2007-07-21 18:01:00
7楼
一般没有64位数据的表示方法,最终只能分解开计算

老菜鸟

  • 精华:22帖
  • 求助:0帖
  • 帖子:301帖 | 8609回
  • 年度积分:0
  • 历史总积分:24924
  • 注册:2003年6月15日
发表于:2007-07-21 18:05:00
8楼
说得有道理。

皓月

  • 精华:9帖
  • 求助:0帖
  • 帖子:483帖 | 5271回
  • 年度积分:0
  • 历史总积分:8863
  • 注册:2003年11月09日
发表于:2007-07-21 22:38:00
9楼
64加法?在什么场合下应用?

笔笔名

  • 精华:4帖
  • 求助:11帖
  • 帖子:290帖 | 1797回
  • 年度积分:1
  • 历史总积分:3209
  • 注册:2002年3月17日
发表于:2007-09-22 22:43:00
10楼
很明显姜还是老的辣哦!!

老工控

  • 精华:1帖
  • 求助:0帖
  • 帖子:61帖 | 4475回
  • 年度积分:0
  • 历史总积分:22733
  • 注册:2003年6月25日
发表于:2007-09-22 23:08:00
11楼
编程有许多变通方法,不能死记硬背
有许多特殊指令是由基本指令组合而成的
因此对于基本指令要学会熟练应用,再记不起特殊指令时
使用基本指令实现也不失位一种好办法,还开阔了思路

当然对于许多特定的场合,必须使用特殊指令,这就得查手册了!

说的有点跑题,只是对于一些特殊的应用场合,胡聊了几句

yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10208回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2007-09-23 07:11:00
12楼
这类编程的难度在于,把东西编成通用的,我使用了一个,就是32位加法,使用了2个,就是64位加法,使用4个,就是128位加法,使用了8个,就是256位加法。
专用的指令相当的好编,通用的就非常有难度了。
就如富士PLC中的ADD加法指令,其可以实现任意数据,任意数量数据的加法。
虽然都是加法,富士的指令明显要比西门子的更加灵活一些,正如富士的技术来源于西门子,却要比西门子的更灵活。

笔笔名

  • 精华:4帖
  • 求助:11帖
  • 帖子:290帖 | 1797回
  • 年度积分:1
  • 历史总积分:3209
  • 注册:2002年3月17日
发表于:2007-09-23 08:51:00
13楼
两大高手多聊点技术方面的话题吧!!!也好我等了解一下了!!

LUGANCHAO

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 1821回
  • 年度积分:0
  • 历史总积分:2757
  • 注册:2007年4月06日
发表于:2007-09-23 11:37:00
14楼

LUGANCHAO

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 1821回
  • 年度积分:0
  • 历史总积分:2757
  • 注册:2007年4月06日
发表于:2007-09-23 11:38:00
15楼
一般没有64位数据的表示方法

LUGANCHAO

  • 精华:0帖
  • 求助:0帖
  • 帖子:10帖 | 1821回
  • 年度积分:0
  • 历史总积分:2757
  • 注册:2007年4月06日
发表于:2007-09-23 11:39:00
16楼
一般为32位的

笔笔名

  • 精华:4帖
  • 求助:11帖
  • 帖子:290帖 | 1797回
  • 年度积分:1
  • 历史总积分:3209
  • 注册:2002年3月17日
发表于:2007-09-23 20:32:00
17楼
楼上的老兄有备可以防换与未来吧!!!

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 455回
  • 年度积分:0
  • 历史总积分:1000
  • 注册:2008年1月09日
发表于:2013-08-16 14:40:58
18楼

大家看看这个,共同探讨一下

http://bbs.gongkong.com/d/201306/511804_1.shtml

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 455回
  • 年度积分:0
  • 历史总积分:1000
  • 注册:2008年1月09日
发表于:2013-08-16 14:54:54
19楼

对6楼的老工控下述表达的疑问:

“设被加数:64位数字串:DB1.DBB0~DB1.DBB7,可以表示为:
DB1.DBD0(32位)和DB1.DBD4(32位)
设加数:64位数字串:DB2.DBB0~DB2.DBB7,可以表示为:
DB2.DBD0(32位)和DB2.DBD4(32位)
先进行DB1.DBD0+DB2.DBD0计算,如溢出,给DB1.DBD4加1
再进行DB1.DBD4+DB2.DBD4计算,结果就是64位加法的数据”


如果DB1.DBD0=0x7FFFFFFF,而DB2.DBD0=0x00000001,此时用s7-300中的加法时溢出位OV=1,而两者的和等于16进制0x80000000,此时是不是不应该有进位啊?

阿呆的中国梦

  • 精华:0帖
  • 求助:4帖
  • 帖子:12帖 | 220回
  • 年度积分:0
  • 历史总积分:162
  • 注册:2016年9月16日
发表于:2016-10-08 15:09:38
20楼

不错的探讨,涨姿势了!


热门招聘
相关主题

官方公众号

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