蒂花之秀
级别: 探索解密
精华主题: 0
发帖数量: 36 个
工控威望: 137 点
下载积分: 7788 分
在线时间: 31(小时)
注册时间: 2016-09-20
最后登录: 2024-10-23
查看蒂花之秀的 主题 / 回贴
楼主  发表于: 2023-11-26 20:32
请教各位老师,在SCL编程环境下,如何:1,  把1个字拆分成BOOL型数据?  2,反过来有如何把BOOL型数据转换成1个字?谢谢
autoctrl
级别: 家园常客
精华主题: 0
发帖数量: 354 个
工控威望: 573 点
下载积分: 1572 分
在线时间: 130(小时)
注册时间: 2016-05-05
最后登录: 2024-11-16
查看autoctrl的 主题 / 回贴
1楼  发表于: 2023-11-27 10:26
其实不需要拆分,按位进行逻辑运算就行了;
fan_man
级别: 探索解密
精华主题: 0
发帖数量: 12 个
工控威望: 134 点
下载积分: 560 分
在线时间: 14(小时)
注册时间: 2013-04-07
最后登录: 2024-10-11
查看fan_man的 主题 / 回贴
2楼  发表于: 2023-11-28 14:54
采用STL语言就简单了    搜索一下教程或视频
世界杯之殇
级别: 正式会员
精华主题: 0
发帖数量: 32 个
工控威望: 95 点
下载积分: 4256 分
在线时间: 38(小时)
注册时间: 2023-09-25
最后登录: 2024-11-22
查看世界杯之殇的 主题 / 回贴
3楼  发表于: 2023-11-28 15:50
简单的做法
BYTE.%X0:=BOOL1;
BYTE.%X1:=BOOL2;
...
BYTE.%X7:=BOOL8;
反之交换变量。
还能用PEEK和POKE来做,那个解释比较麻烦些,可以看一下西门子官方范例
donxlr
级别: 正式会员
精华主题: 0
发帖数量: 66 个
工控威望: 93 点
下载积分: 885 分
在线时间: 10(小时)
注册时间: 2021-06-14
最后登录: 2024-11-15
查看donxlr的 主题 / 回贴
4楼  发表于: 2023-11-28 16:07
SCATTER  
GATHER
这个针对数组的
如果要针对任意 byte word dword 的话可以自己写,楼上的方法直接封装成一个块就行了
wsxebjz
级别: 略有小成
精华主题: 0
发帖数量: 325 个
工控威望: 382 点
下载积分: 1955 分
在线时间: 81(小时)
注册时间: 2023-05-14
最后登录: 2024-11-20
查看wsxebjz的 主题 / 回贴
5楼  发表于: 2023-12-07 17:48
用的s7-200,高级的不了解。
你觉得,mb0,,与m0.0,m0.1…m0.7是什么关系?
你猜猜,set vw0.1,会不会影响vw0数据啊?
sunzengli
级别: 论坛先锋
精华主题: 0
发帖数量: 683 个
工控威望: 1063 点
下载积分: 1546 分
在线时间: 219(小时)
注册时间: 2021-07-09
最后登录: 2024-11-22
查看sunzengli的 主题 / 回贴
6楼  发表于: 2023-12-08 08:40
需要用直接用就可以了。不需要拆分,因为它本身就是独立的位然后构成字的。比如说MW0,就包含M0.0-M1.15,再比如,IW0包含的是I0.0-I0.15,需要啥用啥。