sunnykmc
SunnyKMC
级别: 工控侠客
精华主题: 0
发帖数量: 286 个
工控威望: 3743 点
下载积分: 28863 分
在线时间: 413(小时)
注册时间: 2014-04-20
最后登录: 2024-05-01
查看sunnykmc的 主题 / 回贴
楼主  发表于: 2018-09-04 19:56
PLC使用CP1H或 CP1E

请问要将如下CHANNEL 100
的2进位转10进位资料给D暂存器
有其他方便的指令吗?

CHANNEL          (2进位)                      (10进位)
100.00    (0000 0000 0000 0001) => D63=1
100.01    (0000 0000 0000 0010) => D63=2
100.02    (0000 0000 0000 0100) => D63=3
100.03    (0000 0000 0000 1000) => D63=4
100.04    (0000 0000 0001 0000) => D63=5
100.05    (0000 0000 0010 0000) => D63=6
100.06    (0000 0000 0100 0000) => D63=7
100.07    (0000 0000 1000 0000) => D63=8
100.08    (0000 0001 0000 0000) => D63=9
100.09    (0000 0010 0000 0000) => D63=10
100.10    (0000 0100 0000 0000) => D63=11
100.11    (0000 1000 0000 0000) => D63=12

目前是用比较一个对一个

=  100  &1
MOV  & 1 D63

=  100  &2
MOV  &2  D63

=  100  &4
MOV  &3  D63

=  100  &8
MOV  &4  D63

=  100  &16
MOV  &5  D63
:(略)
:(略)
:(略)
=  100  &2048
MOV  &12  D63
[ 此帖被sunnykmc在2018-09-05 09:04重新编辑 ]
fcq417
14年plc工程实践教学,QQ(微信):2252241236
级别: 略有小成
精华主题: 0
发帖数量: 302 个
工控威望: 430 点
下载积分: 1259 分
在线时间: 50(小时)
注册时间: 2008-04-30
最后登录: 2022-11-05
查看fcq417的 主题 / 回贴
1楼  发表于: 2018-09-05 08:51
不是用100.00或者100.01与数值比较,用100这个通道比较
plc编程及教学:www.shuyanzdh.com
QQ(VX):2252241236
sunnykmc
SunnyKMC
级别: 工控侠客
精华主题: 0
发帖数量: 286 个
工控威望: 3743 点
下载积分: 28863 分
在线时间: 413(小时)
注册时间: 2014-04-20
最后登录: 2024-05-01
查看sunnykmc的 主题 / 回贴
2楼  发表于: 2018-09-05 09:03
引用
引用第1楼fcq417于2018-09-05 08:51发表的  :
不是用100.00或者100.01与数值比较,用100这个通道比较


谢谢提醒 已修正,
目前是照这样做
廖俊斌
技术交流,微信:qq719157978,扣扣:7191579
级别: 略有小成
精华主题: 0
发帖数量: 123 个
工控威望: 221 点
下载积分: 54417 分
在线时间: 63(小时)
注册时间: 2017-05-14
最后登录: 2023-12-19
查看廖俊斌的 主题 / 回贴
3楼  发表于: 2018-09-05 09:04
引用
引用楼主sunnykmc于2018-09-04 19:56发表的 2进位转10进位有其他方便的指令吗? :
PLC使用CP1H或 CP1E

请问要将如下CHANNEL 100
的2进位转10进位资料给D暂存器
有其他方便的指令吗?
.......



可以用解码器指令,把100通道进行解码为7421bcd码,再用设置的对应w进行输出控制。
sunnykmc
SunnyKMC
级别: 工控侠客
精华主题: 0
发帖数量: 286 个
工控威望: 3743 点
下载积分: 28863 分
在线时间: 413(小时)
注册时间: 2014-04-20
最后登录: 2024-05-01
查看sunnykmc的 主题 / 回贴
4楼  发表于: 2018-09-05 09:20
引用
引用第3楼廖俊斌于2018-09-05 09:04发表的  :



可以用解码器指令,把100通道进行解码为7421bcd码,再用设置的对应w进行输出控制。

请问有具体做法 或指令边写方式?
目前手册BCD指令
使用16进位的范例
bakey533
人生重要的不是所站的位置,而是所朝的方向。
级别: 工控侠客
精华主题: 0
发帖数量: 117 个
工控威望: 2035 点
下载积分: 877 分
在线时间: 77(小时)
注册时间: 2014-02-27
最后登录: 2024-04-29
查看bakey533的 主题 / 回贴
5楼  发表于: 2018-09-10 08:40
BCD转二进制可以直接用BINL指令,    如      BINL   100    D100
二进制转BCD可以直接用BCDL指令,  如:   BCDL  100   D100
[ 此帖被bakey533在2018-09-10 08:48重新编辑 ]