您现在所在的是:

西门子SIEMENS

回帖:6个,阅读:2476 [上一页] [1] [下一页]
* 帖子主题:

s7-300左移位指令

1434
yuanqijun88
文章数:44
年度积分:50
历史总积分:1434
注册时间:2010/11/24
发站内信
发表于:2016/9/8 17:09:46
#0楼
S7-300左移位指令最大只有32个位,要大于32个位时用什么方法才能实现呢?能不能像三菱PLC那样左移多个位,如三菱左移位指令:SFTLP  M200  M204  K286  K4    从M200开始移动  每次移动4位  最大移动286个位,请问下大师们s7-1500要怎么做才能做到。
10416
twtynijj
文章数:2626
年度积分:68
历史总积分:10416
注册时间:2009/7/15
发站内信
2016国庆活动(三)
发表于:2016/9/8 17:14:11
#1楼
s7-1500很多人都还没用过吧。好新的东西。
4584
zhengpan2010
文章数:2686
年度积分:50
历史总积分:4584
注册时间:2010/9/13
发站内信
发表于:2016/9/8 19:25:07
#2楼
还真的用过S71500  没跟上节凑啊
37605
cvlsam 版主
文章数:12429
年度积分:216
历史总积分:37605
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2016/9/8 21:38:34
#3楼
以下是引用yuanqijun882016/9/8 17:09:46的发言:
S7-300左移位指令最大只有32个位,要大于32个位时用什么方法才能实现呢?能不能像三菱PLC那样左移多个位,如三菱左移位指令:SFTLP  M200  M204  K286  K4    从M200开始移动  每次移动4位  最大移动286个位,请问下大师们s7-1500要怎么做才能做到。

曾经在论坛中贴出过富士PLC移动多个位的源代码,受PLC硬件限制,当时测试的时候移动了3000个位。

其实很简单,判断双字的最高位,如果为1,那么给高双字中的最低位置0,否则置1,最后低双字的每个位左移,这样,你可以实现移动任意位数。

对于右移的原理相同。

Good Luck~
9034
wanwan8778
文章数:2354
年度积分:50
历史总积分:9034
注册时间:2008/8/2
发站内信
发表于:2016/9/8 21:55:52
#4楼
以下是引用cvlsam2016/9/8 21:38:34的发言:
以下是引用yuanqijun882016/9/8 17:09:46的发言:
S7-300左移位指令最大只有32个位,要大于32个位时用什么方法才能实现呢?能不能像三菱PLC那样左移多个位,如三菱左移位指令:SFTLP  M200  M204  K286  K4    从M200开始移动  每次移动4位  最大移动286个位,请问下大师们s7-1500要怎么做才能做到。

曾经在论坛中贴出过富士PLC移动多个位的源代码,受PLC硬件限制,当时测试的时候移动了3000个位。

其实很简单,判断双字的最高位,如果为1,那么给高双字中的最低位置0,否则置1,最后低双字的每个位左移,这样,你可以实现移动任意位数。

对于右移的原理相同。

Good Luck~


C大,
弱弱的请教个问题:

移位一般都有什么广泛的用途?


我就知道指针的用法,
slw 3
左移3位,(是乘以8)变成字节地址。。。
独学而无友,则孤陋而寡闻。
有问题,是必须要解决的。
Another complicated. Another mystery.
37605
cvlsam 版主
文章数:12429
年度积分:216
历史总积分:37605
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2016/9/9 5:46:24
#5楼
以下是引用wanwan87782016/9/8 21:55:52的发言:
以下是引用cvlsam2016/9/8 21:38:34的发言:
以下是引用yuanqijun882016/9/8 17:09:46的发言:
S7-300左移位指令最大只有32个位,要大于32个位时用什么方法才能实现呢?能不能像三菱PLC那样左移多个位,如三菱左移位指令:SFTLP  M200  M204  K286  K4    从M200开始移动  每次移动4位  最大移动286个位,请问下大师们s7-1500要怎么做才能做到。

曾经在论坛中贴出过富士PLC移动多个位的源代码,受PLC硬件限制,当时测试的时候移动了3000个位。

其实很简单,判断双字的最高位,如果为1,那么给高双字中的最低位置0,否则置1,最后低双字的每个位左移,这样,你可以实现移动任意位数。

对于右移的原理相同。

Good Luck~


C大,
弱弱的请教个问题:

移位一般都有什么广泛的用途?


我就知道指针的用法,
slw 3
左移3位,(是乘以8)变成字节地址。。。

例如得到数据中某位的值。例如二进制浮点数转16进制浮点数,例如CRC校验。
9034
wanwan8778
文章数:2354
年度积分:50
历史总积分:9034
注册时间:2008/8/2
发站内信
发表于:2016/9/9 16:59:03
#6楼
回复 #5楼 cvlsam
嗯,那我得看看温习一下了
多谢多谢啦
独学而无友,则孤陋而寡闻。
有问题,是必须要解决的。
Another complicated. Another mystery.

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

78.0005