回复:组合 的结果

已锁定

锋言锋语

西门子1847工业学习平台

  • 帖子

    3956
  • 精华

    54
  • 被关注

    131

论坛等级:至圣

注册时间:2011-07-31

钻石 钻石 如何晋级?

发布于 2021-12-17 08:53:21

8楼

展开查看
以下是引用ligp99在2021-12-17 08:30:17的发言 >7楼

这个需要在PLC里面做,plc不支持C

MW0= (MW2 << 2) | MW4这个不理解MW2 << 2是什么意思


以下是引用锋言锋语在2021-12-10 16:34:43的发言 >5楼:楼主看我上面的回帖...

引用5楼详细内容:

楼主看我上面的回帖。

就是一个 8*4的问题。 So easy.  因为你这两个选项都是2的整幂次。 所以分别用位表示, 然后拼到一起,就是一个能遍历所有的编号。 形如 xxxyy.    五个bit, 用0 - 31来表示。 你需要的1 - 32可以在此结果+1实现。


如果你懂c脚本, 更简单了。


char *p = GetTagProp("x.pdl", "obj1", "Tex");  //获取选择数字内容的字符串。

char *q = GetTagProp("x.pdl", "obj2", "Text");  //获取选择字母内容的字符串。 属性名我记得是Text,                                                                            //具体再查一下。


int no = (*p - '1') * 4 + (*q - 'A') +1;   


//Over.



以下是引用ligp99在2021-12-10 16:00:51的发言 >楼主:请各位给个简单的思...

引用楼主详细内容:



请各位给个简单的思路

移位操作符。 这是c语言的操作, 相当于 乘以4.  对应的bit pattern 左移2位。 |是字或操作。

意思就是, 先把数字编号左移2位, 然后把字母的2个bit填入空出的位置。

不忘初心
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有10699条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。