技术论坛

求助:西门子smart有不有数据移位指令,是哪一个,怎么实现

作者 主题
新手

经验值: 23
发帖数: 4
精华帖: 0
主题:【求助】求助:西门子smart有不有数据移位指令,是哪一个,怎么实现


只看楼主 楼主 2021-03-05 09:26:32
请问,我需要统计雨量(每分钟翻斗给的脉冲总数:0-254整数值),然后保存第一分钟的数据到VB1,到第二分钟时,把VB1移动到VB2,再把新的数据保存到VB1。第三分钟,把VB2保存到VB3,把VB1保存到VB2,然后把新的数据移动到VB1,依次类推到保存20分钟的数据,VB20后面就不再保存了。请问使用什么指令?松下和欧姆龙有数据移位指令,西门子好像没找到。这样我计算VB1到VB20的总值,就能知道实时下雨量大小了。
 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1684596&b_id=64&s_id=0&num=14

至圣

经验值: 67542
发帖数: 14782
精华帖: 100
回复:求助:西门子smart有不有数据移位指令,是哪一个,怎么实现


只看楼主 1楼 2021-03-05 10:54:10

块传送。

BMB



 
以下网友喜欢您的帖子:

  
至圣

经验值: 19280
发帖数: 3866
精华帖: 1
回复:求助:西门子smart有不有数据移位指令,是哪一个,怎么实现


只看楼主 2楼 2021-03-05 16:46:11

 SHL,SHR都是移位指令


弘扬中华传统美德,无私奉献为根本,助人为乐为根源。
以下网友喜欢您的帖子:

  
至圣

经验值: 12717
发帖数: 1584
精华帖: 1
回复:求助:西门子smart有不有数据移位指令,是哪一个,怎么实现


只看楼主 3楼 2021-03-05 18:58:06

用间接寻址吧。


努力学习西门子
以下网友喜欢您的帖子:

  
新手

经验值: 23
发帖数: 4
精华帖: 0
回复:求助:西门子smart有不有数据移位指令,是哪一个,怎么实现


只看楼主 楼主 4楼 2021-03-05 21:56:12
以下是引用芳季在2021-03-05 10:54:10的发言 >1楼

块传送。

BMB


    你好,我觉得块传送应该是最正确的,但是它支持把VB0开始的20个字节,传送到VB1(也就是说只是向后移动了一位,数据地址有重复的),可以不?

    还有,我统计VB0到VB19这20个字节的数值的总和,需要把它们分别转化成VW后再一个一个相加么?或者我在前一次的传送里面就全设置20个VW,但是有什么指令可以一条指令求VW0至VW38这20个数据的总和么?

    日系PLC松下的寄存器就是D,不分字节、字、双字等。柜子还没做好,过几天能通电了才能试此指令。谢谢解答。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 17188
发帖数: 2946
精华帖: 6
回复:求助:西门子smart有不有数据移位指令,是哪一个,怎么实现


只看楼主 5楼 2021-03-05 22:53:14

 使用表格指令中的先进先出,配合其它指令应该最简单合适。


 
以下网友喜欢您的帖子:

  
版主

经验值: 25992
发帖数: 11808
精华帖: 43
回复:求助:西门子smart有不有数据移位指令,是哪一个,怎么实现


只看楼主 6楼 2021-03-05 23:29:02

楼主转变思想,用指针管理数据是最正确的选择。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 67542
发帖数: 14782
精华帖: 100
回复:求助:西门子smart有不有数据移位指令,是哪一个,怎么实现


只看楼主 7楼 2021-03-06 09:19:44

以前,人的排队和现在人坐着,叫号。就是所谓的思想的转变。

人进来了,拿了号就随便坐着,就不用动了。等指示屏显示自己的号。

在程序上演绎这个事情就是数据进来了,根据可安排的内存空间大小按次序放置,放满了覆盖第一个。然后间接寻址指示哪个是第一个数据,哪个是最后一个数据,哪个是什么数据,用间接寻址来调这个值走就是了。任何时候只需要更改间接寻址这几个关键值就可以了。这样的话可以省去了大量数据的同步迁移。这一迁移一个格,很花时间的,你试试挪挪家里的东西。



 
以下网友喜欢您的帖子:

  
至圣

经验值: 67542
发帖数: 14782
精华帖: 100
回复:求助:西门子smart有不有数据移位指令,是哪一个,怎么实现


只看楼主 8楼 2021-03-06 09:26:48
以下是引用无敌的鹰在2021-03-05 21:56:12的发言 >4楼

    你好,我觉得块传送应该是最正确的,但是它支持把VB0开始的20个字节,传送到VB1(也就是说只是向后移动了一位,数据地址有重复的),可以不?

    还有,我统计VB0到VB19这20个字节的数值的总和,需要把它们分别转化成VW后再一个一个相加么?或者我在前一次的传送里面就全设置20个VW,但是有什么指令可以一条指令求VW0至VW38这20个数据的总和么?

    日系PLC松下的寄存器就是D,不分字节、字、双字等。柜子还没做好,过几天能通电了才能试此指令。谢谢解答。

以下是引用芳季在2021-03-05 10:54:10的发言 >1楼:块传送。BMB

引用1楼详细内容:

块传送。

BMB


200cn就不可以重叠,但是当今smart已经修改这个问题了。向前向后覆盖都没有问题。

统计总和我是自己做一个程序库。没专门指令。

D只是字节和字都用D表示呗,但是双字32位仍然要用两个D啊。就是说一个是vb vw vd,一个是D和D(D)


 
以下网友喜欢您的帖子:

  
新手

经验值: 23
发帖数: 4
精华帖: 0
回复:求助:西门子smart有不有数据移位指令,是哪一个,怎么实现


只看楼主 楼主 9楼 2021-03-07 19:07:03

谢谢各位的回复,使用指针我还不知道怎么用,但是使用块移动,现在已经能把数据传送了。

第一分钟的数据:VW310是1,

第二分钟的数据:VW308是5,

第三分钟的数据:VW306是0,

第四分钟的数据:VW304是3,

第五分钟的数据:VW302是0。

    现在数据可以位移了,只是还不知道哪条指令能直接计算VW302至VW310的和。




 
以下网友喜欢您的帖子:

  
新手

经验值: 23
发帖数: 4
精华帖: 0
回复:求助:西门子smart有不有数据移位指令,是哪一个,怎么实现


只看楼主 楼主 10楼 2021-03-07 20:52:03

关于求和的指令,看了很多“大师”的回贴,仍然一头雾水:

  1. 都说使用寻址和循环指针命令,但是就是不懂这个指令才来问怎么求和……

  2. 有一个大师也贴出了程序截图,但是一会儿是程序贴一半,一会儿是来个STL指令表,对于一般使用梯形图,或者只看得懂三菱手编的指令表的人来说,也是似懂非懂……

请哪位能给教我一下梯形图用哪些指令啊?谢谢。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 67542
发帖数: 14782
精华帖: 100
回复:求助:西门子smart有不有数据移位指令,是哪一个,怎么实现


只看楼主 11楼 2021-03-08 08:18:23

如果按书上给你解释for和间接寻址两个指令,我想你看也看过了,试也试过了。就是试不出来。咱们说也没有大作用。是不是?

看看现在怎么比较贴近一点地给你解释好呢?


 
以下网友喜欢您的帖子:

  
侠士

经验值: 1751
发帖数: 379
精华帖: 0
回复:求助:西门子smart有不有数据移位指令,是哪一个,怎么实现


只看楼主 12楼 2021-03-08 08:45:40

用块传送或者指针


路漫漫其修远
以下网友喜欢您的帖子:

  
奇侠

经验值: 5059
发帖数: 335
精华帖: 6
回复:求助:西门子smart有不有数据移位指令,是哪一个,怎么实现


只看楼主 13楼 2021-03-08 09:29:53
以下是引用YUKJ在2021-03-05 22:53:14的发言 >5楼

 使用表格指令中的先进先出,配合其它指令应该最简单合适。

表指令这么简单,为啥不用呢?


仰望星空,脚踏实地
以下网友喜欢您的帖子:

  
至圣

经验值: 19280
发帖数: 3866
精华帖: 1
回复:求助:西门子smart有不有数据移位指令,是哪一个,怎么实现


只看楼主 14楼 2021-03-08 14:31:22
以下是引用无敌的鹰在2021-03-05 21:56:12的发言 >4楼

    你好,我觉得块传送应该是最正确的,但是它支持把VB0开始的20个字节,传送到VB1(也就是说只是向后移动了一位,数据地址有重复的),可以不?

    还有,我统计VB0到VB19这20个字节的数值的总和,需要把它们分别转化成VW后再一个一个相加么?或者我在前一次的传送里面就全设置20个VW,但是有什么指令可以一条指令求VW0至VW38这20个数据的总和么?

    日系PLC松下的寄存器就是D,不分字节、字、双字等。柜子还没做好,过几天能通电了才能试此指令。谢谢解答。

以下是引用芳季在2021-03-05 10:54:10的发言 >1楼:块传送。BMB

引用1楼详细内容:

块传送。

BMB


 日系PLC松下的寄存器就是D,不分字节、字、双字等。柜子还没做好,过几天能通电了才能试此指令。谢谢解答。

日系PLC也分16位,32位,64位数据好不好?


弘扬中华传统美德,无私奉献为根本,助人为乐为根源。
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
求助:西门子smart有不有数据移位指令,是哪一个,怎么实现
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。